PageSourceSearch

https://kitasandocoffee.com/account/login

html kitasandocoffee.com collected 2026-10-07 04:18:23 UTC 181,436 bytes, 3,110 lines download raw bytes

1<!doctype html>
2<html class="no-js" lang="ja">
3  <head>
3<script data-source-attribution="shopify.event_observer.bootstrap">
4(function(){let e=navigator,t=`prototype`,n=`sendBeacon`,r=e[n],i=fetch,a=XMLHttpRequest[t],{open:o,send:s}=a,c=`EventListener`,l=`add${c}`,u=`remove${c}`,d=EventTarget[t],f=d[l],p=d[u],m=e=>Error((e=document.currentScript)&&[e?.src,e?.id||e?.dataset?.sourceAttribution]),h=(e=[],t=0)=>(e.p=n=>e[t++%1e3]=n,[e,t=>(e.forEach(e.p=t),e.length=0)]),[g,_]=h(),[v,y]=h(),b,x=new WeakMap,S=e=>e&&g.p([e,b||[m()]]);d[l]=function(e,t,n){let r=this,i=t?.handleEvent||t,a=x.get(t),o=m();i?.call&&!a&&x.set(t,a=function(e){b=[o,e.type];try{i.call(t==i?this:t,e)}finally{b=null}}),v.p([e,o,a,r?.tagName||r+``,r?.id]),f.call(r,e,a||t,n)},d[u]=function(e,t,n){p.call(this,e,x.get(t)||t,n)},a.open=function(e,t){x.set(this,[t+``,e]),o.apply(this,arguments)},a.send=function(e){S(x.get(this)),s.call(this,e)},fetch=(e,t)=>(S([(e?.url||e)+``,t?.method]),i(e,t)),e[n]=(t,n)=>(S([t+``,``]),r.call(e,t,n)),setTimeout(()=>import("//kitasandocoffee.com/cdn/shopifycloud/storefront/assets/storefront/event_observer_reporter-ed358274.js").then(e=>e.$(_,y,f,i,`51054739619`)))})();
5//# sourceURL=event-observer-collector.js
6</script>
6
7
8    <meta charset="utf-8">
9    <meta http-equiv="X-UA-Compatible" content="IE=edge">
10    <meta name="viewport" content="width=device-width,initial-scale=1">
11    <meta name="theme-color" content="">
12    <link rel="canonical" href="https://kitasandocoffee.com/account/login">
13    <link rel="preconnect" href="https://cdn.shopify.com" crossorigin><link rel="icon" type="image/png" href="//kitasandocoffee.com/cdn/shop/files/4.png?crop=center&height=32&v=1705469169&width=32"><link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin><title>
14      アカウント
15 &ndash; KITASANDO COFFEE online store</title>
16
17    
18
19    
20
21<meta property="og:site_name" content="KITASANDO COFFEE online store">
22<meta property="og:url" content="https://kitasandocoffee.com/account/login">
23<meta property="og:title" content="アカウント">
24<meta property="og:type" content="website">
25<meta property="og:description" content="あなたの生活を豊かにするスペシャルティコーヒーショップ。
26浅煎りから深煎りまで、常に10-15種類の焙煎豆をラインナップしています。
27アフリカや南米はもちろん、中国雲南などのアジア圏を含めた世界中の豆を取り扱い、コーヒーで世界を旅する気分を味わえます。"><meta property="og:image" content="http://kitasandocoffee.com/cdn/shop/files/KCO_top_0b82912c-0c77-4839-b364-a423eed99731.jpg?v=1723275527">
28  <meta property="og:image:secure_url" content="https://kitasandocoffee.com/cdn/shop/files/KCO_top_0b82912c-0c77-4839-b364-a423eed99731.jpg?v=1723275527">
29  <meta property="og:image:width" content="4800">
30  <meta property="og:image:height" content="3200"><meta name="twitter:card" content="summary_large_image">
31<meta name="twitter:title" content="アカウント">
32<meta name="twitter:description" content="あなたの生活を豊かにするスペシャルティコーヒーショップ。
33浅煎りから深煎りまで、常に10-15種類の焙煎豆をラインナップしています。
34アフリカや南米はもちろん、中国雲南などのアジア圏を含めた世界中の豆を取り扱い、コーヒーで世界を旅する気分を味わえます。">
35
36
37    
37<script src="//kitasandocoffee.com/cdn/shop/t/100/assets/constants.js?v=95358004781563950421750427082" defer="defer"></script>
37
38    
38<script src="//kitasandocoffee.com/cdn/shop/t/100/assets/pubsub.js?v=2921868252632587581750427082" defer="defer"></script>
38
39    
39<script src="//kitasandocoffee.com/cdn/shop/t/100/assets/global.js?v=127210358271191040921750427082" defer="defer"></script>
39
40    
40<script src="//kitasandocoffee.com/cdn/shop/t/100/assets/custom.js?v=95695831222694155641750427082" defer="defer"></script>
40
41    
41<script type='text/javascript' src='/apps/wlm/js/wlm-1.1.js'></script>
41
42
43
44 
45 
46
47
48
49
50
51
52
53
54
55<style type="text/css">.wlm-message-pnf{text-align:center}#wlm-pwd-form{padding:30px 0;text-align:center}#wlm-wrapper{display:inline-block}#wlm-pwd-error{display:none;color:#FB8077;text-align:left;margin-top:10px;font-size:1.3rem}#wlm-pwd-error.wlm-error{border:1px solid #FB8077}#wlm-pwd-form-button{display:inline-block !important;height:auto !important;padding:8px 15px !important;background:black;border-radius:0 !important;color:#fff !important;text-decoration:none !important;vertical-align:top}.wlm-instantclick-fix,.wlm-item-selector{position:absolute;z-index:-999;display:none;height:0;width:0;font-size:0;line-height:0}#wlm-pwd-msg{margin-bottom:20px;text-align:left}#wlm-pwd-msg>p{margin-top:0;margin-bottom:0}.wlm-form-holder{display:flex}#wlm-pwd{border-color:black;border-width:1px;border-right:0;padding:0 10px}#wlm-pwd:focus-visible{outline:0}</style>
56
57
58
59
60
61
62
63
64
65
66<script type='text/javascript'>
67
68wlm.navigateByLocation();
69
70wlm.jq(document).ready(function(){
71wlm.removeLinks();
72});
73</script>
73
74
75
76<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
76<meta name="google-site-verification" content="_sfpn1CyllppTX2zyNcw0iDyl_6plNizyNDq_mjKhHg">
77<meta name="google-site-verification" content="LYFMPwJ5_9pG39OKRGJUbjuovNfdtdEIKHccCVr008g">
78<meta name="facebook-domain-verification" content="6nt9bgqlvwt79e1n275pzbk7euaxqm">
79<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/51054739619/digital_wallets/dialog">
80<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
80<script async="async" src="/checkouts/internal/preloads.js?locale=ja-US"></script>
80
81<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
82<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=ja-US&shop_id=51054739619" crossorigin="anonymous"></script>
vendor: 1 bytes, line 82
82
83<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":51054739619,"countryCode":"JP","currencyCode":"JPY","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/51054739619","merchantName":"KITASANDO COFFEE online store","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","jcb","discover"],"total":{"type":"pending","label":"KITASANDO COFFEE online store","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 83
83
84<script id="shopify-features" type="application/json">{"accessToken":"8af6f1a6bba0e0efe3ac3ae079c2f9ab","betas":["rich-media-storefront-analytics"],"domain":"kitasandocoffee.com","predictiveSearch":false,"shopId":51054739619,"locale":"ja"}</script>
vendor: 1 bytes, line 84
84
85<script>var Shopify = Shopify || {};
86Shopify.shop = "kankaku.myshopify.com";
87Shopify.locale = "ja";
88Shopify.currency = {"active":"JPY","rate":"1.0"};
89Shopify.country = "US";
90Shopify.theme = {"name":"(TEST)2025\/06\/20 KISASANDO_ブランドフィロソフィー反映","id":151139647702,"schema_name":"Craft","schema_version":"9.0.0","theme_store_id":1368,"role":"main"};
91Shopify.theme.handle = "null";
92Shopify.theme.style = {"id":null,"handle":null};
93Shopify.cdnHost = "kitasandocoffee.com/cdn";
94Shopify.routes = Shopify.routes || {};
95Shopify.routes.root = "/";
96Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
97Shopify.SignInWithShop = Shopify.SignInWithShop || {};
98Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
99Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 99
99
100<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 100
100
101<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 101
101
102<script>
103  window.ShopifyPay = window.ShopifyPay || {};
104  window.ShopifyPay.apiHost = "shop.app\/pay";
105  window.ShopifyPay.redirectState = null;
106</script>
vendor: 1 bytes, line 106
106
107<script>
108  window.Shopify = window.Shopify || {};
109  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
110  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
111  window.Shopify.SignInWithShop.eligible = true;
112</script>
vendor: 1 bytes, line 112
112
113<script id="shop-js-analytics" type="application/json">{"pageType":"customers/login"}</script>
vendor: 1 bytes, line 113
113
114<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts.ja.esm.js"></script>
vendor: 1 bytes, line 114
114
115<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts-sign-up.ja.esm.js"></script>
vendor: 1 bytes, line 115
115
116<script type="module">
117  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts.ja.esm.js");
118await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts-sign-up.ja.esm.js");
119
120  window.Shopify.SignInWithShop?.initCustomerAccounts?.(true, {"fedCMEnabled":true,"windoidEnabled":true});
121window.Shopify.SignInWithShop?.initCustomerAccountsSignUp?.({"fedCMEnabled":true,"windoidEnabled":true});
122
123</script>
vendor: 1 bytes, line 123
123
124<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 124
124
125<script type="module">
126  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.ja.esm.js");
127
128  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
129
130</script>
vendor: 1 bytes, line 130
130
131<script>
132  window.Shopify = window.Shopify || {};
133  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
134  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"]};
135</script>
vendor: 1 bytes, line 135
135
136<script>(function() {
137  var isLoaded = false;
138  function asyncLoad() {
139    if (isLoaded) return;
140    isLoaded = true;
141    var urls = ["\/\/cdn.shopify.com\/proxy\/12e8ef40c62129bf1cabdc9be02ab57ce07c3ffde93596af807bc1e95a150b00\/cdn.nfcube.com\/instafeed-cf5043f1042f8d2b44b90414ab084e77.js?shop=kankaku.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","https:\/\/haiso-app-fgb9gecdchgtc5cc.z01.azurefd.net\/kankaku.myshopify.com_haiso_datetimespecific.js?v=20211027165607?timestamp=639058141623203564\u0026shop=kankaku.myshopify.com"];
142    for (var i = 0; i < urls.length; i++) {
143      var s = document.createElement('script');
144      s.type = 'text/javascript';
145      s.async = true;
146      s.src = urls[i];
147      var x = document.getElementsByTagName('script')[0];
148      x.parentNode.insertBefore(s, x);
149    }
150  };
151  if(window.attachEvent) {
152    window.attachEvent('onload', asyncLoad);
153  } else {
154    window.addEventListener('load', asyncLoad, false);
155  }
156})();</script>
vendor: 1 bytes, line 156
156
157<script id="__st">var __st={"a":51054739619,"offset":32400,"reqid":"ad30ab96-3ec0-43f1-bb35-7a5a09c713fd-1791346703","pageurl":"kitasandocoffee.com\/account\/login","u":"52168c962028"};</script>
vendor: 1 bytes, line 157
157
158<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 158
158
159<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 159
159
160<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//kitasandocoffee.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 160
160
161<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 = "//kitasandocoffee.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>
161<script crossorigin="anonymous" defer="defer" src="//kitasandocoffee.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 161
161
162<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 162
162
163<script>
164  window.Shopify = window.Shopify || {};
165  window.Shopify.MCP = window.Shopify.MCP || {};
166  window.Shopify.MCP.enabled = true;
167  window.Shopify.MCP.shop = "kankaku.myshopify.com";
168  window.Shopify.MCP.mcpEndpoint = "https:\/\/kitasandocoffee.com\/api\/mcp";
169  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?\"\nSet policy_types to also get the store's written policies (full text and URL).\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."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question — e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}];
170</script>
vendor: 1 bytes, line 170
170
171<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("\/\/kitasandocoffee.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
172</script>
vendor: 1 bytes, line 172
172
173<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://kitasandocoffee.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.ja.js",t.type="module",document.head.appendChild(t)}};
174</script>
vendor: 1 bytes, line 174
174
175<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
176  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);
177</script>
vendor: 1 bytes, line 177
177
178<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})}}));
179</script>
179
180<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://kitasandocoffee.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
181<style id="shopify-accelerated-checkout-cart">
182        #shopify-buyer-consent {
183  margin-top: 1em;
184  display: inline-block;
185  width: 100%;
186}
187
188#shopify-buyer-consent.hidden {
189  display: none;
190}
191
192#shopify-subscription-policy-button {
193  background: none;
194  border: none;
195  padding: 0;
196  text-decoration: underline;
197  font-size: inherit;
198  cursor: pointer;
199}
200
201#shopify-subscription-policy-button::before {
202  box-shadow: none;
203}
204
205      </style>
206<script id="sections-script" data-sections="header" defer="defer" src="//kitasandocoffee.com/cdn/shop/t/100/compiled_assets/scripts.js?v=184325197989695213571750427082"></script>
vendor: 1 bytes, line 206
206
207<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
207
208
209
210    <style data-shopify>
211      
212      
213      
214      
215      @font-face {
216  font-family: Inter;
217  font-weight: 400;
218  font-style: normal;
219  font-display: swap;
220  src: url("//kitasandocoffee.com/cdn/fonts/inter/inter_n4.b2a3f24c19b4de56e8871f609e73ca7f6d2e2bb9.woff2") format("woff2"),
221       url("//kitasandocoffee.com/cdn/fonts/inter/inter_n4.af8052d517e0c9ffac7b814872cecc27ae1fa132.woff") format("woff");
222}
223
224
225      :root {
226        --font-body-family: "system_ui", -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', 'Liberation Sans', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
227        --font-body-style: normal;
228        --font-body-weight: 400;
229        --font-body-weight-bold: 700;
230
231        --font-heading-family: Inter, sans-serif;
232        --font-heading-style: normal;
233        --font-heading-weight: 400;
234
235        --font-body-scale: 1.0;
236        --font-heading-scale: 1.0;
237
238        --color-base-text: 37, 37, 37;
239        --color-shadow: 37, 37, 37;
240        --color-base-background-1: 255, 255, 255;
241        --color-base-background-2: 255, 255, 255;
242        --color-base-solid-button-labels: 239, 236, 236;
243        --color-base-outline-button-labels: 34, 34, 34;
244        --color-base-accent-1: 34, 34, 34;
245        --color-base-accent-2: 139, 139, 139;
246        --payment-terms-background-color: #ffffff;
247
248        --gradient-base-background-1: #ffffff;
249        --gradient-base-background-2: #ffffff;
250        --gradient-base-accent-1: #222222;
251        --gradient-base-accent-2: #8b8b8b;
252
253        --media-padding: px;
254        --media-border-opacity: 0.1;
255        --media-border-width: 0px;
256        --media-radius: 0px;
257        --media-shadow-opacity: 0.0;
258        --media-shadow-horizontal-offset: 0px;
259        --media-shadow-vertical-offset: 4px;
260        --media-shadow-blur-radius: 5px;
261        --media-shadow-visible: 0;
262
263        --page-width: 110rem;
264        --page-width-margin: 0rem;
265
266        --product-card-image-padding: 0.0rem;
267        --product-card-corner-radius: 0.0rem;
268        --product-card-text-alignment: left;
269        --product-card-border-width: 0.0rem;
270        --product-card-border-opacity: 0.1;
271        --product-card-shadow-opacity: 0.0;
272        --product-card-shadow-visible: 0;
273        --product-card-shadow-horizontal-offset: 0.0rem;
274        --product-card-shadow-vertical-offset: 0.4rem;
275        --product-card-shadow-blur-radius: 0.5rem;
276
277        --collection-card-image-padding: 0.0rem;
278        --collection-card-corner-radius: 0.0rem;
279        --collection-card-text-alignment: left;
280        --collection-card-border-width: 0.0rem;
281        --collection-card-border-opacity: 0.1;
282        --collection-card-shadow-opacity: 0.0;
283        --collection-card-shadow-visible: 0;
284        --collection-card-shadow-horizontal-offset: 0.0rem;
285        --collection-card-shadow-vertical-offset: 0.4rem;
286        --collection-card-shadow-blur-radius: 0.5rem;
287
288        --blog-card-image-padding: 0.0rem;
289        --blog-card-corner-radius: 0.6rem;
290        --blog-card-text-alignment: left;
291        --blog-card-border-width: 0.1rem;
292        --blog-card-border-opacity: 0.1;
293        --blog-card-shadow-opacity: 0.0;
294        --blog-card-shadow-visible: 0;
295        --blog-card-shadow-horizontal-offset: 0.0rem;
296        --blog-card-shadow-vertical-offset: 0.4rem;
297        --blog-card-shadow-blur-radius: 0.5rem;
298
299        --badge-corner-radius: 0.6rem;
300
301        --popup-border-width: 1px;
302        --popup-border-opacity: 0.5;
303        --popup-corner-radius: 6px;
304        --popup-shadow-opacity: 0.0;
305        --popup-shadow-horizontal-offset: 0px;
306        --popup-shadow-vertical-offset: 4px;
307        --popup-shadow-blur-radius: 5px;
308
309        --drawer-border-width: 1px;
310        --drawer-border-opacity: 0.1;
311        --drawer-shadow-opacity: 0.0;
312        --drawer-shadow-horizontal-offset: 0px;
313        --drawer-shadow-vertical-offset: 4px;
314        --drawer-shadow-blur-radius: 5px;
315
316        --spacing-sections-desktop: 0px;
317        --spacing-sections-mobile: 0px;
318
319        --grid-desktop-vertical-spacing: 20px;
320        --grid-desktop-horizontal-spacing: 20px;
321        --grid-mobile-vertical-spacing: 10px;
322        --grid-mobile-horizontal-spacing: 10px;
323
324        --text-boxes-border-opacity: 0.1;
325        --text-boxes-border-width: 0px;
326        --text-boxes-radius: 0px;
327        --text-boxes-shadow-opacity: 0.0;
328        --text-boxes-shadow-visible: 0;
329        --text-boxes-shadow-horizontal-offset: 0px;
330        --text-boxes-shadow-vertical-offset: 4px;
331        --text-boxes-shadow-blur-radius: 5px;
332
333        --buttons-radius: 0px;
334        --buttons-radius-outset: 0px;
335        --buttons-border-width: 1px;
336        --buttons-border-opacity: 1.0;
337        --buttons-shadow-opacity: 0.0;
338        --buttons-shadow-visible: 0;
339        --buttons-shadow-horizontal-offset: 0px;
340        --buttons-shadow-vertical-offset: 4px;
341        --buttons-shadow-blur-radius: 5px;
342        --buttons-border-offset: 0px;
343
344        --inputs-radius: 6px;
345        --inputs-border-width: 1px;
346        --inputs-border-opacity: 0.55;
347        --inputs-shadow-opacity: 0.0;
348        --inputs-shadow-horizontal-offset: 0px;
349        --inputs-margin-offset: 0px;
350        --inputs-shadow-vertical-offset: 4px;
351        --inputs-shadow-blur-radius: 5px;
352        --inputs-radius-outset: 7px;
353
354        --variant-pills-radius: 40px;
355        --variant-pills-border-width: 1px;
356        --variant-pills-border-opacity: 0.55;
357        --variant-pills-shadow-opacity: 0.0;
358        --variant-pills-shadow-horizontal-offset: 0px;
359        --variant-pills-shadow-vertical-offset: 4px;
360        --variant-pills-shadow-blur-radius: 5px;
361      }
362
363      *,
364      *::before,
365      *::after {
366        box-sizing: inherit;
367      }
368
369      html {
370        box-sizing: border-box;
371        font-size: calc(var(--font-body-scale) * 62.5%);
372        height: 100%;
373      }
374
375      body {
376        display: grid;
377        grid-template-rows: auto auto 1fr auto;
378        grid-template-columns: 100%;
379        min-height: 100%;
380        margin: 0;
381        font-size: 1.5rem;
382        letter-spacing: 0.06rem;
383        line-height: calc(1 + 0.8 / var(--font-body-scale));
384        font-family: var(--font-body-family);
385        font-style: var(--font-body-style);
386        font-weight: var(--font-body-weight);
387      }
388
389      @media screen and (min-width: 750px) {
390        body {
391          font-size: 1.6rem;
392        }
393      }
394    </style>
395
396    <link href="//kitasandocoffee.com/cdn/shop/t/100/assets/base.css?v=140624990073879848751780838707" rel="stylesheet" type="text/css" media="all" />
397        <link href="//kitasandocoffee.com/cdn/shop/t/100/assets/custom.css?v=28363335964450367501750427082" rel="stylesheet" type="text/css" media="all" />
398<link rel="preload" as="font" href="//kitasandocoffee.com/cdn/fonts/inter/inter_n4.b2a3f24c19b4de56e8871f609e73ca7f6d2e2bb9.woff2" type="font/woff2" crossorigin>
398<script>document.documentElement.className = document.documentElement.className.replace('no-js', 'js');
399    if (Shopify.designMode) {
400      document.documentElement.classList.add('shopify-design-mode');
401    }
402    </script>
402<script>
403    // empty script tag to work around a platform issue where attributes of first script in file are scrubbed
404</script>
404
405
406<script id="bold-subscriptions-script" type="text/javascript">
407    window.BOLD = window.BOLD || {};
408    window.BOLD.subscriptions = window.BOLD.subscriptions || {};
409    window.BOLD.subscriptions.config = window.BOLD.subscriptions.config || {};
410    window.BOLD.subscriptions.config.legacyAssetsLoaded = true;
411
412    if (!window.BOLD.subscriptions.config.isAppEmbedEnabled) {
413        window.BOLD.subscriptions.classes = window.BOLD.subscriptions.classes || {};
414        window.BOLD.subscriptions.patches = window.BOLD.subscriptions.patches || {};
415        window.BOLD.subscriptions.patches.maxCheckoutRetries = window.BOLD.subscriptions.patches.maxCheckoutRetries || 200;
416        window.BOLD.subscriptions.patches.currentCheckoutRetries = window.BOLD.subscriptions.patches.currentCheckoutRetries || 0;
417        window.BOLD.subscriptions.patches.maxCashierPatchAttempts = window.BOLD.subscriptions.patches.maxCashierPatchAttempts || 200;
418        window.BOLD.subscriptions.patches.currentCashierPatchAttempts = window.BOLD.subscriptions.patches.currentCashierPatchAttempts || 0;
419        window.BOLD.subscriptions.config.platform = 'shopify';
420        window.BOLD.subscriptions.config.shopDomain = 'kankaku.myshopify.com';
421        window.BOLD.subscriptions.config.customDomain = 'kitasandocoffee.com';
422        window.BOLD.subscriptions.config.shopIdentifier = '51054739619';
423                    window.BOLD.subscriptions.config.appUrl = 'https://sub.boldapps.net';
424        window.BOLD.subscriptions.config.currencyCode = 'JPY';
425        window.BOLD.subscriptions.config.checkoutType = 'shopify';
426        window.BOLD.subscriptions.config.currencyFormat = "\u00a5\u0026#123;\u0026#123;amount_no_decimals}}";
427        window.BOLD.subscriptions.config.shopCurrencies = [{"id":1429,"currency":"JPY","currency_format":"\u0026#165;\u0026#123;\u0026#123;amount_no_decimals}}","created_at":"2021-02-10 14:15:38","updated_at":"2021-02-10 14:15:38"}];
428        window.BOLD.subscriptions.config.shopSettings = {"allow_msp_cancellation":true,"allow_msp_prepaid_renewal":true,"customer_can_pause_subscription":true,"customer_can_change_next_order_date":true,"customer_can_change_order_frequency":true,"customer_can_create_an_additional_order":true,"customer_can_use_passwordless_login":false,"customer_passwordless_login_redirect":false,"customer_can_add_products_to_existing_subscriptions":false,"show_currency_code":true,"stored_payment_method_policy":"required"};
429        window.BOLD.subscriptions.config.customerLoginPath = null;
430
431        // TODO: Remove the isset with BS2-4659_improve_large_group_selection
432                    window.BOLD.subscriptions.config.loadSubscriptionGroupFrom = 'default';
433                                window.BOLD.subscriptions.config.loadSubscriptionGroupFromTypes = {"DEFAULT":"default","BSUB_API":"bsub_api"};
434                    window.BOLD.subscriptions.config.cashierPluginOnlyMode = window.BOLD.subscriptions.config.cashierPluginOnlyMode || false;
435        if (window.BOLD.subscriptions.config.waitForCheckoutLoader === undefined) {
436            window.BOLD.subscriptions.config.waitForCheckoutLoader = true;
437        }
438
439        window.BOLD.subscriptions.config.addToCartFormSelectors = window.BOLD.subscriptions.config.addToCartFormSelectors || [];
440        window.BOLD.subscriptions.config.addToCartButtonSelectors = window.BOLD.subscriptions.config.addToCartButtonSelectors || [];
441        window.BOLD.subscriptions.config.widgetInsertBeforeSelectors = window.BOLD.subscriptions.config.widgetInsertBeforeSelectors || [];
442        window.BOLD.subscriptions.config.quickAddToCartButtonSelectors = window.BOLD.subscriptions.config.quickAddToCartButtonSelectors || [];
443        window.BOLD.subscriptions.config.cartElementSelectors = window.BOLD.subscriptions.config.cartElementSelectors || [];
444        window.BOLD.subscriptions.config.cartTotalElementSelectors = window.BOLD.subscriptions.config.cartTotalElementSelectors || [];
445        window.BOLD.subscriptions.config.lineItemSelectors = window.BOLD.subscriptions.config.lineItemSelectors || [];
446        window.BOLD.subscriptions.config.lineItemNameSelectors = window.BOLD.subscriptions.config.lineItemNameSelectors || [];
447        window.BOLD.subscriptions.config.checkoutButtonSelectors = window.BOLD.subscriptions.config.checkoutButtonSelectors || [];
448
449        window.BOLD.subscriptions.config.featureFlags = window.BOLD.subscriptions.config.featureFlags || ["BE-1625-create-contract-without-delivery-method","BS2-4293-skip-tx-fee-eq-zero","BE-1393-relocate-prepaid-metadata","BE-1614-use-seletedDate-for-offset"];
450        window.BOLD.subscriptions.config.subscriptionProcessingFrequency = '60';
451        window.BOLD.subscriptions.config.requireMSPInitialLoadingMessage = true;
452        window.BOLD.subscriptions.data = window.BOLD.subscriptions.data || {};
453
454        // Interval text markup template
455        window.BOLD.subscriptions.config.lineItemPropertyListSelectors = window.BOLD.subscriptions.config.lineItemPropertyListSelectors || [];
456        window.BOLD.subscriptions.config.lineItemPropertyListSelectors.push('dl.definitionList');
457        window.BOLD.subscriptions.config.lineItemPropertyListTemplate = window.BOLD.subscriptions.config.lineItemPropertyListTemplate || '<dl class="definitionList"></dl>';
458        window.BOLD.subscriptions.config.lineItemPropertyTemplate = window.BOLD.subscriptions.config.lineItemPropertyTemplate || '<dt class="definitionList-key">\:</dt><dd class="definitionList-value">\</dd>';
459
460        // Discount text markup template
461        window.BOLD.subscriptions.config.discountItemTemplate = window.BOLD.subscriptions.config.discountItemTemplate || '<div class="bold-subscriptions-discount"><div class="bold-subscriptions-discount__details">\</div><div class="bold-subscriptions-discount__total">\</div></div>';
462
463
464        // Constants in XMLHttpRequest are not reliable, so we will create our own
465        // reference: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState
466        window.BOLD.subscriptions.config.XMLHttpRequest = {
467            UNSENT:0,            // Client has been created. open() not called yet.
468            OPENED: 1,           // open() has been called.
469            HEADERS_RECEIVED: 2, // send() has been called, and headers and status are available.
470            LOADING: 3,          // Downloading; responseText holds partial data.
471            DONE: 4              // The operation is complete.
472        };
473
474        window.BOLD.subscriptions.config.assetBaseUrl = 'https://sub.boldapps.net';
475        if (window.localStorage && window.localStorage.getItem('boldSubscriptionsAssetBaseUrl')) {
476            window.BOLD.subscriptions.config.assetBaseUrl = window.localStorage.getItem('boldSubscriptionsAssetBaseUrl')
477        }
478
479        window.BOLD.subscriptions.data.subscriptionGroups = [];
480        if (localStorage && localStorage.getItem('boldSubscriptionsSubscriptionGroups')) {
481            window.BOLD.subscriptions.data.subscriptionGroups = JSON.parse(localStorage.getItem('boldSubscriptionsSubscriptionGroups'));
482        } else {
483            window.BOLD.subscriptions.data.subscriptionGroups = [{"id":9616,"billing_rules":[{"id":19404,"subscription_group_id":9616,"interval_name":"\u6bce\u6708","billing_rule":"FREQ=MONTHLY","custom_billing_rule":""},{"id":31872,"subscription_group_id":9616,"interval_name":"\u9694\u9031","billing_rule":"FREQ=WEEKLY","custom_billing_rule":""}],"is_subscription_only":false,"allow_prepaid":false,"is_prepaid_only":false,"should_continue_prepaid":true,"continue_prepaid_type":"as_prepaid","prepaid_durations":[{"id":9550,"subscription_group_id":9616,"total_duration":1,"discount_type":"percentage","discount_value":0}],"selection_options":[{"platform_entity_id":"8073410379990"}],"discount_type":"no_discount","percent_discount":0,"fixed_discount":0,"can_add_to_cart":true},{"id":10010,"billing_rules":[{"id":20162,"subscription_group_id":10010,"interval_name":"\u6bce\u6708","billing_rule":"FREQ=MONTHLY","custom_billing_rule":""},{"id":20163,"subscription_group_id":10010,"interval_name":"\u9694\u9031","billing_rule":"FREQ=WEEKLY","custom_billing_rule":""}],"is_subscription_only":false,"allow_prepaid":false,"is_prepaid_only":false,"should_continue_prepaid":true,"continue_prepaid_type":"as_prepaid","prepaid_durations":[{"id":9944,"subscription_group_id":10010,"total_duration":1,"discount_type":"percentage","discount_value":0}],"selection_options":[{"platform_entity_id":"5953746632867"},{"platform_entity_id":"6071179378851"}],"discount_type":"no_discount","percent_discount":0,"fixed_discount":0,"can_add_to_cart":true}];
484        }
485
486        window.BOLD.subscriptions.isFeatureFlagEnabled = function (featureFlag) {
487            for (var i = 0; i < window.BOLD.subscriptions.config.featureFlags.length; i++) {
488                if (window.BOLD.subscriptions.config.featureFlags[i] === featureFlag){
489                    return true;
490                }
491            }
492            return false;
493        }
494
495        window.BOLD.subscriptions.logger = {
496            tag: "bold_subscriptions",
497            // the bold subscriptions log level
498            // 0 - errors (default)
499            // 1 - warnings + errors
500            // 2 - info + warnings + errors
501            // use window.localStorage.setItem('boldSubscriptionsLogLevel', x) to set the log level
502            levels: {
503                ERROR: 0,
504                WARN: 1,
505                INFO: 2,
506            },
507            level: parseInt((window.localStorage && window.localStorage.getItem('boldSubscriptionsLogLevel')) || "0", 10),
508            _log: function(callArgs, level) {
509                if (!window.console) {
510                    return null;
511                }
512
513                if (window.BOLD.subscriptions.logger.level < level) {
514                    return;
515                }
516
517                var params = Array.prototype.slice.call(callArgs);
518                params.unshift(window.BOLD.subscriptions.logger.tag);
519
520                switch (level) {
521                    case window.BOLD.subscriptions.logger.levels.INFO:
522                        console.info.apply(null, params);
523                        return;
524                    case window.BOLD.subscriptions.logger.levels.WARN:
525                        console.warn.apply(null, params);
526                        return;
527                    case window.BOLD.subscriptions.logger.levels.ERROR:
528                        console.error.apply(null, params);
529                        return;
530                    default:
531                        console.log.apply(null, params);
532                        return;
533                }
534            },
535            info: function() {
536                window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.INFO);
537            },
538            warn: function() {
539                window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.WARN);
540            },
541            error: function() {
542                window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.ERROR);
543            }
544        }
545
546        window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI = function() {
547            return window.BOLD.subscriptions.config.loadSubscriptionGroupFrom === window.BOLD.subscriptions.config.loadSubscriptionGroupFromTypes['BSUB_API'];
548        }
549
550        window.BOLD.subscriptions.getSubscriptionGroupFromProductId = function (productId) {
551            var data = window.BOLD.subscriptions.data;
552            var foundGroup = null;
553            for (var i = 0; i < data.subscriptionGroups.length; i += 1) {
554                var subscriptionGroup = data.subscriptionGroups[i];
555                for (var j = 0; j < subscriptionGroup.selection_options.length; j += 1) {
556                    var selectionOption = subscriptionGroup.selection_options[j];
557                    if (selectionOption.platform_entity_id === productId.toString()) {
558                        foundGroup = subscriptionGroup;
559                        break;
560                    }
561                }
562                if (foundGroup) {
563                    break;
564                }
565            }
566            return foundGroup;
567        };
568
569        window.BOLD.subscriptions.getSubscriptionGroupById = function(subGroupId) {
570            var subscriptionGroups = window.BOLD.subscriptions.data.subscriptionGroups;
571
572            for (var i = 0; i < subscriptionGroups.length; i += 1) {
573                var subGroup = subscriptionGroups[i];
574                if (subGroup.id === subGroupId) {
575                    return subGroup;
576                }
577            }
578
579            return null;
580        };
581
582        window.BOLD.subscriptions.addSubscriptionGroup = function (subscriptionGroup) {
583            if(!window.BOLD.subscriptions.getSubscriptionGroupById(subscriptionGroup.id))
584            {
585                window.BOLD.subscriptions.data.subscriptionGroups.push(subscriptionGroup);
586            }
587        }
588
589        window.BOLD.subscriptions.getSubscriptionGroupPrepaidDurationById = function(subscriptionGroupId, prepaidDurationId) {
590            var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupById(subscriptionGroupId);
591
592            if (
593                !subscriptionGroup
594                || !subscriptionGroup.prepaid_durations
595                || !subscriptionGroup.prepaid_durations.length
596            ) {
597                return null;
598            }
599
600            for (var i = 0; i < subscriptionGroup.prepaid_durations.length; i++) {
601                var prepaidDuration = subscriptionGroup.prepaid_durations[i];
602                if (prepaidDuration.id === prepaidDurationId) {
603                    return prepaidDuration;
604                }
605            }
606
607            return null;
608        }
609
610        window.BOLD.subscriptions.getSubscriptionGroupBillingRuleById = function(subGroup, billingRuleId) {
611            for (var i = 0; i < subGroup.billing_rules.length; i += 1) {
612                var billingRule = subGroup.billing_rules[i];
613                if (billingRule.id === billingRuleId) {
614                    return billingRule;
615                }
616            }
617
618            return null;
619        };
620
621        window.BOLD.subscriptions.toggleDisabledAddToCartButtons = function(d) {
622            var addToCartForms = document.querySelectorAll(window.BOLD.subscriptions.config.addToCartFormSelectors.join(','));
623            var disable = !!d;
624            for (var i = 0; i < addToCartForms.length; i++) {
625                var addToCartForm = addToCartForms[i];
626                var productId = window.BOLD.subscriptions.getProductIdFromAddToCartForm(
626addToCartForm);
627                var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupFromProductId(productId);
628
629                if(window.BOLD.subscriptions.isFeatureFlagEnabled('BS2-4659_improve_large_group_selection') ) {
630                    if (subscriptionGroup || window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI()) {
631                        var addToCartButtons = addToCartForm.querySelectorAll(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(','));
632                        for (var j = 0; j < addToCartButtons.length; j++) {
633                            var addToCartButton = addToCartButtons[j];
634                            var toggleAction = disable ?  addToCartButton.setAttribute : addToCartButton.removeAttribute;
635
636                            addToCartButton.disabled = disable;
637                            toggleAction.call(addToCartButton, 'data-disabled-by-subscriptions', disable);
638                        }
639                    }
640                } else {
641                    if (subscriptionGroup) {
642                        var addToCartButtons = addToCartForm.querySelectorAll(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(','));
643                        for (var j = 0; j < addToCartButtons.length; j++) {
644                            var addToCartButton = addToCartButtons[j];
645                            var toggleAction = disable ?  addToCartButton.setAttribute : addToCartButton.removeAttribute;
646
647                            addToCartButton.disabled = disable;
648                            toggleAction.call(addToCartButton, 'data-disabled-by-subscriptions', disable);
649                        }
650                    }
651                }
652
653            }
654        };
655
656        window.BOLD.subscriptions.disableAddToCartButtons = function () {
657            // only disable the add to cart buttons if the app isn't loaded yet
658            if (!window.BOLD.subscriptions.app) {
659                window.BOLD.subscriptions.toggleDisabledAddToCartButtons(true);
660            } else {
661                window.BOLD.subscriptions.enableAddToCartButtons();
662            }
663        };
664
665        window.BOLD.subscriptions.enableAddToCartButtons = function () {
666            document.removeEventListener('click', window.BOLD.subscriptions.preventSubscriptionAddToCart);
667            window.BOLD.subscriptions.toggleDisabledAddToCartButtons(false);
668        };
669
670        window.BOLD.subscriptions.toggleDisabledCheckoutButtons = function(d) {
671            var checkoutButtons = document.querySelectorAll(window.BOLD.subscriptions.config.checkoutButtonSelectors.join(','));
672            var disable = !!d;
673            for (var i = 0; i < checkoutButtons.length; i++) {
674                var checkoutButton = checkoutButtons[i];
675                var toggleAction = disable ? checkoutButton.setAttribute : checkoutButton.removeAttribute;
676
677                checkoutButton.disabled = disable;
678                toggleAction.call(checkoutButton, 'data-disabled-by-subscriptions', disable);
679            }
680        }
681
682        window.BOLD.subscriptions.disableCheckoutButtons = function() {
683            // only disable the checkout buttons if the app isn't loaded yet
684            if (!window.BOLD.subscriptions.app) {
685                window.BOLD.subscriptions.toggleDisabledCheckoutButtons(true);
686            } else {
687                window.BOLD.subscriptions.enableCheckoutButtons();
688            }
689        }
690
691        window.BOLD.subscriptions.enableCheckoutButtons = function() {
692            document.removeEventListener('click', window.BOLD.subscriptions.preventCheckout);
693            window.BOLD.subscriptions.toggleDisabledCheckoutButtons(false);
694        }
695
696        window.BOLD.subscriptions.hasSuccessfulAddToCarts = function() {
697            if (typeof(Storage) !== "undefined") {
698                var successfulAddToCarts = JSON.parse(
699                    window.localStorage.getItem('boldSubscriptionsSuccessfulAddToCarts') || '[]'
700                );
701                if (successfulAddToCarts.length > 0) {
702                    return true;
703                }
704            }
705
706            return false;
707        }
708
709        window.BOLD.subscriptions.hasPendingAddToCarts = function() {
710            if (typeof(Storage) !== "undefined") {
711                var pendingAddToCarts = JSON.parse(
712                    window.localStorage.getItem('boldSubscriptionsPendingAddToCarts') || '[]'
713                );
714                if (pendingAddToCarts.length > 0) {
715                    return true;
716                }
717            }
718
719            return false;
720        }
721
722        window.BOLD.subscriptions.addJSAsset = function(src, deferred) {
723            var scriptTag = document.getElementById('bold-subscriptions-script');
724            var jsElement = document.createElement('script');
725            jsElement.type = 'text/javascript';
726            jsElement.src = src;
727            if (deferred) {
728                jsElement.defer = true;
729            }
730            scriptTag.parentNode.insertBefore(jsElement, scriptTag);
731        };
732
733        window.BOLD.subscriptions.addCSSAsset = function(href) {
734            var scriptTag = document.getElementById('bold-subscriptions-script');
735            var cssElement = document.createElement('link');
736            cssElement.href = href;
737            cssElement.rel = 'stylesheet';
738            scriptTag.parentNode.insertBefore(cssElement, scriptTag);
739        };
740
741        window.BOLD.subscriptions.loadStorefrontAssets = function loadStorefrontAssets() {
742            var assets = window.BOLD.subscriptions.config.assets;
743            window.BOLD.subscriptions.addCSSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['storefront.css']);
744            window.BOLD.subscriptions.addJSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['storefront.js'], false);
745        };
746
747        window.BOLD.subscriptions.loadCustomerPortalAssets = function loadCustomerPortalAssets() {
748            var assets = window.BOLD.subscriptions.config.assets;
749            window.BOLD.subscriptions.addCSSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['customer_portal.css']);
750            window.BOLD.subscriptions.addJSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['customer_portal.js'], true);
751        };
752
753        window.BOLD.subscriptions.processManifest = function() {
754            if (!window.BOLD.subscriptions.processedManifest) {
755                window.BOLD.subscriptions.processedManifest = true;
756                window.BOLD.subscriptions.config.assets = JSON.parse(this.responseText);
757
758                                window.BOLD.subscriptions.loadCustomerPortalAssets();
759            }
760        };
761
762        window.BOLD.subscriptions.addInitialLoadingMessage = function() {
763            var customerPortalNode = document.getElementById('customer-portal-root');
764            if (customerPortalNode && window.BOLD.subscriptions.config.requireMSPInitialLoadingMessage) {
765                customerPortalNode.innerHTML = '<div class="bold-subscriptions-loader-container"><div class="bold-subscriptions-loader"></div></div>';
766            }
767        }
768
769        window.BOLD.subscriptions.contentLoaded = function() {
770            window.BOLD.subscriptions.data.contentLoadedEventTriggered = true;
771            window.BOLD.subscriptions.addInitialLoadingMessage();
772                    };
773
774        window.BOLD.subscriptions.preventSubscriptionAddToCart = function(e) {
775            if (e.target.matches(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(',')) && e.target.form) {
776                var productId = window.BOLD.subscriptions.getProductIdFromAddToCartForm(e.target.form);
777                var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupFromProductId(productId);
778                if(window.BOLD.subscriptions.isFeatureFlagEnabled('BS2-4659_improve_large_group_selection'))
779                {
780                    if (subscriptionGroup || window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI()) {
781                        // This code prevents products in subscription groups from being added to the cart before the
782                        // Subscriptions app fully loads. Once the subscriptions app loads it will re-enable the
783                        // buttons. Use window.BOLD.subscriptions.enableAddToCartButtons enable them manually.
784                        e.preventDefault();
785                        return false;
786                    }
787                } else {
788                    if (subscriptionGroup) {
789                        // This code prevents products in subscription groups from being added to the cart before the
790                        // Subscriptions app fully loads. Once the subscriptions app loads it will re-enable the
791                        // buttons. Use window.BOLD.subscriptions.enableAddToCartButtons enable them manually.
792                        e.preventDefault();
793                        return false;
794                    }
795                }
796
797            }
798        };
799
800        window.BOLD.subscriptions.preventCheckout = function(e) {
801            if (
802                e.target.matches(window.BOLD.subscriptions.config.checkoutButtonSelectors.join(','))
803                && (window.BOLD.subscriptions.hasSuccessfulAddToCarts() || window.BOLD.subscriptions.hasPendingAddToCarts())
804            ) {
805                // This code prevents checkouts on the shop until the Subscriptions app fully loads.
806                // When the Subscriptions app is ready it will enable the checkout buttons itself.
807                // Use window.BOLD.subscriptions.enableCheckoutButtons to enable them manually.
808                e.preventDefault();
809                return false;
810            }
811        }
812
813                document.addEventListener('DOMContentLoaded', window.BOLD.subscriptions.contentLoaded);
814
815        if (!Element.prototype.matches) {
816            Element.prototype.matches =
817                Element.prototype.matchesSelector ||
818                Element.prototype.mozMatchesSelector ||
819                Element.prototype.msMatchesSelector ||
820                Element.prototype.oMatchesSelector ||
821                Element.prototype.webkitMatchesSelector ||
822                function(s) {
823                    var matches = (this.document || this.ownerDocument).querySelectorAll(s),
824                        i = matches.length;
825                    while (--i >= 0 && matches.item(i) !== this) {}
826                    return i > -1;
827                };
828        }
829
830        if (!Element.prototype.closest) {
831            Element.prototype.closest = function(s) {
832                var el = this;
833
834                do {
835                    if (Element.prototype.matches.call(el, s)) return el;
836                    el = el.parentElement || el.parentNode;
837                } while (el !== null && el.nodeType === 1);
838                return null;
839            };
840        }
841
842        window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons = function (isVisible) {
843            if (window.BOLD.subscriptions.config.additionalCheckoutSelectors === undefined) {
844                return;
845            }
846
847            var selectors = window.BOLD.subscriptions.config.additionalCheckoutSelectors;
848
849            for (var i = 0; i < selectors.length; i++) {
850                var elements = document.querySelectorAll(selectors[i]);
851
852                for (var j = 0; j < elements.length; j++) {
853                    elements[j].style.display = isVisible ? 'block' : 'none';
854                }
855            }
856        }
857
858        window.BOLD.subscriptions.hideAdditionalCheckoutButtons = function() {
859            window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons(false);
860        };
861
862        window.BOLD.subscriptions.showAdditionalCheckoutButtons = function() {
863            window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons(true);
864        };
865
866        window.BOLD.subscriptions.enhanceMspUrls = function(data) {
867            var mspUrl = 'https://sub.boldapps.net/shop/5452/customer_portal';
868            var elements = document.querySelectorAll("a[href='"+mspUrl+"']");
869
870            if(!elements.length || !data.success) {
871                return;
872            }
873
874            for (var i = 0; i < elements.length; i++) {
875                elements[i].href = elements[i].href + "?jwt="+data.value.jwt+"&customerId="+data.value.customerId;
876            }
877        };
878
879        window.addEventListener('load', function () {
880            window.BOLD.subscriptions.getJWT(window.BOLD.subscriptions.enhanceMspUrls);
881        });
882
883        // This will be called immediately
884        // Use this anonymous function to avoid polluting the global namespace
885        (function() {
886            var xhr = new XMLHttpRequest();
887            xhr.addEventListener('load', window.BOLD.subscriptions.processManifest);
888            xhr.open('GET', window.BOLD.subscriptions.config.assetBaseUrl + '/static/manifest.json?t=' + (new Date()).getTime());
889            xhr.send();
890        })()
891
892        window.BOLD.subscriptions.patches.patchCashier = function() {
893            if (window.BOLD && window.BOLD.checkout) {
894                window.BOLD.checkout.disable();
895                window.BOLD.checkout.listenerFn = window.BOLD.subscriptions.patches.cashierListenerFn;
896                window.BOLD.checkout.enable();
897            } else if (window.BOLD.subscriptions.patches.currentCashierPatchAttempts < window.BOLD.subscriptions.patches.maxCashierPatchAttempts) {
898                window.BOLD.subscriptions.patches.currentCashierPatchAttempts++;
899                setTimeout(window.BOLD.subscriptions.patches.patchCashier, 100);
900            }
901        };
902
903        window.BOLD.subscriptions.patches.finishCheckout = function(event, form, cart) {
904            window.BOLD.subscriptions.patches.currentCheckoutRetries++;
905
906            if (!window.BOLD.subscriptions.app
907                && window.BOLD.subscriptions.patches.currentCheckoutRetries < window.BOLD.subscriptions.patches.maxCheckoutRetries
908            ) {
909                setTimeout(function () { window.BOLD.subscriptions.patches.finishCheckout(event, form, cart); }, 100);
910                return;
911            } else if (window.BOLD.subscriptions.app) {
912                window.BOLD.subscriptions.patches.currentCheckoutRetries = 0;
913                window.BOLD.subscriptions.app.addCartParams(form, cart);
914            }
915
916            var noSubscriptions = false;
917            if ((window.BOLD.subscriptions.app && window.BOLD.subscriptions.app.successfulAddToCarts.length === 0)
918                || !window.BOLD.subscriptions.app
919            ) {
920                noSubscriptions = true;
921                event.target.dataset.cashierConfirmedNoPlugins = true;
922
923                if (window.BOLD.subscriptions.setCashierFeatureToken) {
924                    window.BOLD.subscriptions.setCashierFeatureToken(false);
925                }
926            }
927
928            if ((noSubscriptions && window.BOLD.subscriptions.config.cashierPluginOnlyMode)
929                || (typeof BOLD.checkout.isFeatureRequired === 'function' && !BOLD.checkout.isFeatureRequired())
930            ) {
931                // send them to the original checkout when in plugin only mode
932                // and either BSUB is there but there are no subscription products
933                // or BSUB isn't there at all
934                if (form.dataset.old_form_action) {
935                    form.action = form.dataset.old_form_action;
936                }
937                event.target.click();
938            } else {
939                // sends them to Cashier since BSUB got a chance to add it's stuff
940                // and plugin only mode is not enabled
941                form.submit();
942            }
943        };
944    }
945</script>
945
946
947<script id="bold-subscriptions-platform-script" type="text/javascript">
948    window.BOLD.subscriptions.config.shopPlatformId = '51054739619';
949    window.BOLD.subscriptions.config.appSlug = 'subscriptions';
950
951    window.BOLD = window.BOLD || {};
952    window.BOLD.subscriptions = window.BOLD.subscriptions || {};
953    window.BOLD.subscriptions.data = window.BOLD.subscriptions.data || {};
954    window.BOLD.subscriptions.data.platform = window.BOLD.subscriptions.data.platform || {};
955    window.BOLD.subscriptions.data.platform.customer = { id: '' };
956    window.BOLD.subscriptions.data.platform.product = null;
957    window.BOLD.subscriptions.data.platform.products = [];
958    window.BOLD.subscriptions.data.platform.variantProductMap = {};
959
960    window.BOLD.subscriptions.addCachedProductData = function(products) {
961        // ignore [], null, and undefined
962        if (!products) {
963            return
964        }
965
966        if (!Array.isArray(products)) {
967            window.BOLD.subscriptions.logger.warn('products must be an array')
968            return
969        }
970
971        window.BOLD.subscriptions.data.platform.products.concat(products)
972
973        for (var i = 0; i < products.length; i++) {
974            var product = products[i];
975            for (var j = 0; j < product.variants.length; j++) {
976                var variant = product.variants[j];
977                window.BOLD.subscriptions.data.platform.variantProductMap[variant.id] = product;
978            }
979        }
980    }
981
982    
983    
984    
985
986    window.BOLD.subscriptions.config.addToCartFormSelectors.push(
987        '.product-form.product-form-product-template:not(.bold-subscriptions-no-widget)'
988        ,'.product-form.product-form--payment-button:not(.bold-subscriptions-no-widget)'
989    );
990    window.BOLD.subscriptions.config.addToCartButtonSelectors.push('[type="submit"]');
991    window.BOLD.subscriptions.config.quickAddToCartButtonSelectors.push('a[data-event-type="product-click"]');
992    window.BOLD.subscriptions.config.widgetInsertBeforeSelectors.push('[type="submit"]');
993    window.BOLD.subscriptions.config.cartElementSelectors.push('form[action="/cart"]');
994    window.BOLD.subscriptions.config.cartTotalElementSelectors.push('[data-cart-subtotal]', '.text-right .ajaxcart__subtotal');
995    window.BOLD.subscriptions.config.checkoutButtonSelectors.push(
996        '[name="checkout"]',
997        '[href*="checkout"]:not([href*="tools/checkout"])',
998        '[onclick*="checkout"]:not([onclick*="tools/checkout"])',
999    );
1000
1001    // Discount text markup template
1002    // NOTE: @ on double curly, so blade doesn't interpret, and `raw` liquid tags so liquid doesn't interpret.
1003    
1004    window.BOLD.subscriptions.config.discountItemTemplate = '<div class="bold-subscriptions-discount"><div class="bold-subscriptions-discount__details">{{details}}</div><div class="bold-subscriptions-discount__total">{{total}}</div></div>';
1005    
1006
1007    window.BOLD.subscriptions.getProductIdFromAddToCartForm = function(addToCartForm) {
1008        var idInput = addToCartForm.querySelector('[name="id"]');
1009        if (idInput === null) {
1010            window.BOLD.subscriptions.logger.error('could not get variant id input from add to cart form — make sure your form has an input with [name="id"]')
1011            return null;
1012        }
1013
1014        var variantId = parseInt(idInput.value, 10);
1015        if (isNaN(variantId)) {
1016            window.BOLD.subscriptions.logger.error('could not parse variant id from [name="id"] input')
1017            return null;
1018        }
1019
1020        var product = window.BOLD.subscriptions.data.platform.variantProductMap[variantId];
1021
1022        if (product === undefined) {
1023            window.BOLD.subscriptions.logger.error('could not map variant id to cached product data — call window.BOLD.subscriptions.addCachedProductData(products) to add the product to the cache')
1024            return null;
1025        }
1026
1027        return product.id;
1028    };
1029
1030    window.BOLD.subscriptions.getAddToCartForms = function() {
1031        var forms = [];
1032        var idInputs = document.querySelectorAll('[name="id"]');
1033
1034        for (var i = 0; i < idInputs.length; i++) {
1035            var idInput = idInputs[i];
1036            var form = idInput.closest('form:not(.bold-subscriptions-no-widget)');
1037            if (form) {
1038                forms.push(form);
1039            }
1040        }
1041
1042        return forms;
1043    };
1044
1045    window.BOLD.subscriptions.getJWT = function (callback) {
1046        if(window.BOLD.subscriptions.data.platform.customer.id !== '') {
1047            var shopPlatformId = '51054739619';
1048            var appSlug = 'subscriptions';
1049            var customerPlatformId = window.BOLD.subscriptions.data.platform.customer.id;
1050            var proxyPath = '/apps/app-proxy/customers/v1/shops/'+shopPlatformId+'/apps/'+appSlug+'/customers/pid/'+customerPlatformId+'/jwt';
1051
1052            var xmlhttp = new XMLHttpRequest();
1053
1054            xmlhttp.onreadystatechange = function() {
1055                if (xmlhttp.readyState === window.BOLD.subscriptions.config.XMLHttpRequest.DONE) {
1056                    if (xmlhttp.status === 200) {
1057                        var data = JSON.parse(xmlhttp.responseText);
1058                        callback({
1059                            success: true,
1060                            value: {
1061                                jwt: data.bold_platform_jwt,
1062                                customerId: window.BOLD.subscriptions.data.platform.customer.id,
1063                            },
1064                        });
1065                    } else if (xmlhttp.status === 404) {
1066                        callback({
1067                            success: false,
1068                            error: 'not_logged_in',
1069                        });
1070                    } else {
1071                        callback({
1072                            success: false,
1073                            error: 'unknown',
1074                        });
1075                    }
1076                }
1077            };
1078
1079            xmlhttp.open("GET", proxyPath, true);
1080            xmlhttp.setRequestHeader('Accept', 'application/liquid');
1081            xmlhttp.send();
1082        } else {
1083            callback({
1084                success: false,
1085                error: 'not_logged_in',
1086            });
1087        }
1088    };
1089
1090    window.BOLD.subscriptions.setCashierFeatureToken = function(value) {
1091        if (window.BOLD.checkout_features_defaults && window.BOLD.subscriptions.config.cashierApplicationUUID) {
1092            window.BOLD.checkout_features_defaults.forEach(function(item) {
1093                if (item.id === window.BOLD.subscriptions.config.cashierApplicationUUID) {
1094                    item.require = value;
1095                }
1096            });
1097        }
1098    };
1099
1100    // Cashier patches
1101    window.BOLD.subscriptions.patches.cashierListenerFn = function(event) {
1102        if (window.BOLD.checkout.isCheckoutButton(event.target) && window.BOLD.checkout.isEnabled()) {
1103            window.BOLD.subscriptions.patches.pushToCashier(event);
1104        } else if(window.BOLD.checkout.isCheckoutButton(event.target) && typeof window.cashier_installed_on_site === 'undefined') {
1105            var request = new XMLHttpRequest();
1106            request.open('HEAD', '/apps/checkout/isInstalled', false);
1107            request.send(null);
1108
1109            if(request.status >= 200 && request.status < 400) {
1110                window.BOLD.subscriptions.patches.pushToCashier(event);
1111            } else {
1112                window.cashier_installed_on_site = false;
1113            }
1114        }
1115    };
1116
1117    window.BOLD.subscriptions.localTime = function() {
1118        var localDate = new Date();
1119        return localDate.getTime();
1120    };
1121
1122
1123    window.BOLD.subscriptions.patches.pushToCashier = function(event) {
1124        event.preventDefault();
1125        var form = window.BOLD.checkout.getForm(event.target);
1126        var formData = new FormData(form);
1127        var request = new XMLHttpRequest();
1128        request.open('POST', '/cart/update.js?tmp=' + Date.now(), true);
1129        request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
1130
1131        request.onload = function() {
1132            if (request.status >= 200 && request.status < 400) {
1133                // Success!
1134                var cart = JSON.parse(request.responseText);
1135
1136                // If items are empty redirect back to the cart
1137                if (cart.items.length === 0) {
1138                    return window.location.href = '/cart';
1139                }
1140
1141                cart.items.forEach(function(element) {
1142                    delete element.product_description;
1143                });
1144
1145                if (document.getElementById('CartSpecialInstructions')) {
1146                    // If the cart note exists, grab its value
1147                    cart.note = document.getElementById('CartSpecialInstructions').value;
1148                }
1149
1150                var cartObj = JSON.stringify(cart);
1151
1152                var form = window.BOLD.checkout.getForm(event.target);
1153                form.dataset.old_form_action = form.action;
1154                form.action = '/apps/checkout/begin-checkout' + googleAnalyticsGetParamString({});
1155                var cartCookie = window.BOLD.checkout.getCookie('cart');
1156                var element = document.createElement('INPUT');
1157                element.type = 'HIDDEN';
1158                element.name = 'cart_id';
1159                element.value = cartCookie;
1160                form.appendChild(element);
1161
1162                var dateElement = document.createElement('INPUT');
1163                dateElement.type = 'HIDDEN';
1164                dateElement.name = 'checkout_local_time';
1165                dateElement.value = window.BOLD.subscriptions.localTime();
1166                form.appendChild(dateElement);
1167
1168                var cartElement = document.createElement('INPUT');
1169                cartElement.type = 'HIDDEN';
1170                cartElement.name = 'cart';
1171                cartElement.value = cartObj;
1172                form.appendChild(cartElement);
1173                form.method = 'POST';
1174
1175                if(window.BOLD && window.BOLD.checkout && typeof window.BOLD.checkout.languageIsoCode === 'string') {
1176                    var langInput = document.createElement('INPUT');
1177                    langInput.type = 'HIDDEN';
1178                    langInput.name = 'language_iso';
1179                    langInput.value = window.BOLD.checkout.languageIsoCode;
1180                    form.appendChild(langInput);
1181                }
1182
1183                if (window.BOLD && window.BOLD.common && typeof window.BOLD.common.eventEmitter === 'object' && typeof window.BOLDCURRENCY !== 'undefined') {
1184                    window.BOLD.common.eventEmitter.emit('BOLD_CASHIER_checkout', {target: form});
1185                }
1186
1187                window.BOLD.subscriptions.patches.finishCheckout(event, form, cart);
1188            }
1189        };
1190
1191        request.send(formData);
1192    };
1193
1194    </script>
1194
1195
1196<!-- BEGIN app block: shopify://apps/bold-subscriptions/blocks/bsub-embed/9ceb49f0-5fe5-4b5e-943d-f8af8985167d -->
1197<script id="bold-subscriptions-app-embed-script" type="text/javascript" defer>
1198    
1199        
1200            if (window.location.href.includes('pages/manage-subscriptions')) {
1201                const queryParams = new URLSearchParams(window.location.search);
1202                if(queryParams.has('deep_link') && queryParams.get('deep_link') === 'upsell' &&
1203                    queryParams.has('type') && queryParams.get('type') === 'upcoming-order-email'
1204                ) {
1205                    window.location.href=`/account/login?${queryParams.toString()}&from_msp=true`;
1206                }
1207            } else if (window.location.href.includes('/account/login')) {
1208                document.addEventListener('DOMContentLoaded', function() {
1209                    const queryParams = new URLSearchParams(window.location.search);
1210                    if(queryParams.has('from_msp')) {
1211                        queryParams.delete('from_msp');
1212
1213                        let form = document.querySelector("#customer_login");
1214
1215                        if(form) {
1216                            let input = document.createElement('input');
1217                            input.type = 'hidden';
1218                            input.name = 'return_to';
1219                            input.value = `https://kitasandocoffee.com/pages/manage-subscriptions?${queryParams.toString()}`;
1220
1221                            form.appendChild(input);
1222                        }
1223                    }
1224                });
1225            }
1226        
1227    
1228
1229    window.BOLD = window.BOLD || {};
1230    window.BOLD.subscriptions = window.BOLD.subscriptions || {};
1231    window.BOLD.subscriptions.config = window.BOLD.subscriptions.config || {};
1232    window.BOLD.subscriptions.config.isAppEmbedEnabled = true;
1233    window.BOLD.subscriptions.classes = window.BOLD.subscriptions.classes || {};
1234    window.BOLD.subscriptions.patches = window.BOLD.subscriptions.patches || {};
1235    window.BOLD.subscriptions.patches.maxCheckoutRetries = window.BOLD.subscriptions.patches.maxCheckoutRetries || 200;
1236    window.BOLD.subscriptions.patches.currentCheckoutRetries = window.BOLD.subscriptions.patches.currentCheckoutRetries || 0;
1237    window.BOLD.subscriptions.patches.maxCashierPatchAttempts = window.BOLD.subscriptions.patches.maxCashierPatchAttempts || 200;
1238    window.BOLD.subscriptions.patches.currentCashierPatchAttempts = window.BOLD.subscriptions.patches.currentCashierPatchAttempts || 0;
1239    window.BOLD.subscriptions.config.platform = 'shopify';
1240    window.BOLD.subscriptions.config.shopDomain = 'kankaku.myshopify.com';
1241    window.BOLD.subscriptions.config.customDomain = 'kitasandocoffee.com';
1242    window.BOLD.subscriptions.config.shopIdentifier = '51054739619';
1243    window.BOLD.subscriptions.config.cashierUrl = 'https://cashier.boldcommerce.com';
1244    window.BOLD.subscriptions.config.boldAPIBase = 'https://app-api.boldapps.net/';
1245    window.BOLD.subscriptions.config.cashierApplicationUUID = '2e6a2bbc-b12b-4255-abdf-a02af85c0d4e';
1246    window.BOLD.subscriptions.config.appUrl = 'https://sub.boldapps.net';
1247    window.BOLD.subscriptions.config.currencyCode = 'JPY';
1248    window.BOLD.subscriptions.config.checkoutType = 'shopify';
1249    window.BOLD.subscriptions.config.currencyFormat = "Â¥\u0026#123;\u0026#123;amount_no_decimals}}";
1250    window.BOLD.subscriptions.config.shopCurrencies = [{"id":1429,"currency":"JPY","currency_format":"\u0026#165;\u0026#123;\u0026#123;amount_no_decimals}}","created_at":"2021-02-10 14:15:38","updated_at":"2021-02-10 14:15:38"}];
1251    window.BOLD.subscriptions.config.shopSettings = {"allow_msp_cancellation":true,"allow_msp_prepaid_renewal":true,"customer_can_pause_subscription":true,"customer_can_change_next_order_date":true,"customer_can_change_order_frequency":true,"customer_can_create_an_additional_order":true,"customer_can_use_passwordless_login":false,"customer_passwordless_login_redirect":false,"customer_can_add_products_to_existing_subscriptions":false,"customer_can_reactivate_subscription":true,"customer_can_reactivate_subscription_with_deleted_products":false,"show_currency_code":true,"stored_payment_method_policy":"required","customer_portal_path":"pages\/manage-subscriptions","display_only_subscription_products":false};
1252    window.BOLD.subscriptions.config.customerLoginPath = null;
1253    window.BOLD.subscriptions.config.isPrepaidEnabled = window.BOLD.subscriptions.config.isPrepaidEnabled || true;
1254    window.BOLD.subscriptions.config.loadSubscriptionGroupFrom = 'default';
1255    window.BOLD.subscriptions.config.loadSubscriptionGroupFromTypes = "default";
1256    window.BOLD.subscriptions.config.cashierPluginOnlyMode = window.BOLD.subscriptions.config.cashierPluginOnlyMode || false;
1257    if (window.BOLD.subscriptions.config.waitForCheckoutLoader === undefined) {
1258        window.BOLD.subscriptions.config.waitForCheckoutLoader = true;
1259    }
1260
1261    window.BOLD.subscriptions.config.addToCartFormSelectors = window.BOLD.subscriptions.config.addToCartFormSelectors || [];
1262    window.BOLD.subscriptions.config.addToCartButtonSelectors = window.BOLD.subscriptions.config.addToCartButtonSelectors || [];
1263    window.BOLD.subscriptions.config.widgetInsertBeforeSelectors = window.BOLD.subscriptions.config.widgetInsertBeforeSelectors || [];
1264    window.BOLD.subscriptions.config.quickAddToCartButtonSelectors = window.BOLD.subscriptions.config.quickAddToCartButtonSelectors || [];
1265    window.BOLD.subscriptions.config.cartElementSelectors = window.BOLD.subscriptions.config.cartElementSelectors || [];
1266    window.BOLD.subscriptions.config.cartTotalElementSelectors = window.BOLD.subscriptions.config.cartTotalElementSelectors || [];
1267    window.BOLD.subscriptions.config.lineItemSelectors = window.BOLD.subscriptions.config.lineItemSelectors || [];
1268    window.BOLD.subscriptions.config.lineItemNameSelectors = window.BOLD.subscriptions.config.lineItemNameSelectors || [];
1269    window.BOLD.subscriptions.config.checkoutButtonSelectors = window.BOLD.subscriptions.config.checkoutButtonSelectors || [];
1270
1271    window.BOLD.subscriptions.config.featureFlags = window.BOLD.subscriptions.config.featureFlagOverrides || ["BE-2298-Support-Variant-Selections-In-Sub-Groups","BE-6925-remove-bold-error-code-from-error-message","BE-8664-default-address-source-bold","BE-9502-add-logs-to-investigate-infinite-loop","BE-6695-improve-subs-onboarding","BE-10096-list-deleted-variants","BE-10183-customer-portal-paginates-products","BE-10178-suppress-dup-inventory-failure-emails","BE-9073-reactivate-subscription-setting"];
1272    window.BOLD.subscriptions.config.subscriptionProcessingFrequency = '60';
1273    window.BOLD.subscriptions.config.requireMSPInitialLoadingMessage = true;
1274    window.BOLD.subscriptions.data = window.BOLD.subscriptions.data || {};
1275
1276    // Interval text markup template
1277    window.BOLD.subscriptions.config.lineItemPropertyListSelectors = window.BOLD.subscriptions.config.lineItemPropertyListSelectors || [];
1278    window.BOLD.subscriptions.config.lineItemPropertyListSelectors.push('dl.definitionList');
1279    window.BOLD.subscriptions.config.lineItemPropertyListTemplate = window.BOLD.subscriptions.config.lineItemPropertyListTemplate || '<dl class="definitionList"></dl>';
1280    window.BOLD.subscriptions.config.lineItemPropertyTemplate = window.BOLD.subscriptions.config.lineItemPropertyTemplate || '<dt class="definitionList-key">{{key}}:</dt><dd class="definitionList-value">{{value}}</dd>';
1281
1282    // Discount text markup template
1283    window.BOLD.subscriptions.config.discountItemTemplate = window.BOLD.subscriptions.config.discountItemTemplate || '<div class="bold-subscriptions-discount"><div class="bold-subscriptions-discount__details">{{details}}</div><div class="bold-subscriptions-discount__total">{{total}}</div></div>';
1284
1285
1286    // Constants in XMLHttpRequest are not reliable, so we will create our own
1287    // reference: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState
1288    window.BOLD.subscriptions.config.XMLHttpRequest = {
1289        UNSENT:0,            // Client has been created. open() not called yet.
1290        OPENED: 1,           // open() has been called.
1291        HEADERS_RECEIVED: 2, // send() has been called, and headers and status are available.
1292        LOADING: 3,          // Downloading; responseText holds partial data.
1293        DONE: 4              // The operation is complete.
1294    };
1295
1296    window.BOLD.subscriptions.config.assetBaseUrl = 'https://sub.boldapps.net';
1297    if (window.localStorage && window.localStorage.getItem('boldSubscriptionsAssetBaseUrl')) {
1298        window.BOLD.subscriptions.config.assetBaseUrl = window.localStorage.getItem('boldSubscriptionsAssetBaseUrl')
1299    }
1300
1301    window.BOLD.subscriptions.data.subscriptionGroups = [];
1302    if (localStorage && localStorage.getItem('boldSubscriptionsSubscriptionGroups')) {
1303        window.BOLD.subscriptions.data.subscriptionGroups = JSON.parse(localStorage.getItem('boldSubscriptionsSubscriptionGroups'));
1304    } else {
1305        window.BOLD.subscriptions.data.subscriptionGroups = [{"id":9616,"billing_rules":[{"id":19404,"subscription_group_id":9616,"interval_name":"毎月","billing_rule":"FREQ=MONTHLY","custom_billing_rule":""},{"id":31872,"subscription_group_id":9616,"interval_name":"隔週","billing_rule":"FREQ=WEEKLY","custom_billing_rule":""}],"is_subscription_only":false,"allow_prepaid":false,"allow_dynamic_discount":false,"is_prepaid_only":false,"should_continue_prepaid":true,"continue_prepaid_type":"as_prepaid","prepaid_durations":[{"id":9550,"subscription_group_id":9616,"total_duration":1,"discount_type":"percentage","discount_value":0}],"dynamic_discounts":[],"selection_options":[{"platform_entity_id":null}],"discount_type":"no_discount","percent_discount":0,"fixed_discount":0,"can_add_to_cart":true}];
1306    }
1307
1308    window.BOLD.subscriptions.isFeatureFlagEnabled = function (featureFlag) {
1309        for (var i = 0; i < window.BOLD.subscriptions.config.featureFlags.length; i++) {
1310            if (window.BOLD.subscriptions.config.featureFlags[i] === featureFlag){
1311                return true;
1312            }
1313        }
1314        return false;
1315    }
1316
1317    window.BOLD.subscriptions.logger = {
1318        tag: "bold_subscriptions",
1319        // the bold subscriptions log level
1320        // 0 - errors (default)
1321        // 1 - warnings + errors
1322        // 2 - info + warnings + errors
1323        // use window.localStorage.setItem('boldSubscriptionsLogLevel', x) to set the log level
1324        levels: {
1325            ERROR: 0,
1326            WARN: 1,
1327            INFO: 2,
1328        },
1329        level: parseInt((window.localStorage && window.localStorage.getItem('boldSubscriptionsLogLevel')) || "0", 10),
1330        _log: function(callArgs, level) {
1331            if (!window.console) {
1332                return null;
1333            }
1334
1335            if (window.BOLD.subscriptions.logger.level < level) {
1336                return;
1337            }
1338
1339            var params = Array.prototype.slice.call(callArgs);
1340            params.unshift(window.BOLD.subscriptions.logger.tag);
1341
1342            switch (level) {
1343                case window.BOLD.subscriptions.logger.levels.INFO:
1344                    console.info.apply(null, params);
1345                    return;
1346                case window.BOLD.subscriptions.logger.levels.WARN:
1347                    console.warn.apply(null, params);
1348                    return;
1349                case window.BOLD.subscriptions.logger.levels.ERROR:
1350                    console.error.apply(null, params);
1351                    return;
1352                default:
1353                    console.log.apply(null, params);
1354                    return;
1355            }
1356        },
1357        info: function() {
1358            window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.INFO);
1359        },
1360        warn: function() {
1361            window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.WARN);
1362        },
1363        error: function() {
1364            window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.ERROR);
1365        }
1366    }
1367
1368    window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI = function() {
1369        return window.BOLD.subscriptions.config.loadSubscriptionGroupFrom === window.BOLD.subscriptions.config.loadSubscriptionGroupFromTypes['BSUB_API'];
1370    }
1371
1372    window.BOLD.subscriptions.getSubscriptionGroupFromProductId = function (productId) {
1373        var data = window.BOLD.subscriptions.data;
1374        var foundGroup = null;
1375        for (var i = 0; i < data.subscriptionGroups.length; i += 1) {
1376            var subscriptionGroup = data.subscriptionGroups[i];
1377            for (var j = 0; j < subscriptionGroup.selection_options.length; j += 1) {
1378                var selectionOption = subscriptionGroup.selection_options[j];
1379                if (selectionOption.platform_entity_id === productId.toString()) {
1380                    foundGroup = subscriptionGroup;
1381                    break;
1382                }
1383            }
1384            if (foundGroup) {
1385                break;
1386            }
1387        }
1388        return foundGroup;
1389    };
1390
1391    window.BOLD.subscriptions.getSubscriptionGroupById = function(subGroupId) {
1392        var subscriptionGroups = window.BOLD.subscriptions.data.subscriptionGroups;
1393
1394        for (var i = 0; i < subscriptionGroups.length; i += 1) {
1395            var subGroup = subscriptionGroups[i];
1396            if (subGroup.id === subGroupId) {
1397                return subGroup;
1398            }
1399        }
1400
1401        return null;
1402    };
1403
1404    window.BOLD.subscriptions.addSubscriptionGroup = function (subscriptionGroup) {
1405        if(!window.BOLD.subscriptions.getSubscriptionGroupById(subscriptionGroup.id))
1406        {
1407            window.BOLD.subscriptions.data.subscriptionGroups.push(subscriptionGroup);
1408        }
1409    }
1410
1411    window.BOLD.subscriptions.getSubscriptionGroupPrepaidDurationById = function(subscriptionGroupId, prepaidDurationId) {
1412        var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupById(subscriptionGroupId);
1413
1414        if (
1415            !subscriptionGroup
1416            || !subscriptionGroup.prepaid_durations
1417            || !subscriptionGroup.prepaid_durations.length
1418        ) {
1419            return null;
1420        }
1421
1422        for (var i = 0; i < subscriptionGroup.prepaid_durations.length; i++) {
1423            var prepaidDuration = subscriptionGroup.prepaid_durations[i];
1424            if (prepaidDuration.id === prepaidDurationId) {
1425                return prepaidDuration;
1426            }
1427        }
1428
1429        return null;
1430    }
1431
1432    window.BOLD.subscriptions.getSubscriptionGroupBillingRuleById = function(subGroup, billingRuleId) {
1433        for (var i = 0; i < subGroup.billing_rules.length; i += 1) {
1434            var billingRule = subGroup.billing_rules[i];
1435            if (billingRule.id === billingRuleId) {
1436                return billingRule;
1437            }
1438        }
1439
1440        return null;
1441    };
1442
1443    window.BOLD.subscriptions.toggleDisabledAddToCartButtons = function(d) {
1444        var addToCartForms = document.querySelectorAll(window.BOLD.subscriptions.config.addToCartFormSelectors.join(','));
1445        var disable = !!d;
1446        for (var i = 0; i < addToCartForms.length; i++) {
1447            var addToCartForm = addToCartForms[i];
1448            var productId = window.BOLD.subscriptions.getProductIdFromAddToCartForm(
1448addToCartForm);
1449            var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupFromProductId(productId);
1450
1451            if(window.BOLD.subscriptions.isFeatureFlagEnabled('BS2-4659_improve_large_group_selection') ) {
1452                if (subscriptionGroup || window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI()) {
1453                    var addToCartButtons = addToCartForm.querySelectorAll(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(','));
1454                    for (var j = 0; j < addToCartButtons.length; j++) {
1455                        var addToCartButton = addToCartButtons[j];
1456                        var toggleAction = disable ?  addToCartButton.setAttribute : addToCartButton.removeAttribute;
1457
1458                        addToCartButton.disabled = disable;
1459                        toggleAction.call(addToCartButton, 'data-disabled-by-subscriptions', disable);
1460                    }
1461                }
1462            } else {
1463                if (subscriptionGroup) {
1464                    var addToCartButtons = addToCartForm.querySelectorAll(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(','));
1465                    for (var j = 0; j < addToCartButtons.length; j++) {
1466                        var addToCartButton = addToCartButtons[j];
1467                        var toggleAction = disable ?  addToCartButton.setAttribute : addToCartButton.removeAttribute;
1468
1469                        addToCartButton.disabled = disable;
1470                        toggleAction.call(addToCartButton, 'data-disabled-by-subscriptions', disable);
1471                    }
1472                }
1473            }
1474
1475        }
1476    };
1477
1478    window.BOLD.subscriptions.disableAddToCartButtons = function () {
1479        // only disable the add to cart buttons if the app isn't loaded yet
1480        if (!window.BOLD.subscriptions.app) {
1481            window.BOLD.subscriptions.toggleDisabledAddToCartButtons(true);
1482        } else {
1483            window.BOLD.subscriptions.enableAddToCartButtons();
1484        }
1485    };
1486
1487    window.BOLD.subscriptions.enableAddToCartButtons = function () {
1488        document.removeEventListener('click', window.BOLD.subscriptions.preventSubscriptionAddToCart);
1489        window.BOLD.subscriptions.toggleDisabledAddToCartButtons(false);
1490    };
1491
1492    window.BOLD.subscriptions.toggleDisabledCheckoutButtons = function(d) {
1493        var checkoutButtons = document.querySelectorAll(window.BOLD.subscriptions.config.checkoutButtonSelectors.join(','));
1494        var disable = !!d;
1495        for (var i = 0; i < checkoutButtons.length; i++) {
1496            var checkoutButton = checkoutButtons[i];
1497            var toggleAction = disable ? checkoutButton.setAttribute : checkoutButton.removeAttribute;
1498
1499            checkoutButton.disabled = disable;
1500            toggleAction.call(checkoutButton, 'data-disabled-by-subscriptions', disable);
1501        }
1502    }
1503
1504    window.BOLD.subscriptions.disableCheckoutButtons = function() {
1505        // only disable the checkout buttons if the app isn't loaded yet
1506        if (!window.BOLD.subscriptions.app) {
1507            window.BOLD.subscriptions.toggleDisabledCheckoutButtons(true);
1508        } else {
1509            window.BOLD.subscriptions.enableCheckoutButtons();
1510        }
1511    }
1512
1513    window.BOLD.subscriptions.enableCheckoutButtons = function() {
1514        document.removeEventListener('click', window.BOLD.subscriptions.preventCheckout);
1515        window.BOLD.subscriptions.toggleDisabledCheckoutButtons(false);
1516    }
1517
1518    window.BOLD.subscriptions.hasSuccessfulAddToCarts = function() {
1519        if (typeof(Storage) !== "undefined") {
1520            var successfulAddToCarts = JSON.parse(
1521                window.localStorage.getItem('boldSubscriptionsSuccessfulAddToCarts') || '[]'
1522            );
1523            if (successfulAddToCarts.length > 0) {
1524                return true;
1525            }
1526        }
1527
1528        return false;
1529    }
1530
1531    window.BOLD.subscriptions.hasPendingAddToCarts = function() {
1532        if (typeof(Storage) !== "undefined") {
1533            var pendingAddToCarts = JSON.parse(
1534                window.localStorage.getItem('boldSubscriptionsPendingAddToCarts') || '[]'
1535            );
1536            if (pendingAddToCarts.length > 0) {
1537                return true;
1538            }
1539        }
1540
1541        return false;
1542    }
1543
1544    window.BOLD.subscriptions.addJSAsset = function(src, deferred) {
1545        var scriptTag = document.getElementById('bold-subscriptions-app-embed-script');
1546        var jsElement = document.createElement('script');
1547        jsElement.type = 'text/javascript';
1548        jsElement.src = src;
1549        if (deferred) {
1550           jsElement.defer = true;
1551        }
1552        scriptTag.parentNode.insertBefore(jsElement, scriptTag);
1553    };
1554
1555    window.BOLD.subscriptions.addCSSAsset = function(href) {
1556        var scriptTag = document.getElementById('bold-subscriptions-app-embed-script');
1557        var cssElement = document.createElement('link');
1558        cssElement.href = href;
1559        cssElement.rel = 'stylesheet';
1560        scriptTag.parentNode.insertBefore(cssElement, scriptTag);
1561    };
1562
1563    window.BOLD.subscriptions.loadStorefrontAssets = function loadStorefrontAssets() {
1564        var assets = window.BOLD.subscriptions.config.assets;
1565        window.BOLD.subscriptions.addCSSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['storefront.css']);
1566        window.BOLD.subscriptions.addJSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['storefront.js'], false);
1567    };
1568
1569    window.BOLD.subscriptions.loadCustomerPortalAssets = function loadCustomerPortalAssets() {
1570      if (document.getElementById('customer-portal-root') || document.getElementsByClassName('bsub-express-add-ons-widget')) {
1571        var assets = window.BOLD.subscriptions.config.assets;
1572        window.BOLD.subscriptions.addCSSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['customer_portal.css']);
1573        window.BOLD.subscriptions.addJSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['customer_portal.js'], true);
1574      }
1575    };
1576
1577    window.BOLD.subscriptions.processManifest = function() {
1578        if (!window.BOLD.subscriptions.processedManifest) {
1579            window.BOLD.subscriptions.processedManifest = true;
1580            window.BOLD.subscriptions.config.assets = JSON.parse(this.responseText);
1581
1582            
1583            window.BOLD.subscriptions.loadCustomerPortalAssets();
1584        }
1585    };
1586
1587    window.BOLD.subscriptions.addInitialLoadingMessage = function() {
1588        var customerPortalNode = document.getElementById('customer-portal-root');
1589        if (customerPortalNode && window.BOLD.subscriptions.config.requireMSPInitialLoadingMessage) {
1590            customerPortalNode.innerHTML = '<div class="bold-subscriptions-loader-container"><div class="bold-subscriptions-loader"></div></div>';
1591        }
1592    }
1593
1594    window.BOLD.subscriptions.contentLoaded = function() {
1595        window.BOLD.subscriptions.data.contentLoadedEventTriggered = true;
1596        window.BOLD.subscriptions.addInitialLoadingMessage();
1597        
1598    };
1599
1600    window.BOLD.subscriptions.preventSubscriptionAddToCart = function(e) {
1601        if (e.target.matches(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(',')) && e.target.form) {
1602            var productId = window.BOLD.subscriptions.getProductIdFromAddToCartForm(e.target.form);
1603            var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupFromProductId(productId);
1604            if(window.BOLD.subscriptions.isFeatureFlagEnabled('BS2-4659_improve_large_group_selection'))
1605            {
1606                if (subscriptionGroup || window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI()) {
1607                    // This code prevents products in subscription groups from being added to the cart before the
1608                    // Subscriptions app fully loads. Once the subscriptions app loads it will re-enable the
1609                    // buttons. Use window.BOLD.subscriptions.enableAddToCartButtons enable them manually.
1610                    e.preventDefault();
1611                    return false;
1612                }
1613            } else {
1614                if (subscriptionGroup) {
1615                    // This code prevents products in subscription groups from being added to the cart before the
1616                    // Subscriptions app fully loads. Once the subscriptions app loads it will re-enable the
1617                    // buttons. Use window.BOLD.subscriptions.enableAddToCartButtons enable them manually.
1618                    e.preventDefault();
1619                    return false;
1620                }
1621            }
1622
1623        }
1624    };
1625
1626    window.BOLD.subscriptions.preventCheckout = function(e) {
1627        if (
1628            e.target.matches(window.BOLD.subscriptions.config.checkoutButtonSelectors.join(','))
1629            && (window.BOLD.subscriptions.hasSuccessfulAddToCarts() || window.BOLD.subscriptions.hasPendingAddToCarts())
1630        ) {
1631            // This code prevents checkouts on the shop until the Subscriptions app fully loads.
1632            // When the Subscriptions app is ready it will enable the checkout buttons itself.
1633            // Use window.BOLD.subscriptions.enableCheckoutButtons to enable them manually.
1634            e.preventDefault();
1635            return false;
1636        }
1637    }
1638
1639    if (!window.BOLD.subscriptions.config.legacyAssetsLoaded) {
1640        
1641        document.addEventListener('DOMContentLoaded', window.BOLD.subscriptions.contentLoaded);
1642    }
1643
1644    if (!Element.prototype.matches) {
1645        Element.prototype.matches =
1646            Element.prototype.matchesSelector ||
1647            Element.prototype.mozMatchesSelector ||
1648            Element.prototype.msMatchesSelector ||
1649            Element.prototype.oMatchesSelector ||
1650            Element.prototype.webkitMatchesSelector ||
1651            function(s) {
1652                var matches = (this.document || this.ownerDocument).querySelectorAll(s),
1653                    i = matches.length;
1654                while (--i >= 0 && matches.item(i) !== this) {}
1655                return i > -1;
1656            };
1657    }
1658
1659    if (!Element.prototype.closest) {
1660        Element.prototype.closest = function(s) {
1661            var el = this;
1662
1663            do {
1664                if (Element.prototype.matches.call(el, s)) return el;
1665                el = el.parentElement || el.parentNode;
1666            } while (el !== null && el.nodeType === 1);
1667            return null;
1668        };
1669    }
1670
1671    window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons = function (isVisible) {
1672        if (window.BOLD.subscriptions.config.additionalCheckoutSelectors === undefined) {
1673            return;
1674        }
1675
1676        var selectors = window.BOLD.subscriptions.config.additionalCheckoutSelectors;
1677
1678        for (var i = 0; i < selectors.length; i++) {
1679            var elements = document.querySelectorAll(selectors[i]);
1680
1681            for (var j = 0; j < elements.length; j++) {
1682                elements[j].style.display = isVisible ? 'block' : 'none';
1683            }
1684        }
1685    }
1686
1687    window.BOLD.subscriptions.hideAdditionalCheckoutButtons = function() {
1688        window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons(false);
1689    };
1690
1691    window.BOLD.subscriptions.showAdditionalCheckoutButtons = function() {
1692        window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons(true);
1693    };
1694
1695    window.BOLD.subscriptions.enhanceMspUrls = function(data) {
1696        var mspUrl = 'https://sub.boldapps.net/shop/5452/customer_portal';
1697        var elements = document.querySelectorAll("a[href='"+mspUrl+"']");
1698
1699        if(!elements.length || !data.success) {
1700            return;
1701        }
1702
1703        for (var i = 0; i < elements.length; i++) {
1704            elements[i].href = elements[i].href + "?jwt="+data.value.jwt+"&customerId="+data.value.customerId;
1705        }
1706    };
1707
1708    if (!window.BOLD.subscriptions.config.legacyAssetsLoaded) {
1709        window.addEventListener('load', function () {
1710          if (document.getElementById('customer-portal-root')) {
1711            window.BOLD.subscriptions.getJWT(window.BOLD.subscriptions.enhanceMspUrls);
1712          }
1713        });
1714
1715        // This will be called immediately
1716        // Use this anonymous function to avoid polluting the global namespace
1717        (function() {
1718            var xhr = new XMLHttpRequest();
1719            xhr.addEventListener('load', window.BOLD.subscriptions.processManifest);
1720            xhr.open('GET', window.BOLD.subscriptions.config.assetBaseUrl + '/static/manifest.json?t=' + (new Date()).getTime());
1721            xhr.send();
1722        })()
1723    }
1724
1725    window.BOLD.subscriptions.patches.patchCashier = function() {
1726        if (window.BOLD && window.BOLD.checkout) {
1727            window.BOLD.checkout.disable();
1728            window.BOLD.checkout.listenerFn = window.BOLD.subscriptions.patches.cashierListenerFn;
1729            window.BOLD.checkout.enable();
1730        } else if (window.BOLD.subscriptions.patches.currentCashierPatchAttempts < window.BOLD.subscriptions.patches.maxCashierPatchAttempts) {
1731            window.BOLD.subscriptions.patches.currentCashierPatchAttempts++;
1732            setTimeout(window.BOLD.subscriptions.patches.patchCashier, 100);
1733        }
1734    };
1735
1736    window.BOLD.subscriptions.patches.finishCheckout = function(event, form, cart) {
1737        window.BOLD.subscriptions.patches.currentCheckoutRetries++;
1738
1739        if (!window.BOLD.subscriptions.app
1740            && window.BOLD.subscriptions.patches.currentCheckoutRetries < window.BOLD.subscriptions.patches.maxCheckoutRetries
1741        ) {
1742            setTimeout(function () { window.BOLD.subscriptions.patches.finishCheckout(event, form, cart); }, 100);
1743            return;
1744        } else if (window.BOLD.subscriptions.app) {
1745            window.BOLD.subscriptions.patches.currentCheckoutRetries = 0;
1746            window.BOLD.subscriptions.app.addCartParams(form, cart);
1747        }
1748
1749        var noSubscriptions = false;
1750        if ((window.BOLD.subscriptions.app && window.BOLD.subscriptions.app.successfulAddToCarts.length === 0)
1751            || !window.BOLD.subscriptions.app
1752        ) {
1753            noSubscriptions = true;
1754            event.target.dataset.cashierConfirmedNoPlugins = true;
1755
1756            if (window.BOLD.subscriptions.setCashierFeatureToken) {
1757                window.BOLD.subscriptions.setCashierFeatureToken(false);
1758            }
1759        }
1760
1761        if ((noSubscriptions && window.BOLD.subscriptions.config.cashierPluginOnlyMode)
1762            || (typeof BOLD.checkout.isFeatureRequired === 'function' && !BOLD.checkout.isFeatureRequired())
1763        ) {
1764            // send them to the original checkout when in plugin only mode
1765            // and either BSUB is there but there are no subscription products
1766            // or BSUB isn't there at all
1767            if (form.dataset.old_form_action) {
1768                form.action = form.dataset.old_form_action;
1769            }
1770            event.target.click();
1771        } else {
1772            // sends them to Cashier since BSUB got a chance to add it's stuff
1773            // and plugin only mode is not enabled
1774            form.submit();
1775        }
1776    };
1777</script>
vendor: 1 bytes, line 1777
1777
1778<script id="bold-subscriptions-app-embed-platform-script" type="text/javascript" defer>
1779    window.BOLD.subscriptions.config.shopPlatformId = '51054739619';
1780    window.BOLD.subscriptions.config.appSlug = 'subscriptions';
1781
1782    window.BOLD = window.BOLD || {};
1783    window.BOLD.subscriptions = window.BOLD.subscriptions || {};
1784    window.BOLD.subscriptions.data = window.BOLD.subscriptions.data || {};
1785    window.BOLD.subscriptions.data.platform = window.BOLD.subscriptions.data.platform || {};
1786    window.BOLD.subscriptions.data.platform.customer = { id: '' };
1787    window.BOLD.subscriptions.data.platform.product = null;
1788    window.BOLD.subscriptions.data.platform.products = [];
1789    window.BOLD.subscriptions.data.platform.variantProductMap = {};
1790
1791    window.BOLD.subscriptions.getProductByVariantId = function(variantId) {
1792        if (window.BOLD.subscriptions.data.platform.product && 
1793            window.BOLD.subscriptions.data.platform.product.variants) {
1794            for (var i = 0; i < window.BOLD.subscriptions.data.platform.product.variants.length; i++) {
1795                if (window.BOLD.subscriptions.data.platform.product.variants[i].id === variantId) {
1796                    return window.BOLD.subscriptions.data.platform.product;
1797                }
1798            }
1799        }
1800
1801        if (window.BOLD.subscriptions.data.platform.variantProductMap[variantId]) {
1802            return window.BOLD.subscriptions.data.platform.variantProductMap[variantId];
1803        }
1804
1805        var productElements = document.querySelectorAll('[data-product-id]');
1806        for (var i = 0; i < productElements.length; i++) {
1807            var productJsonElement = productElements[i].querySelector('[data-product-json]');
1808            
1809            if (productJsonElement) {
1810                try {
1811                    var productData = JSON.parse(productJsonElement.textContent);
1812                    if (productData && productData.variants) {
1813                        for (var j = 0; j < productData.variants.length; j++) {
1814                            if (productData.variants[j].id === variantId) {
1815                                return productData;
1816                            }
1817                        }
1818                    }
1819                } catch (e) {
1820                    // Continue if parsing fails
1821                }
1822            }
1823        }
1824
1825        return null;
1826    }
1827
1828    window.BOLD.subscriptions.config.addToCartFormSelectors.push(
1829        '.product-form.product-form-product-template:not(.bold-subscriptions-no-widget)'
1830        ,'.product-form.product-form--payment-button:not(.bold-subscriptions-no-widget)'
1831    );
1832    window.BOLD.subscriptions.config.addToCartButtonSelectors.push('[type="submit"]');
1833    window.BOLD.subscriptions.config.quickAddToCartButtonSelectors.push('a[data-event-type="product-click"]');
1834    window.BOLD.subscriptions.config.widgetInsertBeforeSelectors.push('[type="submit"]');
1835    window.BOLD.subscriptions.config.cartElementSelectors.push('form[action="/cart"]');
1836    window.BOLD.subscriptions.config.cartTotalElementSelectors.push('[data-cart-subtotal]', '.text-right .ajaxcart__subtotal');
1837    window.BOLD.subscriptions.config.checkoutButtonSelectors.push(
1838        '[name="checkout"]',
1839        '[href*="checkout"]:not([href*="tools/checkout"])',
1840        '[onclick*="checkout"]:not([onclick*="tools/checkout"])',
1841    );
1842
1843    // Discount text markup template
1844    
1845    window.BOLD.subscriptions.config.discountItemTemplate = '<div class="bold-subscriptions-discount"><div class="bold-subscriptions-discount__details">{{details}}</div><div class="bold-subscriptions-discount__total">{{total}}</div></div>';
1846    
1847
1848    window.BOLD.subscriptions.getProductIdFromAddToCartForm = function(addToCartForm) {
1849        var idInput = addToCartForm.querySelector('[name="id"]');
1850        if (idInput === null) {
1851            window.BOLD.subscriptions.logger.error('could not get variant id input from add to cart form — make sure your form has an input with [name="id"]')
1852            return null;
1853        }
1854
1855        var variantId = parseInt(idInput.value, 10);
1856        if (isNaN(variantId)) {
1857            window.BOLD.subscriptions.logger.error('could not parse variant id from [name="id"] input')
1858            return null;
1859        }
1860
1861        var product = window.BOLD.subscriptions.getProductByVariantId(variantId);
1862
1863        if (product === undefined || product === null) {
1864            window.BOLD.subscriptions.logger.error('could not find product data for variant id ' + variantId + ' — product data may not be available on this page')
1865            return null;
1866        }
1867
1868        return product.id;
1869    };
1870
1871    window.BOLD.subscriptions.getAddToCartForms = function() {
1872        var forms = [];
1873        var idInputs = document.querySelectorAll('[name="id"]');
1874
1875        for (var i = 0; i < idInputs.length; i++) {
1876            var idInput = idInputs[i];
1877            var form = idInput.closest('form:not(.bold-subscriptions-no-widget)');
1878            if (form) {
1879                forms.push(form);
1880            }
1881        }
1882
1883        return forms;
1884    };
1885
1886    window.BOLD.subscriptions.getJWT = function (callback) {
1887        if(window.BOLD.subscriptions.data.platform.customer.id !== '') {
1888            var shopPlatformId = '51054739619';
1889            var appSlug = 'subscriptions';
1890            var customerPlatformId = window.BOLD.subscriptions.data.platform.customer.id;
1891            var proxyPath = '/apps/app-proxy/customers/v1/shops/'+shopPlatformId+'/apps/'+appSlug+'/customers/pid/'+customerPlatformId+'/jwt';
1892
1893            var xmlhttp = new XMLHttpRequest();
1894
1895            xmlhttp.onreadystatechange = function() {
1896                if (xmlhttp.readyState === window.BOLD.subscriptions.config.XMLHttpRequest.DONE) {
1897                    if (xmlhttp.status === 200) {
1898                        var data = JSON.parse(xmlhttp.responseText);
1899                        callback({
1900                            success: true,
1901                            value: {
1902                                jwt: data.bold_platform_jwt,
1903                                customerId: window.BOLD.subscriptions.data.platform.customer.id,
1904                            },
1905                        });
1906                    } else if (xmlhttp.status === 404) {
1907                        callback({
1908                            success: false,
1909                            error: 'not_logged_in',
1910                        });
1911                    } else {
1912                        callback({
1913                            success: false,
1914                            error: 'unknown',
1915                        });
1916                    }
1917                }
1918            };
1919
1920            xmlhttp.open("GET", proxyPath, true);
1921            xmlhttp.setRequestHeader('Accept', 'application/liquid');
1922            xmlhttp.send();
1923        } else {
1924            callback({
1925                success: false,
1926                error: 'not_logged_in',
1927            });
1928        }
1929    };
1930
1931    window.BOLD.subscriptions.setCashierFeatureToken = function(value) {
1932        if (window.BOLD.checkout_features_defaults && window.BOLD.subscriptions.config.cashierApplicationUUID) {
1933            window.BOLD.checkout_features_defaults.forEach(function(item) {
1934                if (item.id === window.BOLD.subscriptions.config.cashierApplicationUUID) {
1935                    item.require = value;
1936                }
1937            });
1938        }
1939    };
1940
1941    // Cashier patches
1942    window.BOLD.subscriptions.patches.cashierListenerFn = function(event) {
1943        if (window.BOLD.checkout.isCheckoutButton(event.target) && window.BOLD.checkout.isEnabled()) {
1944            window.BOLD.subscriptions.patches.pushToCashier(event);
1945        } else if(window.BOLD.checkout.isCheckoutButton(event.target) && typeof window.cashier_installed_on_site === 'undefined') {
1946            var request = new XMLHttpRequest();
1947            request.open('HEAD', '/apps/checkout/isInstalled', false);
1948            request.send(null);
1949
1950            if(request.status >= 200 && request.status < 400) {
1951                window.BOLD.subscriptions.patches.pushToCashier(event);
1952            } else {
1953                window.cashier_installed_on_site = false;
1954            }
1955        }
1956    };
1957
1958    window.BOLD.subscriptions.localTime = function() {
1959        var localDate = new Date();
1960        return localDate.getTime();
1961    };
1962
1963
1964    window.BOLD.subscriptions.patches.pushToCashier = function(event) {
1965        event.preventDefault();
1966        var form = window.BOLD.checkout.getForm(event.target);
1967        var formData = new FormData(form);
1968        var request = new XMLHttpRequest();
1969        request.open('POST', '/cart/update.js?tmp=' + Date.now(), true);
1970        request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
1971
1972        request.onload = function() {
1973            if (request.status >= 200 && request.status < 400) {
1974                // Success!
1975                var cart = JSON.parse(request.responseText);
1976
1977                // If items are empty redirect back to the cart
1978                if (cart.items.length === 0) {
1979                    return window.location.href = '/cart';
1980                }
1981
1982                cart.items.forEach(function(element) {
1983                    delete element.product_description;
1984                });
1985
1986                if (document.getElementById('CartSpecialInstructions')) {
1987                    // If the cart note exists, grab its value
1988                    cart.note = document.getElementById('CartSpecialInstructions').value;
1989                }
1990
1991                var cartObj = JSON.stringify(cart);
1992
1993                var form = window.BOLD.checkout.getForm(event.target);
1994                form.dataset.old_form_action = form.action;
1995                form.action = '/apps/checkout/begin-checkout' + googleAnalyticsGetParamString({});
1996                var cartCookie = window.BOLD.checkout.getCookie('cart');
1997                var element = document.createElement('INPUT');
1998                element.type = 'HIDDEN';
1999                element.name = 'cart_id';
2000                element.value = cartCookie;
2001                form.appendChild(element);
2002
2003                var dateElement = document.createElement('INPUT');
2004                dateElement.type = 'HIDDEN';
2005                dateElement.name = 'checkout_local_time';
2006                dateElement.value = window.BOLD.subscriptions.localTime();
2007                form.appendChild(dateElement);
2008
2009                var cartElement = document.createElement('INPUT');
2010                cartElement.type = 'HIDDEN';
2011                cartElement.name = 'cart';
2012                cartElement.value = cartObj;
2013                form.appendChild(cartElement);
2014                form.method = 'POST';
2015
2016                if(window.BOLD && window.BOLD.checkout && typeof window.BOLD.checkout.languageIsoCode === 'string') {
2017                    var langInput = document.createElement('INPUT');
2018                    langInput.type = 'HIDDEN';
2019                    langInput.name = 'language_iso';
2020                    langInput.value = window.BOLD.checkout.languageIsoCode;
2021                    form.appendChild(langInput);
2022                }
2023
2024                if (window.BOLD && window.BOLD.common && typeof window.BOLD.common.eventEmitter === 'object' && typeof window.BOLDCURRENCY !== 'undefined') {
2025                    window.BOLD.common.eventEmitter.emit('BOLD_CASHIER_checkout', {target: form});
2026                }
2027
2028                window.BOLD.subscriptions.patches.finishCheckout(event, form, cart);
2029            }
2030        };
2031
2032        request.send(formData);
2033    };
2034
2035    
2036</script>
2036
2037
2038
2039<!-- END app block --><link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
2040<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: 51054739619,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "customers/login"};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 2040
2040
2041<script>
2042  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
2043</script>
vendor: 1 bytes, line 2043
2043
2044<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}
2044).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: 51054739619,storefrontBaseUrl: "https://kitasandocoffee.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://kitasandocoffee.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b"],webPixelsConfigList: [{"id":"211288278","configuration":"{\"pixel_id\":\"1060761098477109\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"bd2f978c17a94bbb8a74d43de2165dc5","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":"79888598","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":"KITASANDO COFFEE online store","paymentSettings":{"currencyCode":"JPY"},"myshopifyDomain":"kankaku.myshopify.com","countryCode":"JP","storefrontUrl":"https:\/\/kitasandocoffee.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://kitasandocoffee.com/cdn","87a86122w399bf3b8pd0403c97m2c07468c",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"151139647702","themeStoreId":"1368","themePublished":"true","eventMetadataId":"4e5f2946-5bc5-474a-8b1a-92070986910e","shopId":"51054739619","storefrontBaseUrl":"https:\/\/kitasandocoffee.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"87a86122w399bf3b8pd0403c97m2c07468c","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
2044<script>
2045  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
2046  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
2047  window.ShopifyAnalytics.meta.currency = 'JPY';
2048  var meta = {"page":{"requestId":"ad30ab96-3ec0-43f1-bb35-7a5a09c713fd-1791346703"}};
2049  for (var attr in meta) {
2050    window.ShopifyAnalytics.meta[attr] = meta[attr];
2051  }
2052</script>
vendor: 1 bytes, line 2052
2052
2053<script class="analytics">
2054  (function () {
2055    var customDocumentWrite = function(content) {
2056      var jquery = null;
2057
2058      if (window.jQuery) {
2059        jquery = window.jQuery;
2060      } else if (window.Checkout && window.Checkout.$) {
2061        jquery = window.Checkout.$;
2062      }
2063
2064      if (jquery) {
2065        jquery('body').append(content);
2066      }
2067    };
2068
2069    var hasLoggedConversion = function(token) {
2070      if (token) {
2071        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
2072      }
2073      return false;
2074    }
2075
2076    var setCookieIfConversion = function(token) {
2077      if (token) {
2078        var twoMonthsFromNow = new Date(Date.now());
2079        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
2080
2081        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
2082      }
2083    }
2084
2085    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
2086    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
2087    if (trekkie.integrations) {
2088      return;
2089    }
2090    trekkie.methods = [
2091      'identify',
2092      'page',
2093      'ready',
2094      'track',
2095      'trackForm',
2096      'trackLink'
2097    ];
2098    trekkie.factory = function(method) {
2099      return function() {
2100        var args = Array.prototype.slice.call(arguments);
2101        args.unshift(method);
2102        trekkie.push(args);
2103        if (method == 'track' || method == 'page') {
2104          var pageUrl;
2105          try {
2106            pageUrl = window.location.href;
2107          } catch (e) {}
2108          var pageReferrer;
2109          try {
2110            pageReferrer = document.referrer;
2111          } catch (e) {}
2112          try {
2113            if (window.__TREKKIE_SHIM_QUEUE == null) {
2114              window.__TREKKIE_SHIM_QUEUE = [];
2115            }
2116            window.__TREKKIE_SHIM_QUEUE.push({
2117              from: 'trekkie-stub',
2118              method: method,
2119              args: args.slice(1),
2120              pageContext: {
2121                url: pageUrl,
2122                referrer: pageReferrer
2123              }
2124            });
2125          } catch (e) {
2126            // no-op
2127          }
2128        }
2129        return trekkie;
2130      };
2131    };
2132    for (var i = 0; i < trekkie.methods.length; i++) {
2133      var key = trekkie.methods[i];
2134      trekkie[key] = trekkie.factory(key);
2135    }
2136    trekkie.load = function(config) {
2137      trekkie.config = config || {};
2138      trekkie.config.initialDocumentCookie = document.cookie;
2139      var first = document.getElementsByTagName('script')[0];
2140var script = document.createElement('script');
2141script.type = 'text/javascript';
2142script.onerror = function(e) {
2143  var scriptFallback = document.createElement('script');
2144  scriptFallback.type = 'text/javascript';
2145  scriptFallback.onerror = function(error) {
2146          var Monorail = {
2147      produce: function produce(monorailDomain, schemaId, payload) {
2148        var currentMs = new Date().getTime();
2149        var event = {
2150          schema_id: schemaId,
2151          payload: payload,
2152          metadata: {
2153            event_created_at_ms: currentMs,
2154            event_sent_at_ms: currentMs
2155          }
2156        };
2157        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
2158      },
2159      sendRequest: function sendRequest(endpointUrl, payload) {
2160        // Try the sendBeacon API
2161        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
2162          var blobData = new window.Blob([payload], {
2163            type: 'text/plain'
2164          });
2165
2166          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
2167            return true;
2168          } // sendBeacon was not successful
2169
2170        } // XHR beacon
2171
2172        var xhr = new XMLHttpRequest();
2173
2174        try {
2175          xhr.open('POST', endpointUrl);
2176          xhr.setRequestHeader('Content-Type', 'text/plain');
2177          xhr.send(payload);
2178        } catch (e) {
2179          console.log(e);
2180        }
2181
2182        return false;
2183      },
2184      isIos12: function isIos12() {
2185        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
2186      }
2187    };
2188    Monorail.produce('monorail-edge.shopifysvc.com',
2189      'trekkie_storefront_load_errors/1.1',
2190      {shop_id: 51054739619,
2191      theme_id: 151139647702,
2192      app_name: "storefront",
2193      context_url: window.location.href,
2194      source_url: "//kitasandocoffee.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"});
2195
2196  };
2197  scriptFallback.async = true;
2198  scriptFallback.src = '//kitasandocoffee.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
2199  first.parentNode.insertBefore(scriptFallback, first);
2200};
2201script.async = true;
2202script.src = '//kitasandocoffee.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
2203first.parentNode.insertBefore(script, first);
2204
2205    };
2206    trekkie.load(
2207      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":51054739619,"isMerchantRequest":null,"themeId":151139647702,"themeCityHash":"866021411
22077876435576","contentLanguage":"ja","currency":"JPY","eventMetadataId":"4e5f2946-5bc5-474a-8b1a-92070986910e"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
2208    );
2209
2210    var loaded = false;
2211    trekkie.ready(function() {
2212      if (loaded) return;
2213      loaded = true;
2214
2215      window.ShopifyAnalytics.lib = window.trekkie;
2216
2217      var originalDocumentWrite = document.write;
2218      document.write = customDocumentWrite;
2219      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
2220      document.write = originalDocumentWrite;
2221
2222      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
2223      var token = match? match[1]: undefined;
2224      if (!hasLoggedConversion(token)) {
2225        setCookieIfConversion(token);
2226        
2227      }
2228    });
2229
2230    window.ShopifyAnalytics.lib.page(null,{"requestId":"ad30ab96-3ec0-43f1-bb35-7a5a09c713fd-1791346703","shopifyEmitted":true});
2231
2232    var eventsListenerScript = document.createElement('script');
2233    eventsListenerScript.async = true;
2234    eventsListenerScript.src = "//kitasandocoffee.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
2235    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
2236})();</script>
2236
2237  
2237<script>
2238  if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
2239    window.ga = function ga() {
2240      (window.ga.q = window.ga.q || []).push(arguments);
2241      if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
2242        window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
2243      }
2244      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.");
2245    };
2246    if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
2247      window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
2248    }
2249  }
2250</script>
vendor: 1 bytes, line 2250
2250
2251<script
2252  defer
2253  src="https://kitasandocoffee.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.6.min.js"
2254  data-application="storefront-renderer"
2255  data-shop-id="51054739619"
2256  data-render-region="gcp-us-central1"
2257  data-page-type="customers/login"
2258  data-theme-instance-id="151139647702"
2259  data-theme-name="Craft"
2260  data-theme-version="9.0.0"
2261  data-monorail-region="shop_domain"
2262  data-resource-timing-sampling-rate="10"
2263  data-shs="true"
2264  data-shs-beacon="true"
2265  data-shs-export-with-fetch="true"
2266  data-shs-logs-sample-rate="1"
2267  data-shs-beacon-endpoint="https://kitasandocoffee.com/api/collect"
2268></script>
2268
2269<meta name="shopify-y" content="e263307a-ea79-41ba-847e-cd9d976490db" data-expiration="1822904303000"><meta name="shopify-s" content="bc498d58-c3be-4bd0-b5ec-5bdb9020d0c6" data-expiration="1791348503000"><meta name="new-cookie-storage-activated" content="t">
2270</head>
2271
2272  <body class="gradient">
2273    <a class="skip-to-content-link button visually-hidden" href="#MainContent">
2274      コンテンツに進む
2275    </a>
2276
2277<script src="//kitasandocoffee.com/cdn/shop/t/100/assets/cart.js?v=21876159511507192261750427082" defer="defer"></script>
2277
2278
2279<style>
2280  .drawer {
2281    visibility: hidden;
2282  }
2283</style>
2284
2285<cart-drawer class="drawer is-empty">
2286  <div id="CartDrawer" class="cart-drawer">
2287    <div id="CartDrawer-Overlay" class="cart-drawer__overlay"></div>
2288    <div
2289      class="drawer__inner"
2290      role="dialog"
2291      aria-modal="true"
2292      aria-label="あなたのカート"
2293      tabindex="-1"
2294    ><div class="drawer__inner-empty">
2295          <div class="cart-drawer__warnings center">
2296            <div class="cart-drawer__empty-content">
2297              <h2 class="cart__empty-text">カートは空です</h2>
2298              <button
2299                class="drawer__close"
2300                type="button"
2301                onclick="this.closest('cart-drawer').close()"
2302                aria-label="閉じる"
2303              >
2304                <svg
2305  xmlns="http://www.w3.org/2000/svg"
2306  aria-hidden="true"
2307  focusable="false"
2308  class="icon icon-close"
2309  fill="none"
2310  viewBox="0 0 18 17"
2311>
2312  <path d="M.865 15.978a.5.5 0 00.707.707l7.433-7.431 7.579 7.282a.501.501 0 00.846-.37.5.5 0 00-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 10-.707-.708L8.991 7.853 1.413.573a.5.5 0 10-.693.72l7.563 7.268-7.418 7.417z" fill="currentColor">
2313</svg>
2314
2315              </button>
2316              <a href="/collections/all" class="button">
2317                買い物を続ける
2318              </a><p class="cart__login-title h3">アカウントをお持ちですか?</p>
2319                <p class="cart__login-paragraph">
2320                  <a href="/account/login" class="link underlined-link">ログイン</a>することで、チェックアウトがスピーディーに行えます。
2321                </p></div>
2322          </div></div><div class="drawer__header">
2323        <h2 class="drawer__heading">あなたのカート</h2>
2324        <button
2325          class="drawer__close"
2326          type="button"
2327          onclick="this.closest('cart-drawer').close()"
2328          aria-label="閉じる"
2329        >
2330          <svg
2331  xmlns="http://www.w3.org/2000/svg"
2332  aria-hidden="true"
2333  focusable="false"
2334  class="icon icon-close"
2335  fill="none"
2336  viewBox="0 0 18 17"
2337>
2338  <path d="M.865 15.978a.5.5 0 00.707.707l7.433-7.431 7.579 7.282a.501.501 0 00.846-.37.5.5 0 00-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 10-.707-.708L8.991 7.853 1.413.573a.5.5 0 10-.693.72l7.563 7.268-7.418 7.417z" fill="currentColor">
2339</svg>
2340
2341        </button>
2342      </div>
2343      <cart-drawer-items
2344        
2345          class=" is-empty"
2346        
2347      >
2348        <form
2349          action="/cart"
2350          id="CartDrawer-Form"
2351          class="cart__contents cart-drawer__form"
2352          method="post"
2353        >
2354          <div id="CartDrawer-CartItems" class="drawer__contents js-contents"><p id="CartDrawer-LiveRegionText" class="visually-hidden" role="status"></p>
2355            <p id="CartDrawer-LineItemStatus" class="visually-hidden" aria-hidden="true" role="status">
2356              読み込み中…
2357            </p>
2358          </div>
2359          <div id="CartDrawer-CartErrors" role="alert"></div>
2360        </form>
2361      </cart-drawer-items>
2362      <div class="drawer__footer"><!-- Start blocks -->
2363        <!-- Subtotals -->
2364
2365        <div class="cart-drawer__footer" >
2366          <div class="totals" role="status">
2367            <h2 class="totals__subtotal">小計</h2>
2368            <p class="totals__subtotal-value">¥0 <span style="font-size: 0.8rem;">税込</span></p>
2369          </div>
2370
2371          <div></div>
2372
2373          <small class="tax-note caption-large rte">税と配送料は購入手続き時に計算されます
2374</small>
2375        </div>
2376
2377        <!-- CTAs -->
2378
2379        <div class="cart__ctas" >
2380          <noscript>
2381            <button type="submit" class="cart__update-button button button--secondary" form="CartDrawer-Form">
2382              アップデート
2383            </button>
2384          </noscript>
2385
2386          <button
2387            type="submit"
2388            id="CartDrawer-Checkout"
2389            class="cart__checkout-button button"
2390            name="checkout"
2391            form="CartDrawer-Form"
2392            
2393              disabled
2394            
2395          >
2396            ご購入手続きへ
2397          </button>
2398        </div>
2399      </div>
2400    </div>
2401  </div>
2402</cart-drawer>
2403
2404<script>
2405  document.addEventListener('DOMContentLoaded', function () {
2406    function isIE() {
2407      const ua = window.navigator.userAgent;
2408      const msie = ua.indexOf('MSIE ');
2409      const trident = ua.indexOf('Trident/');
2410
2411      return msie > 0 || trident > 0;
2412    }
2413
2414    if (!isIE()) return;
2415    const cartSubmitInput = document.createElement('input');
2416    cartSubmitInput.setAttribute('name', 'checkout');
2417    cartSubmitInput.setAttribute('type', 'hidden');
2418    document.querySelector('#cart').appendChild(cartSubmitInput);
2419    document.querySelector('#checkout').addEventListener('click', function (event) {
2420      document.querySelector('#cart').submit();
2421    });
2422  });
2423</script>
2423
2424<!-- BEGIN sections: header-group -->
2425<div id="shopify-section-sections--19535085895894__announcement-bar" class="shopify-section shopify-section-group-header-group announcement-bar-section"><div class="announcement-bar color-accent-2 gradient" role="region" aria-label="告知" ><a href="/pages/schedule" class="announcement-bar__link link link--text focus-inset animate-arrow"><div class="page-width">
2426                <p class="announcement-bar__message center h5">
2427                  <span>2,500円以上送料無料 / 毎月月初10%OFF クーポン配布中</span><svg
2428  viewBox="0 0 14 10"
2429  fill="none"
2430  aria-hidden="true"
2431  focusable="false"
2432  class="icon icon-arrow"
2433  xmlns="http://www.w3.org/2000/svg"
2434>
2435  <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor">
2436</svg>
2437
2438</p>
2439              </div></a></div>
2440</div><div id="shopify-section-sections--19535085895894__header" class="shopify-section shopify-section-group-header-group section-header"><link rel="stylesheet" href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-list-menu.css?v=151968516119678728991750427082" media="print" onload="this.media='all'">
2441<link rel="stylesheet" href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-search.css?v=184225813856820874251750427082" media="print" onload="this.media='all'">
2442<link rel="stylesheet" href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-menu-drawer.css?v=94074963897493609391750427082" media="print" onload="this.media='all'">
2443<link rel="stylesheet" href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-cart-notification.css?v=108833082844665799571750427082" media="print" onload="this.media='all'">
2444<link rel="stylesheet" href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-cart-items.css?v=29412722223528841861750427082" media="print" onload="this.media='all'"><link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-cart-drawer.css?v=35930391193938886121750427082" rel="stylesheet" type="text/css" media="all" />
2445  <link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-cart.css?v=61086454150987525971750427082" rel="stylesheet" type="text/css" media="all" />
2446  <link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-totals.css?v=86168756436424464851750427082" rel="stylesheet" type="text/css" media="all" />
2447  <link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-price.css?v=65402837579211014041750427082" rel="stylesheet" type="text/css" media="all" />
2448  <link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-discounts.css?v=152760482443307489271750427082" rel="stylesheet" type="text/css" media="all" />
2449  <link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-loading-overlay.css?v=167310470843593579841750427082" rel="stylesheet" type="text/css" media="all" />
2450<noscript><link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-list-menu.css?v=151968516119678728991750427082" rel="stylesheet" type="text/css" media="all" /></noscript>
2451<noscript><link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-search.css?v=184225813856820874251750427082" rel="stylesheet" type="text/css" media="all" /></noscript>
2452<noscript><link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-menu-drawer.css?v=94074963897493609391750427082" rel="stylesheet" type="text/css" media="all" /></noscript>
2453<noscript><link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-cart-notification.css?v=108833082844665799571750427082" rel="stylesheet" type="text/css" media="all" /></noscript>
2454<noscript><link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-cart-items.css?v=29412722223528841861750427082" rel="stylesheet" type="text/css" media="all" /></noscript>
2455
2456<style>
2457  header-drawer {
2458    justify-self: start;
2459    margin-left: -1.2rem;
2460  }@media screen and (min-width: 990px) {
2461      header-drawer {
2462        display: none;
2463      }
2464    }.menu-drawer-container {
2465    display: flex;
2466  }
2467
2468  .list-menu {
2469    list-style: none;
2470    padding: 0;
2471    margin: 0;
2472  }
2473
2474  .list-menu--inline {
2475    display: inline-flex;
2476    flex-wrap: wrap;
2477  }
2478
2479  summary.list-menu__item {
2480    padding-right: 2.7rem;
2481  }
2482
2483  .list-menu__item {
2484    display: flex;
2485    align-items: center;
2486    line-height: calc(1 + 0.3 / var(--font-body-scale));
2487  }
2488
2489  .list-menu__item--link {
2490    text-decoration: none;
2491    padding-bottom: 1rem;
2492    padding-top: 1rem;
2493    line-height: calc(1 + 0.8 / var(--font-body-scale));
2494  }
2495
2496  @media screen and (min-width: 750px) {
2497    .list-menu__item--link {
2498      padding-bottom: 0.5rem;
2499      padding-top: 0.5rem;
2500    }
2501  }
2502</style><style data-shopify>.header {
2503    padding-top: 6px;
2504    padding-bottom: 6px;
2505  }
2506
2507  .section-header {
2508    position: sticky; /* This is for fixing a Safari z-index issue. PR #2147 */
2509    margin-bottom: 0px;
2510  }
2511
2512  @media screen and (min-width: 750px) {
2513    .section-header {
2514      margin-bottom: 0px;
2515    }
2516  }
2517
2518  @media screen and (min-width: 990px) {
2519    .header {
2520      padding-top: 12px;
2521      padding-bottom: 12px;
2522    }
2523  }</style>
2523<script src="//kitasandocoffee.com/cdn/shop/t/100/assets/details-disclosure.js?v=153497636716254413831750427082" defer="defer"></script>
vendor: 1 bytes, line 2523
2523
2524<script src="//kitasandocoffee.com/cdn/shop/t/100/assets/details-modal.js?v=4511761896672669691750427082" defer="defer"></script>
vendor: 1 bytes, line 2524
2524
2525<script src="//kitasandocoffee.com/cdn/shop/t/100/assets/cart-notification.js?v=160453272920806432391750427082" defer="defer"></script>
vendor: 1 bytes, line 2525
2525
2526<script src="//kitasandocoffee.com/cdn/shop/t/100/assets/search-form.js?v=113639710312857635801750427082" defer="defer"></script>
2526<script src="//kitasandocoffee.com/cdn/shop/t/100/assets/cart-drawer.js?v=44260131999403604181750427082" defer="defer"></script>
2526<svg xmlns="http://www.w3.org/2000/svg" class="hidden">
2527  <symbol id="icon-search" viewbox="0 0 18 19" fill="none">
2528    <path fill-rule="evenodd" clip-rule="evenodd" d="M11.03 11.68A5.784 5.784 0 112.85 3.5a5.784 5.784 0 018.18 8.18zm.26 1.12a6.78 6.78 0 11.72-.7l5.4 5.4a.5.5 0 11-.71.7l-5.41-5.4z" fill="currentColor"/>
2529  </symbol>
2530
2531  <symbol id="icon-reset" class="icon icon-close"  fill="none" viewBox="0 0 18 18" stroke="currentColor">
2532    <circle r="8.5" cy="9" cx="9" stroke-opacity="0.2"/>
2533    <path d="M6.82972 6.82915L1.17193 1.17097" stroke-linecap="round" stroke-linejoin="round" transform="translate(5 5)"/>
2534    <path d="M1.22896 6.88502L6.77288 1.11523" stroke-linecap="round" stroke-linejoin="round" transform="translate(5 5)"/>
2535  </symbol>
2536
2537  <symbol id="icon-close" class="icon icon-close" fill="none" viewBox="0 0 18 17">
2538    <path d="M.865 15.978a.5.5 0 00.707.707l7.433-7.431 7.579 7.282a.501.501 0 00.846-.37.5.5 0 00-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 10-.707-.708L8.991 7.853 1.413.573a.5.5 0 10-.693.72l7.563 7.268-7.418 7.417z" fill="currentColor">
2539  </symbol>
2540</svg><sticky-header data-sticky-type="always" class="header-wrapper color-background-1 gradient">
2541  <header class="header header--middle-left header--mobile-center page-width header--has-menu"><header-drawer data-breakpoint="tablet">
2542        <details id="Details-menu-drawer-container" class="menu-drawer-container">
2543          <summary class="header__icon header__icon--menu header__icon--summary link focus-inset" aria-label="メニュー">
2544            <span>
2545              <svg
2546  xmlns="http://www.w3.org/2000/svg"
2547  aria-hidden="true"
2548  focusable="false"
2549  class="icon icon-hamburger"
2550  fill="none"
2551  viewBox="0 0 18 16"
2552>
2553  <path d="M1 .5a.5.5 0 100 1h15.71a.5.5 0 000-1H1zM.5 8a.5.5 0 01.5-.5h15.71a.5.5 0 010 1H1A.5.5 0 01.5 8zm0 7a.5.5 0 01.5-.5h15.71a.5.5 0 010 1H1a.5.5 0 01-.5-.5z" fill="currentColor">
2554</svg>
2555
2556              <svg
2557  xmlns="http://www.w3.org/2000/svg"
2558  aria-hidden="true"
2559  focusable="false"
2560  class="icon icon-close"
2561  fill="none"
2562  viewBox="0 0 18 17"
2563>
2564  <path d="M.865 15.978a.5.5 0 00.707.707l7.433-7.431 7.579 7.282a.501.501 0 00.846-.37.5.5 0 00-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 10-.707-.708L8.991 7.853 1.413.573a.5.5 0 10-.693.72l7.563 7.268-7.418 7.417z" fill="currentColor">
2565</svg>
2566
2567            </span>
2568          </summary>
2569          <div id="menu-drawer" class="gradient menu-drawer motion-reduce" tabindex="-1">
2570            <div class="menu-drawer__inner-container">
2571              <div class="menu-drawer__navigation-container">
2572                <nav class="menu-drawer__navigation">
2573                  <ul class="menu-drawer__menu has-submenu list-menu" role="list"><li><a href="/" class="menu-drawer__menu-item list-menu__item link link--text focus-inset">
2574                            KITASANDŌ COFFEE
2575                          </a></li><li><details id="Details-menu-drawer-menu-item-2">
2576                            <summary class="menu-drawer__menu-item list-menu__item link link--text focus-inset">
2577                              online store
2578                              <svg
2579  viewBox="0 0 14 10"
2580  fill="none"
2581  aria-hidden="true"
2582  focusable="false"
2583  class="icon icon-arrow"
2584  xmlns="http://www.w3.org/2000/svg"
2585>
2586  <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor">
2587</svg>
2588
2589                              <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6">
2590  <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor">
2591</svg>
2592
2593                            </summary>
2594                            <div id="link-online-store" class="menu-drawer__submenu has-submenu gradient motion-reduce" tabindex="-1">
2595                              <div class="menu-drawer__inner-submenu">
2596                                <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true">
2597                                  <svg
2598  viewBox="0 0 14 10"
2599  fill="none"
2600  aria-hidden="true"
2601  focusable="false"
2602  class="icon icon-arrow"
2603  xmlns="http://www.w3.org/2000/svg"
2604>
2605  <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor">
2606</svg>
2607
2608                                  online store
2609                                </button>
2610                                <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li><a href="/collections" class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
2611                                          全ての商品
2612                                        </a></li><li><a href="/collections/%E3%82%B3%E3%83%BC%E3%83%92%E3%83%BC%E3%81%8A%E8%A9%A6%E3%81%97%E3%82%BB%E3%83%83%E3%83%88" class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
2613                                          初めてのお客様へ
2614                                        </a></li><li><a href="/collections/%E6%B0%B4%E5%87%BA%E3%81%97%E3%82%B3%E3%83%BC%E3%83%92%E3%83%BC%E3%83%90%E3%83%83%E3%82%B0" class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
2615                                          自宅で簡単、コーヒータイム
2616                                        </a></li><li><a href="/collections/premium-line" class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
2617                                          PREMIUM LINE
2618                                        </a></li><li><a href="/collections/%E6%B5%85%E7%85%8E%E3%82%8A" class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
2619                                          浅煎り
2620                                        </a></li><li><a href="/collections/%E4%B8%AD%E7%85%8E%E3%82%8A" class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
2621                                          中煎り
2622                                        </a></li><li><a href="/collections/%E6%B7%B1%E7%85%8E%E3%82%8A" class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
2623                                          深煎り
2624                                        </a></li><li><a href="/collections/%E3%82%AB%E3%83%95%E3%82%A7%E3%82%A4%E3%83%B3%E3%83%AC%E3%82%B9" class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
2625                                          カフェインレス
2626                                        </a></li><li><a href="/collections/%E3%82%AA%E3%83%AA%E3%82%B8%E3%83%8A%E3%83%AB%E3%82%B0%E3%83%83%E3%82%BA" class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
2627                                          オリジナルグッズ
2628                                        </a></li></ul>
2629                              </div>
2630                            </div>
2631                          </details></li><li><a href="/products/subscription" class="menu-drawer__menu-item list-menu__item link link--text focus-inset">
2632                            コーヒー定期便
2633                          </a></li><li><a href="/pages/my-subscriptions" class="menu-drawer__menu-item list-menu__item link link--text focus-inset">
2634                            定期便の管理
2635                          </a></li><li><a href="/pages/wholesale" class="menu-drawer__menu-item list-menu__item link link--text focus-inset">
2636                            wholesale
2637                          </a></li></ul>
2638                </nav>
2639                <div class="menu-drawer__utility-links"><a href="/account/login" class="menu-drawer__account link focus-inset h5 medium-hide large-up-hide">
2640                      <svg
2641  xmlns="http://www.w3.org/2000/svg"
2642  aria-hidden="true"
2643  focusable="false"
2644  class="icon icon-account"
2645  fill="none"
2646  viewBox="0 0 18 19"
2647>
2648  <path fill-rule="evenodd" clip-rule="evenodd" d="M6 4.5a3 3 0 116 0 3 3 0 01-6 0zm3-4a4 4 0 100 8 4 4 0 000-8zm5.58 12.15c1.12.82 1.83 2.24 1.91 4.85H1.51c.08-2.6.79-4.03 1.9-4.85C4.66 11.75 6.5 11.5 9 11.5s4.35.26 5.58 1.15zM9 10.5c-2.5 0-4.65.24-6.17 1.35C1.27 12.98.5 14.93.5 18v.5h17V18c0-3.07-.77-5.02-2.33-6.15-1.52-1.
26481-3.67-1.35-6.17-1.35z" fill="currentColor">
2649</svg>
2650
2651ログイン</a><ul class="list list-social list-unstyled" role="list"><li class="list-social__item">
2652                        <a href="https://instagram.com/kitasando_coffee?igshid=MzRlODBiNWFlZA==" class="list-social__link link"><svg aria-hidden="true" focusable="false" class="icon icon-instagram" viewBox="0 0 18 18">
2653  <path fill="currentColor" d="M8.77 1.58c2.34 0 2.62.01 3.54.05.86.04 1.32.18 1.63.3.41.17.7.35 1.01.66.3.3.5.6.65 1 .12.32.27.78.3 1.64.05.92.06 1.2.06 3.54s-.01 2.62-.05 3.54a4.79 4.79 0 01-.3 1.63c-.17.41-.35.7-.66 1.01-.3.3-.6.5-1.01.66-.31.12-.77.26-1.63.3-.92.04-1.2.05-3.54.05s-2.62 0-3.55-.05a4.79 4.79 0 01-1.62-.3c-.42-.16-.7-.35-1.01-.66-.31-.3-.5-.6-.66-1a4.87 4.87 0 01-.3-1.64c-.04-.92-.05-1.2-.05-3.54s0-2.62.05-3.54c.04-.86.18-1.32.3-1.63.16-.41.35-.7.66-1.01.3-.3.6-.5 1-.65.32-.12.78-.27 1.63-.3.93-.05 1.2-.06 3.55-.06zm0-1.58C6.39 0 6.09.01 5.15.05c-.93.04-1.57.2-2.13.4-.57.23-1.06.54-1.55 1.02C1 1.96.7 2.45.46 3.02c-.22.56-.37 1.2-.4 2.13C0 6.1 0 6.4 0 8.77s.01 2.68.05 3.61c.04.94.2 1.57.4 2.13.23.58.54 1.07 1.02 1.56.49.48.98.78 1.55 1.01.56.22 1.2.37 2.13.4.94.05 1.24.06 3.62.06 2.39 0 2.68-.01 3.62-.05.93-.04 1.57-.2 2.13-.41a4.27 4.27 0 001.55-1.01c.49-.49.79-.98 1.01-1.56.22-.55.37-1.19.41-2.13.04-.93.05-1.23.05-3.61 0-2.39 0-2.68-.05-3.62a6.47 6.47 0 00-.4-2.13 4.27 4.27 0 00-1.02-1.55A4.35 4.35 0 0014.52.46a6.43 6.43 0 00-2.13-.41A69 69 0 008.77 0z"/>
2654  <path fill="currentColor" d="M8.8 4a4.5 4.5 0 100 9 4.5 4.5 0 000-9zm0 7.43a2.92 2.92 0 110-5.85 2.92 2.92 0 010 5.85zM13.43 5a1.05 1.05 0 100-2.1 1.05 1.05 0 000 2.1z">
2655</svg>
2656<span class="visually-hidden">Instagram</span>
2657                        </a>
2658                      </li></ul>
2659                </div>
2660              </div>
2661            </div>
2662          </div>
2663        </details>
2664      </header-drawer><a href="/" class="header__heading-link link link--text focus-inset"><div class="header__heading-logo-wrapper">
2665                
2666                <img src="//kitasandocoffee.com/cdn/shop/files/logo_kitasando_72e74eda-3d17-47da-b66f-3a236c4eaa15.png?v=1684977935&amp;width=600" alt="KITASANDO COFFEE online store" srcset="//kitasandocoffee.com/cdn/shop/files/logo_kitasando_72e74eda-3d17-47da-b66f-3a236c4eaa15.png?v=1684977935&amp;width=190 190w, //kitasandocoffee.com/cdn/shop/files/logo_kitasando_72e74eda-3d17-47da-b66f-3a236c4eaa15.png?v=1684977935&amp;width=285 285w, //kitasandocoffee.com/cdn/shop/files/logo_kitasando_72e74eda-3d17-47da-b66f-3a236c4eaa15.png?v=1684977935&amp;width=380 380w" width="190" height="16.783333333333335" loading="eager" class="header__heading-logo motion-reduce" sizes="(max-width: 380px) 50vw, 190px">
2667              </div></a><nav class="header__inline-menu">
2668          <ul class="list-menu list-menu--inline" role="list"><li><a href="/" class="header__menu-item list-menu__item link link--text focus-inset">
2669                    <span>KITASANDŌ COFFEE</span>
2670                  </a></li><li><header-menu>
2671                    <details id="Details-HeaderMenu-2">
2672                      <summary class="header__menu-item list-menu__item link focus-inset">
2673                        <span>online store</span>
2674                        <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6">
2675  <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor">
2676</svg>
2677
2678                      </summary>
2679                      <ul id="HeaderMenu-MenuList-2" class="header__submenu list-menu list-menu--disclosure gradient caption-large motion-reduce global-settings-popup" role="list" tabindex="-1"><li><a href="/collections" class="header__menu-item list-menu__item link link--text focus-inset caption-large">
2680                                全ての商品
2681                              </a></li><li><a href="/collections/%E3%82%B3%E3%83%BC%E3%83%92%E3%83%BC%E3%81%8A%E8%A9%A6%E3%81%97%E3%82%BB%E3%83%83%E3%83%88" class="header__menu-item list-menu__item link link--text focus-inset caption-large">
2682                                初めてのお客様へ
2683                              </a></li><li><a href="/collections/%E6%B0%B4%E5%87%BA%E3%81%97%E3%82%B3%E3%83%BC%E3%83%92%E3%83%BC%E3%83%90%E3%83%83%E3%82%B0" class="header__menu-item list-menu__item link link--text focus-inset caption-large">
2684                                自宅で簡単、コーヒータイム
2685                              </a></li><li><a href="/collections/premium-line" class="header__menu-item list-menu__item link link--text focus-inset caption-large">
2686                                PREMIUM LINE
2687                              </a></li><li><a href="/collections/%E6%B5%85%E7%85%8E%E3%82%8A" class="header__menu-item list-menu__item link link--text focus-inset caption-large">
2688                                浅煎り
2689                              </a></li><li><a href="/collections/%E4%B8%AD%E7%85%8E%E3%82%8A" class="header__menu-item list-menu__item link link--text focus-inset caption-large">
2690                                中煎り
2691                              </a></li><li><a href="/collections/%E6%B7%B1%E7%85%8E%E3%82%8A" class="header__menu-item list-menu__item link link--text focus-inset caption-large">
2692                                深煎り
2693                              </a></li><li><a href="/collections/%E3%82%AB%E3%83%95%E3%82%A7%E3%82%A4%E3%83%B3%E3%83%AC%E3%82%B9" class="header__menu-item list-menu__item link link--text focus-inset caption-large">
2694                                カフェインレス
2695                              </a></li><li><a href="/collections/%E3%82%AA%E3%83%AA%E3%82%B8%E3%83%8A%E3%83%AB%E3%82%B0%E3%83%83%E3%82%BA" class="header__menu-item list-menu__item link link--text focus-inset caption-large">
2696                                オリジナルグッズ
2697                              </a></li></ul>
2698                    </details>
2699                  </header-menu></li><li><a href="/products/subscription" class="header__menu-item list-menu__item link link--text focus-inset">
2700                    <span>コーヒー定期便</span>
2701                  </a></li><li><a href="/pages/my-subscriptions" class="header__menu-item list-menu__item link link--text focus-inset">
2702                    <span>定期便の管理</span>
2703                  </a></li><li><a href="/pages/wholesale" class="header__menu-item list-menu__item link link--text focus-inset">
2704                    <span>wholesale</span>
2705                  </a></li></ul>
2706        </nav><div class="header__icons">
2707      <div class="desktop-localization-wrapper">
2708</div>
2709      <details-modal class="header__search">
2710        <details>
2711          <summary class="header__icon header__icon--search header__icon--summary link focus-inset modal__toggle" aria-haspopup="dialog" aria-label="検索">
2712            <span>
2713              <svg class="modal__toggle-open icon icon-search" aria-hidden="true" focusable="false">
2714                <use href="#icon-search">
2715              </svg>
2716              <svg class="modal__toggle-close icon icon-close" aria-hidden="true" focusable="false">
2717                <use href="#icon-close">
2718              </svg>
2719            </span>
2720          </summary>
2721          <div class="search-modal modal__content gradient" role="dialog" aria-modal="true" aria-label="検索">
2722            <div class="modal-overlay"></div>
2723            <div class="search-modal__content search-modal__content-bottom" tabindex="-1"><search-form class="search-modal__form"><form action="/search" method="get" role="search" class="search search-modal__form">
2724                    <div class="field">
2725                      <input class="search__input field__input"
2726                        id="Search-In-Modal"
2727                        type="search"
2728                        name="q"
2729                        value=""
2730                        placeholder="検索">
2731                      <label class="field__label" for="Search-In-Modal">検索</label>
2732                      <input type="hidden" name="options[prefix]" value="last">
2733                      <button type="reset" class="reset__button field__button hidden" aria-label="検索ワードをクリアする">
2734                        <svg class="icon icon-close" aria-hidden="true" focusable="false">
2735                          <use xlink:href="#icon-reset">
2736                        </svg>
2737                      </button>
2738                      <button class="search__button field__button" aria-label="検索">
2739                        <svg class="icon icon-search" aria-hidden="true" focusable="false">
2740                          <use href="#icon-search">
2741                        </svg>
2742                      </button>
2743                    </div></form></search-form><button type="button" class="search-modal__close-button modal__close-button link link--text focus-inset" aria-label="閉じる">
2744                <svg class="icon icon-close" aria-hidden="true" focusable="false">
2745                  <use href="#icon-close">
2746                </svg>
2747              </button>
2748            </div>
2749          </div>
2750        </details>
2751      </details-modal><a href="/account/login" class="header__icon header__icon--account link focus-inset small-hide">
2752          <svg
2753  xmlns="http://www.w3.org/2000/svg"
2754  aria-hidden="true"
2755  focusable="false"
2756  class="icon icon-account"
2757  fill="none"
2758  viewBox="0 0 18 19"
2759>
2760  <path fill-rule="evenodd" clip-rule="evenodd" d="M6 4.5a3 3 0 116 0 3 3 0 01-6 0zm3-4a4 4 0 100 8 4 4 0 000-8zm5.58 12.15c1.12.82 1.83 2.24 1.91 4.85H1.51c.08-2.6.79-4.03 1.9-4.85C4.66 11.75 6.5 11.5 9 11.5s4.35.26 5.58 1.15zM9 10.5c-2.5 0-4.65.24-6.17 1.35C1.27 12.98.5 14.93.5 18v.5h17V18c0-3.07-.77-5.02-2.33-6.15-1.52-1.1-3.67-1.35-6.17-1.35z" fill="currentColor">
2761</svg>
2762
2763          <span class="visually-hidden">ログイン</span>
2764        </a><a href="/cart" class="header__icon header__icon--cart link focus-inset" id="cart-icon-bubble"><svg
2765  class="icon icon-cart-empty"
2766  aria-hidden="true"
2767  focusable="false"
2768  xmlns="http://www.w3.org/2000/svg"
2769  viewBox="0 0 40 40"
2770  fill="none"
2771>
2772  <path d="m15.75 11.8h-3.16l-.77 11.6a5 5 0 0 0 4.99 5.34h7.38a5 5 0 0 0 4.99-5.33l-.78-11.61zm0 1h-2.22l-.71 10.67a4 4 0 0 0 3.99 4.27h7.38a4 4 0 0 0 4-4.27l-.72-10.67h-2.22v.63a4.75 4.75 0 1 1 -9.5 0zm8.5 0h-7.5v.63a3.7
27725 3.75 0 1 0 7.5 0z" fill="currentColor" fill-rule="evenodd"/>
2773</svg>
2774<span class="visually-hidden">カート</span></a>
2775    </div>
2776  </header>
2777</sticky-header>
2778
2779<script type="application/ld+json">
2780  {
2781    "@context": "http://schema.org",
2782    "@type": "Organization",
2783    "name": "KITASANDO COFFEE online store",
2784    
2785      "logo": "https:\/\/kitasandocoffee.com\/cdn\/shop\/files\/logo_kitasando_72e74eda-3d17-47da-b66f-3a236c4eaa15.png?v=1684977935\u0026width=500",
2786    
2787    "sameAs": [
2788      "",
2789      "",
2790      "",
2791      "https:\/\/instagram.com\/kitasando_coffee?igshid=MzRlODBiNWFlZA==",
2792      "",
2793      "",
2794      "",
2795      "",
2796      ""
2797    ],
2798    "url": "https:\/\/kitasandocoffee.com"
2799  }
2800</script>
2800
2801</div>
2802<!-- END sections: header-group -->
2803
2804    <main id="MainContent" class="content-for-layout focus-none" role="main" tabindex="-1">
2805      
2806	  
2807		<wlm class="wlm-content">
2808		  <div id="shopify-section-template--19535089467606__main" class="shopify-section"><link href="//kitasandocoffee.com/cdn/shop/t/100/assets/customer.css?v=97970887154638603971750427082" rel="stylesheet" type="text/css" media="all" />
2809<style data-shopify>.section-template--19535089467606__main-padding {
2810    padding-top: 27px;
2811    padding-bottom: 27px;
2812  }
2813
2814  @media screen and (min-width: 750px) {
2815    .section-template--19535089467606__main-padding {
2816      padding-top: 36px;
2817      padding-bottom: 36px;
2818    }
2819  }</style><div class="customer login section-template--19535089467606__main-padding">
2820  <h1 id="recover" tabindex="-1">
2821    パスワードをリセットする
2822  </h1>
2823  <div>
2824    <p>
2825      パスワードをリセットするためのメールを送信します
2826    </p><form method="post" action="/account/recover" accept-charset="UTF-8"><input type="hidden" name="form_type" value="recover_customer_password" /><input type="hidden" name="utf8" value="✓" />
2827      <div class="field">
2828        <input
2829          type="email"
2830          value=""
2831          name="email"
2832          id="RecoverEmail"
2833          autocorrect="off"
2834          autocapitalize="off"
2835          autocomplete="email"
2836          
2837          placeholder="メール"
2838        >
2839        <label for="RecoverEmail">
2840          メール
2841        </label>
2842      </div><button>
2843        送信
2844      </button>
2845
2846      <a href="#login">
2847        キャンセル
2848      </a></form></div>
2849
2850  <h1 id="login" tabindex="-1">
2851    ログイン
2852  </h1>
2853  <div><form method="post" action="/account/login" id="customer_login" accept-charset="UTF-8" data-login-with-shop-sign-in="true" novalidate="novalidate"><input type="hidden" name="form_type" value="customer_login" /><input type="hidden" name="utf8" value="✓" /><div class="field">
2854        <input
2855          type="email"
2856          name="customer[email]"
2857          id="CustomerEmail"
2858          autocomplete="email"
2859          autocorrect="off"
2860          autocapitalize="off"
2861          
2862          placeholder="メール"
2863        >
2864        <label for="CustomerEmail">
2865          メール
2866        </label>
2867      </div><div class="field">
2868          <input
2869            type="password"
2870            value=""
2871            name="customer[password]"
2872            id="CustomerPassword"
2873            autocomplete="current-password"
2874            
2875            placeholder="パスワード"
2876          >
2877          <label for="CustomerPassword">
2878            パスワード
2879          </label>
2880        </div>
2881
2882        <a href="#recover">
2883          パスワードをお忘れですか?
2884        </a><button>
2885        ログイン
2886      </button>
2887
2888      <a href="/account/register">
2889        アカウントを作成する
2890      </a></form></div></div>
2891
2892
2893</div>
2894		</wlm>
2895		<div id="wlmpnf" style="display:none;">
2896		<div class="page-width">
2897		<div class="grid">
2898		  <div class="grid__item medium-up--five-sixths medium-up--push-one-twelfth">
2899			<div class="section-header text-center">
2900			  <h1><span class="wlm-title-pnf"></span></h1>
2901			</div>
2902
2903			<div class="rte">
2904			  <div class="wlm-message-pnf"></div>
2905			</div>
2906		  </div>
2907		</div>
2908	  </div>
2909	  </div>
2910        <div id="wlm-pwd-form" style="display: none;">
2911        <div id="wlm-wrapper">
2912            
2913          <div class="wlm-form-holder">
2914            <input type="password" placeholder="Enter passcode" id="wlm-pwd"
2915                   onkeypress='if( event.keyCode == 13 && typeof wlm == "object" && typeof wlm.unlockByAuth == "function" ) { event.preventDefault(); wlm.unlockByAuth(this); }' />
2916            <a href="javascript:void(0);" id="wlm-pwd-form-button"
2917               onclick='if( typeof wlm == "object" && typeof wlm.unlockByAuth == "function" ) wlm.unlockByAuth(this);'>
2918              Enter
2919            </a>
2920          </div>
2921          <div id="wlm-pwd-error">Invalid Password</div>
2922        </div>
2923      </div>
2924        
2924<script type="text/javascript" id="wlm-helper">
2925        if( typeof wlm == "object" ) wlm.toggleContent(true);
2926      </script>
2926
2927      
2928    </main>
2929
2930    <!-- BEGIN sections: footer-group -->
2931<div id="shopify-section-sections--19535085830358__footer" class="shopify-section shopify-section-group-footer-group">
2932<link href="//kitasandocoffee.com/cdn/shop/t/100/assets/section-footer.css?v=171161867995400310821750427082" rel="stylesheet" type="text/css" media="all" />
2933<link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-newsletter.css?v=103472482056003053551750427082" rel="stylesheet" type="text/css" media="all" />
2934<link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-list-menu.css?v=151968516119678728991750427082" rel="stylesheet" type="text/css" media="all" />
2935<link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-list-payment.css?v=69253961410771838501750427082" rel="stylesheet" type="text/css" media="all" />
2936<link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-list-social.css?v=52211663153726659061750427082" rel="stylesheet" type="text/css" media="all" />
2937<style data-shopify>.footer {
2938    margin-top: 0px;
2939  }
2940
2941  .section-sections--19535085830358__footer-padding {
2942    padding-top: 27px;
2943    padding-bottom: 27px;
2944  }
2945
2946  @media screen and (min-width: 750px) {
2947    .footer {
2948      margin-top: 0px;
2949    }
2950
2951    .section-sections--19535085830358__footer-padding {
2952      padding-top: 36px;
2953      padding-bottom: 36px;
2954    }
2955  }</style><footer class="footer color-background-1 gradient section-sections--19535085830358__footer-padding"><div class="footer__content-top page-width"><div class="footer__blocks-wrapper grid grid--1-col grid--2-col grid--4-col-tablet "><div
2956                class="footer-block grid__item"
2957                
2958              ><h2 class="footer-block__heading inline-richtext">Heading</h2><div class="footer-block__details-content rte">
2959                      <p>Share contact information, store details, and brand content with your customers.</p>
2960                    </div></div><div
2961                class="footer-block grid__item footer-block--menu"
2962                
2963              ><ul class="footer-block__details-content list-unstyled"><li>
2964                            <a
2965                              href="https://biplane.zendesk.com/hc/ja/requests/new"
2966                              class="link link--text list-menu__item list-menu__item--link"
2967                            >
2968                              お問い合わせ
2969                            </a>
2970                          </li><li>
2971                            <a
2972                              href="/policies/terms-of-service"
2973                              class="link link--text list-menu__item list-menu__item--link"
2974                            >
2975                              利用規約
2976                            </a>
2977                          </li><li>
2978                            <a
2979                              href="/policies/legal-notice"
2980                              class="link link--text list-menu__item list-menu__item--link"
2981                            >
2982                              特定商取引法に関する表記
2983                            </a>
2984                          </li><li>
2985                            <a
2986                              href="/policies/privacy-policy"
2987                              class="link link--text list-menu__item list-menu__item--link"
2988                            >
2989                              プライバシーポリシー
2990                            </a>
2991                          </li><li>
2992                            <a
2993                              href="/policies/refund-policy"
2994                              class="link link--text list-menu__item list-menu__item--link"
2995                            >
2996                              返金ポリシー
2997                            </a>
2998                          </li><li>
2999                            <a
3000                              href="/pages/%E6%8E%A1%E7%94%A8%E6%83%85%E5%A0%B1"
3001                              class="link link--text list-menu__item list-menu__item--link"
3002                            >
3003                              採用情報
3004                            </a>
3005                          </li><li>
3006                            <a
3007                              href="/pages/%E4%BC%9A%E7%A4%BE%E6%A6%82%E8%A6%81"
3008                              class="link link--text list-menu__item list-menu__item--link"
3009                            >
3010                              会社概要
3011                            </a>
3012                          </li></ul></div></div><div class="footer-block--newsletter"><div class="footer-block__newsletter"><h2 class="footer-block__heading inline-richtext">Subscribe news letter</h2><form method="post" action="/contact#ContactFooter" id="ContactFooter" accept-charset="UTF-8" class="footer__newsletter newsletter-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="contact[tags]" value="newsletter">
3013                <div class="newsletter-form__field-wrapper">
3014                  <div class="field">
3015                    <input
3016                      id="NewsletterForm--sections--19535085830358__footer"
3017                      type="email"
3018                      name="contact[email]"
3019                      class="field__input"
3020                      value=""
3021                      aria-required="true"
3022                      autocorrect="off"
3023                      autocapitalize="off"
3024                      autocomplete="email"
3025                      
3026                      placeholder="メール"
3027                      required
3028                    >
3029                    <label class="field__label" for="NewsletterForm--sections--19535085830358__footer">
3030                      メール
3031                    </label>
3032                    <button
3033                      type="submit"
3034                      class="newsletter-form__button field__button"
3035                      name="commit"
3036                      id="Subscribe"
3037                      aria-label="登録"
3038                    >
3039                      <svg
3040  viewBox="0 0 14 10"
3041  fill="none"
3042  aria-hidden="true"
3043  focusable="false"
3044  class="icon icon-arrow"
3045  xmlns="http://www.w3.org/2000/svg"
3046>
3047  <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor">
3048</svg>
3049
3050                    </button>
3051                  </div></div></form></div><ul class="footer__list-social list-unstyled list-social"><li class="list-social__item">
3052      <a href="https://instagram.com/kitasando_coffee?igshid=MzRlODBiNWFlZA==" class="link list-social__link" ><svg aria-hidden="true" focusable="false" class="icon icon-instagram" viewBox="0 0 18 18">
3053  <path fill="currentColor" d="M8.77 1.58c2.34 0 2.62.01 3.54.05.86.04 1.32.18 1.63.3.41.17.7.35 1.01.66.3.3.5.6.65 1 .12.32.27.78.3 1.64.05.92.06 1.2.06 3.54s-.01 2.62-.05 3.54a4.79 4.79 0 01-.3 1.63c-.17.41-.35.7-.66 1.01-.3.3-.6.5-1.01.66-.31.12-.77.26-1.63.3-.92.04-1.2.05-3.54.05s-2.62 0-3.55-.05a4.79 4.79 0 01-1.62-.3c-.42-.16-.7-.35-1.01-.66-.31-.3-.5-.6-.66-1a4.87 4.87 0 01-.3-1.64c-.04-.92-.05-1.2-.05-3.54s0-2.62.05-3.54c.04-.86.18-1.32.3-1.63.16-.41.35-.7.66-1.01.3-.3.6-.5 1-.65.32-.12.78-.27 1.63-.3.93-.05 1.2-.06 3.55-.06zm0-1.58C6.39 0 6.09.01 5.15.05c-.93.04-1.57.2-2.13.4-.57.23-1.06.54-1.55 1.02C1 1.96.7 2.45.46 3.02c-.22.56-.37 1.2-.4 2.13C0 6.1 0 6.4 0 8.77s.01 2.68.05 3.61c.04.94.2 1.57.4 2.13.23.58.54 1.07 1.02 1.56.49.48.98.78 1.55 1.01.56.22 1.2.37 2.13.4.94.05 1.24.06 3.62.06 2.39 0 2.68-.01 3.62-.05.93-.04 1.57-.2 2.13-.41a4.27 4.27 0 001.55-1.01c.49-.49.79-.98 1.01-1.56.22-.55.37-1.19.41-2.13.04-.93.05-1.23.05-3.61 0-2.39 0-2.68-.05-3.62a6.47 6.47 0 00-.4-2.13 4.27 4.27 0 00-1.02-1.55A4.35 4.35 0 0014.52.46a6.43 6.43 0 00-2.13-.41A69 69 0 008.77 0z"/>
3054  <path fill="currentColor" d="M8.8 4a4.5 4.5 0 100 9 4.5 4.5 0 000-9zm0 7.43a2.92 2.92 0 110-5.85 2.92 2.92 0 010 5.85zM13.43 5a1.05 1.05 0 100-2.1 1.05 1.05 0 000 2.1z">
3055</svg>
3056<span class="visually-hidden">Instagram</span>
3057      </a>
3058    </li></ul></div>
3059      </div><div class="footer__content-bottom">
3060    <div class="footer__content-bottom-wrapper page-width">
3061      <div class="footer__column footer__localization isolate"></div>
3062      <div class="footer__column footer__column--info"></div>
3063    </div>
3064    <div class="footer__content-bottom-wrapper page-width footer__content-bottom-wrapper--center">
3065      <div class="footer__copyright caption">
3066        <small class="copyright__content"
3067          >&copy; 2026, <a href="/" title="">KITASANDO COFFEE online store</a></small>
3068        <small class="copyright__content"> </small></div>
3069    </div>
3070  </div>
3071</footer>
3072</div>
3073<!-- END sections: footer-group -->
3074
3075    <ul hidden>
3076      <li id="a11y-refresh-page-message">選択結果を選ぶと、ページが全面的に更新されます。</li>
3077      <li id="a11y-new-window-message">新しいウィンドウで開きます。</li>
3078    </ul>
3079
3080    
3080<script>
3081      window.shopUrl = 'https://kitasandocoffee.com';
3082      window.routes = {
3083        cart_add_url: '/cart/add',
3084        cart_change_url: '/cart/change',
3085        cart_update_url: '/cart/update',
3086        cart_url: '/cart',
3087        predictive_search_url: '/search/suggest'
3088      };
3089
3090      window.cartStrings = {
3091        error: `カートをアップデートするときにエラーが発生しました。もう一度お試しください。`,
3092        quantityError: `このアイテムは[quantity]個しかカートに追加することができません。`
3093      }
3094
3095      window.variantStrings = {
3096        addToCart: `カートに追加する`,
3097        soldOut: `売り切れ`,
3098        unavailable: `利用できません`,
3099        unavailable_with_option: `[value]は利用できません`,
3100      }
3101
3102      window.accessibilityStrings = {
3103        imageAvailable: `ギャラリービューで画像 ([index]) が利用できるようになりました`,
3104        shareSuccess: `リンクがクリップボードにコピーされました`,
3105        pauseSlideshow: `スライドショーを一時停止する`,
3106        playSlideshow: `スライドショーを再生する`,
3107      }
3108    </script>
3108<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
3108
3109</body>
3110</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.