PageSourceSearch

https://furniture.mateli.jp/pages/cad

html mateli.jp collected 2026-10-08 06:46:21 UTC 240,145 bytes, 5,347 lines download raw bytes

1<!doctype html>
2<html class='no-js' lang='ja'>
3  <head>
4    <meta charset='utf-8'>
5    <meta http-equiv='X-UA-Compatible' content='IE=edge'>
6    <meta name='viewport' content='width=device-width,initial-scale=1'>
7    <meta name='theme-color' content=''>
8    <link rel='canonical' href='https://furniture.mateli.jp/pages/cad'>
9    <link rel='preconnect' href='https://cdn.shopify.com' crossorigin><link rel='icon' type='image/png' href='//furniture.mateli.jp/cdn/shop/files/mateli_icon_da0f4bb3-9b56-4e9e-a91c-39bf3ca59da3.png?crop=center&height=32&v=1677212935&width=32'><link rel='preconnect' href='https://fonts.shopifycdn.com' crossorigin><title>CADデータダウンロード ID発行申請
10        &ndash; mateli</title>
11
12    
13      <meta name='description' content='≫ IDをお持ちの方はこちらからログイン CADデータダウンロードのご利用を希望される方は、下記フォームをご入力後、送信ボタンを押してください。フォームの記入漏れがある場合、ダウンロードに必要なパスワード等が届きませんのでご注意ください。 Loading… ご回答ありがとうございます。 IDとパスワードを発行いたしました。メールをご確認くださいませ。 Copyright 2018 mateli . All Rights Reserved'>
14    
15
16    
17
18<meta property="og:site_name" content="mateli">
19<meta property="og:url" content="https://furniture.mateli.jp/pages/cad">
20<meta property="og:title" content="CADデータダウンロード ID発行申請">
21<meta property="og:type" content="website">
22<meta property="og:description" content="≫ IDをお持ちの方はこちらからログイン CADデータダウンロードのご利用を希望される方は、下記フォームをご入力後、送信ボタンを押してください。フォームの記入漏れがある場合、ダウンロードに必要なパスワード等が届きませんのでご注意ください。 Loading… ご回答ありがとうございます。 IDとパスワードを発行いたしました。メールをご確認くださいませ。 Copyright 2018 mateli . All Rights Reserved"><meta property="og:image" content="https://furniture.mateli.jp/cdn/shop/files/mateli_logo_bce55c79-6cb5-4c56-bbc7-05d9142eeaec.png?v=1659501345">
23  <meta property="og:image:secure_url" content="https://furniture.mateli.jp/cdn/shop/files/mateli_logo_bce55c79-6cb5-4c56-bbc7-05d9142eeaec.png?v=1659501345">
24  <meta property="og:image:width" content="1200">
25  <meta property="og:image:height" content="628"><meta name="twitter:card" content="summary_large_image">
26<meta name="twitter:title" content="CADデータダウンロード ID発行申請">
27<meta name="twitter:description" content="≫ IDをお持ちの方はこちらからログイン CADデータダウンロードのご利用を希望される方は、下記フォームをご入力後、送信ボタンを押してください。フォームの記入漏れがある場合、ダウンロードに必要なパスワード等が届きませんのでご注意ください。 Loading… ご回答ありがとうございます。 IDとパスワードを発行いたしました。メールをご確認くださいませ。 Copyright 2018 mateli . All Rights Reserved">
28
29
30    
31    
32
33    
33<script src='//furniture.mateli.jp/cdn/shop/t/204/assets/constants.min.js?v=53064991202694776191790902731' defer='defer'></script>
33
34    
34<script src='//furniture.mateli.jp/cdn/shop/t/204/assets/pubsub.min.js?v=178039640156621776291790902732' defer='defer'></script>
34
35    
35<script src='//furniture.mateli.jp/cdn/shop/t/204/assets/global.min.js?v=22516999696991639911790902731' defer='defer'></script>
35
36
37    �
38    
38<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
38<meta name="facebook-domain-verification" content="hmor7lmqhr92ntcbslsm7hwdrk058e">
39<meta name="google-site-verification" content="teoodq49eS6h7BCGkK0ZB4gR3uuShRDDiiqxtm7HVqw">
40<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/51723370679/digital_wallets/dialog">
41<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
41<script async="async" src="/checkouts/internal/preloads.js?locale=ja-US&default_configuration_id=180388098"></script>
vendor: 1 bytes, line 41
41
42<script id="shopify-features" type="application/json">{"accessToken":"32d6f846d2c34ea6ca55868b0b533788","betas":["rich-media-storefront-analytics"],"domain":"furniture.mateli.jp","predictiveSearch":false,"shopId":51723370679,"locale":"ja"}</script>
vendor: 1 bytes, line 42
42
43<script>var Shopify = Shopify || {};
44Shopify.shop = "mateli-ec.myshopify.com";
45Shopify.locale = "ja";
46Shopify.currency = {"active":"JPY","rate":"1.0"};
47Shopify.country = "US";
48Shopify.theme = {"name":"Mateli_3.3.8.2_setchair_guide_order","id":166957416706,"schema_name":"Dawn","schema_version":"8.0.0","theme_store_id":null,"role":"main"};
49Shopify.theme.handle = "null";
50Shopify.theme.style = {"id":null,"handle":null};
51Shopify.cdnHost = "furniture.mateli.jp/cdn";
52Shopify.routes = Shopify.routes || {};
53Shopify.routes.root = "/";
54Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
55Shopify.SignInWithShop = Shopify.SignInWithShop || {};
56Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
57Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 57
57
58<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 58
58
59<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 59
59
60<script>
61  window.Shopify = window.Shopify || {};
62  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
63  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
64  window.Shopify.SignInWithShop.eligible = true;
65</script>
vendor: 1 bytes, line 65
65
66<script id="shop-js-analytics" type="application/json">{"pageType":"page"}</script>
vendor: 1 bytes, line 66
66
67<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 67
67
68<script type="module">
69  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.ja.esm.js");
70
71  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
72
73</script>
vendor: 1 bytes, line 73
73
74<script>
75  window.Shopify = window.Shopify || {};
76  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
77  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"]};
78</script>
vendor: 1 bytes, line 78
78
79<script>(function() {
80  var isLoaded = false;
81  function asyncLoad() {
82    if (isLoaded) return;
83    isLoaded = true;
84    var urls = ["https:\/\/chimpstatic.com\/mcjs-connected\/js\/users\/dc049718af7b0e546c7f705c3\/e71acb5cdf38366061444b6e5.js?shop=mateli-ec.myshopify.com","https:\/\/omnisnippet1.com\/platforms\/shopify.js?source=scriptTag\u0026v=2025-11-20T00\u0026shop=mateli-ec.myshopify.com"];
85    for (var i = 0; i < urls.length; i++) {
86      var s = document.createElement('script');
87      s.type = 'text/javascript';
88      s.async = true;
89      s.src = urls[i];
90      var x = document.getElementsByTagName('script')[0];
91      x.parentNode.insertBefore(s, x);
92    }
93  };
94  if(window.attachEvent) {
95    window.attachEvent('onload', asyncLoad);
96  } else {
97    window.addEventListener('load', asyncLoad, false);
98  }
99})();</script>
vendor: 1 bytes, line 99
99
100<script id="__st">var __st={"a":51723370679,"offset":32400,"reqid":"88356304-5ad3-4844-b23c-c46705102c8b-1791441980","pageurl":"furniture.mateli.jp\/pages\/cad","s":"pages-103291715842","u":"0e2f7bd448bd","p":"page","rtyp":"page","rid":103291715842};</script>
vendor: 1 bytes, line 100
100
101<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 101
101
102<script id="form-persister">!function(){'use strict';const t='contact',e='new_comment',n=[[t,t],['blogs',e],['comments',e],[t,'customer']],o='password',r='form_key',c=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',o],s=()=>{try{return window.sessionStorage}catch{return}},i='__shopify_v',u=t=>t.elements[r],a=function(){const t=[...n].map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(',');var e;return e=t,()=>e?[...document.querySelectorAll(e)].map((t=>t.form)):[]}();function m(t){const e=u(t);a().includes(t)&&(!e||!e.value)&&function(t){try{if(!s())return;!function(t){const e=s();if(!e)return;const n=u(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){u(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:r})),t.elements[r].value=e}(t,e),function(t,e){const n=s();if(!n)return;const r=[...t.querySelectorAll(`input[type='${o}']`)].map((({name:t})=>t)),u=[...c,...r],a={};for(const[o,c]of new FormData(t).entries())u.includes(o)||(a[o]=c);n.setItem(e,JSON.stringify({[i]:1,action:t.action,data:a}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(t)}const f=t=>{if('true'===t.dataset.persistBound)return;const e=function(t,e){const n=function(t){return'function'==typeof t.submit?t.submit:HTMLFormElement.prototype.submit}(t).bind(t);return function(){let t;return()=>{t||(t=!0,(()=>{try{e(),n()}catch(t){(t=>{console.error('form submit failed',t)})(t)}})(),setTimeout((()=>t=!1),250))}}()}(t,(()=>{m(t)}));!function(t,e){if('function'==typeof t.submit&&'function'==typeof e)try{t.submit=e}catch{}}(t,e),t.addEventListener('submit',(t=>{t.preventDefault(),e()})),t.dataset.persistBound='true'};!function(){function t(t){const e=(t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form})(t);e&&m(e)}document.addEventListener('submit',t),document.addEventListener('DOMContentLoaded',(()=>{const e=a();for(const t of e)f(t);var n;n=document.body,new window.MutationObserver((t=>{for(const e of t)if('childList'===e.type&&e.addedNodes.length)for(const t of e.addedNodes)1===t.nodeType&&'FORM'===t.tagName&&a().includes(t)&&f(t)})).observe(n,{childList:!0,subtree:!0,attributes:!1}),document.removeEventListener('submit',t)}))}()}();</script>
vendor: 1 bytes, line 102
102
103<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//furniture.mateli.jp/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 103
103
104<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 = "//furniture.mateli.jp/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>
104<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 104
104
105<script>
106  window.Shopify = window.Shopify || {};
107  window.Shopify.MCP = window.Shopify.MCP || {};
108  window.Shopify.MCP.enabled = true;
109  window.Shopify.MCP.shop = "mateli-ec.myshopify.com";
110  window.Shopify.MCP.mcpEndpoint = "https:\/\/furniture.mateli.jp\/api\/mcp";
111  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"]}}];
112</script>
vendor: 1 bytes, line 112
112
113<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("\/\/furniture.mateli.jp\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
114</script>
vendor: 1 bytes, line 114
114
115<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://furniture.mateli.jp/cdn/shopifycloud/portable-wallets/latest/portable-wallets.ja.js",t.type="module",document.head.appendChild(t)}};
116</script>
vendor: 1 bytes, line 116
116
117<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
118  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);
119</script>
vendor: 1 bytes, line 119
119
120<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})}}));
121</script>
121
122
123<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
123
124
125    <meta name='p:domain_verify' content='c33514facba0b5d348544ca6dc387307'>
126    <meta name='google-site-verification' content='FpmwT3OfSz1ZiwcL65XlqGYOy19zRQ3D-plR4eToOB4'>
127    <!-- <meta name="google-site-verification" content="jm2TDnpjwgyvD7kV3Q7TncwPzmJHR-vUUNC_pmDu7Wk" /> -->
128
129    �
130
131<style>
132
133   :root {
134    --font-body-family: 'Noto Sans JP', sans-serif;
135    --font-body-style: normal;
136    --font-body-weight: 400;
137    --font-body-weight-bold: 700;
138    --font-heading-family: 'Noto Sans JP', sans-serif;
139    --font-heading-style: normal;
140    --font-heading-weight: 400;
141
142    --font-body-scale: 1.0;
143    --font-heading-scale: 1.0;
144
145    --color-base-text: 18,18, 18;
146    --color-shadow: 18,  18, 18;
147    --color-base-background-1: 255, 255, 255;
148    --color-base-background-2: 243, 243, 243;
149    --color-base-solid-button-labels: 255, 255, 255;
150    --color-base-outline-button-labels: 18, 18, 18;
151    --color-base-accent-1: 42, 173, 205;
152    --color-base-accent-2: 42, 173, 205;
153    --payment-terms-background-color: #ffffff;
154
155    --gradient-base-background-1: #ffffff;
156    --gradient-base-background-2: #f3f3f3;
157    --gradient-base-accent-1: #2aadcd;
158    --gradient-base-accent-2: #2aadcd;
159
160    --media-padding: px;
161    --media-border-opacity: 0.05;
162    --media-border-width: 1px;
163    --media-radius: 0px;
164    --media-shadow-opacity: 0.0;
165    --media-shadow-horizontal-offset: 0px;
166    --media-shadow-vertical-offset: 4px;
167    --media-shadow-blur-radius: 5px;
168    --media-shadow-visible: 0;
169
170    --page-width: 120rem;
171    --page-width-margin: 0rem;
172
173    --product-card-image-padding: 0.0rem;
174    --product-card-corner-radius: 0.0rem;
175    --product-card-text-alignment: left;
176    --product-card-border-width: 0.0rem;
177    --product-card-border-opacity: 0.1;
178    --product-card-shadow-opacity: 0.0;
179    --product-card-shadow-visible: 0;
180    --product-card-shadow-horizontal-offset: 0.0rem;
181    --product-card-shadow-vertical-offset: 0.4rem;
182    --product-card-shadow-blur-radius: 0.5rem;
183
184    --collection-card-image-padding: 0.0rem;
185    --collection-card-corner-radius: 0.0rem;
186    --collection-card-text-alignment: left;
187    --collection-card-border-width: 0.0rem;
188    --collection-card-border-opacity: 0.1;
189    --collection-card-shadow-opacity: 0.0;
190    --collection-card-shadow-visible: 0;
191    --collection-card-shadow-horizontal-offset: 0.0rem;
192    --collection-card-shadow-vertical-offset: 0.4rem;
193    --collection-card-shadow-blur-radius: 0.5rem;
194
195    --blog-card-image-padding: 0.0rem;
196    --blog-card-corner-radius: 0.0rem;
197    --blog-card-text-alignment: left;
198    --blog-card-border-width: 0.0rem;
199    --blog-card-border-opacity: 0.1;
200    --blog-card-shadow-opacity: 0.0;
201    --blog-card-shadow-visible: 0;
202    --blog-card-shadow-horizontal-offset: 0.0rem;
203    --blog-card-shadow-vertical-offset: 0.4rem;
204    --blog-card-shadow-blur-radius: 0.5rem;
205
206    --badge-corner-radius: 4.0rem;
207
208    --popup-border-width: 1px;
209    --popup-border-opacity: 0.1;
210    --popup-corner-radius: 0px;
211    --popup-shadow-opacity: 0.0;
212    --popup-shadow-horizontal-offset: 0px;
213    --popup-shadow-vertical-offset: 4px;
214    --popup-shadow-blur-radius: 5px;
215
216    --drawer-border-width: 1px;
217    --drawer-border-opacity: 0.1;
218    --drawer-shadow-opacity: 0.0;
219    --drawer-shadow-horizontal-offset: 0px;
220    --drawer-shadow-vertical-offset: 4px;
221    --drawer-shadow-blur-radius: 5px;
222
223    --spacing-sections-desktop: 0px;
224    --spacing-sections-mobile: 0px;
225
226    --grid-desktop-vertical-spacing: 8px;
227    --grid-desktop-horizontal-spacing: 8px;
228    --grid-mobile-vertical-spacing: 4px;
229    --grid-mobile-horizontal-spacing: 4px;
230
231    --text-boxes-border-opacity: 0.1;
232    --text-boxes-border-width: 0px;
233    --text-boxes-radius: 0px;
234    --text-boxes-shadow-opacity: 0.0;
235    --text-boxes-shadow-visible: 0;
236    --text-boxes-shadow-horizontal-offset: 0px;
237    --text-boxes-shadow-vertical-offset: 4px;
238    --text-boxes-shadow-blur-radius: 5px;
239
240    --buttons-radius: 0px;
241    --buttons-radius-outset: 0px;
242    --buttons-border-width: 1px;
243    --buttons-border-opacity: 1.0;
244    --buttons-shadow-opacity: 0.0;
245    --buttons-shadow-visible: 0;
246    --buttons-shadow-horizontal-offset: 0px;
247    --buttons-shadow-vertical-offset: 4px;
248    --buttons-shadow-blur-radius: 5px;
249    --buttons-border-offset: 0px;
250
251    --inputs-radius: 0px;
252    --inputs-border-width: 1px;
253    --inputs-border-opacity: 0.55;
254    --inputs-shadow-opacity: 0.0;
255    --inputs-shadow-horizontal-offset: 0px;
256    --inputs-margin-offset: 0px;
257    --inputs-shadow-vertical-offset: 4px;
258    --inputs-shadow-blur-radius: 5px;
259    --inputs-radius-outset: 0px;
260
261    --variant-pills-radius: 40px;
262    --variant-pills-border-width: 1px;
263    --variant-pills-border-opacity: 0.55;
264    --variant-pills-shadow-opacity: 0.0;
265    --variant-pills-shadow-horizontal-offset: 0px;
266    --variant-pills-shadow-vertical-offset: 4px;
267    --variant-pills-shadow-blur-radius: 5px;
268
269    --mateli-background-1: #F1F3F4;
270    --mateli-background-2: #E5E5E5;
271    --mateli-background-3: #C1C1C9;
272    --mateli-background-4: #787A82;
273    --mateli-light-grey: #f2f3f4;
274    --mateli-orange: #E08D55;
275
276    --mateli-text-1: #262728;
277    --mateli-text-2: #E6E6E6;
278    --mateli-text-3: #676970;
279
280    --slider-button-size: 26px;
281    --section-padding-h: 9vw;
282    --section-padding-w: 5.5vw;
283    --section-padding-b: 12vw;
284  }
285
286  *,
287  *::before,
288  *::after {
289    box-sizing: inherit;
290  }
291
292  html {
293    box-sizing: border-box;
294    font-size: calc(var(--font-body-scale) * 62.5%);
295    height: 100%;
296  }
297
298  body {
299    display: grid;
300    grid-template-rows: auto auto 1fr auto;
301    grid-template-columns: 100%;
302    min-height: 100%;
303    margin: 0;
304    font-size: 1.5rem;
305    letter-spacing: 0.06rem;
306    line-height: calc(1 + 0.8 / var(--font-body-scale));
307    font-family: var(--font-body-family);
308    font-style: var(--font-body-style);
309    font-weight: var(--font-body-weight);
310    color: var(--mateli-text-1);
311  }
312  /*
313  body, input, button, select, textarea, optgroup {
314    font-family: var(--font-body-family);
315    font-weight: var(--font-body-weight);
316  }
317  */
318
319  h2,
320  h3,
321  h4 {
322    font-family: var(--font-heading-family);
323    margin: 0;
324  }
325  a {
326    text-decoration: none;
327    color: inherit;
328  }
329  strong, b {
330    font-weight: 600;
331  }
332  @media screen and (min-width: 750px) {
333    body {
334      font-size: 1.4rem;
335    }
336  }
337  @media screen and (max-width: 640px) {}
338
339</style>
340
341    <link href="//furniture.mateli.jp/cdn/shop/t/204/assets/base.min.css?v=148960582916239262651790902731" rel="stylesheet" type="text/css" media="all" />
342
343    �<link rel='preconnect' href='https://fonts.googleapis.com'>
344    <link rel='preconnect' href='https://fonts.gstatic.com' crossorigin><link
345        rel='stylesheet'
346        href='//furniture.mateli.jp/cdn/shop/t/204/assets/component-predictive-search.css?v=24120902156609398701790902730'
347        media='print'
348        onload="this.media='all'"
349      >
350    <link
351      rel='preload'
352      as='style'
353      href='https://fonts.googleapis.com/css2?family=Cinzel:wght@500&family=Fira+Sans:wght@200;300;400;500&family=Noto+Sans+JP:wght@200;300;400;700&display=swap'
354      onload="this.onload=null;this.rel='stylesheet'"
355    >
356    <noscript>
357      <link rel='stylesheet' href='https://fonts.googleapis.com/css2?family=Cinzel:wght@500&family=Fira+Sans:wght@200;300;400;500&family=Noto+Sans+JP:wght@200;300;400;700&display=swap'>
358    </noscript><style>
359      .drawer {
360        position: fixed;
361        top: 0;
362        left: 0;
363        width: 100vw;
364        height: 100%;
365        visibility: hidden;
366        z-index: 1000;
367      }
368      .drawer.active {
369        visibility: visible;
370      }
371    </style>
372
373    <style>
374      .swiper-wrapper {
375        z-index: 1;
376      }
377
378      .swiper-sub-title {
379        display: flex;
380        justify-content: flex-end;
381        flex-direction: row;
382        align-items: center;
383        column-gap: 10px;
384        padding-top: 4.95vw;
385        width: 100%;
386      }
387      .swiper-sub-title a {
388        display: flex;
389        flex-direction: row;
390        flex-wrap: wrap;
391        align-items: center;
392        column-gap: 9px;
393        letter-spacing: 0;
394      }
395      .swiper-sub-title svg {
396        background-color: var(--mateli-orange);
397        width: 45px;
398        height: 15px;
399        border-radius: 12px;
400        padding: 1px 2px;
401      }
402      .swiper-pagination-bullet {
403        width: 2.5vw !important;
404        height: 2.5vw !important;
405        margin: 0 1.1vw !important;
406      }
407      .header-wrapper {
408        min-height: 95px;
409        height: 95px;
410        background-color: var(--mateli-background-1);
411      }
412      .announcement-bar-section {
413        min-height: 34px;
414        height: 34px;
415      }
416      .section-header.shopify-section-group-header-group {
417        top: 0;
418      }
419      .content-for-layout a,
420      .content-for-layout .rte a,
421      .content-for-layout a.link-text {
422        color: var(--mateli-orange);
423        text-decoration: underline;
424      }
425      .swiper-super-wrapper a,
426      .icon-slider-collection-link-wrapper a,
427      .product-grid a,
428      .top-collage.mateli_category_furniture a {
429        color: var(--mateli-text-1);
430        text-decoration: none;
431      }
432
433      @media screen and (min-width: 500px) {
434        .swiper-pagination-bullet {
435          width: 2.3vw !important;
436          height: 2.3vw !important;
437          margin: 0 0.8vw !important;
438        }
439      }
440      @media screen and (min-width: 600px) {
441        .swiper-sub-title svg {
442          width: 54px;
443          height: 21px;
444        }
445      }
446      @media screen and (min-width: 700px) {
447        .swiper-pagination-bullet {
448          width: 2vw !important;
449          height: 2vw !important;
450          margin: 0 0.6vw !important;
451        }
452      }
453      @media screen and (min-width: 750px) {
454        .menu-drawer {
455          width: unset !important;
456        }
457        button.slider-button {
458          display: none;
459        }
460      }
461      @media screen and (min-width: 800px) {
462        body {
463          font-size: 1.6rem;
464        }
465        .swiper-pagination-bullet {
466          width: 12px !important;
467          height: 12px !important;
468          margin-left: 6px !important;
469          margin-right: 6px !important;
470        }
471      }
472      @media screen and (min-width: 900px) {
473        :root {
474          /* Font update 2026/01/06
475            --font-heading-weight: 600;
476           --font-body-weight: 300;
477          */
478          --section-padding-h: 5vw;
479          --section-padding-b: 5vw;
480          --section-padding-w: 4.505vw;
481        }
482        .header {
483          padding-top: 1.7vw;
484          padding-bottom: 1.7vw;
485        }
486        ul.list-menu.list-menu--inline {
487          column-gap: 1vw;
488        }
489        .swiper-sub-title svg {
490          width: 5vw;
491          height: 1.8vw;
492        }
493      }
494      @media screen and (min-width: 990px) {
495        .announcement-bar-section {
496          min-height: 37px;
497          height: 37px;
498        }
499      }
500      @media screen and (min-width: 1200px) {
501        :root {
502          --section-padding-h: 50px;
503          --section-padding-b: 50px;
504          --section-padding-w: 100px;
505        }
506        .swiper-sub-title svg {
507          height: 15px;
508          width: 55px;
509          padding-top: 2px;
510          padding-bottom: 2px;
511        }
512      }
513    </style>
514
515    
516
517    
518    
519
520    ��
521
522    
523
524    
525
526    
526<script type='text/javascript'>
527      (function () {
528        function loadClarity() {
529          if (window.clarity) return; // already loaded
530
531          (function (c, l, a, r, i, t, y) {
532            c[a] =
533              c[a] ||
534              function () {
535                (c[a].q = c[a].q || []).push(arguments);
536              };
537            t = l.createElement(r);
538            t.async = 1;
539            t.src = 'https://www.clarity.ms/tag/' + i;
540            y = l.getElementsByTagName(r)[0];
541            y.parentNode.insertBefore(t, y);
542          })(window, document, 'clarity', 'script', 'rju6qijnpw');
543        }
544
545        if ('requestIdleCallback' in window) {
546          requestIdleCallback(loadClarity, { timeout: 2000 });
547        } else {
548          window.addEventListener('load', loadClarity);
549        }
550      })();
551    </script>
551
552
553    
553<script defer>
554      document.documentElement.className = document.documentElement.className.replace('no-js', 'js');
555
556      function checkShopify() {
557        if (typeof Shopify !== 'undefined') {
558          if (Shopify.designMode) {
559            document.documentElement.classList.add('shopify-design-mode');
560          }
561        } else {
562          requestAnimationFrame(checkShopify); // wait until Shopify is available
563        }
564      }
565
566      checkShopify();
567    </script>
567
568
569    
570    <!-- Desktop-only fonts -->
571    
572    
573      <link
574        rel='stylesheet'
575        href='https://fonts.googleapis.com/css2?family=Cinzel&display=swap'
576        media='(min-width: 900px)'
577      >
578    
579    
580
581    �
582    
582<script>
583      window.MATELI = window.MATELI || {};
584      window.MATELI.themeTag = 'Mateli_3.3.8.2_setchair_guide_order';
585    </script>
585
586  
586<script src="https://cdn.shopify.com/extensions/01a11803-c1c3-747a-9931-294298cc9c0a/forms-2614/assets/shopify-forms-loader.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 586
586
587<script src="https://cdn.shopify.com/extensions/01a115be-abcf-7501-a123-78da12b4df6b/lb-upsell-452/assets/lb-selleasy.js" type="text/javascript" defer="defer"></script>
587
588<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
589<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: 51723370679,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "page"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 589
589
590<script>
591  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
592</script>
vendor: 1 bytes, line 592
592
593<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}
593).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: 51723370679,storefrontBaseUrl: "https://furniture.mateli.jp",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://furniture.mateli.jp/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b"],webPixelsConfigList: [{"id":"1951400194","configuration":"{\"mailchimp_store_id\":\"store_mwxf6i9v3zgxrekkqb9b\", \"mailchimp_user_id\":\"218230546\",\"mailchimp_list_id\":\"b1d49b7cc1\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"e357a49eadeb6216a959d63fa3fb8f55","type":"APP","apiClientId":2585307,"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"]}
593,{"id":"1682702594","configuration":"{\"apiURL\":\"https:\/\/api.omnisend.com\",\"appURL\":\"https:\/\/app.omnisend.com\",\"brandID\":\"64a3b9eeab1e3fef0fad9344\",\"trackingURL\":\"https:\/\/wt.omnisendlink.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"1e2b45bbee5b360dff908f60423b89f8","type":"APP","apiClientId":186001,"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":"unrestricted","enabledFlags":["9a3ed68a"]},{"id":"831684866","configuration":"{\"url\":\"https:\/\/events.realtimestack.com\",\"shop\":\"mateli-ec.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"dbfdb96740f735f157780aa894ac9113","type":"APP","apiClientId":4759791,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"capabilities":["advanced_dom_events"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"457670914","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-SZJ7D3KB3M\\\",\\\"GT-NMKVSFP\\\"],\\\"target_country\\\":\\\"JP\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-SZJ7D3KB3M\\\"},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-SZJ7D3KB3M\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-SZJ7D3KB3M\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-SZJ7D3KB3M\\\",\\\"MC-YE7C4DY8MX\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-SZJ7D3KB3M\\\",\\\"MC-YE7C4DY8MX\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-SZJ7D3KB3M\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-SZJ7D3KB3M\\\",\\\"MC-YE7C4DY8MX\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-SZJ7D3KB3M\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-SZJ7D3KB3M\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-SZJ7D3KB3M\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-SZJ7D3KB3M\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"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":"161054978","configuration":"{\"pixel_id\":\"346109873848229\",\"pixel_type\":\"facebook_pixel\"}","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":"103350530","configuration":"{\"tagID\":\"2612730055771\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7ae565e198624b39e0856d352b9a6b4c","type":"APP","apiClientId":3009811,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"65798402","configuration":"{\"accountID\":\"selleasy-metrics-track\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"50acfdcd7b118f50e52df83f64624d06","type":"APP","apiClientId":5519923,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data"],"dataSharingControls":["share_all_events"]}
593,"dataSharingState":"unrestricted"},{"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":"mateli","paymentSettings":{"currencyCode":"JPY"},"myshopifyDomain":"mateli-ec.myshopify.com","countryCode":"JP","storefrontUrl":"https:\/\/furniture.mateli.jp"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://furniture.mateli.jp/cdn","7ec887c8w14f9f074p854094e1m1370c602",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"166957416706","themePublished":"true","eventMetadataId":"09d3afb0-e0aa-4c37-a4f5-22d495745ccd","pageType":"page","resourceId":"103291715842","shopId":"51723370679","storefrontBaseUrl":"https:\/\/furniture.mateli.jp","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"7ec887c8w14f9f074p854094e1m1370c602","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
593<script>
594  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
595  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
596  window.ShopifyAnalytics.meta.currency = 'JPY';
597  var meta = {"page":{"pageType":"page","resourceType":"page","resourceId":103291715842,"requestId":"88356304-5ad3-4844-b23c-c46705102c8b-1791441980"}};
598  for (var attr in meta) {
599    window.ShopifyAnalytics.meta[attr] = meta[attr];
600  }
601</script>
vendor: 1 bytes, line 601
601
602<script class="analytics">
603  (function () {
604    var customDocumentWrite = function(content) {
605      var jquery = null;
606
607      if (window.jQuery) {
608        jquery = window.jQuery;
609      } else if (window.Checkout && window.Checkout.$) {
610        jquery = window.Checkout.$;
611      }
612
613      if (jquery) {
614        jquery('body').append(content);
615      }
616    };
617
618    var hasLoggedConversion = function(token) {
619      if (token) {
620        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
621      }
622      return false;
623    }
624
625    var setCookieIfConversion = function(token) {
626      if (token) {
627        var twoMonthsFromNow = new Date(Date.now());
628        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
629
630        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
631      }
632    }
633
634    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
635    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
636    if (trekkie.integrations) {
637      return;
638    }
639    trekkie.methods = [
640      'identify',
641      'page',
642      'ready',
643      'track',
644      'trackForm',
645      'trackLink'
646    ];
647    trekkie.factory = function(method) {
648      return function() {
649        var args = Array.prototype.slice.call(arguments);
650        args.unshift(method);
651        trekkie.push(args);
652        if (method == 'track' || method == 'page') {
653          var pageUrl;
654          try {
655            pageUrl = window.location.href;
656          } catch (e) {}
657          var pageReferrer;
658          try {
659            pageReferrer = document.referrer;
660          } catch (e) {}
661          try {
662            if (window.__TREKKIE_SHIM_QUEUE == null) {
663              window.__TREKKIE_SHIM_QUEUE = [];
664            }
665            window.__TREKKIE_SHIM_QUEUE.push({
666              from: 'trekkie-stub',
667              method: method,
668              args: args.slice(1),
669              pageContext: {
670                url: pageUrl,
671                referrer: pageReferrer
672              }
673            });
674          } catch (e) {
675            // no-op
676          }
677        }
678        return trekkie;
679      };
680    };
681    for (var i = 0; i < trekkie.methods.length; i++) {
682      var key = trekkie.methods[i];
683      trekkie[key] = trekkie.factory(key);
684    }
685    trekkie.load = function(config) {
686      trekkie.config = config || {};
687      trekkie.config.initialDocumentCookie = document.cookie;
688      var first = document.getElementsByTagName('script')[0];
689var script = document.createElement('script');
690script.type = 'text/javascript';
691script.onerror = function(e) {
692  var scriptFallback = document.createElement('script');
693  scriptFallback.type = 'text/javascript';
694  scriptFallback.onerror = function(error) {
695          var Monorail = {
696      produce: function produce(monorailDomain, schemaId, payload) {
697        var currentMs = new Date().getTime();
698        var event = {
699          schema_id: schemaId,
700          payload: payload,
701          metadata: {
702            event_created_at_ms: currentMs,
703            event_sent_at_ms: currentMs
704          }
705        };
706        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
707      },
708      sendRequest: function sendRequest(endpointUrl, payload) {
709        // Try the sendBeacon API
710        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
711          var blobData = new window.Blob([payload], {
712            type: 'text/plain'
713          });
714
715          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
716            return true;
717          } // sendBeacon was not successful
718
719        } // XHR beacon
720
721        var xhr = new XMLHttpRequest();
722
723        try {
724          xhr.open('POST', endpointUrl);
725          xhr.setRequestHeader('Content-Type', 'text/plain');
726          xhr.send(payload);
727        } catch (e) {
728          console.log(e);
729        }
730
731        return false;
732      },
733      isIos12: function isIos12() {
734        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
735      }
736    };
737    Monorail.produce('monorail-edge.shopifysvc.com',
738      'trekkie_storefront_load_errors/1.1',
739      {shop_id: 51723370679,
740      theme_id: 166957416706,
741      app_name: "storefront",
742      context_url: window.location.href,
743      source_url: "//furniture.mateli.jp/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js"});
744
745  };
746  scriptFallback.async = true;
747  scriptFallback.src = '//furniture.mateli.jp/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js';
748  first.parentNode.insertBefore(scriptFallback, first);
749};
750script.async = true;
751script.src = '//furniture.mateli.jp/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js';
752first.parentNode.insertBefore(script, first);
753
754    };
755    trekkie.load(
756      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":51723370679,"isMerchantRequest":null,"themeId":166957416706,"themeCityHash":"17960553727087791378","contentLanguage":"ja","currency":"JPY","eventMetadataId":"09d3afb0-e0aa-4c37-a4f5-22d495745ccd"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}}
757    );
758
759    var loaded = false;
760    trekkie.ready(function() {
761      if (loaded) return;
762      loaded = true;
763
764      window.ShopifyAnalytics.lib = window.trekkie;
765
766      var originalDocumentWrite = document.write;
767      document.write = customDocumentWrite;
768      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
769      document.write = originalDocumentWrite;
770
771      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
772      var token = match? match[1]: undefined;
773      if (!hasLoggedConversion(token)) {
774        setCookieIfConversion(token);
775        
776      }
777    });
778
779    window.ShopifyAnalytics.lib.page(null,{"pageType":"page","resourceType":"page","resourceId":103291715842,"requestId":"88356304-5ad3-4844-b23c-c46705102c8b-1791441980","shopifyEmitted":true});
780
781    var eventsListenerScript = document.createElement('script');
782    eventsListenerScript.async = true;
783    eventsListenerScript.src = "//furniture.mateli.jp/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
784    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
785})();</script>
785
786  
786<script>
787  if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
788    window.ga = function ga() {
789      (window.ga.q = window.ga.q || []).push(arguments);
790      if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
791        window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
792      }
793      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.");
794    };
795    if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
796      window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
797    }
798  }
799</script>
vendor: 1 bytes, line 799
799
800<script
801  defer
802  src="https://furniture.mateli.jp/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.10.0.min.js"
803  data-application="storefront-renderer"
804  data-shop-id="51723370679"
805  data-render-region="gcp-us-central1"
806  data-page-type="page"
807  data-theme-instance-id="166957416706"
808  data-theme-name="Dawn"
809  data-theme-version="8.0.0"
810  data-monorail-region="shop_domain"
811  data-resource-timing-sampling-rate="10"
812  data-shs="true"
813  data-shs-beacon="true"
814  data-shs-export-with-fetch="true"
815  data-shs-logs-sample-rate="1"
816  data-shs-beacon-endpoint="https://furniture.mateli.jp/api/collect"
817></script>
817
818<meta name="shopify-y" content="d914d940-acfa-4bb2-9b63-36af5e2e9990" data-expiration="1822999580000"><meta name="shopify-s" content="9eb409a7-93aa-4a81-86a2-830c60735398" data-expiration="1791443780000"><meta name="new-cookie-storage-activated" content="t">
819</head>
820
821  <body class='gradient'>
822    <a class='skip-to-content-link button visually-hidden' href='#MainContent'>
823      コンテンツに進む
824    </a>
825
826<script src='//furniture.mateli.jp/cdn/shop/t/204/assets/cart.js?v=119570459610097587301790902731' defer='defer'></script>
826
827
828<style>
829  .drawer {
830    visibility: hidden;
831  }
832  .cart-item .product-option dt {
833    font-weight: 600;
834  }
835  .cart-drawer__form .product-option {
836    display: flex;
837    gap: 5px;
838    flex-wrap: wrap;
839  }
840
841  .cart-drawer .cart-drawer__form .cart-items thead th:nth-child(2) {
842    padding-left: 15px;
843  }
844  .drawer__contents .cart-item {
845    padding-left: 0;
846  }
847  .cart-drawer .cart-drawer__form .cart-items tr .cart-item__media {
848    position: relative;
849    grid-column: 1/1;
850    grid-row: 1/2;
851    width: 100%;
852    padding: 15px 0 0;
853  }
854
855  .cart-drawer .cart-drawer__form .cart-item__details {
856    grid-row: 1/2;
857    grid-column: 2/5;
858  }
859  .cart-drawer .cart-drawer__form .cart-items .cart-item__quantity {
860    grid-column: 1 / 4 !important;
861    grid-row: 2 / 2;
862    justify-content: center;
863    display: flex;
864  }
865  .cart-drawer .cart-drawer__form .cart-items tr .cart-item__totals {
866    grid-row: 2 / 2;
867    grid-column: 4 / 5;
868    display: flex;
869    align-items: center;
870    flex-direction: column;
871    padding: 0;
872    justify-content: center;
873    padding-bottom: 15px;
874  }
875  .cart-drawer .cart-drawer__form .cart-item .cart-item__totals::before {
876    content: '合計';
877  }
878  .cart-special-option {
879    line-height: 1.5em;
880    padding: 0.5em 1em;
881    white-space: normal;
882    color: #ff0000;
883    font-family: inherit;
884    font-size: 13px;
885    background-color: #e7e7e7;
886    margin-top: 12px !important;
887  }
888  .cart-item__remove-placeholder {
889    display: block !important;
890    width: 45px;
891    margin: 0.5rem 0 0 1.5rem;
892  }
893  .cart-special-option-warning h5 {
894    font-weight: 700;
895    margin: 3px 0;
896  }
897  .cart-special-option-warning p,
898  .cart-special-option-warning ul {
899    margin: 0;
900    font-size: 12px;
901    word-break: auto-phrase;
902  }
903  .cart-special-option-warning ul {
904    padding-left: 25px;
905  }
906  #CartDrawer-Form .cart-item.inventory-check .cart-item__totals.right::before {
907    display: none;
908  }
909  #CartDrawer-Form .cart-item.inventory-check .cart-item__totals.right {
910    padding-bottom: 0;
911  }
912  @media only screen and (min-width: 750px) {
913    .cart-special-option-warning h5 {
914      font-size: calc(var(--font-heading-scale) * 1.2rem);
915    }
916  }
917</style>
918
919
920
921
922<cart-drawer class='drawer is-empty'>
923  <div id='CartDrawer' class='cart-drawer'>
924    <div id='CartDrawer-Overlay' class='cart-drawer__overlay'></div>
925    <div
926      class='drawer__inner'
927      role='dialog'
928      aria-modal='true'
929      aria-label='あなたのカート'
930      tabindex='-1'
931    ><div class='drawer__inner-empty'>
932          <div class='cart-drawer__warnings center'>
933            <div class='cart-drawer__empty-content'>
934              <div class='cart__empty-text h2'>カートは空です</div>
935              <button
936                class='drawer__close'
937                type='button'
938                onclick="this.closest('cart-drawer').close()"
939                aria-label='閉じる'
940              >
941                <svg
942  xmlns="http://www.w3.org/2000/svg"
943  aria-hidden="true"
944  focusable="false"
945  class="icon icon-close"
946  fill="none"
947  viewBox="0 0 18 17"
948>
949  <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">
950</svg>
951
952              </button>
953              <a href='/collections/all' class='button'>
954                買い物を続ける
955              </a><p class='cart__login-title h3'>アカウントをお持ちですか?</p>
956                <p class='cart__login-paragraph'>
957                  <a href="/account/login" class="link underlined-link">ログイン</a>することで、チェックアウトがスピーディーに行えます。
958                </p></div>
959          </div></div><div class='drawer__header'>
960        <div class='drawer__heading h2'>あなたのカート</div>
961        <button
962          class='drawer__close'
963          type='button'
964          onclick="this.closest('cart-drawer').close()"
965          aria-label='閉じる'
966        >
967          <svg
968  xmlns="http://www.w3.org/2000/svg"
969  aria-hidden="true"
970  focusable="false"
971  class="icon icon-close"
972  fill="none"
973  viewBox="0 0 18 17"
974>
975  <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">
976</svg>
977
978        </button>
979      </div>
980      <cart-drawer-items
981        
982          class=' is-empty'
983        
984      >
985        <form
986          action='/cart'
987          id='CartDrawer-Form'
988          class='cart__contents cart-drawer__form'
989          method='post'
990        >
991          <div id='CartDrawer-CartItems' class='drawer__contents js-contents'><p id='CartDrawer-LiveRegionText' class='visually-hidden' role='status'></p>
992            <p id='CartDrawer-LineItemStatus' class='visually-hidden' aria-hidden='true' role='status'>
993              読み込み中…
994            </p>
995          </div>
996          <div id='CartDrawer-CartErrors' role='alert'></div>
997        </form>
998      </cart-drawer-items>
999      <div class='drawer__footer'><!-- Start blocks -->
1000        <!-- Subtotals -->
1001
1002        <div class='cart-drawer__footer' >
1003          <div class='totals' role='status'>
1004            <div class='totals__subtotal h2'>小計</div>
1005            <p class='totals__subtotal-value'>Â¥0</p>
1006          </div>
1007
1008          <div></div>
1009
1010          <small class='tax-note caption-large rte'>税と<a href="/policies/shipping-policy">配送料</a>は購入手続き時に計算されます�</small>
1011        </div>
1012
1013        <!-- CTAs -->
1014
1015        <div class='cart__ctas' >
1016          <button type='submit' class='cart__update-button button button--secondary' form='CartDrawer-Form'>
1017            購入手続きに進む
1018          </button>
1019
1020          <noscript>
1021            <button
1022              type='submit'
1023              id='CartDrawer-Checkout'
1024              class='cart__checkout-button button'
1025              name='checkout'
1026              form='CartDrawer-Form'
1027              
1028                disabled
1029              
1030            >
1031              ご購入手続きへ
1032            </button>
1033          </noscript>
1034        </div>
1035      </div>
1036    </div>
1037  </div>
1038</cart-drawer>
1039
1040<script>
1041  document.addEventListener('DOMContentLoaded', function () {
1042    function isIE() {
1043      const ua = window.navigator.userAgent;
1044      const msie = ua.indexOf('MSIE ');
1045      const trident = ua.indexOf('Trident/');
1046
1047      return msie > 0 || trident > 0;
1048    }
1049
1050    if (!isIE()) return;
1051    const cartSubmitInput = document.createElement('input');
1052    cartSubmitInput.setAttribute('name', 'checkout');
1053    cartSubmitInput.setAttribute('type', 'hidden');
1054    document.querySelector('#cart').appendChild(cartSubmitInput);
1055    document.querySelector('#checkout').addEventListener('click', function (event) {
1056      document.querySelector('#cart').submit();
1057    });
1058  });
1059</script>
1059
1060<!-- BEGIN sections: header-group -->
1061<div id="shopify-section-sections--23888045408514__header_2_m9NeVx" class="shopify-section shopify-section-group-header-group section-header"><link rel="stylesheet" href="//furniture.mateli.jp/cdn/shop/t/204/assets/component-list-menu.min.css?v=108004255603861305101790902731" media="print" onload="this.media='all'">
1062<link rel="stylesheet" href="//furniture.mateli.jp/cdn/shop/t/204/assets/component-search.min.css?v=92541243337534023161790902730" media="print" onload="this.media='all'">
1063<link rel="stylesheet" href="//furniture.mateli.jp/cdn/shop/t/204/assets/component-menu-drawer.min.css?v=714920848680375651790902731" media="print" onload="this.media='all'">
1064<link rel="stylesheet" href="//furniture.mateli.jp/cdn/shop/t/204/assets/component-cart-notification.min.css?v=129849710190701587641790902731" media="print" onload="this.media='all'">
1065<link rel="stylesheet" href="//furniture.mateli.jp/cdn/shop/t/204/assets/component-cart-items.min.css?v=7102220040226984331790902731" media="print" onload="this.media='all'"><link rel="stylesheet" href="//furniture.mateli.jp/cdn/shop/t/204/assets/component-cart-drawer.min.css?v=168640238602359414671790902731" media="print" onload="this.media='all'">
1066    <noscript><link href="//furniture.mateli.jp/cdn/shop/t/204/assets/component-cart-drawer.min.css?v=168640238602359414671790902731" rel="stylesheet" type="text/css" media="all" /></noscript>
1067  
1068
1069
1070<link rel="stylesheet" href="//furniture.mateli.jp/cdn/shop/t/204/assets/component-cart.min.css?v=167432168725399137441790902731" media="print" onload="this.media='all'">
1071<link rel="stylesheet" href="//furniture.mateli.jp/cdn/shop/t/204/assets/component-totals.min.css?v=27010040447872204751790902731" media="print" onload="this.media='all'">
1072<link rel="stylesheet" href="//furniture.mateli.jp/cdn/shop/t/204/assets/component-price.min.css?v=127117214635422420591790902730" media="print" onload="this.media='all'">
1073<link rel="stylesheet" href="//furniture.mateli.jp/cdn/shop/t/204/assets/component-discounts.min.css?v=61058650067499349141790902730" media="print" onload="this.media='all'">
1074<link rel="stylesheet" href="//furniture.mateli.jp/cdn/shop/t/204/assets/component-loading-overlay.min.css?v=11224687867389226121790902730" media="print" onload="this.media='all'"><noscript><link href="//furniture.mateli.jp/cdn/shop/t/204/assets/component-list-menu.min.css?v=108004255603861305101790902731" rel="stylesheet" type="text/css" media="all" /></noscript>
1075<noscript><link href="//furniture.mateli.jp/cdn/shop/t/204/assets/component-search.min.css?v=92541243337534023161790902730" rel="stylesheet" type="text/css" media="all" /></noscript>
1076<noscript><link href="//furniture.mateli.jp/cdn/shop/t/204/assets/component-menu-drawer.min.css?v=714920848680375651790902731" rel="stylesheet" type="text/css" media="all" /></noscript>
1077<noscript><link href="//furniture.mateli.jp/cdn/shop/t/204/assets/component-cart-notification.min.css?v=129849710190701587641790902731" rel="stylesheet" type="text/css" media="all" /></noscript>
1078<noscript><link href="//furniture.mateli.jp/cdn/shop/t/204/assets/component-cart-items.min.css?v=7102220040226984331790902731" rel="stylesheet" type="text/css" media="all" /></noscript>
1078<script src="//furniture.mateli.jp/cdn/shop/t/204/assets/details-disclosure.min.js?v=113062086430855551821790902731" defer="defer"></script>
vendor: 2 bytes, line 1078
1078
1079<script src="//furniture.mateli.jp/cdn/shop/t/204/assets/details-modal.min.js?v=70385360863995498871790902731" defer="defer"></script>
vendor: 2 bytes, line 1079
1079
1080<script src="//furniture.mateli.jp/cdn/shop/t/204/assets/cart-notification.min.js?v=164016035822012113881790902731" defer="defer"></script>
vendor: 2 bytes, line 1080
1080
1081<script src="//furniture.mateli.jp/cdn/shop/t/204/assets/search-form.min.js?v=167880595181429635231790902731" defer="defer"></script>
1081<script src="//furniture.mateli.jp/cdn/shop/t/204/assets/cart-drawer.min.js?v=95308948832625359561790902731" defer="defer"></script>
1081<svg xmlns="http://www.w3.org/2000/svg" class="hidden">
1082  <symbol id="icon-search" viewbox="0 0 18 19" fill="none">
1083    <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"/>
1084  </symbol>
1085
1086  <symbol id="icon-reset" class="icon icon-close"  fill="none" viewBox="0 0 18 18" stroke="currentColor">
1087    <circle r="8.5" cy="9" cx="9" stroke-opacity="0.2"/>
1088    <path d="M6.82972 6.82915L1.17193 1.17097" stroke-linecap="round" stroke-linejoin="round" transform="translate(5 5)"/>
1089    <path d="M1.22896 6.88502L6.77288 1.11523" stroke-linecap="round" stroke-linejoin="round" transform="translate(5 5)"/>
1090  </symbol>
1091
1092  <symbol id="icon-close" class="icon icon-close" fill="none" viewBox="0 0 18 17">
1093    <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">
1094  </symbol>
1095</svg>
1096
1097
1098<style>
1099  header-drawer {
1100    justify-self: start;
1101  }@media screen and (min-width: 990px) {
1102      header-drawer {
1103        display: none;
1104      }
1105    }.menu-drawer-container {
1106    display: flex;
1107  }
1108
1109  .list-menu {
1110    list-style: none;
1111    padding: 0;
1112    margin: 0;
1113  }
1114
1115  .list-menu--inline {
1116    display: inline-flex;
1117    flex-wrap: wrap;
1118  }
1119
1120  summary.list-menu__item {
1121    padding-right: 2.7rem;
1122  }
1123
1124  .list-menu__item {
1125    display: flex;
1126    align-items: center;
1127    line-height: calc(1 + 0.3 / var(--font-body-scale));
1128  }
1129
1130  .list-menu__item--link {
1131    text-decoration: none;
1132    padding-bottom: 1rem;
1133    padding-top: 1rem;
1134    line-height: calc(1 + 0.8 / var(--font-body-scale));
1135  }
1136
1137  @media screen and (min-width: 750px) {
1138    .list-menu__item--link {
1139      padding-bottom: 0.5rem;
1140      padding-top: 0.5rem;
1141    }
1142
1143  }
1144
1145  .header {
1146    padding: 10px 3rem 10px 3rem;
1147  }
1148
1149  .section-header {
1150    position: sticky; /* This is for fixing a Safari z-index issue. PR #2147 */
1151    margin-bottom: 0px;
1152  }
1153
1154  @media screen and (min-width: 750px) {
1155    .section-header {
1156      margin-bottom: 0px;
1157    }
1158  }
1159
1160  @media screen and (min-width: 990px) {
1161    .header {
1162      padding-top: 20px;
1163      padding-bottom: 20px;
1164    }
1165  }
1166  
1167  @media (min-width: 990px) {    
1168    .header__inline-menu a, .header__inline-menu span {
1169      font-weight: 600;
1170    }
1171  }
1172
1173  .header-wrapper {
1174    background-color: var(--mateli-background-1);
1175    min-height: 95px;
1176  }
1177  .shopify-section-header-sticky.scrolled-past-header .header-wrapper {
1178    min-height: auto;
1179  }
1180  #menu-drawer {
1181    background-color: var(--mateli-background-2);
1182    box-shadow: inset 0px 2px 10px gray;
1183  }
1184  /** General **/
1185  .link, .customer a{
1186    text-decoration: none;
1187    color: inherit;
1188  }
1189
1190  /** Header **/ 
1191  .header {
1192    grid-template-areas: "heading icons";
1193    grid-template-columns: 2fr 2fr;
1194    padding: 10px 1rem 10px 1rem;
1195  }
1196  .menu-drawer__navigation {
1197    margin: 0 50px;
1198    padding: 35px 0;
1199  }
1200  .menu-drawer__navigation-container {
1201    display: flex;
1202    flex-direction: column;
1203  }
1204  .header__icon svg {
1205    height: 20px;
1206    width: 20px;
1207    margin-right: 3px;
1208  }
1209  .cart-count-bubble {
1210    background-color:  rgb(42, 173, 205);
1211  }
1212  span.menu-txt, .search-txt, .cart-title,.login-title {
1213    font-size: 9px;
1214    font-family: var(--font-body-family);
1215    width: 100%;
1216    text-align: center;
1217    display: block;
1218    font-weight: 600;
1219  }
1220  .login-title {
1221    letter-spacing: -1px;
1222  }
1223  .header__icon.header__icon--cart {
1224    display: flex;
1225    flex-direction: column;
1226    justify-content: flex-end;
1227  }
1228  .header__icon.header__icon--search, .header__icon.header__icon--menu,.header__icon.header__icon--account account-icon {
1229    display: flex;
1230    flex-direction: column;
1231    justify-content: flex-end;
1232  }
1233  .header__icon.header__icon--account account-icon {
1234    height: 100%;
1235  }
1236  .menu-drawer-container:not(.menu-opening) .menu-txt.menu-menu {
1237    display: block;
1238  }
1239  .menu-drawer-container.menu-opening .menu-txt.menu-menu {
1240    display: none;
1241  }
1242  .menu-drawer-container:not(.menu-opening) .menu-txt.menu-close {
1243    display: none;
1244  }
1245  .menu-drawer-container.menu-opening .menu-txt.menu-close {
1246    display: block;
1247  }
1248  .menu-header {
1249    display: flex;
1250    flex-direction: row;
1251    justify-content: flex-start;
1252    align-items: center;
1253    height: fit-content;
1254    padding: 35px 0;
1255    column-gap: 9px;
1256    margin: 0 50px;
1257    border-bottom: 1px solid #262728;
1258  }
1259
1260  .menu-header-h2 {
1261    font-family: var(--font-cinzel);
1262    font-weight: 400;
1263    font-size: 5.6vw;
1264    line-height: normal;
1265    color: #333;
1266  }
1267
1268  .menu-header span {
1269    font-family: var(--font-body-family);
1270    line-height: normal;
1271    font-size: 3.5vw;
1272    font-size: 3.5vw;
1273    margin-bottom: 3px;    
1274  }
1275  .menu-button-wrapper {
1276    padding: 35px 0;
1277    display: flex;
1278    flex-direction: row;
1279    justify-content: center;
1280    column-gap: 15px;
1281    max-width: 100%;
1282    flex-wrap: wrap;
1283    row-gap: 4.6vw;
1284    margin: 0 50px;
1285    border-bottom: 1px solid #262728;
1286  }
1287  .menu-drawer__navigation {
1288    border-bottom: 1px solid #262728;
1289  }
1290  .menu-button-wrapper a {
1291    padding: 10px 10px;
1292    width: calc((100% / 2) - 10px);
1293    text-align: center;
1294    border: 1px solid var(--mateli-background-4);
1295    color: #333;
1296    min-width: fit-content;
1297    font-size: 3.5vw;
1298  }
1299
1300  .menu-button-wrapper a:first-child {
1301    background-color: var(--mateli-background-4);
1302  }
1303  .menu-button.button-1 {
1304    color: white;
1305  }
1306  .menu-drawer__navigation .menu-eng {
1307    font-size: 5vw;
1308    line-height: normal;
1309  }
1310
1311  .menu-drawer__navigation .menu-jp {
1312    font-size: 3.5vw;
1313    line-height: normal;
1314  }
1315
1316
1317  .menu-drawer__navigation li a {
1318    display: flex;
1319    flex-direction: row;
1320    justify-content: flex-start;
1321    align-items: center;
1322    column-gap: 15px;
1323  }
1324  .menu-drawer__footer ul.menu-drawer__menu.list-menu {
1325    padding: 1vw 0 1vw 3vw;
1326  }
1327
1328  /** Package 01 2025/02 **/
1329  .header__icon span {
1330    display: flex;
1331    align-items: center;
1332    justify-content: flex-end;
1333    flex-direction: column;
1334  }
1335  .header__icon span {
1336    height: unset;
1337  }
1338  .header__search {
1339    line-height: unset;
1340  }
1341  .header__heading-logo {
1342    width: 140px;
1343  }
1344  .header__icons {
1345    padding-right: .8rem;
1346  }
1347  .header__icon--cart {
1348    margin-right: unset;
1349  }
1350  .menu-drawer {
1351    width: 100%;
1352  }
1353  sticky-header {
1354    padding: 20px 0;
1355    /* ponytail: deliberate snap - header shrink fires every scroll direction change (frequency rule) and padding is a layout prop; restore a transform-based shrink if motion is wanted */
1356  }
1357  .header:not(.drawer-menu).page-width {
1358    padding: 0 1.5rem;
1359  }
1360  .header__heading, .header__heading-link {
1361    justify-self: start;
1362  }
1363  .section-header.scrolled-past-header sticky-header {
1364    padding: 5px 0;
1365  }
1366
1367  .section-header.scrolled-past-header img.header__heading-logo {
1368    width: 90%;
1369    height: auto;
1370    margin: auto;
1371    display: block;
1372    max-width: 140px;
1373  }
1374  .shopify-section-group-header-group .announcement-bar-section {
1375    width: 100%;
1376    min-height: 34px;
1377    display: block;
1378    position: relative;
1379    top: 0;
1380  }
1381  p.announcement-bar__message {
1382    font-family: var(--font-body-family), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
1383    font-weight: 400 !important;
1384    font-size: 11px;
1385    line-height: 14px;
1386  }
1387  .announcement-bar {
1388    background: #e4e1dc;
1389    color: #000000;
1390  }
1391  .section-header.scrolled-past-header .announcement-bar-section {
1392    display: none;
1393  }
1394  .section-header.scrolled-past-header .header-wrapper {
1395    min-height: unset;
1396    height: fit-content;
1397  }
1398  @media screen and (min-width: 990px) and (max-width: 1150px){
1399    .header__submenu .header__submenu .header__menu-item {
1400      font-size: 11px;
1401    }
1402  }
1403  @media screen and (min-width: 750px){
1404    .header:not(.drawer-menu).page-width {
1405      padding: 0 5rem;
1406    }
1407  }
1408  @media screen and (min-width: 990px) {
1409    .header {
1410      grid-template-areas: "heading navigation icons";
1411      grid-template-columns: 1fr 3fr 1fr; 
1412      padding-top: 1.5vw;
1413      padding-bottom: 1.5vw;
1414    }
1415    .header__icon.header__icon--cart {
1416      row-gap: 4px;
1417    }
1418    .header__icon.header__icon--search, .header__icon.header__icon--menu, .header__icon.header__icon--account account-icon {
1419      row-gap: 4px;
1420    }
1421    .header:not(.drawer-menu).page-width {
1422      padding-left: 5rem;
1423      padding-right: 5rem;
1424    }
1425    .section-header {
1426      position: relative;
1427    }
1428    .shopify-section-group-header-group .announcement-bar-section {
1429      min-height: 37px;
1430    }
1431  }
1432
1433</style><sticky-header data-sticky-type="on-scroll-up" class="header-wrapper color-background-1 gradient header-wrapper--border-bottom">
1434  <header class="header header--middle-left header--mobile-center page-width header--has-menu " data-section-id="header" data-section-type="header" data-section-settings='{
1435    "showNewsletter": false
1436  }'>
1437<a href="/" class="header__heading-link link link--text focus-inset"><img
1438      src="//furniture.mateli.jp/cdn/shop/files/mateli_logo_500373e0-a218-465a-ae10-8dbdcc905cc5_145x_2x_1.webp?v=1677212524&width=500"
1439      srcset="
1440        //furniture.mateli.jp/cdn/shop/files/mateli_logo_500373e0-a218-465a-ae10-8dbdcc905cc5_145x_2x_1.webp?v=1677212524&width=70 70w,
1441        //furniture.mateli.jp/cdn/shop/files/mateli_logo_500373e0-a218-465a-ae10-8dbdcc905cc5_145x_2x_1.webp?v=1677212524&width=140 140w,
1442        //furniture.mateli.jp/cdn/shop/files/mateli_logo_500373e0-a218-465a-ae10-8dbdcc905cc5_145x_2x_1.webp?v=1677212524&width=280 280w
1443      "
1444      sizes="140px"
1445
1446      sizes="140px"
1447      width="140"
1448      height="39"
1449      class="header__heading-logo motion-reduce"
1450      alt="株式会社mateli(マテリ) │ 美容器具・美容機器 ロゴ大"
1451      loading="eager"
1452    ></a>
1453
1454      �
1455<style>
1456  ul.list-menu.list-menu--inline li a {
1457    color: var(--mateli-text-1);
1458  }
1459  @media screen and (min-width: 990px) {
1460    details[open]>#HeaderMenu-MenuList-2 {
1461      z-index: 9;
1462      width: 100%;
1463      height: fit-content;
1464      padding: 3vw;
1465      top: 65px;
1466      left: 0;
1467      right: 0;
1468      position: absolute;
1469    }
1470    .global-settings-popup, .header__submenu.global-settings-popup {
1471      background-color: unset;
1472      box-shadow: unset;
1473      border: 0;
1474    }
1475
1476    details[open]#Details-HeaderMenu-2 {
1477      position: unset;
1478    }
1479    .header__submenu .header__submenu {
1480      background-color: transparent;
1481      padding: unset;
1482      margin: unset;
1483    }
1484    .list-menu--inline {
1485      align-items: center;
1486    }
1487    #HeaderMenu-MenuList-2 {
1488      display: flex;
1489      flex-direction: row;
1490      justify-content: space-between;
1491      position: relative;
1492      left: unset;
1493      top: unset;
1494      max-width: var(--page-width);
1495      margin: auto;
1496      min-width: unset;
1497      flex-wrap: wrap;
1498      width: 100%;
1499      column-gap: 1vw;
1500      padding: 1rem 1vw;
1501    }
1502    #details-subHeaderMenu {
1503      position: absolute;
1504      top: 7.3vw;
1505      margin: auto;
1506      width: 100%;
1507      left: 0;
1508      background-color: var(--mateli-background-1);
1509      z-index: 400;
1510    }
1511    #HeaderMenu-MenuList-2 .sub-menu-child {
1512      width: calc(25% - 1vw);
1513    }
1514  }
1515  @media screen and (min-width: 1200px) { 
1516    #details-subHeaderMenu {
1517      top: 95px;
1518    }
1519  }
1520</style>
1521
1522<nav class="header__inline-menu">
1523  <ul class="list-menu list-menu--inline" role="list"><li><a
1524            id="HeaderMenu-全カテゴリーから探す"
1525            href="/pages/categories"
1526            class="header__menu-item list-menu__item link link--text focus-inset"
1527            
1528          >
1529            <span
1530            >全カテゴリーから探す</span>
1531          </a></li><li><header-menu>
1532            <details id="Details-HeaderMenu-2">
1533              <summary
1534                id="HeaderMenu-商品"
1535                class="header__menu-item list-menu__item link focus-inset"
1536              >
1537                <span
1538                >商品</span><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg>
1539</summary>
1540              <div id="details-subHeaderMenu">
1541                <ul
1542                  id="HeaderMenu-MenuList-2"
1543                  class="header__submenu list-menu list-menu--disclosure color- gradient caption-large motion-reduce global-settings-popup"
1544                  role="list"
1545                  tabindex="-1"
1546                ><li class="sub-menu-child">
1547                        <div class="mateli_submenu_2">
1548                          <ul id="HeaderMenu-SubMenuList-商品-nbsp-"
1549                            class="header__submenu list-menu motion-reduce"><li class="sub-menu-grandchild">
1550                              <a id="HeaderMenu-商品-nbsp-スタイリングチェア"
1551                                href="/collections/stylingchair"
1552                                class="header__menu-item list-menu__item link link--text focus-inset caption-large"
1553                                >
1554                                スタイリングチェア
1555                              </a>
1556                            </li><li class="sub-menu-grandchild">
1557                              <a id="HeaderMenu-商品-nbsp-ワゴン"
1558                                href="/collections/wagon"
1559                                class="header__menu-item list-menu__item link link--text focus-inset caption-large"
1560                                >
1561                                ワゴン
1562                              </a>
1563                            </li><li class="sub-menu-grandchild">
1564                              <a id="HeaderMenu-商品-nbsp-パーテーション"
1565                                href="/collections/partition"
1566                                class="header__menu-item list-menu__item link link--text focus-inset caption-large"
1567                                >
1568                                パーテーション
1569                              </a>
1570                            </li>
1570<li class="sub-menu-grandchild">
1571                              <a id="HeaderMenu-商品-nbsp-看板"
1572                                href="/collections/signboard"
1573                                class="header__menu-item list-menu__item link link--text focus-inset caption-large"
1574                                >
1575                                看板
1576                              </a>
1577                            </li><li class="sub-menu-grandchild">
1578                              <a id="HeaderMenu-商品-nbsp-インテリア雑貨"
1579                                href="/collections/interior-goods"
1580                                class="header__menu-item list-menu__item link link--text focus-inset caption-large"
1581                                >
1582                                インテリア雑貨
1583                              </a>
1584                            </li></ul>
1585                        </div></li><li class="sub-menu-child">
1586                        <div class="mateli_submenu_2">
1587                          <ul id="HeaderMenu-SubMenuList-商品-nbsp-"
1588                            class="header__submenu list-menu motion-reduce"><li class="sub-menu-grandchild">
1589                              <a id="HeaderMenu-商品-nbsp-スツール-カットチェア"
1590                                href="/collections/stool"
1591                                class="header__menu-item list-menu__item link link--text focus-inset caption-large"
1592                                >
1593                                スツール / カットチェア
1594                              </a>
1595                            </li><li class="sub-menu-grandchild">
1596                              <a id="HeaderMenu-商品-nbsp-セット面-テーブル-カウンター"
1597                                href="/collections/surface-counter"
1598                                class="header__menu-item list-menu__item link link--text focus-inset caption-large"
1599                                >
1600                                セット面 / テーブル / カウンター
1601                              </a>
1602                            </li><li class="sub-menu-grandchild">
1603                              <a id="HeaderMenu-商品-nbsp-チェア-待合椅子"
1604                                href="/collections/chair"
1605                                class="header__menu-item list-menu__item link link--text focus-inset caption-large"
1606                                >
1607                                チェア / 待合椅子
1608                              </a>
1609                            </li><li class="sub-menu-grandchild">
1610                              <a id="HeaderMenu-商品-nbsp-ドライヤーホルダー"
1611                                href="/collections/dryer-holder"
1612                                class="header__menu-item list-menu__item link link--text focus-inset caption-large"
1613                                >
1614                                ドライヤーホルダー
1615                              </a>
1616                            </li><li class="sub-menu-grandchild">
1617                              <a id="HeaderMenu-商品-nbsp-アウトレット"
1618                                href="/collections/outlet"
1619                                class="header__menu-item list-menu__item link link--text focus-inset caption-large"
1620                                >
1621                                アウトレット
1622                              </a>
1623                            </li></ul>
1624                        </div></li><li class="sub-menu-child">
1625                        <div class="mateli_submenu_2">
1626                          <ul id="HeaderMenu-SubMenuList-商品-nbsp-"
1627                            class="header__submenu list-menu motion-reduce"><li class="sub-menu-grandchild">
1628                              <a id="HeaderMenu-商品-nbsp-ドレッサー"
1629                                href="/collections/dresser"
1630                                class="header__menu-item list-menu__item link link--text focus-inset caption-large"
1631                                >
1632                                ドレッサー
1633                              </a>
1634                            </li>
1634<li class="sub-menu-grandchild">
1635                              <a id="HeaderMenu-商品-nbsp-レジカウンター-レセプション"
1636                                href="/collections/reception-counter"
1637                                class="header__menu-item list-menu__item link link--text focus-inset caption-large"
1638                                >
1639                                レジカウンター / レセプション
1640                              </a>
1641                            </li><li class="sub-menu-grandchild">
1642                              <a id="HeaderMenu-商品-nbsp-サロン家具"
1643                                href="/collections/salon-furnitures"
1644                                class="header__menu-item list-menu__item link link--text focus-inset caption-large"
1645                                >
1646                                サロン家具
1647                              </a>
1648                            </li><li class="sub-menu-grandchild">
1649                              <a id="HeaderMenu-商品-nbsp-コンセントプラグ"
1650                                href="/collections/plug"
1651                                class="header__menu-item list-menu__item link link--text focus-inset caption-large"
1652                                >
1653                                コンセントプラグ
1654                              </a>
1655                            </li><li class="sub-menu-grandchild">
1656                              <a id="HeaderMenu-商品-nbsp-新商品"
1657                                href="/collections/new-item"
1658                                class="header__menu-item list-menu__item link link--text focus-inset caption-large"
1659                                >
1660                                新商品
1661                              </a>
1662                            </li></ul>
1663                        </div></li><li class="sub-menu-child">
1664                        <div class="mateli_submenu_2">
1665                          <ul id="HeaderMenu-SubMenuList-商品-nbsp-"
1666                            class="header__submenu list-menu motion-reduce"><li class="sub-menu-grandchild">
1667                              <a id="HeaderMenu-商品-nbsp-ミラー類-鏡"
1668                                href="/collections/salon-mirror"
1669                                class="header__menu-item list-menu__item link link--text focus-inset caption-large"
1670                                >
1671                                ミラー類/鏡
1672                              </a>
1673                            </li><li class="sub-menu-grandchild">
1674                              <a id="HeaderMenu-商品-nbsp-シャンプーキャビネット"
1675                                href="/collections/shampoo"
1676                                class="header__menu-item list-menu__item link link--text focus-inset caption-large"
1677                                >
1678                                シャンプーキャビネット
1679                              </a>
1680                            </li><li class="sub-menu-grandchild">
1681                              <a id="HeaderMenu-商品-nbsp-ネイルテーブル"
1682                                href="/collections/nailtable"
1683                                class="header__menu-item list-menu__item link link--text focus-inset caption-large"
1684                                >
1685                                ネイルテーブル
1686                              </a>
1687                            </li><li class="sub-menu-grandchild">
1688                              <a id="HeaderMenu-商品-nbsp-照明-電球"
1689                                href="/collections/lights"
1690                                class="header__menu-item list-menu__item link link--text focus-inset caption-large"
1691                                >
1692                                照明/電球
1693                              </a>
1694                            </li></ul>
1695                        </div></li></ul>
1696              </div>
1697            </details>
1698          </header-menu></li><li><a
1699            id="HeaderMenu-ショップガイド"
1700            href="/pages/guide"
1701            class="header__menu-item list-menu__item link link--text focus-inset"
1702            
1703          >
1704            <span
1705            >ショップガイド</span>
1706          </a></li><li><a
1707            id="HeaderMenu-よくある質問"
1708            href="/pages/question"
1709            class="header__menu-item list-menu__item link link--text focus-inset"
1710            
1711          >
1712            <span
1713            >よくある質問</span>
1714          </a></li></ul>
1715</nav>
1716�<div class="header__icons">
1717
1718      
1719<style>
1720  .header__icon span.search-svg {
1721    height: calc(100% - 16px);
1722  }
1723  
1724/** Package 01 - 2025/02 **/
1725.header__icon .icon {
1726  height: 20px;
1727  width: 20px;
1728  fill: none;
1729  vertical-align: middle;
1730  margin-right: 3px;
1731}
1732details .header__icon-close {
1733  display: none;
1734}
1735details[open] .header__icon-close {
1736  display: inline-block;
1737}
1738</style>
1739<details-modal class="header__search">
1740  <details>
1741    <summary
1742      class="header__icon header__icon--search header__icon--summary link focus-inset modal__toggle"
1743      aria-haspopup="dialog"
1744      aria-label="検索"
1745    >
1746      <span class="search-svg">
1747        <span class="svg-wrapper header__icon-search"><svg fill="none" class="icon icon-search" viewBox="0 0 18 19"><path fill="currentColor" fill-rule="evenodd" d="M11.03 11.68A5.784 5.784 0 1 1 2.85 3.5a5.784 5.784 0 0 1 8.18 8.18m.26 1.12a6.78 6.78 0 1 1 .72-.7l5.4 5.4a.5.5 0 1 1-.71.7z" clip-rule="evenodd"/></svg>
1748</span>
1749        <span class="svg-wrapper header__icon-close"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-close" viewBox="0 0 18 17"><path fill="currentColor" d="M.865 15.978a.5.5 0 0 0 .707.707l7.433-7.431 7.579 7.282a.501.501 0 0 0 .846-.37.5.5 0 0 0-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 1 0-.707-.708L8.991 7.853 1.413.573a.5.5 0 1 0-.693.72l7.563 7.268z"/></svg>
1750</span>
1751      </span>
1752      <div class="search-txt">サーチ</div>
1753    </summary>
1754    <div
1755      class="search-modal modal__content gradient"
1756      role="dialog"
1757      aria-modal="true"
1758      aria-label="検索"
1759    >
1760      <div class="modal-overlay"></div>
1761      <div
1762        class="search-modal__content search-modal__content-bottom"
1763        tabindex="-1"
1764      ><predictive-search class="search-modal__form" data-loading-text="読み込み中…"><form action="/search" method="get" role="search" class="search search-modal__form">
1765          <div class="field">
1766            <input
1767              class="search__input field__input"
1768              id="Search-In-Modal"
1769              type="search"
1770              name="q"
1771              value=""
1772              placeholder="検索"role="combobox"
1773                aria-expanded="false"
1774                aria-owns="predictive-search-results"
1775                aria-controls="predictive-search-results"
1776                aria-haspopup="listbox"
1777                aria-autocomplete="list"
1778                autocorrect="off"
1779                autocomplete="off"
1780                autocapitalize="off"
1781                spellcheck="false">
1782            <label class="field__label" for="Search-In-Modal">検索</label>
1783            <input type="hidden" name="options[prefix]" value="last">
1784            <button
1785              type="reset"
1786              class="reset__button field__button hidden"
1787              aria-label="検索ワードをクリアする"
1788            >
1789              <span class="svg-wrapper"><svg fill="none" stroke="currentColor" class="icon icon-close" viewBox="0 0 18 18"><circle cx="9" cy="9" r="8.5" stroke-opacity=".2"/><path stroke-linecap="round" stroke-linejoin="round" d="M11.83 11.83 6.172 6.17M6.229 11.885l5.544-5.77"/></svg>
1790</span>
1791            </button>
1792            <button class="search__button field__button" aria-label="検索">
1793              <span class="svg-wrapper"><svg fill="none" class="icon icon-search" viewBox="0 0 18 19"><path fill="currentColor" fill-rule="evenodd" d="M11.03 11.68A5.784 5.784 0 1 1 2.85 3.5a5.784 5.784 0 0 1 8.18 8.18m.26 1.12a6.78 6.78 0 1 1 .72-.7l5.4 5.4a.5.5 0 1 1-.71.7z" clip-rule="evenodd"/></svg>
1794</span>
1795            </button>
1796          </div><div class="predictive-search predictive-search--header" tabindex="-1" data-predictive-search>Liquid error (snippets/header-search line 105): Could not find asset snippets/loading-spinner.liquid</div>
1797
1798            <span class="predictive-search-status visually-hidden" role="status" aria-hidden="true"></span></form></predictive-search><button
1799          type="button"
1800          class="search-modal__close-button modal__close-button link link--text focus-inset"
1801          aria-label="閉じる"
1802        >
1803          <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-close" viewBox="0 0 18 17"><path fill="currentColor" d="M.865 15.978a.5.5 0 0 0 .707.707l7.433-7.431 7.579 7.282a.501.501 0 0 0 .846-.37.5.5 0 0 0-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 1 0-.707-.708L8.991 7.853 1.413.573a.5.5 0 1 0-.693.72l7.563 7.268z"/></svg>
1804</span>
1805        </button>
1806      </div>
1807    </div>
1808  </details>
1809</details-modal>
1810�<a href="/account/login" class="header__icon header__icon--account link focus-inset small-hide  medium-hide">
1811          <account-icon>
1812            <span class="svg-wrapper"><svg
1813  xmlns="http://www.w3.org/2000/svg"
1814  aria-hidden="true"
1815  focusable="false"
1816  class="icon icon-account"
1817  fill="none"
1818  viewBox="0 0 18 19"
1819>
1820  <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">
1821</svg>
1822</span>
1823            <div class="login-title">ログイン</div>
1824          </account-icon>
1825        </a><a href="/cart" class="header__icon header__icon--cart link focus-inset" id="cart-icon-bubble">
1826        
1827          <span class="svg-wrapper cart-empty"><?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 700 700"> <defs> <style> .cart_icon-1 { fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 26px; } </style> </defs><g> <g id="_cart_icon_layer_1" data-name="cart_icon_layer_1"> <path class="cart_icon-1" d="M160,116.7h490l-66.7,233.3H195.9M616.7,483.3H216.7L150,50H50M250,616.7c0,18.4-14.9,33.3-33.3,33.3s-33.3-14.9-33.3-33.3,14.9-33.3,33.3-33.3,33.3,14.9,33.3,33.3ZM616.7,616.7c0,18.4-14.9,33.3-33.3,33.3s-33.3-14.9-33.3-33.3,14.9-33.3,33.3-33.3,33.3,14.9,33.3,33.3Z"/> </g> </g></svg></span>
1828        
1829        <span class="cart-title">カート</span>
1830        <span class="visually-hidden">カート</span></a>
1831<style>
1832  .menu-sub-arrow svg {
1833    width: 2.98vw;
1834  }
1835  .menu-sub-arrow .menu_icon2 {
1836    fill: var(--mateli-background-4);
1837  }
1838  .menu-sub-arrow .menu_icon1 {
1839    fill: white;
1840  }
1841  .sub-title_submenu:not(.selected) .menu-drawer_sub-title {
1842    display: none;
1843  }
1844  .sub-title_submenu.selected .menu-drawer_sub-title {
1845    width: 100%;
1846    padding-left: 5vw;
1847    display: flex;
1848    flex-direction: row;
1849    flex-wrap: wrap;
1850    justify-content: space-between;
1851    margin-top: 5px;
1852  }
1853  .sub-title_submenu .menu-sub-arrow {
1854    transform: rotate(0deg);
1855    transition: all 300ms 0s ease;
1856  }
1857  .sub-title_submenu.selected .menu-sub-arrow {
1858    transform: rotate(90deg);
1859    transition: all 300ms 0s ease;
1860  }
1861  .menu-drawer_sub-title .title-sub {
1862    width: calc((100% / 2) - 5px);
1863  }
1864
1865  .menu-drawer_sub-button {
1866    display: flex;
1867    flex-direction: row;
1868    justify-content: flex-start;
1869    align-items: center;
1870    column-gap: 15px;
1871    padding: 1vw 0;
1872  }
1873
1874  .menu-sub-arrow {
1875    height: fit-content;
1876    line-height: normal;
1877  }
1878  .menu-drawer_sub-title .title-sub a {
1879    padding: 5px 0;
1880    cursor: pointer;
1881    font-size: 3vw;
1882    letter-spacing: 0;
1883  }
1884  .menu-drawer__menu.has-submenu {
1885  }
1886
1887  .menu-drawer__navigation .menu-drawer__menu.has-submenu .menu-jp {
1888    margin-top: 4px;
1889  }
1890
1891  .menu-drawer__navigation .menu-drawer__menu.has-submenu .menu-sub-arrow {
1892    margin-top: 6px;
1893  }
1894  li:not(.sub-title_submenu) a {
1895    padding: 0;
1896  }
1897  a.breadcrumbs__link,
1898  li.breadcrumbs__item a {
1899    letter-spacing: 0.5px;
1900    font-size: 11.2px;
1901  }
1902  .sub-title_submenu.sub-title-contact.selected .title-sub {
1903    width: 100%;
1904  }
1905  .menu-drawer__navigation-2 {
1906    margin: 0 50px;
1907    padding: 35px 0;
1908  }
1909  nav.menu-drawer__navigation-2 li a,
1910  nav.menu-drawer__navigation-3 li a {
1911    font-size: 3.5vw;
1912  }
1913  .menu-header,
1914  .menu-button-wrapper,
1915  .menu-drawer__navigation,
1916  .menu-drawer__navigation-2,
1917  .menu-drawer__navigation-3 {
1918    padding: 5.5vw 0;
1919    margin: 0 6.2vw;
1920  }
1921
1922  .drawer__footer-submenu {
1923    display: none;
1924  }
1925  .menu-drawer__footer.selected .drawer__footer-submenu {
1926    display: flex;
1927    flex-direction: column;
1928    margin-top: 5px;
1929  }
1930  .drawer__footer-title span {
1931    font-size: 5vw;
1932    line-height: 4.8vw;
1933  }
1934
1935  ul.menu-drawer__menu.list-menu {
1936    padding: 1vw 0;
1937  }
1938  .menu-drawer__footer.drawer__footer-2 {
1939    padding: 6vw 0;
1940  }
1941  .drawer__footer-title.drawer__footer-subtitle {
1942    display: flex;
1943    column-gap: 15px;
1944  }
1945  @media screen and (min-width: 500px) {
1946    .menu-header,
1947    .menu-button-wrapper,
1948    .menu-drawer__navigation,
1949    .menu-drawer__navigation-2,
1950    .menu-drawer__navigation-3 {
1951      padding: 7.25vw 0;
1952      margin: 0 13.2vw;
1953    }
1954    .menu-drawer_sub-title .title-sub a {
1955      font-size: 2.7vw;
1956    }
1957  }
1958</style>
1959<header-drawer data-breakpoint='tablet'>
1960  <details id='Details-menu-drawer-container' class='menu-drawer-container'>
1961    <summary
1962      class='header__icon header__icon--menu header__icon--summary link focus-inset'
1963      aria-label='メニュー'
1964    >
1965      <span class='menu-svg'><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-hamburger" viewBox="0 0 18 16"><path fill="currentColor" d="M1 .5a.5.5 0 1 0 0 1h15.71a.5.5 0 0 0 0-1zM.5 8a.5.5 0 0 1 .5-.5h15.71a.5.5 0 0 1 0 1H1A.5.5 0 0 1 .5 8m0 7a.5.5 0 0 1 .5-.5h15.71a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5"/></svg>
1966<svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-close" viewBox="0 0 18 17"><path fill="currentColor" d="M.865 15.978a.5.5 0 0 0 .707.707l7.433-7.431 7.579 7.282a.501.501 0 0 0 .846-.37.5.5 0 0 0-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 1 0-.707-.708L8.991 7.853 1.413.573a.5.5 0 1 0-.693.72l7.563 7.268z"/></svg>
1967</span>
1968      <span class='menu-txt menu-menu'>メニュー</span>
1969      <span class='menu-txt menu-close'>閉じる</span>
1970    </summary>
1971    <div id='menu-drawer' class='gradient menu-drawer motion-reduce color-'>
1972      <div class='menu-drawer__inner-container'>
1973        <div class='menu-drawer__navigation-container'>
1974          <div class='menu-header'>
1975            <div class='menu-header-h2'>MENU</div>
1976            <span>メニュー</span>
1977          </div>
1978          <div class='menu-button-wrapper'>
1979            <a
1980              href='/account/login'
1981              class=''
1982            >
1983              <div class='menu-button button-1'>ログイン</div>
1984            </a>
1985            <a href='/account/register'>
1986              <div class='menu-button button-2'>新規会員登録</div>
1987            </a>
1988            <a href='/pages/recently-viewed-products' style='display: none;'>
1989              <div class='menu-button button-3'>閲覧履歴</div>
1990            </a>
1991          </div>
1992          <nav class='menu-drawer__navigation'>
1993            <ul class='menu-drawer__menu has-submenu list-menu' role='list'>
1994              <li>
1995                <a href='/'>
1996                  <span class='menu-eng'>TOP</span>
1997                  <span class='menu-jp'>トップページ</span>
1998                </a>
1999              </li>
2000              <li class='sub-title_submenu'>
2001                <div class='menu-drawer_sub-wrapper'>
2002                  <div class='menu-drawer_sub-button'>
2003                    <span class='menu-eng'>CATEGORIES</span>
2004                    <span class='menu-jp'>商品カテゴリー</span>
2005                    <div class='menu-sub-arrow'>
2006                      <svg
2007                        id='_menu_icon_2'
2008                        data-name='menu_icon 2'
2009                        xmlns='http://www.w3.org/2000/svg'
2010                        viewBox='0 0 17.52 26.58'
2011                      >
2012                          <defs>
2013                            <style>
2014                              .menu_icon1 {
2015                                fill: #4d4d4d;
2016                              }
2017                              .menu_icon2 {
2018                                fill: #fff;
2019                              }
2020                            </style>
2021                          </defs>
2022                          <g id="text">
2023                          <g>
2024                            <path class="menu_icon2" d="M2.65,0h12.21c1.46,0,2.65,1.19,2.65,2.65v21.27c0,1.46-1.19,2.65-2.65,2.65H2.65c-1.46,0-2.65-1.19-2.65-2.65V2.65C0,1.19,1.19,0,2.65,0Z"></path>
2025                            <polygon class="menu_icon1" points="6.16 20.54 5.63 20.01 12.35 13.29 5.63 6.57 6.16 6.04 13.41 13.29 6.16 20.54"></polygon>
2026                          </g>
2027                        </g>
2028                      </svg>
2029                    </div>
2030                  </div>
2031                  <div class='menu-drawer_sub-title'>
2032                    <div class='title-sub'>
2033                      <a href='/collections/stylingchair'>スタイリングチェア</a>
2034                    </div>
2035                    <div class='title-sub'>
2036                      <a href='/collections/dresser'>ドレッサー</a>
2037                    </div>
2038                    <div class='title-sub'>
2039                      <a href='/collections/reception-counter'>レセプションカウンター</a>
2040                    </div>
2041                    <div class='title-sub'>
2042                      <a href='/collections/shampoo'>シャンプーキャビネット</a>
2043                    </div>
2044                    <div class='title-sub'>
2045                      <a href='/collections/salon-mirror'>ミラー類 / 鏡</a>
2046                    </div>
2047                    <div class='title-sub'>
2048                      <a href='/collections/wagon'>ワゴン</a>
2049                    </div>
2050                    <div class='title-sub'>
2051                      <a href='/collections/surface-counter'>テーブル / カウンター</a>
2052                    </div>
2053                    <div class='title-sub'>
2054                      <a href='/collections/stool'>スツール / カットチェア</a>
2055                    </div>
2056                    <div class='title-sub'>
2057                      <a href='/collections/partition'>パーテーション</a>
2058                    </div>
2059                    <div class='title-sub'>
2060                      <a href='/collections/chair'>チェア / 待合椅子</a>
2061                    </div>
2062                    <div class='title-sub'>
2063                      <a href='/collections/salon-furnitures'>サロン家具</a>
2064                    </div>
2065                    <div class='title-sub'>
2066                      <a href='/collections/nailtable'>ネイルテーブル</a>
2067                    </div>
2068                    <div class='title-sub'>
2069                      <a href='/collections/signboard'>看板</a>
2070                    </div>
2071                    <div class='title-sub'>
2072                      <a href='/collections/dryer-holder'>ドライヤーホルダー</a>
2073                    </div>
2074                    <div class='title-sub'>
2075                      <a href='/collections/plug'>コンセントプラグ</a>
2076                    </div>
2077                    <div class='title-sub'>
2078                      <a href='/collections/lights'>照明 / 電球</a>
2079                    </div>
2080                    <div class='title-sub'>
2081                      <a href='/collections/interior-goods'>インテリア雑貨</a>
2082                    </div>
2083                    <div class='title-sub'>
2084                      <a href='/collections/outlet'>アウトレット</a>
2085                    </div>
2086                    <div class='title-sub'>
2087                      <a href='/collections/new-item'>新商品</a>
2088                    </div>
2089                  </div>
2090                </div>
2091              </li>
2092              <li>
2093                <a href='/blogs/news'>
2094                  <span class='menu-eng'>NEWS</span>
2095                  <span class='menu-jp'>ニュース</span>
2096                </a>
2097              </li>
2098              <li>
2099                <a href='/pages/mateli-video'>
2100                  <span class='menu-eng'>VIDEOS</span>
2101                  <span class='menu-jp'>商品動画</span>
2102                </a>
2103              </li>
2104              <li>
2105                <a href='/pages/reservation'>
2106                  <span class='menu-eng'>SHOWROOM</span>
2107                  <span class='menu-jp'>ショールーム</span>
2108                </a>
2109              </li>
2110              <li class='sub-title_submenu sub-title-contact'>
2111                <div class='menu-drawer_sub-wrapper'>
2112                  <div class='menu-drawer_sub-button'>
2113                    <span class='menu-eng'>CONTACT</span>
2114                    <span class='menu-jp'>お問い合わせ</span>
2115                    <div class='menu-sub-arrow'>
2116                      <svg
2117                        id='_menu_icon_2'
2118                        data-name='menu_icon 2'
2119                        xmlns='http://www.w3.org/2000/svg'
2120                        viewBox='0 0 17.52 26.58'
2121                      >
2122                          <defs>
2123                            <style>
2124                              .menu_icon1 {
2125                                fill: #4d4d4d;
2126                              }
2127                              .menu_icon2 {
2128                                fill: #fff;
2129                              }
2130                            </style>
2131                          </defs>
2132                          <g id="text">
2133                          <g>
2134                            <path class="menu_icon2" d="M2.65,0h12.21c1.46,0,2.65,1.19,2.65,2.65v21.27c0,1.46-1.19,2.65-2.65,2.65H2.65c-1.46,0-2.65-1.19-2.65-2.65V2.65C0,1.19,1.19,0,2.65,0Z"></path>
2135                            <polygon class="menu_icon1" points="6.16 20.54 5.63 20.01 12.35 13.29 5.63 6.57 6.16 6.04 13.41 13.29 6.16 20.54"></polygon>
2136                          </g>
2137                        </g>
2138                      </svg>
2139                    </div>
2140                  </div>
2141                  <div class='menu-drawer_sub-title'>
2142                    <div class='title-sub'>
2143                      <a href='/pages/contact-maintenance-line'>初期不良・メンテナンス・修理</a>
2144                    </div>
2145                    <div class='title-sub'>
2146                      <a href='/pages/support'>お問い合わせ</a>
2147                    </div>
2148                  </div>
2149                </div>
2150              </li>
2151            </ul>
2152          </nav>
2153
2154          <nav class='menu-drawer__navigation-3 '>
2155            <div class='menu-drawer__footer drawer__footer-1 sub-title_submenu  selected'>
2156              <div class='drawer__footer-title drawer__footer-subtitle'>
2157                <span>お買い物ガイド</span>
2158                <div class='menu-sub-arrow'>
2159                  <svg
2160                    id='_menu_icon_2'
2161                    data-name='menu_icon 2'
2162                    xmlns='http://www.w3.org/2000/svg'
2163                    viewBox='0 0 17.52 26.58'
2164                  >
2165                      <defs>
2166                        <style>
2167                          .menu_icon1 {
2168                            fill: #4d4d4d;
2169                          }
2170                          .menu_icon2 {
2171                            fill: #fff;
2172                          }
2173                        </style>
2174                      </defs>
2175                      <g id="text">
2176                      <g>
2177                        <path class="menu_icon2" d="M2.65,0h12.21c1.46,0,2.65,1.19,2.65,2.65v21.27c0,1.46-1.19,2.65-2.65,2.65H2.65c-1.46,0-2.65-1.19-2.65-2.65V2.65C0,1.19,1.19,0,2.65,0Z"></path>
2178                        <polygon class="menu_icon1" points="6.16 20.54 5.63 20.01 12.35 13.29 5.63 6.57 6.16 6.04 13.41 13.29 6.16 20.54"></polygon>
2179                      </g>
2180                    </g>
2181                  </svg>
2182                </div>
2183              </div>
2184              <ul class='menu-drawer__menu  list-menu drawer__footer-submenu'>
2185                <li>
2186                  <a href='/pages/guide'>ショップガイド</a>
2187                </li>
2188                <li>
2189                  <a href='/pages/question'>よくある質問一覧</a>
2190                </li>
2191                <li>
2192                  <a href='/policies/refund-policy'>返品・交換について</a>
2193                </li>
2194                <li>
2195                  <a href='/policies/shipping-policy'>配送・送料について</a>
2196                </li>
2197                <li>
2198                  <a href='/pages/cad'>図面ダウンロード</a>
2199                </li>
2200              </ul>
2201            </div>
2202            <div class='menu-drawer__footer drawer__footer-2 sub-title_submenu'>
2203              <div class='drawer__footer-title drawer__footer-subtitle'>
2204                <span>お客様サポート</span>
2205                <div class='menu-sub-arrow'>
2206                  <svg
2207                    id='_menu_icon_2'
2208                    data-name='menu_icon 2'
2209                    xmlns='http://www.w3.org/2000/svg'
2210                    viewBox='0 0 17.52 26.58'
2211                  >
2212                      <defs>
2213                        <style>
2214                          .menu_icon1 {
2215                            fill: #4d4d4d;
2216                          }
2217                          .menu_icon2 {
2218                            fill: #fff;
2219                          }
2220                        </style>
2221                      </defs>
2222                      <g id="text">
2223                      <g>
2224                        <path class="menu_icon2" d="M2.65,0h12.21c1.46,0,2.65,1.19,2.65,2.65v21.27c0,1.46-1.19,2.65-2.65,2.65H2.65c-1.46,0-2.65-1.19-2.65-2.65V2.65C0,1.19,1.19,0,2.65,0Z"></path>
2225                        <polygon class="menu_icon1" points="6.16 20.54 5.63 20.01 12.35 13.29 5.63 6.57 6.16 6.04 13.41 13.29 6.16 20.54"></polygon>
2226                      </g>
2227                    </g>
2228                  </svg>
2229                </div>
2230              </div>
2231              <ul class='menu-drawer__menu  list-menu drawer__footer-submenu'>
2232                <li>
2233                  <a href='/pages/contact-maintenance-line'>修理のお問い合わせ</a>
2234                </li>
2235                <li>
2236                  <a href='/pages/contact-2'>お問い合わせ</a>
2237                </li>
2238                <li>
2239                  <a href='/pages/maintenance'>メンテナンス</a>
2240                </li>
2241                <li>
2242                  <a href='https://www.mateli.jp/forms/order_inquiries_and_stock_confirmation/'>見積書・注文フォーム</a>
2243                </li>
2244                <li>
2245                  <a href='https://www.mateli.jp/forms/agency_quotation_and_order/index.php'
2246                    >代理店見積書・注文フォーム</a
2247                  >
2248                </li>
2249                <li>
2250                  <a href='https://cdn.shopify.com/s/files/1/0517/2337/0679/files/order_sheet_new2024.pdf?v=1728028347'
2251                    >代理店専用オーダーフォーム</a
2252                  >
2253                </li>
2254                <li>
2255                  <a href='/pages/contract'>代理店契約</a>
2256                </li>
2257              </ul>
2258            </div>
2259            <div class='menu-drawer__footer drawer__footer-3 sub-title_submenu'>
2260              <div class='drawer__footer-title drawer__footer-subtitle'>
2261                <span>マテリについて</span>
2262                <div class='menu-sub-arrow'>
2263                  <svg
2264                    id='_menu_icon_2'
2265                    data-name='menu_icon 2'
2266                    xmlns='http://www.w3.org/2000/svg'
2267                    viewBox='0 0 17.52 26.58'
2268                  >
2269                      <defs>
2270                        <style>
2271                          .menu_icon1 {
2272                            fill: #4d4d4d;
2273                          }
2274                          .menu_icon2 {
2275                            fill: #fff;
2276                          }
2277                        </style>
2278                      </defs>
2279                      <g id="text">
2280                      <g>
2281                        <path class="menu_icon2" d="M2.65,0h12.21c1.46,0,2.65,1.19,2.65,2.65v21.27c0,1.46-1.19,2.65-2.65,2.65H2.65c-1.46,0-2.65-1.19-2.65-2.65V2.65C0,1.19,1.19,0,2.65,0Z"></path>
2282                        <polygon class="menu_icon1" points="6.16 20.54 5.63 20.01 12.35 13.29 5.63 6.57 6.16 6.04 13.41 13.29 6.16 20.54"></polygon>
2283                      </g>
2284                    </g>
2285                  </svg>
2286                </div>
2287              </div>
2288              <ul class='menu-drawer__menu  list-menu drawer__footer-submenu'>
2289                <li>
2290                  <a href='https://www.mateli.jp/'>コーポレートサイト</a>
2291                </li>
2292                <li>
2293                  <a href='https://www.mateli.jp/webcatalog/index.html'>WEB カタログ</a>
2294                </li>
2295                <li>
2296                  <a href='https://www.mateli.jp/forms/catalog/index.php'>カタログ請求</a>
2297                </li>
2298                <li>
2299                  <a href='https://www.mateli.jp/forms/samples_request/index.php'>サンプル請求</a>
2300                </li>
2301                <li>
2302                  <a href='/pages/mag-register'>メールマガジン登録</a>
2303                </li>
2304                <li>
2305                  <a href='https://g.page/r/CaJtR0QSZghGEAE/review'>口コミを募集中</a>
2306                </li>
2307              </ul>
2308            </div>
2309          </nav>
2310        </div>
2311      </div>
2312    </div>
2313  </details>
2314</header-drawer>
2315<script type='text/javascript'>
2316  window.addEventListener('load', function () {
2317    const subTitles = document.querySelectorAll('.sub-title_submenu');
2318
2319    subTitles.forEach(function (subTitle) {
2320      subTitle.addEventListener('click', function (event) {
2321        // Only toggle if the click is not on a link inside the element
2322        if (!event.target.closest('a')) {
2323          subTitle.classList.toggle('selected');
2324        }
2325      });
2326    });
2327  });
2328</script>
2328
2329</div>
2330  </header>
2331</sticky-header>
2331<script>
2332  class StickyHeader extends HTMLElement {
2333    constructor() {
2334      super();
2335    }
2336
2337    connectedCallback() {
2338      this.header = document.querySelector('.section-header');
2339      this.headerIsAlwaysSticky = this.getAttribute('data-sticky-type') === 'always' || this.getAttribute('data-sticky-type') === 'reduce-logo-size';
2340      this.headerBounds = {};
2341
2342      this.setHeaderHeight();
2343
2344      window.matchMedia('(max-width: 990px)').addEventListener('change', this.setHeaderHeight.bind(this));
2345
2346      if (this.headerIsAlwaysSticky) {
2347        this.header.classList.add('shopify-section-header-sticky');
2348      };
2349
2350      this.currentScrollTop = 0;
2351      this.preventReveal = false;
2352      this.predictiveSearch = this.querySelector('predictive-search');
2353
2354      this.onScrollHandler = this.onScroll.bind(this);
2355      this.hideHeaderOnScrollUp = () => this.preventReveal = true;
2356
2357      this.addEventListener('preventHeaderReveal', this.hideHeaderOnScrollUp);
2358      window.addEventListener('scroll', this.onScrollHandler, false);
2359
2360      this.createObserver();
2361    }
2362
2363    setHeaderHeight() {
2364      document.documentElement.style.setProperty('--header-height', `${this.header.offsetHeight}px`);
2365    }
2366
2367    disconnectedCallback() {
2368      this.removeEventListener('preventHeaderReveal', this.hideHeaderOnScrollUp);
2369      window.removeEventListener('scroll', this.onScrollHandler);
2370    }
2371
2372    createObserver() {
2373      let observer = new IntersectionObserver((entries, observer) => {
2374        this.headerBounds = entries[0].intersectionRect;
2375        observer.disconnect();
2376      });
2377
2378      observer.observe(this.header);
2379    }
2380
2381    onScroll() {
2382      const scrollTop = window.pageYOffset || document.documentElement.scrollTop;
2383
2384      if (this.predictiveSearch && this.predictiveSearch.isOpen) return;
2385
2386      if (scrollTop > this.currentScrollTop && scrollTop > this.headerBounds.bottom) {
2387        this.header.classList.add('scrolled-past-header');
2388        if (this.preventHide) return;
2389        requestAnimationFrame(this.hide.bind(this));
2390      } else if (scrollTop < this.currentScrollTop && scrollTop > this.headerBounds.bottom) {
2391        this.header.classList.add('scrolled-past-header');
2392        if (!this.preventReveal) {
2393          requestAnimationFrame(this.reveal.bind(this));
2394        } else {
2395          window.clearTimeout(this.isScrolling);
2396
2397          this.isScrolling = setTimeout(() => {
2398            this.preventReveal = false;
2399          }, 66);
2400
2401          requestAnimationFrame(this.hide.bind(this));
2402        }
2403      } else if (scrollTop <= this.headerBounds.top) {
2404        this.header.classList.remove('scrolled-past-header');
2405        requestAnimationFrame(this.reset.bind(this));
2406      }
2407
2408      this.currentScrollTop = scrollTop;
2409    }
2410
2411    hide() {
2412      if (this.headerIsAlwaysSticky) return;
2413      this.header.classList.add('shopify-section-header-hidden', 'shopify-section-header-sticky');
2414      this.closeMenuDisclosure();
2415      this.closeSearchModal();
2416    }
2417    reveal() {
2418      if (this.headerIsAlwaysSticky) return;
2419      this.header.classList.add('shopify-section-header-sticky', 'animate');
2420      this.header.classList.remove('shopify-section-header-hidden');
2421    }
2422
2423    reset() {
2424      if (this.headerIsAlwaysSticky) return;
2425      this.header.classList.remove('shopify-section-header-hidden', 'shopify-section-header-sticky', 'animate');
2426    }
2427
2428    closeMenuDisclosure() {
2429      this.disclosures = this.disclosures || this.header.querySelectorAll('header-menu');
2430      this.disclosures.forEach(disclosure => typeof disclosure.close === 'function' && disclosure.close());
2431    }
2432
2433    closeSearchModal() {
2434      this.searchModal = this.searchModal || this.header.querySelector('details-modal');
2435      if (this.searchModal && typeof this.searchModal.close === 'function') this.searchModal.close(false);
2436    }
2437  }
2438
2439  customElements.define('sticky-header', StickyHeader);
2440</script>
2440
2441
2442<script type="application/ld+json">
2443  {
2444    "@context": "http://schema.org",
2445    "@type": "Organization",
2446    "name": "mateli",
2447    
2448      "logo": "https:\/\/furniture.mateli.jp\/cdn\/shop\/files\/mateli_logo_500373e0-a218-465a-ae10-8dbdcc905cc5_145x_2x_1.webp?v=1677212524\u0026width=500",
2449    
2450    "sameAs": [
2451      "",
2452      "https:\/\/www.facebook.com\/mateli.jp\/",
2453      "https:\/\/jp.pinterest.com\/mateli0214\/",
2454      "https:\/\/www.instagram.com\/mateli.co\/?hl=ja",
2455      "",
2456      "",
2457      "",
2458      "",
2459      ""
2460    ],
2461    "url": "https:\/\/furniture.mateli.jp\/pages\/cad"
2462  }
2463</script>
2463
2464</div>
2465<!-- END sections: header-group -->
2466
2467    <main
2468      id='MainContent'
2469      class='content-for-layout focus-none'
2470      role='main'
2471      tabindex='-1'
2472    >
2473      <style>
2474    .breadcrumbs {
2475      text-decoration: none;
2476      width: 100%;
2477      margin-top: 6px;
2478    }
2479    .breadcrumbs a {
2480      text-decoration: none;
2481      color: var(--mateli-text-1);
2482    }
2483
2484    .breadcrumbs__list {
2485      list-style-type: none;
2486      margin: 0;
2487      padding: 0;
2488      line-height: 18px;
2489      margin-bottom: 8px;
2490      margin-top: 2px;
2491      display: flex;
2492      flex-wrap: wrap;
2493      flex-direction: row;
2494      align-items: center;
2495      justify-content: flex-start;
2496      gap: 5px;
2497    }
2498
2499    .breadcrumbs__item {
2500      display: flex;
2501      flex-direction: row;
2502      align-items: center;
2503      gap: 5px;
2504      line-height: 10px;
2505      width: fit-content;
2506    }
2507    .breadcrumbs__item a {
2508      text-decoration: none;
2509      color: black;
2510    }
2511    .breadcrumbs__item:not(:last-child):after {
2512      border-style: solid;
2513      border-width: 0.1em 0.1em 0 0;
2514      content: '';
2515      display: inline-block;
2516      height: 0.2em;
2517      margin: 0;
2518      position: relative;
2519      transform: rotate(45deg);
2520      vertical-align: middle;
2521      width: 0.2em;
2522      margin-top: 1px;
2523    }
2524
2525    .breadcrumbs__link {
2526      text-decoration: none;
2527      color: black;
2528      font-family:
2529        var(--font-body-family),
2530        -apple-system,
2531        BlinkMacSystemFont,
2532        Segoe UI,
2533        Roboto,
2534        Ubuntu,
2535        Helvetica Neue,
2536        sans-serif,
2537        Apple Color Emoji,
2538        Segoe UI Emoji,
2539        Segoe UI Symbol;
2540      font-size: 0.8em;
2541    }
2542
2543    .breadcrumbs__link[aria-current='page'] {
2544      color: inherit;
2545      font-weight: normal;
2546      text-decoration: none;
2547    }
2548
2549    .breadcrumbs__link[aria-current='page']:hover,
2550    .breadcrumbs__link[aria-current='page']:focus {
2551      text-decoration: underline;
2552    }
2553    @media screen and (min-width: 900px) {
2554      .breadcrumbs__list {
2555        margin-top: 10px;
2556      }
2557    }
2558  </style><nav
2559    class='breadcrumbs page-width'
2560    role='navigation'
2561    aria-label='breadcrumbs'
2562  >
2563    <ol class='breadcrumbs__list'>
2564      <li class='breadcrumbs__item'>
2565        <a class='breadcrumbs__link' href='/'>ホーム</a>
2566      </li><li class='breadcrumbs__item'>
2567            <a
2568              class='breadcrumbs__link'
2569              href='/pages/cad'
2570              aria-current='page'
2571            >CADデータダウンロード ID発行申請</a>
2572          </li></ol>
2573  </nav>
2573<script type='application/ld+json'>
2574      {
2575        "@context": "https://schema.org",
2576        "@type": "BreadcrumbList",
2577        "itemListElement": [{
2578              "@type": "ListItem",
2579              "position": 1,
2580              "name": "ホーム",
2581              "item": "https:\/\/furniture.mateli.jp\/"
2582            },{
2583              "@type": "ListItem",
2584              "position": 2,
2585              "name": "CADデータダウンロード ID発行申請",
2586              "item": "https:\/\/furniture.mateli.jp\/pages\/cad"
2587            }]
2588      }
2589    </script>
2589
2590      <section id="shopify-section-template--23888047210754__main" class="shopify-section section"><link rel="stylesheet" href="//furniture.mateli.jp/cdn/shop/t/204/assets/section-main-page.css?v=171954480266013350391790902731" media="print" onload="this.media='all'">
2591<link rel="stylesheet" href="//furniture.mateli.jp/cdn/shop/t/204/assets/component-rte.css?v=73320129801962619391790902730" media="print" onload="this.media='all'">
2592
2593<noscript><link href="//furniture.mateli.jp/cdn/shop/t/204/assets/section-main-page.css?v=171954480266013350391790902731" rel="stylesheet" type="text/css" media="all" /></noscript>
2594<noscript><link href="//furniture.mateli.jp/cdn/shop/t/204/assets/component-rte.css?v=73320129801962619391790902730" rel="stylesheet" type="text/css" media="all" /></noscript><style data-shopify>.section-template--23888047210754__main-padding {
2595    padding-top: 21px;
2596    padding-bottom: 21px;
2597  }
2598
2599  .delivery_table tr:nth-child(odd) {
2600    background-color: #eee;
2601  }
2602
2603  @media screen and (min-width: 750px) {
2604    .section-template--23888047210754__main-padding {
2605      padding-top: 28px;
2606      padding-bottom: 28px;
2607    }
2608  }</style><div class="page-width page-width--narrow section-template--23888047210754__main-padding">
2609  
2610    <h1 class="main-page-title page-title h0">
2611      CADデータダウンロード ID発行申請
2612    </h1>
2613   
2614  <div class="rte">
2615    <style><!--
2616.form-signin {
2617    width: 100%;
2618    max-width: 640px;
2619    margin: 0 auto;
2620    letter-spacing: 0.05em;
2621    padding: 15px;
2622    font-size: 1.01rem;
2623    line-height: 1.5;
2624    color: #212529;
2625    font-family: "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro",
2626      "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
2627  }
2628  .header-img {
2629    text-align: center;
2630    margin-bottom: 1.5rem;
2631    display: inline-block;
2632    width: 100%;
2633  }
2634  .header-img img {
2635    margin: auto;
2636  }
2637  .CADform h2 {
2638    text-align: center;
2639    margin: 3rem 0 2rem;
2640    font-weight: 500;
2641    line-height: 1.2;
2642    border: 0;
2643    color: black;
2644  }
2645  .login_btn {
2646    text-align: center;
2647    margin-bottom: 1rem;
2648  }
2649  .login_btn a {
2650    display: inline-block;
2651    border: 1px solid #ced4da;
2652    padding: 1rem 2rem;
2653    margin-bottom: 2rem;
2654    color: #007bff !important;
2655    text-decoration: none !important;
2656    background-color: transparent;
2657  }
2658  .small {
2659    font-size: 90%;
2660    font-weight: 400;
2661    text-align: left;
2662    letter-spacing: 0.1em;
2663  }
2664  h5 span.mandatory {
2665    font-size: 0.7rem;
2666    background-color: #ff0000;
2667    padding: 0.4rem 0.7rem;
2668    margin-left: 1rem;
2669    color: #fff;
2670  }
2671  hr {
2672    margin-bottom: 1rem;
2673    margin-top: 1rem;
2674    border: 0;
2675    border-top: 1px solid rgba(0, 0, 0, 0.1);
2676  }
2677  p {
2678    margin-top: 0;
2679    margin-bottom: 1rem;
2680  }
2681  .rte h5 {
2682    margin: 2.2em 0 0.7em;
2683    font-weight: bold;
2684    font-size: 1.25rem;
2685    color: black;
2686  }
2687  label {
2688    display: inline-block;
2689    margin-bottom: 0.5rem;
2690  }
2691  .form-control {
2692    display: block;
2693    width: 100%;
2694    line-height: 1.5;
2695    color: #495057;
2696    background-color: #fff;
2697    background-clip: padding-box;
2698    border: 1px solid #ced4da;
2699    border-radius: 0.25rem;
2700    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
2701  }
2702  .form-signin .form-control {
2703    position: relative;
2704    height: auto;
2705    padding: 10px;
2706    font-size: 16px;
2707    box-sizing: border-box;
2708  }
2709  .form-control:focus {
2710    color: #495057;
2711    background-color: #fff;
2712    border-color: #80bdff;
2713    outline: 0;
2714    box-shadow: 0 0 0 0.2rem rgb(0 123 255 / 25%);
2715  }
2716  .row {
2717    margin-bottom: 3rem;
2718  }
2719  .text-danger {
2720    color: #dc3545;
2721  }
2722  .btn-group-lg > .btn,
2723  .btn-lg {
2724    padding: 0.5rem 1rem;
2725    font-size: 1.25rem;
2726    line-height: 1.5;
2727    border-radius: 0.3rem;
2728  }
2729  .btn-primary {
2730    color: #fff;
2731    background-color: #007bff;
2732    border-color: #007bff;
2733  }
2734  .btn-primary.disabled,
2735  .btn-primary:disabled {
2736    color: #fff;
2737    background-color: #007bff;
2738    border-color: #007bff;
2739    opacity: 0.65;
2740  }
2741  .btn-block {
2742    display: block;
2743    width: 100%;
2744  }
2745  .checkbox {
2746    margin-bottom: 3rem;
2747    width: 100%;
2748    border: 0;
2749    height: auto;
2750    margin-top: 2rem;
2751    box-shadow: none;
2752  }
2753  .scroll.small {
2754    border-top: 1px solid #ddd;
2755    padding-top: 2rem;
2756    margin-top: 1rem;
2757    margin-bottom: 2rem;
2758  }
2759  p.mt-5.mb-5.text-center {
2760    margin: 3rem 0 0 0;
2761  }
2762  iframe[src^="https://docs.google.com/forms/d/e"]
2763  {
2764    width: 100%;
2765  }
2766  #CADthankyou {
2767    display: none;
2768  }
2769  .CADform {
2770    max-width: 640px;
2771    margin: auto;
2772  }
2773
2774  @media screen and (max-width: 675px) {
2775    #iframeCAD {
2776      height: 3730px;
2777    }
2778    p.mt-5.mb-5.text-center {
2779      margin: 0;
2780    }
2781  }
2782  @media screen and (max-width: 520px) {
2783    #iframeCAD {
2784      height: 3765px;
2785    }
2786  }
2787  @media screen and (max-width: 490px) {
2788    #iframeCAD {
2789      height: 3900px;
2790    }
2791  }
2792  @media screen and (max-width: 430px) {
2793    #iframeCAD {
2794      height: 4020px;
2795    }
2796  }
2797  @media screen and (max-width: 400px) {
2798    #iframeCAD {
2799      height: 4100px;
2800    }
2801  }
2802  @media screen and (max-width: 375px) {
2803    #iframeCAD {
2804      height: 4240px;
2805    }
2806  }
2807  @media screen and (max-width: 340px) {
2808    #iframeCAD {
2809      height: 4440px;
2810    }
2811  }
2812  .hidden {
2813    display: none!important;
2814  }
2815  .visible {
2816    display: block!important;
2817  }
2818--></style>
2819<script type="text/javascript">// <![CDATA[
2820var count = 0;
2821  //alert("cout first : " + count);
2822// ]]></script>
2822
2823<div class="CADform">
2824<div class="header-img">
2825<p class="login_btn"><a href="https://www.mateli.jp/cad/download">≫ IDをお持ちの方はこちらからログイン</a></p>
2826<p class="small">CADデータダウンロードのご利用を希望される方は、下記フォームをご入力後、送信ボタンを押してください。フォームの記入漏れがある場合、ダウンロードに必要なパスワード等が届きませんのでご注意ください。</p>
2827<hr class="">
2828<iframe src="https://docs.google.com/forms/d/e/1FAIpQLSfQxzStfn9ypu0LL1bln2fQCCUKt38Gjvfj3Ab_xrhqyHcNDQ/viewform?embedded=true" width="640" height="3740" frameborder="0" marginheight="0" marginwidth="0" id="iframeCAD" scrolling="no" onload="onMyFrameLoad(this)">Loading…</iframe>
2829<div id="CADthankyou">
2830<h5>ご回答ありがとうございます。</h5>
2831<p>IDとパスワードを発行いたしました。メールをご確認くださいませ。</p>
2832</div>
2833<p class="mt-5 mb-5 text-muted text-center small">Copyright 2018 mateli . All Rights Reserved</p>
2834</div>
2835<script type="text/javascript">// <![CDATA[
2836//If the iframe load again after the initialisation, then its complete
2837    function onMyFrameLoad() {
2838      //alert("count out : " + count);
2839      count++;
2840      if (count > 1) {
2841        //alert("count int : " + count);
2842
2843        var iframe = document.getElementById("iframeCAD");
2844        var thankyou = document.getElementById("CADthankyou");
2845        iframe.classList.toggle("hidden");
2846        thankyou.classList.toggle("visible");
2847      }
2848    }
2849// ]]></script>
2849
2850</div>
2851  </div>
2852</div>
2853
2854
2855<style> #shopify-section-template--23888047210754__main .h0 {font-size: 2em; text-align: center;} #shopify-section-template--23888047210754__main .rte h6 {margin: 2.5em 0 0.6em; font-family: "ITC Avant Garde Gothic", sans-serif; font-size: 15px; padding: 0.5em 0; border-top: 2px solid #534842; border-bottom: 2px solid #534842;} </style></section><section id="shopify-section-template--23888047210754__17364041759039079a" class="shopify-section section"><div class="page-width"><div id="shopify-block-AWjJuZHNKR09lS24wN__forms_inline_h7kjKj" class="shopify-block shopify-app-block"><div
2856  id='AWjJuZHNKR09lS24wN__forms_inline_h7kjKj'
2857  data-form-root='true'
2858  data-forms-id='forms-root-'
2859  data-forms-text-color='#202020'
2860  data-forms-button-background-color='#202020'
2861  data-forms-button-label-color='#FFFFFF'
2862  data-forms-links-color='#1878B9'
2863  data-forms-errors-color='#E02229'
2864  data-forms-text-alignment='center'
2865  data-forms-alignment='center'
2866  data-forms-padding-top='0'
2867  data-forms-padding-right='0'
2868  data-forms-padding-bottom='0'
2869  data-forms-padding-left='0'
2870></div>
2871
2872<script>
2873  window['ShopifyForms'] = {
2874    ...window['ShopifyForms'],
2875    currentPageType: "page"
2876  };
2877</script>
2877
2878
2879
2880</div>�</div>
2881
2882
2883</section>�</main>
2884
2885    <!-- BEGIN sections: footer-group -->
2886<div id="shopify-section-sections--23888045375746__footer_2_MLkJHY" class="shopify-section shopify-section-group-footer-group"><style>
2887  /* =========================================
2888     1. GLOBAL LAYOUT & WRAPPERS
2889     ========================================= */
2890  .shopify-section-group-footer-group {
2891    background-color: #787A82;
2892    padding: calc(var(--section-padding-h) / 2 ) var(--section-padding-w);
2893  }
2894
2895  .footer-mateli-wrapper {
2896    max-width: var(--page-width);
2897    margin: auto;
2898    display: grid;
2899    grid-template-areas: 
2900      "social"
2901      "logo"
2902      "menu"
2903      "copyright";
2904  }
2905
2906  .shopify-section-group-footer-group a:hover {
2907    color: white;
2908  }
2909
2910  /* =========================================
2911     2. LOGO SECTION
2912     ========================================= */
2913  .footer-logo {
2914    grid-area: logo;
2915    text-align: center;
2916    margin-top: 24px;
2917  }
2918
2919  .footer-logo svg {
2920    max-width: 150px;
2921    width: 50vw;
2922  }
2923
2924  /* =========================================
2925     3. SOCIAL MEDIA ICONS
2926     ========================================= */
2927  .footer-block.footer-1 {
2928    padding-top: 2.2vw;
2929    grid-area: social;
2930  }
2931
2932  .list-unstyled.list-social {
2933    display: flex;
2934    flex-direction: row;
2935    justify-content: center;
2936    column-gap: 3.4vw;
2937  }
2938
2939  .list-social__item svg {
2940    width: 22px;
2941    color: white;
2942    height: 22px;
2943  }
2944
2945  /* =========================================
2946     4. FOOTER MENU SYSTEM
2947     ========================================= */
2948  /* --- Menu Wrapper --- */
2949  .footer-menu-wrapper {
2950    display: flex;
2951    flex-direction: row;
2952    justify-content: space-between;
2953    flex-wrap: wrap;
2954    column-gap: 2px;
2955    padding: 23px 0 30px 0;
2956    cursor: pointer;
2957    grid-area: menu;
2958    border-bottom: 1px solid white;
2959  }
2960
2961  /* --- Menu Titles & Accordion Triggers --- */
2962  .footer-menu-title {
2963    color: white;
2964    font-size: 2.72vw;
2965    text-align: left;
2966    display: flex;
2967    justify-content: center;
2968    column-gap: 2vw;
2969    align-items: center;
2970    height: fit-content;
2971     width: calc(33% - 5px);
2972  }
2973
2974  /* Arrow Animation */
2975  .footer-menu-title-arrow {
2976    height: max-content;
2977    display: flex;
2978    flex-direction: column;
2979    flex-wrap: wrap;
2980    align-content: center;
2981  }
2982
2983  .footer-menu-title-arrow svg {
2984    width: 10px;
2985    height: 15px;
2986  }
2987
2988  .footer-menu-title.selected .footer-menu-title-arrow {
2989    transform: rotate(90deg);
2990    margin-left: 1px;
2991  }
2992
2993  .footer-menu-title.selected .footer-menu-title-block {
2994    border-bottom: 1px solid;
2995  }
2996
2997  /* --- Menu Links & Content --- */
2998  .footer-block__details-content:not(.selected) {
2999    display: none;
3000  }
3001
3002  .footer-block__details-content.selected {
3003    order: 3;
3004    width: 100%;
3005    display: flex;
3006    flex-direction: row;
3007    justify-content: flex-start;
3008    flex-wrap: wrap;
3009    column-gap: 8px;
3010    margin-top: 14px;
3011    height: fit-content;
3012  }
3013
3014  .footer-block__details-content li {
3015    text-align: center;
3016    padding: 6px 0px;
3017    width: 100%;
3018  }
3019
3020  .footer-block__details-content li a {
3021    font-size: 2.5vw;
3022    color: white;
3023    text-align: center;
3024    width: 100%;
3025    padding: 0;
3026    display: block;
3027    font-weight: 400;
3028  }
3029
3030  /* =========================================
3031     5. SUB-FOOTER (Copyright & Links)
3032     ========================================= */
3033  .footer-subs {
3034    display: flex;
3035    flex-direction: column;
3036    align-items: center;
3037    row-gap: 10px;
3038    padding-bottom: 1vw;
3039    grid-area: copyright;
3040  }
3041
3042  .footer-subs a {
3043    width: calc(50% - 3px);
3044    text-align: center;
3045    font-size: 10.2px;
3046    color: white;
3047  }
3048
3049  .sub-menu {
3050    display: flex;
3051    flex-direction: row;
3052    justify-content: space-between;
3053    gap: 5px;
3054    color: white;
3055    margin-top: 20px;
3056    flex-wrap: wrap;
3057    align-items: center;
3058    width: 100%;
3059  }
3060
3061  .sub-copyright {
3062    text-align: center;
3063    color: white;
3064  }
3065
3066  .sub-copyright span {
3067    color: white;
3068    font-size: 3.5vw;
3069  }
3070
3071  /* =========================================
3072     6. SPECIFIC OVERRIDES & ALIGNMENT
3073     ========================================= */
3074  .footer-title-1 { grid-area: title1; }
3075  .footer-title-2 { grid-area: title2; }
3076  .footer-title-3 { grid-area: title3; }
3077
3078  .footer-menu-title.footer-title-1 { justify-content: flex-start; }
3079  .footer-menu-title.footer-title-2 { justify-content: center; }
3080  .footer-menu-title.footer-title-3 { justify-content: flex-end; }
3081
3082  /* =========================================
3083     7. UNCLASSIFIED / OBSCURE CSS
3084     ========================================= */
3085  #footer-block-1 a {
3086    text-align: left;
3087  }
3088  #footer-block-3 a {
3089    text-align: right;
3090  }
3091
3092  /* =========================================
3093     8. MEDIA QUERIES
3094     ========================================= */
3095  @media screen and (min-width: 450px) {
3096    .footer-menu-title, .sub-copyright span {
3097      font-size: 2.6vw;
3098    }
3099    .footer-subs a {
3100      width: fit-content;
3101      font-size: 11px;
3102    }
3103
3104    .footer-block__details-content li a {
3105      font-size: 2.4vw;
3106    }
3107  }
3108
3109  @media screen and (min-width: 500px) {
3110    .footer-menu-title {
3111      font-size: 2.6vw;
3112    }
3113    .sub-copyright span {
3114      font-size: 2.6vw;
3115    }
3116    .footer-block__details-content li a {
3117      font-size: 2.5vw;
3118    }
3119  }
3120  
3121  @media screen and (min-width: 500px) {
3122    .footer-subs a {
3123      font-size: 13px;
3124    }
3125  }
3126
3127  @media screen and (min-width: 650px) {
3128    .footer-menu-title {
3129      font-size: 2.2vw;
3130    }
3131    .footer-subs a, .sub-copyright span {
3132      font-size: 2.2vw;
3133    }
3134    .footer-block__details-content li a {
3135      font-size: 1.82vw;
3136    }
3137  }
3138
3139  @media screen and (min-width: 900px) {  
3140    .footer-subs {
3141      display: flex;
3142      flex-direction: row-reverse;
3143      justify-content: space-between;
3144      margin: 0;
3145      padding: 0;
3146      width: 100%;
3147      order: 3;
3148      border-top: 1px solid white;
3149      row-gap: 22px;
3150    }
3151    .footer-menu-wrapper {
3152      display: flex;
3153      flex-direction: row;
3154      flex-wrap: wrap;
3155      justify-content: flex-end;
3156      column-gap: 1vw;
3157    }
3158
3159    .footer-logo {
3160      display: block;
3161      width: 35%;
3162      order: 2;
3163      margin-top: 0;
3164      text-align: left;
3165    }
3166    .footer-logo svg {
3167      max-width: 200px;
3168      margin-top: 1vw;
3169    }
3170    .footer-subs a, .sub-copyright span {
3171      font-size: 12px;
3172    }
3173
3174    .footer-menu-wrapper {
3175      width: 65%;
3176      order: 2;
3177      border-bottom: 0;
3178      padding: 0;
3179    }
3180
3181    .footer-block.footer-1 {
3182      width: 100%;
3183      order: 3;
3184      padding-top: 0;
3185    }
3186    li:not(.sub-title_submenu) a {
3187      padding: 0;
3188    }
3189    .footer-mateli-wrapper {
3190      display: flex;
3191      flex-direction: row;
3192      justify-content: space-between;
3193      flex-wrap: wrap;
3194    }
3195
3196    .list-unstyled.list-social {
3197      column-gap: 1.6vw;
3198      justify-content: flex-start;
3199    }
3200    .footer-menu-title {
3201      order: 1;
3202      margin: 0;
3203      padding: 0 0.5vw 0 0;
3204      font-size: 1.5vw;
3205      text-align: left;
3206      justify-content: flex-start;
3207    }
3208
3209    .footer-block__details-content:not(.selected) {
3210      display: block;
3211      order: 3;
3212    }
3213
3214    .footer-menu-title .footer-menu-title-block {
3215      border-bottom: 1px solid;
3216      padding-right: 0;
3217      width: 100%;
3218      font-size: 1.7vw;
3219    }
3220    .footer-menu-title-arrow {
3221      display: none;
3222    }
3223    .footer-block__details-content.selected {
3224      display: flex;
3225      flex-direction: column;
3226      margin-top: 0;
3227    }
3228
3229    .footer-block__details-content li {
3230      width: 100%;
3231      text-align: left;
3232    }
3233
3234    .footer-block__details-content li a {
3235      font-size: 12px;
3236      text-align: left;
3237    }
3238    
3239    .footer-block__details-content#footer-block-1, .footer-title-1 {
3240      width: calc(31% - 2.48vw);
3241    }
3242    .footer-block__details-content#footer-block-2, .footer-title-2 {
3243      width: calc(39% - 0.15vw);
3244    }
3245    .footer-block__details-content#footer-block-3, .footer-title-3 {
3246      width: calc(33% - 3.61vw);
3247    }
3248    #footer-block-3 a {
3249      text-align: left;
3250    }
3251    .sub-menu, .sub-copyright {
3252      margin-top: 10px;
3253    }
3254    .list-social__item svg {
3255      width: 32px;
3256      color: white;
3257      height: 32px;
3258    }
3259    .sub-copyright {
3260      width: 35%;
3261      text-align: left;
3262    }
3263
3264    .sub-menu {
3265      width: calc(65% - 20px);
3266      justify-content: flex-end;
3267      gap: 2.2em;
3268    }
3269  }
3270
3271  @media screen and (min-width: 1200px) {
3272    .footer-block.footer-1 {
3273      padding: 5px 0;
3274    }
3275
3276    .footer-subs a, .sub-copyright span {
3277      font-size: 14px;
3278    }
3279
3280    .footer-block__details-content li a {
3281      font-size: 14px;
3282    }
3283
3284    .footer-menu-title .footer-menu-title-block {
3285      font-size: 18px;
3286    }
3287
3288    .footer-menu-wrapper {
3289      width: 590px;
3290    }
3291    .footer-block__details-content#footer-block-1, .footer-title-1 {
3292      width: 160px;
3293    }
3294    .footer-block__details-content#footer-block-2, .footer-title-2 {
3295      width: 220px;
3296    }
3297    .footer-block__details-content#footer-block-3, .footer-title-3 {
3298      width: 160px;
3299    }
3300  }
3301
3302  @media screen and (min-width: 1600px) {
3303    .footer-block__details-content#footer-block-1, .footer-title-1 {
3304      width: 158px;
3305    }
3306    .footer-menu-title {
3307      padding: 0;
3308    }
3309    .footer-menu-wrapper {
3310      column-gap: 25px;
3311    }
3312  }
3313</style>
3314
3315<div class="footer-mateli-wrapper">
3316  <div class="footer-logo">
3317    <svg id="_footer_arrowー_2" data-name="footer_arrowー 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 190.86 52.35"> <defs> <style> .mateli_logo-1 { fill: var(--mateli-text-2); } </style> </defs> <g id="text"> <g> <path class="mateli_logo-1" d="M178.39,3.32v31.19h-6.49V3.32h6.49ZM190.86,34.51V11.74h-6.49v22.77h6.49M190.86,3.32h-6.49v5.58h6.49V3.32ZM62.01,11.74v22.77h6.36v-13.5c0-1.35.44-4.67,3.73-4.67,1.27,0,2.14.28,2.65,1.39.55,1.14.55,1.77.55,2.33v14.45h6.37v-13.66c0-1.3.48-4.51,3.7-4.51s3.24,3.09,3.24,3.84v14.34h6.37v-15.37c0-5.38-3.01-8.23-7.32-8.23s-6.06,2.73-6.85,4.12c-.51-1.27-1.66-4.12-6.09-4.12-2.62,0-5.22,1.11-6.78,4.15l-.07-3.32h-5.85ZM115.87,25.88v-2.22c-1.14.57-1.7.67-6.5,1.47-1.93.32-4.31.68-4.31,2.85,0,2.49,4,2.62,4.51,2.62,4.75,0,6.29-3.84,6.29-4.71M116.55,34.51c-.64-1.03-.64-2.1-.68-2.65-.99,1.1-3.13,3.52-8.67,3.52-3.16,0-8.82-.64-8.82-7.2,0-1.94.55-3.68,2.61-5.11,1.71-1.1,3.93-1.42,10.65-2.37,2.23-.31,4.24-.59,4.24-2.46,0-2.61-2.58-2.73-4.16-2.73-5.9,0-5.93,1.94-5.93,3.05h-6.26c.2-1.39.48-3.76,2.93-5.5,2.37-1.65,6.92-2.13,9.14-2.13,3.49,0,10.66.95,10.66,7.4v13.05c0,.72.39,2.18,1.1,2.62v.51h-6.8ZM140.92,15.67v-3.92h-5.06v-6.37h-6.5v6.37h-4.16v3.92h4.16v13.07c0,1.97.87,4.67,3.37,5.78,1.66.76,3.28.87,4.47.87s2.37-.08,3.71-.2v-4.99h-1.9c-1.82,0-3.16-.32-3.16-2.57v-11.96h5.06ZM149.58,20.46h11.65c-.25-.75-.53-1.63-1.28-2.58-1.02-1.26-2.49-2.21-4.67-2.21-4.15,0-5.22,3.29-5.7,4.79M149.55,24.5c.15,4.31,2.56,6.13,5.93,6.13,3.83,0,4.88-2.05,5.3-2.93h6.45c-.47,1.52-.83,2.5-2.09,3.84-2.42,2.61-5.71,3.84-9.67,3.84-7.17,0-12.43-4.28-12.43-12.23,0-8.71,6.21-12.24,12.11-12.24,3.8,0,6.7,1.35,8.79,3.41,3.33,3.28,3.64,7.59,3.8,10.18h-18.2Z"/> <g> <path class="mateli_logo-1" d="M80.6,47.91c.32-.1.59-.25.82-.43.23-.18.39-.4.51-.65.12-.25.18-.52.18-.8,0-.32-.04-.57-.14-.78-.1-.2-.25-.38-.43-.52-.19-.16-.43-.28-.72-.38-.29-.1-.62-.19-1.01-.29-.41-.11-.74-.2-.98-.26-.23-.06-.4-.13-.52-.2-.12-.06-.
331719-.14-.2-.22-.03-.08-.05-.18-.05-.31,0-.14.04-.27.1-.38.07-.1.17-.2.29-.27.12-.07.26-.13.42-.17.16-.02.32-.05.51-.05.87,0,1.32.31,1.35.93h1.17c-.05-1.21-.9-1.81-2.59-1.81-.37,0-.7.05-1,.14-.3.09-.55.22-.76.38-.21.16-.38.36-.49.58-.12.23-.18.48-.18.75,0,.29.05.54.13.74.09.2.22.36.4.5.18.14.41.26.68.35.27.09.59.19.98.29.4.09.71.18.95.26.24.07.43.14.57.21.13.07.22.16.27.25.05.1.07.21.07.36,0,.31-.13.56-.37.75-.24.19-.6.29-1.09.29-1.04,0-1.57-.4-1.58-1.18h-1.15c.07,1.38.99,2.08,2.76,2.08.39,0,.75-.05,1.07-.16Z"/> <rect class="mateli_logo-1" x="83.93" y="39.02" width="1.16" height="1.23"/> <rect class="mateli_logo-1" x="83.93" y="41.47" width="1.16" height="6.45"/> <path class="mateli_logo-1" d="M95.83,41.47h-1.16v6.45h1.16v-4.62c.58-.7,1.16-1.05,1.74-1.05.44,0,.74.12.93.35.19.24.28.62.28,1.14v4.17h1.16v-4.22c0-1.57-.73-2.36-2.18-2.36-.71,0-1.35.32-1.92.95v-.82Z"/> <path class="mateli_logo-1" d="M116.73,41.38c-.1-.02-.2-.03-.28-.04-.08,0-.16-.01-.25-.01-.65,0-1.21.35-1.68,1.05v-.92h-1.15v6.45h1.15v-4.55c.42-.61.92-.91,1.5-.91.29,0,.51.02.71.08v-1.15Z"/> <path class="mateli_logo-1" d="M136.9,47.92h1.14v-6.45h-1.14v4.62c-.54.7-1.11,1.04-1.74,1.04-.43,0-.74-.12-.92-.34-.19-.23-.27-.61-.27-1.14v-4.18h-1.15v4.23c0,1.58.72,2.38,2.18,2.38.71,0,1.35-.32,1.91-.97v.81Z"/> <path class="mateli_logo-1" d="M143.81,47.93c.29-.09.57-.22.79-.39.23-.18.43-.39.57-.65.15-.26.24-.56.28-.9h-1.16c-.01.2-.06.39-.14.53-.08.14-.19.27-.31.37-.14.1-.29.17-.46.21-.17.04-.34.07-.52.07-.58,0-1.03-.21-1.36-.64-.33-.42-.49-1.03-.49-1.84,0-.4.04-.76.13-1.07.09-.31.21-.57.38-.77.17-.21.35-.37.58-.49.23-.1.48-.16.76-.16.18,0,.35.03.52.08.17.05.32.13.46.23.13.1.23.23.31.38.08.14.13.32.14.51h1.16c-.04-.32-.13-.62-.26-.87-.14-.25-.32-.47-.55-.65-.22-.18-.49-.31-.78-.42-.31-.1-.64-.14-1.01-.14-.45,0-.86.08-1.23.22-.37.15-.68.36-.95.64-.27.29-.48.64-.62,1.05-.15.42-.22.9-.22,1.45s.07,1.04.22,1.46c.14.41.34.77.62,1.05.27.28.58.5.95.65.36.14.78.22,1.23.22.34,0,.66-.05.95-.14Z"/> <path class="mateli_logo-1" d="M149.46,47.07c-.08.02-.18.03-.27.03-.09.01-.2.01-.3.01-.1,0-.18-.01-.27-.03-.08-.02-.14-.07-.2-.14-.04-.07-.09-.17-.11-.31-.03-.14-.05-.31-.05-.54v-3.72h1.04v-.9h-1.04v-1.58h-1.15v1.58h-.79v.9h.79v3.66c0,.3.01.58.04.83.02.24.08.45.18.62.1.16.25.3.46.39.21.09.5.14.86.14.15,0,.28-.01.43-.02.13-.01.26-.04.39-.06v-.86Z"/> <path class="mateli_logo-1" d="M154.28,47.91c.32-.1.59-.25.82-.43.23-.18.4-.4.51-.65.12-.25.18-.52.18-.8,0-.32-.05-.57-.14-.78-.09-.2-.24-.38-.43-.52-.19-.16-.43-.28-.71-.38-.29-.1-.63-.19-1.01-.29-.41-.11-.74-.2-.97-.26-.24-.06-.41-.13-.53-.2-.12-.06-.18-.14-.21-.22-.02-.08-.04-.18-.04-.31,0-.14.03-.27.11-.38.06-.1.16-.2.29-.27.12-.07.25-.13.42-.17.16-.02.33-.05.51-.05.86,0,1.32.31,1.36.93h1.16c-.05-1.21-.91-1.81-2.58-1.81-.37,0-.71.05-1,.14-.3.09-.55.22-.76.38-.21.16-.37.36-.48.58-.12.23-.17.48-.17.75,0,.29.04.54.13.74.08.2.21.36.39.5.17.14.4.26.67.35.28.09.6.19.99.29.38.09.7.18.95.26.25.07.43.14.57.21.13.07.22.16.27.25.06.1.08.21.08.36,0,.31-.13.56-.37.75-.24.19-.6.29-1.08.29-1.05,0-1.58-.4-1.59-1.18h-1.15c.07,1.38.99,2.08,2.75,2.08.39,0,.76-.05,1.08-.16Z"/> <path class="mateli_logo-1" d="M66.47,39.02v2.95c-.46-.42-1.06-.63-1.76-.63-.4,0-.76.08-1.09.24-.34.16-.61.38-.86.68-.25.29-.43.65-.57,1.07-.13.42-.2.89-.2,1.42s.06.97.18,1.38c.12.41.29.77.53,1.05.22.29.5.51.82.66.32.16.7.24,1.11.24.72,0,1.33-.3,1.84-.91v.76h1.15v-8.9h-1.15ZM66.47,46.09c-.53.73-1.12,1.09-1.74,1.09-.49,0-.88-.2-1.15-.61-.28-.4-.42-1.01-.42-1.81,0-.85.15-1.48.44-1.91.3-.42.69-.63,1.17-.63.63,0,1.2.27,1.7.79v3.09Z"/> <path class="mateli_logo-1" d="M75.45,44.69c0-.53-.07-1.01-.21-1.42-.14-.42-.34-.77-.6-1.05-.27-.29-.58-.5-.96-.65-.37-.15-.79-.23-1.25-.23-.44,0-.84.08-1.21.23-.36.15-.68.37-.95.66-.27.29-.47.64-.62,1.06-.15.42-.21.89-.21,1.42s.07,1.02.22,1.43c.16.41.36.78.64,1.06.28.29.61.5.99.65.39.15.81.23,1.28.23.36,0,.69-.05,1.01-.14.31-.09.59-.22.84-.39.24-.18.44-.39.6-.65.16-.26.27-.56.31-.9h-1.16c-.01.19-.07.36-.16.51-.09.15-.22.27-.37.38-.15.1-.31.17-.5.22-.19.05-.38.07-.57.07-.25,0-.5-.04-.72-.13-.24-.09-.43-.22-.61-.4-.17-.18-.32-.41-.43-.69-.11-.28-.18-.61-.2-1h4.85v-.27ZM70.62,44.07c.04-.32.13-.6.24-.83.11-.24.24-.43.39-.59.16-.15.34-.26.54-.34.19-.08.41-.12.63-.12.48,0,.89.16,1.21.46.32.3.53.77.63,1.4h-3.64Z"/> <path class="mateli_logo-1" d="M91.34,41.47v.5c-.48-.42-1.06-.63-1.77-.63-.39,0-.76.08-1.09.24-.32.16-.61.38-.86.68-.24.29-.43.65-.56,1.07-.13.42-.2.89-.2,1.42s.06.97.17,1.38c.12.41.29.77.52,1.05.22.29.5.51.83.66.32.16.7.24,1.11.24.71,0,1.32-.3,1.84-.91v.31c0,.44-.05.81-.12,1.09-.09.28-.19.5-.34.67-.14.16-.32.27-.53.33-.2.06-.44.09-.69.09-.95,0-1.41-.36-1.41-1.07h-1.19c0,.29.06.56.18.81.12.24.29.45.52.61.22.17.5.3.83.39.32.1.68.14,1.09.14,1.87,0,2.8-1.04,2.8-3.11v-5.95h-1.14ZM91.34,46.07c-.54.74-1.12,1.11-1.76,1.11-.48,0-.87-.2-1.15-.61-.27-.4-.42-1.01-.42-1.81,0-.85.15-1.48.44-1.91.3-.42.69-.63,1.18-.63.62,0,1.2.27,1.7.77v3.09Z"/> <path class="mateli_logo-1" d="M111.41,43.28c-.12-.41-.29-.76-.52-1.04-.22-.29-.49-.51-.82-.66-.32-.16-.7-.24-1.12-.24-.72,0-1.33.31-1.84.9v-.76h-1.15v8.93h1.15v-2.97c.47.43,1.06.65,1.76.
331765.39,0,.76-.08,1.08-.24.34-.16.62-.39.87-.69.24-.3.43-.66.57-1.09.13-.42.2-.9.2-1.41s-.06-.97-.18-1.37ZM109.99,46.55c-.29.42-.69.63-1.18.63-.64,0-1.2-.26-1.69-.77v-3.08c.53-.74,1.11-1.12,1.74-1.12.51,0,.89.21,1.16.62.27.4.41,1.01.41,1.82s-.14,1.48-.43,1.9Z"/> <path class="mateli_logo-1" d="M123.43,43.27c-.14-.41-.35-.76-.61-1.05-.27-.29-.58-.5-.95-.65-.38-.15-.8-.23-1.27-.23-.44,0-.84.08-1.21.22-.38.15-.69.36-.95.64-.26.29-.47.64-.62,1.05-.14.42-.21.9-.21,1.45s.07,1.04.21,1.46c.15.41.36.77.62,1.05.27.28.58.5.95.65.37.14.77.22,1.21.22s.86-.08,1.23-.22c.36-.15.69-.36.96-.65.25-.28.46-.64.61-1.05.15-.42.22-.91.22-1.46s-.07-1.01-.21-1.43ZM121.96,46.55c-.34.43-.79.63-1.35.63s-1.01-.21-1.35-.64c-.33-.42-.5-1.03-.5-1.84,0-.4.04-.76.13-1.07.09-.31.22-.57.38-.77.16-.21.35-.37.58-.49.22-.1.48-.16.75-.16s.52.05.75.16c.22.11.42.25.58.46.16.21.29.47.38.77.09.31.14.68.14,1.1,0,.82-.16,1.44-.5,1.85Z"/> <path class="mateli_logo-1" d="M129.49,39.02v2.95c-.47-.42-1.06-.63-1.76-.63-.4,0-.77.08-1.09.24-.34.16-.62.38-.87.68-.24.29-.43.65-.56,1.07-.13.42-.2.89-.2,1.42s.06.97.18,1.38c.12.41.3.77.52,1.05.23.29.5.51.82.66.32.16.7.24,1.11.24.72,0,1.32-.3,1.84-.91v.76h1.15v-8.9h-1.15ZM129.49,46.09c-.53.73-1.12,1.09-1.75,1.09-.49,0-.87-.2-1.15-.61-.28-.4-.42-1.01-.42-1.81,0-.85.15-1.48.45-1.91.3-.42.68-.63,1.18-.63.62,0,1.19.27,1.69.79v3.09Z"/> </g> <g> <path class="mateli_logo-1" d="M.62,31.83c1.1,5,3.63,9.46,7.13,12.93,2.83-7.51,7.33-19.49,7.33-19.49,0,0-9.06,4.1-14.47,6.56Z"/> <path class="mateli_logo-1" d="M20.65.59c-5.08,1.09-9.62,3.66-13.14,7.25,7.48,2.81,19.8,7.45,19.8,7.45,0,0-4.22-9.32-6.66-14.69Z"/> <path class="mateli_logo-1" d="M4.12,12.09C1.51,16.16,0,20.99,0,26.18v.23c7.31-3.31,19.13-8.68,19.13-8.68,0,0-9.48-3.56-15.01-5.64Z"/> <path class="mateli_logo-1" d="M48.02,40.59c2.7-4.09,4.29-8.96,4.33-14.21-7.3,3.3-19.1,8.65-19.1,8.65,0,0,9.21,3.46,14.77,5.56Z"/> <path class="mateli_logo-1" d="M40.5,4.26C36.38,1.58,31.46,0,26.18,0h-.1c3.29,7.28,8.75,19.34,8.75,19.34,0,0,3.59-9.53,5.67-15.08Z"/> <path class="mateli_logo-1" d="M51.82,20.92c-1.03-5.1-3.55-9.65-7.08-13.2-2.81,7.49-7.44,19.79-7.44,19.79,0,0,9.12-4.14,14.52-6.58Z"/> <path class="mateli_logo-1" d="M12.01,48.16c4.06,2.63,8.9,4.17,14.11,4.18-3.32-7.32-8.58-18.9-8.58-18.9,0,0-3.43,9.16-5.53,14.72Z"/> <path class="mateli_logo-1" d="M31.55,51.79c5-1.04,9.48-3.53,13-6.97-7.52-2.84-19.49-7.33-19.49-7.33,0,0,4.02,8.88,6.48,14.3Z"/> </g> </g> </g></svg>
3318  </div>
3319  <div class="footer-block footer-1">
3320    <div class="footer-sns"><ul class="footer__list-social list-unstyled list-social"><li class="list-social__item">
3321      <a href="https://www.facebook.com/mateli.jp/" class="link list-social__link" ><svg aria-hidden="true" focusable="false" class="icon icon-facebook" viewBox="0 0 18 18">
3322  <path fill="currentColor" d="M16.42.61c.27 0 .5.1.69.28.19.2.28.42.28.7v15.44c0 .27-.1.5-.28.69a.94.94 0 01-.7.28h-4.39v-6.7h2.25l.31-2.65h-2.56v-1.7c0-.4.1-.72.28-.93.18-.2.5-.32 1-.32h1.37V3.35c-.6-.06-1.27-.1-2.01-.1-1.01 0-1.83.3-2.45.9-.62.6-.93 1.44-.93 2.53v1.97H7.04v2.65h2.24V18H.98c-.28 0-.5-.1-.7-.28a.94.94 0 01-.28-.7V1.59c0-.27.1-.5.28-.69a.94.94 0 01.7-.28h15.44z">
3323</svg>
3324<span class="visually-hidden">Facebook</span>
3325      </a>
3326    </li><li class="list-social__item">
3327      <a href="https://www.instagram.com/mateli.co/?hl=ja" class="link list-social__link" ><svg aria-hidden="true" focusable="false" class="icon icon-instagram" viewBox="0 0 18 18">
3328  <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"/>
3329  <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">
3330</svg>
3331<span class="visually-hidden">Instagram</span>
3332      </a>
3333    </li><li class="list-social__item">
3334      <a href="https://jp.pinterest.com/mateli0214/" class="link list-social__link" ><svg aria-hidden="true" focusable="false" class="icon icon-pinterest" viewBox="0 0 17 18">
3335  <path fill="currentColor" d="M8.48.58a8.42 8.42 0 015.9 2.45 8.42 8.42 0 011.33 10.08 8.28 8.28 0 01-7.23 4.16 8.5 8.5 0 01-2.37-.32c.42-.68.7-1.29.85-1.8l.59-2.29c.14.28.41.52.8.73.4.2.8.31 1.24.31.87 0 1.65-.25 2.34-.75a4.87 4.87 0 001.6-2.05 7.3 7.3 0 00.56-2.93c0-1.3-.5-2.41-1.49-3.36a5.27 5.27 0 00-3.8-1.43c-.93 0-1.8.16-2.58.48A5.23 5.23 0 002.85 8.6c0 .75.14 1.41.43 1.98.28.56.7.96 1.27 1.2.1.04.19.04.26 0 .07-.03.12-.1.15-.2l.18-.68c.05-.15.02-.3-.11-.45a2.35 2.35 0 01-.57-1.63A3.96 3.96 0 018.6 4.8c1.09 0 1.94.3 2.54.89.61.6.92 1.37.92 2.32 0 .8-.11 1.54-.33 2.21a3.97 3.97 0 01-.93 1.62c-.4.4-.87.6-1.4.6-.43 0-.78-.15-1.06-.47-.27-.32-.36-.7-.26-1.13a111.14 111.14 0 01.47-1.6l.18-.73c.06-.26.09-.47.09-.65 0-.36-.1-.66-.28-.89-.2-.23-.47-.35-.83-.35-.45 0-.83.2-1.13.62-.3.41-.46.93-.46 1.56a4.1 4.1 0 00.18 1.15l.06.15c-.6 2.58-.95 4.1-1.08 4.54-.12.55-.16 1.2-.13 1.94a8.4 8.4 0 01-5-7.65c0-2.3.81-4.28 2.44-5.9A8.04 8.04 0 018.48.57z">
3336</svg>
3337<span class="visually-hidden">Pinterest</span>
3338      </a>
3339    </li></ul></div>
3340  </div>
3341  <div class="footer-menu-wrapper"><div class="footer-menu-title footer-title-1"  data-target="footer-block-1">
3342              <div class="footer-menu-title-block">
3343                お買い物ガイド
3344              </div>
3345              <div class="footer-menu-title-arrow"><svg id="_footer_arrowー_2" data-name="footer_arrowー_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11.39 17.56"> <defs> <style> .cls-1 { fill: none; stroke: #676970; stroke-miterlimit: 10; stroke-width: .75px; } .cls-2 { fill: #e6e6e6; } </style> </defs> <g id="text"> <g> <rect class="cls-2" width="11.39" height="17.56" rx="1.54" ry="1.54" transform="translate(11.39 17.56) rotate(180)"/> <polyline class="cls-1" points="3.75 4.03 8.5 8.78 3.75 13.53"/> </g> </g></svg></div>
3346            </div>
3347            <ul class="footer-block__details-content list-unstyled" id="footer-block-1"><li>
3348                  <a href="/pages/guide" class="link link--text list-menu__item list-menu__item--link">
3349                    ショップガイド
3350                  </a>
3351                </li><li>
3352                  <a href="/pages/question" class="link link--text list-menu__item list-menu__item--link">
3353                    よくある質問一覧
3354                  </a>
3355                </li><li>
3356                  <a href="/policies/refund-policy" class="link link--text list-menu__item list-menu__item--link">
3357                    返品・交換について
3358                  </a>
3359                </li><li>
3360                  <a href="/policies/shipping-policy" class="link link--text list-menu__item list-menu__item--link">
3361                    配送・送料について
3362                  </a>
3363                </li><li>
3364                  <a href="/pages/cad" class="link link--text list-menu__item list-menu__item--link list-menu__item--active">
3365                    図面ダウンロード
3366                  </a>
3367                </li></ul>
3368    <div class="footer-menu-title footer-title-2"  data-target="footer-block-2">
3369              <div class="footer-menu-title-block">
3370                お客様サポート
3371              </div>
3372              <div class="footer-menu-title-arrow"><svg id="_footer_arrowー_2" data-name="footer_arrowー_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11.39 17.56"> <defs> <style> .cls-1 { fill: none; stroke: #676970; stroke-miterlimit: 10; stroke-width: .75px; } .cls-2 { fill: #e6e6e6; } </style> </defs> <g id="text"> <g> <rect class="cls-2" width="11.39" height="17.56" rx="1.54" ry="1.54" transform="translate(11.39 17.56) rotate(180)"/> <polyline class="cls-1" points="3.75 4.03 8.5 8.78 3.75 13.53"/> </g> </g></svg></div>
3373            </div>
3374            <ul class="footer-block__details-content list-unstyled" id="footer-block-2"><li>
3375                  <a href="/pages/contact-maintenance-line" class="link link--text list-menu__item list-menu__item--link">
3376                    不具合・修理のお問い合わせ
3377                  </a>
3378                </li><li>
3379                  <a href="/pages/support" class="link link--text list-menu__item list-menu__item--link">
3380                    お問い合わせ
3381                  </a>
3382                </li><li>
3383                  <a href="/pages/maintenance" class="link link--text list-menu__item list-menu__item--link">
3384                    セット椅子メンテナンス
3385                  </a>
3386                </li><li>
3387                  <a href="https://www.mateli.jp/forms/order_inquiries_and_stock_confirmation/" class="link link--text list-menu__item list-menu__item--link">
3388                    見積書・注文フォーム
3389                  </a>
3390                </li><li>
3391                  <a href="https://www.mateli.jp/forms/agency_quotation_and_order/index.php" class="link link--text list-menu__item list-menu__item--link">
3392                    代理店見積書・注文フォーム
3393                  </a>
3394                </li><li>
3395                  <a href="https://cdn.shopify.com/s/files/1/0517
3395/2337/0679/files/order_sheet_2pages.pdf?v=1771986752" class="link link--text list-menu__item list-menu__item--link">
3396                    代理店専用オーダーフォーム
3397                  </a>
3398                </li><li>
3399                  <a href="https://www.mateli.jp/forms/agency_contract/index.php" class="link link--text list-menu__item list-menu__item--link">
3400                    代理店契約
3401                  </a>
3402                </li></ul>
3403    <div class="footer-menu-title footer-title-3"  data-target="footer-block-3">
3404              <div class="footer-menu-title-block">
3405                マテリについて
3406              </div>
3407              <div class="footer-menu-title-arrow"><svg id="_footer_arrowー_2" data-name="footer_arrowー_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11.39 17.56"> <defs> <style> .cls-1 { fill: none; stroke: #676970; stroke-miterlimit: 10; stroke-width: .75px; } .cls-2 { fill: #e6e6e6; } </style> </defs> <g id="text"> <g> <rect class="cls-2" width="11.39" height="17.56" rx="1.54" ry="1.54" transform="translate(11.39 17.56) rotate(180)"/> <polyline class="cls-1" points="3.75 4.03 8.5 8.78 3.75 13.53"/> </g> </g></svg></div>
3408            </div>
3409            <ul class="footer-block__details-content list-unstyled" id="footer-block-3"><li>
3410                  <a href="https://www.mateli.jp/" class="link link--text list-menu__item list-menu__item--link">
3411                    コーポレートサイト
3412                  </a>
3413                </li><li>
3414                  <a href="https://www.mateli.jp/webcatalog/index.html" class="link link--text list-menu__item list-menu__item--link">
3415                    WEB カタログ
3416                  </a>
3417                </li><li>
3418                  <a href="https://www.mateli.jp/forms/catalog/index.php" class="link link--text list-menu__item list-menu__item--link">
3419                    カタログ請求
3420                  </a>
3421                </li><li>
3422                  <a href="https://www.mateli.jp/forms/samples_request/index.php" class="link link--text list-menu__item list-menu__item--link">
3423                    サンプル請求
3424                  </a>
3425                </li><li>
3426                  <a href="/pages/mag-register" class="link link--text list-menu__item list-menu__item--link">
3427                    メールマガジン登録
3428                  </a>
3429                </li><li>
3430                  <a href="https://g.page/r/CaJtR0QSZghGEAE/review" class="link link--text list-menu__item list-menu__item--link">
3431                    口コミを募集中
3432                  </a>
3433                </li><li>
3434                  <a href="https://sp.mateli.jp/" class="link link--text list-menu__item list-menu__item--link">
3435                    店舗設計
3436                  </a>
3437                </li></ul>
3438    
3439  </div>
3440  <div class="footer-subs">
3441    <div class="sub-menu sub-1">
3442      <a href='/policies/legal-notice'>特定商取引法に基づく表記</a>
3443      <a href='/policies/terms-of-service'>利用規約</a>
3444      <a href="/policies/privacy-policy">プライバシーポリシー</a>
3445      <a href="/pages/license">古物営業許可</a>
3446    </div>
3447    <div class="sub-copyright"><span>© Copyright 2026 mateli.co.,Ltd.</span></div>
3448  </div>
3449</div>
3450
3451<script type="text/javascript">
3452  document.addEventListener('DOMContentLoaded', function () { 
3453    // Smooth scroll to top when clicking footer logo
3454    const footerLogo = document.querySelector('.footer-logo');
3455
3456    if (footerLogo) {
3457      footerLogo.addEventListener('click', (e) => {
3458        e.preventDefault(); // Prevent default link behavior if it's an <a> tag
3459        window.scrollTo({
3460          top: 0,
3461          behavior: 'smooth' // Smooth scroll
3462        });
3463      });
3464    }
3465
3466    // Footer menu accordion for mobile (<900px)
3467    if (window.innerWidth < 900) {
3468      const footerTitles = document.querySelectorAll('.footer-menu-title');
3469
3470      footerTitles.forEach(title => {
3471        title.addEventListener('click', function (event) {
3472          // Only proceed if the clicked element is not inside a link
3473          if (!event.target.closest('a')) {
3474            const targetDivId = this.getAttribute('data-target');
3475            const targetDiv = document.getElementById(targetDivId);
3476
3477            if (!targetDiv) return;
3478
3479            // If already selected => hide this
3480            if (this.classList.contains('selected')) {
3481              this.classList.remove('selected');
3482              targetDiv.classList.remove('selected');
3483            } 
3484            // Otherwise, hide all others first
3485            else {
3486              // Remove 'selected' from all titles and blocks
3487              document.querySelectorAll('.footer-menu-title.selected, .footer-block__details-content.selected')
3488                      .forEach(el => el.classList.remove('selected'));
3489
3490              // Then toggle the clicked one
3491              this.classList.add('selected');
3492              targetDiv.classList.add('selected');
3493            }
3494          }
3495        });
3496      });
3497    }
3498  });
3499</script>
3499
3500
3501
3502
3503</div>
3504<!-- END sections: footer-group -->
3505
3506    <link href="//furniture.mateli.jp/cdn/shop/t/204/assets/extra_correction.css?v=180442015371414041831790902731" rel="stylesheet" type="text/css" media="all" />
3507
3508    <ul hidden>
3509      <li id='a11y-refresh-page-message'>選択結果を選ぶと、ページが全面的に更新されます。</li>
3510      <li id='a11y-new-window-message'>新しいウィンドウで開きます。</li>
3511    </ul>
3512
3513    
3513<script>
3514      window.shopUrl = 'https://furniture.mateli.jp';
3515      window.routes = {
3516        cart_add_url: '/cart/add',
3517        cart_change_url: '/cart/change',
3518        cart_update_url: '/cart/update',
3519        cart_url: '/cart',
3520        predictive_search_url: '/search/suggest',
3521      };
3522
3523      window.cartStrings = {
3524        error: `カートをアップデートするときにエラーが発生しました。もう一度お試しください。`,
3525        quantityError: `このアイテムは[quantity]個しかカートに追加することができません。`,
3526      };
3527
3528      window.variantStrings = {
3529        addToCart: `カートに追加`,
3530        soldOut: `SOLD OUT`,
3531        unavailable: `利用できません`,
3532        unavailable_with_option: `[value]は利用できません`,
3533      };
3534
3535      window.accessibilityStrings = {
3536        imageAvailable: `ギャラリービューで画像 ([index]) が利用できるようになりました`,
3537        shareSuccess: `リンクがクリップボードにコピーされました`,
3538        pauseSlideshow: `スライドショーを一時停止する`,
3539        playSlideshow: `スライドショーを再生する`,
3540      };
3541    </script>
3541<script src='//furniture.mateli.jp/cdn/shop/t/204/assets/predictive-search.min.js?v=143682996007816233751790902731' defer='defer'></script>
3541
3542
3543    
3544    
3544<script>
3545/**
3546 * GLOBAL CART MONITOR
3547 * 
3548 * Purpose: Automatically manages the special delivery fee product in the cart based on:
3549 * 1. Presence of assembly delivery items (組立配送, 組み立て配送, 店内配送)
3550 * 2. Current date falling within the special delivery period
3551 * 
3552 * Behavior:
3553 * - If cart has assembly delivery items AND within date range → Ensure special product is added
3554 * - If cart has NO assembly delivery items OR outside date range → Ensure special product is removed
3555 * - Monitors all cart operations (add, update, change, clear) and re-checks state
3556 * 
3557 * Integration:
3558 * - Function is exposed globally as window.checkAndAddSpecialProduct()
3559 * - Can be called by other scripts (e.g., shipping option changes)
3560 */
3561(function() {
3562  'use strict';
3563  
3564  // ==========================================
3565  // DEBUG CONFIGURATION
3566  // ==========================================
3567  // Set to false to disable all debug logging in production
3568  const DEBUG = false;
3569  
3570  // Helper function for conditional logging
3571  const debugLog = (...args) => { if (DEBUG) console.log(...args); };
3572  const debugError = (...args) => { if (DEBUG) console.error(...args); };
3573  
3574  debugLog('[Global Cart Monitor] Loading...');
3575  
3576  // ==========================================
3577  // CONFIGURATION - Loaded from Theme Settings
3578  // ==========================================
3579  
3580  const CONFIG = { enabled: false };
3581  debugLog('[Global Cart Monitor] Not configured - missing theme settings');
3582  
3583  
3584  // Exit early if not configured
3585  if (!CONFIG.enabled) {
3586    debugLog('[Global Cart Monitor] Monitor disabled');
3587    return;
3588  }
3589  
3590  // Prevent concurrent executions
3591  let isProcessing = false;
3592  
3593  // Cooldown to prevent excessive rapid checks
3594  let lastCheckTime = 0;
3595  const CHECK_COOLDOWN_MS = 500; // Minimum 0.5 second between checks
3596  
3597  
3598  // ==========================================
3599  // HELPER FUNCTIONS
3600  // ==========================================
3601  
3602  /**
3603   * Smart cart UI update function
3604   * Compares current cart state with fetched cart state
3605   * - If only special product changed: inject/remove just that item (preserves JS handlers)
3606   * - If other changes detected: full page refresh
3607   */
3608  async function updateCartUI() {
3609    try {
3610      debugLog('[Global Cart Monitor] Checking if we need to update cart UI...');
3611      
3612      // Get current cart items from DOM first
3613      const currentCartItems = getCurrentCartItemNames();
3614      
3615      // If no cart items in DOM, we're likely on a product page with closed drawer
3616      // No point in updating UI that doesn't exist
3617      if (currentCartItems.length === 0) {
3618        debugLog('[Global Cart Monitor] No cart UI elements found in DOM - skipping update');
3619        debugLog('[Global Cart Monitor] (This is normal on product pages with drawer closed)');
3620        return;
3621      }
3622      
3623      debugLog('[Global Cart Monitor] Found', currentCartItems.length, 'items in DOM - proceeding with update check');
3624      
3625      // Get current cart from API
3626      const response = await fetch('/cart.js');
3627      const apiCart = await response.json();
3628      
3629      debugLog('[Global Cart Monitor] Comparing cart states:', {
3630        apiItemCount: apiCart.items.length,
3631        domItemCount: currentCartItems.length
3632      });
3633      
3634      // Check if only the special product changed
3635      const onlySpecialProductChanged = isOnlySpecialProductDifferent(currentCartItems, apiCart.items);
3636      
3637      if (onlySpecialProductChanged) {
3638        debugLog('[Global Cart Monitor] Only special product changed - updating DOM without refresh');
3639        
3640        // Find if special product exists in API cart
3641        const specialProductInApi = apiCart.items.find(item => 
3642          item.variant_id.toString() === CONFIG.specialVariantId.toString()
3643        );
3644        
3645        if (specialProductInApi) {
3646          // Add special product to DOM
3647          await injectSpecialProductToDOM(specialProductInApi);
3648        } else {
3649          // Remove special product from DOM
3650          await removeSpecialProductFromDOM();
3651        }
3652        
3653        // Update all UI
3654        await updateAllCartUIComponents();
3655      } else {
3656        debugLog('[Global Cart Monitor] Other cart changes detected');
3657        // Update all UI components (Drawer, Page, Bubble)
3658        await updateAllCartUIComponents();
3659      }
3660      
3661    } catch (error) {
3662      debugError('[Global Cart Monitor] Error updating cart UI:', error);
3663      debugError('[Global Cart Monitor] Error details:', error.message, error.stack);
3664      debugLog('🔄 REFRESH [updateCartUI ERROR] - Would reload page here');
3665      // TEMPORARILY DISABLED FOR DEBUGGING - Fallback to page refresh on error
3666      // setTimeout(() => window.location.reload(), 100);
3667    }
3668  }
3669  
3670  /**
3671   * Gets current cart item product names from DOM
3672   * Reads actual product titles displayed in the cart drawer or cart page
3673   */
3674  function getCurrentCartItemNames() {
3675    const items = [];
3676    
3677    // Check for cart drawer items first (most common on product pages)
3678    const drawerContainer = document.querySelector('#CartDrawer-CartItems');
3679    if (drawerContainer) {
3680      const drawerItems = drawerContainer.querySelectorAll('.cart-item__details .cart-item__name');
3681      drawerItems.forEach(nameElement => {
3682        const productName = nameElement.textContent.trim();
3683        if (productName) items.push(productName);
3684      });
3685      debugLog('[Global Cart Monitor] Found drawer items by name:', items);
3686      return items;
3687    }
3688    
3689    // Check for cart page items
3690    const pageItems = document.querySelectorAll('.mateli-main-cart-item .cart-item__name');
3691    if (pageItems.length > 0) {
3692      pageItems.forEach(nameElement => {
3693        const productName = nameElement.textContent.trim();
3694        if (productName) items.push(productName);
3695      });
3696      debugLog('[Global Cart Monitor] Found cart page items by name:', items);
3697      return items;
3698    }
3699    
3700    debugLog('[Global Cart Monitor] No cart items found in DOM');
3701    return items;
3702  }
3703  
3704  /**
3705   * Checks if only the special product is different between DOM and API
3706   * Compares by product titles/names instead of variant IDs
3707   */
3708  function isOnlySpecialProductDifferent(domNames, apiItems) {
3709    // Get product titles from API (excluding special product)
3710    const domProducts = domNames.filter(name => name !== CONFIG.specialProductTitle);
3711    const apiProducts = apiItems
3712      .map(item => item.product_title || item.title)
3713      .filter(title => title !== CONFIG.specialProductTitle);
3714    
3715    // Check if non-special items are identical
3716    if (domProducts.length !== apiProducts.length) {
3717      debugLog('[Global Cart Monitor] Different item counts (excluding special):', {
3718        dom: domProducts.length,
3719        api: apiProducts.length
3720      });
3721      return false;
3722    }
3723    
3724    // Sort and compare
3725    const sortedDom = [...domProducts].sort();
3726    const sortedApi = [...apiProducts].sort();
3727    
3728    const identical = sortedDom.every((name, index) => name === sortedApi[index]);
3729    
3730    if (!identical) {
3731      debugLog('[Global Cart Monitor] Non-special items differ');
3732      debugLog('[Global Cart Monitor] DOM products:', sortedDom);
3733      debugLog('[Global Cart Monitor] API products:', sortedApi);
3734      return false;
3735    }
3736    
3737    // Check if special product status changed
3738    const specialInDom = domNames.includes(CONFIG.specialProductTitle);
3739    const specialInApi = apiItems.some(item => 
3740      (item.product_title || item.title) === CONFIG.specialProductTitle
3741    );
3742    
3743    const specialChanged = specialInDom !== specialInApi;
3744    debugLog('[Global Cart Monitor] Special product status:', {
3745      inDom: specialInDom,
3746      inApi: specialInApi,
3747      changed: specialChanged
3748    });
3749    
3750    return specialChanged;
3751  }
3752  
3753  /**
3754   * Injects special product HTML into cart DOM
3755   */
3756  async function injectSpecialProductToDOM(productData) {
3757    debugLog('[Global Cart Monitor] Injecting special product into DOM - updating all UI');
3758    await updateAllCartUIComponents();
3759  }
3760  
3761  /**
3762   * Removes special product from DOM
3763   */
3764  async function removeSpecialProductFromDOM() {
3765    debugLog('[Global Cart Monitor] Removing special product from DOM - updating all UI');
3766    await updateAllCartUIComponents();
3767  }
3768
3769  /**
3770   * Updates all available Cart UI components (Drawer, Page, Bubble) in one go
3771   * Uses Shopify Section Rendering API
3772   */
3773  async function updateAllCartUIComponents() {
3774    debugLog('[Global Cart Monitor] Updating all UI components...');
3775    
3776    const sectionsToFetch = ['cart-icon-bubble'];
3777    
3778    // Check for Drawer
3779    const drawerContainer = document.querySelector('cart-drawer');
3780    if (drawerContainer) sectionsToFetch.push('cart-drawer');
3781    
3782    // Check for Cart Page (Dynamic Section Detection)
3783    let cartPageSectionId = null;
3784    let cartPageSectionEl = null;
3785
3786    // Try finding #cart as user suggested, or common selectors
3787    const cartEl = document.getElementById('cart') || document.querySelector('.cart') || document.querySelector('form[action="/cart"]');
3788    if (cartEl) {
3789      cartPageSectionEl = cartEl.closest('.shopify-section');
3790      if (cartPageSectionEl) {
3791        // Extract ID from shopify-section-{id}
3792        // Note: Section Rendering API expects the SECTION ID (e.g. 'main-cart-items' or UUID)
3793        cartPageSectionId = cartPageSectionEl.id.replace(/^shopify-section-/, '');
3794        if (cartPageSectionId) {
3795            sectionsToFetch.push(cartPageSectionId);
3796            debugLog('[Global Cart Monitor] Detected dynamic cart section:', cartPageSectionId);
3797        }
3798      }
3799    }
3800    
3801    // Fallback: Check for static main-cart-items if dynamic detection failed
3802    if (!cartPageSectionId) {
3803         const staticItemsSection = document.getElementById('shopify-section-main-cart-items');
3804         if (staticItemsSection) sectionsToFetch.push('main-cart-items');
3805         
3806         const staticFooterSection = document.getElementById('shopify-section-main-cart-footer');
3807         if (staticFooterSection) sectionsToFetch.push('main-cart-footer');
3808    }
3809    
3810    try {
3811      debugLog('[Global Cart Monitor] Fetching sections:', sectionsToFetch);
3812      
3813      const response = await fetch(`${window.location.pathname}?sections=${sectionsToFetch.join(',')}`);
3814      const data = await response.json();
3815      
3816      // 1. Update Cart Bubble
3817      const bubbleHtml = data['cart-icon-bubble'];
3818      if (bubbleHtml) {
3819        let bubbleSection = document.getElementById('cart-icon-bubble');
3820        if (!bubbleSection) bubbleSection = document.getElementById('shopify-section-cart-icon-bubble');
3821        if (!bubbleSection) bubbleSection = document.querySelector('.cart-count-bubble')?.closest('.shopify-section');
3822
3823        if (bubbleSection) {
3824           if (bubbleSection.id.startsWith('shopify-section')) {
3825               bubbleSection.innerHTML = bubbleHtml;
3826           } else {
3827               bubbleSection.innerHTML = bubbleHtml;
3828           }
3829           debugLog('[Global Cart Monitor] Updated cart-icon-bubble');
3830        }
3831      }
3832      
3833      // 2. Update Drawer
3834      const drawerHtml = data['cart-drawer'];
3835      if (drawerHtml && drawerContainer) {
3836        const doc = new DOMParser().parseFromString(drawerHtml, 'text/html');
3837        // Update items (using ID)
3838        const itemsContainer = drawerContainer.querySelector('#CartDrawer-CartItems');
3839        const newItems = doc.getElementById('CartDrawer-CartItems');
3840        if (itemsContainer && newItems) {
3841          itemsContainer.innerHTML = newItems.innerHTML;
3842        }
3843        
3844        // Update footer
3845        const footer = drawerContainer.querySelector('.drawer__footer');
3846        const newFooter = doc.querySelector('.drawer__footer');
3847        if (footer && newFooter) {
3848          footer.innerHTML = newFooter.innerHTML;
3849        }
3850        debugLog('[Global Cart Monitor] Updated drawer content');
3851      }
3852      
3853      // 3. Update Cart Page Section (Dynamic)
3854      if (cartPageSectionId && data[cartPageSectionId]) {
3855         cartPageSectionEl.innerHTML = data[cartPageSectionId];
3856         debugLog('[Global Cart Monitor] Updated cart page section');
3857      }
3858      
3859      // 4. Update Static Cart Sections (Fallback)
3860      if (data['main-cart-items']) {
3861        const s = document.getElementById('shopify-section-main-cart-items');
3862        if (s) s.innerHTML = data['main-cart-items'];
3863      }
3864      if (data['main-cart-footer']) {
3865        const s = document.getElementById('shopify-section-main-cart-footer');
3866        if (s) s.innerHTML = data['main-cart-footer'];
3867      }
3868      
3869    } catch (e) {
3870      debugError('[Global Cart Monitor] Failed to update UI components:', e);
3871    }
3872  }
3873
3874  // Expose globally so other IIFEs (like CartOrderFixer) can use it
3875  window.updateAllCartUIComponents = updateAllCartUIComponents;
3876  debugLog('[Global Cart Monitor] Exposed updateAllCartUIComponents globally');
3877  
3878  /**
3879   * Checks if cart contains any assembly delivery items
3880   * Searches for keywords in product and variant titles
3881   * 
3882   * @param {Object} cartData - Cart object from Shopify API
3883   * @returns {boolean} True if assembly delivery items found
3884   */
3885  function hasAssemblyDeliveryItems(cartData) {
3886    if (!cartData || !cartData.items) {
3887      debugLog('[Global Cart Monitor] No cart data or items array');
3888      return false;
3889    }
3890    
3891    debugLog('[Global Cart Monitor] Scanning', cartData.items.length, 'items for assembly delivery keywords...');
3892    
3893    return cartData.items.some(item => {
3894      const fullTitle = (item.product_title || '') + ' ' + (item.variant_title || '');
3895      // Keywords: 組立配送 (assembly delivery), 組み立て配送 (assembly delivery alt), 店内配送 (in-store delivery)
3896      const hasKeyword = fullTitle.includes('組立配送') || fullTitle.includes('組み立て配送') || fullTitle.includes('店内配送');
3897      
3898      if (hasKeyword) {
3899        debugLog('[Global Cart Monitor] Found assembly delivery item:', {
3900          title: fullTitle,
3901          variantId: item.variant_id,
3902          sku: item.sku
3903        });
3904      }
3905      
3906      return hasKeyword;
3907    });
3908  }
3909  
3910  
3911  // ==========================================
3912  // MAIN CHECK FUNCTION (Exposed Globally)
3913  // ==========================================
3914  
3915  /**
3916   * Main function that checks cart state and adds/removes special product as needed
3917   * This function is exposed globally and can be called by other scripts
3918   * 
3919   * Flow:
3920   * 1. Check if already processing (prevent race conditions)
3921   * 2. Verify current date is within special period
3922   * 3. Fetch current cart state
3923   * 4. Check for assembly delivery items
3924   * 5. Check for special product in cart
3925   * 6. Take action based on state comparison
3926   */
3927  async function checkAndAddSpecialProduct(options = {}) {
3928    const { force = false } = options;
3929    
3930    // Guard: Cooldown check to prevent excessive rapid checks (can be bypassed with force)
3931    const now = Date.now();
3932    const timeSinceLastCheck = now - lastCheckTime;
3933    
3934    if (!force && timeSinceLastCheck < CHECK_COOLDOWN_MS) {
3935      debugLog(`[Global Cart Monitor] Cooldown active - skipping check (${timeSinceLastCheck}ms since last check, need ${CHECK_COOLDOWN_MS}ms)`);
3936      return;
3937    }
3938    
3939    // Guard: Prevent concurrent executions
3940    if (isProcessing) {
3941      debugLog('[Global Cart Monitor] Already processing, skipping duplicate execution');
3942      return;
3943    }
3944    
3945    // Update last check time
3946    lastCheckTime = now;
3947    
3948    // Check if we're within the special delivery date range
3949    const today = new Date();
3950    debugLog('[Global Cart Monitor] Date check:', {
3951      today: today.toISOString().split('T')[0],
3952      specialStart: CONFIG.specialStartDate.toISOString().split('T')[0],
3953      specialEnd: CONFIG.specialEndDate.toISOString().split('T')[0],
3954      withinRange: today >= CONFIG.specialStartDate && today <= CONFIG.specialEndDate
3955    });
3956    
3957    if (today < CONFIG.specialStartDate || today > CONFIG.specialEndDate) {
3958      debugLog('[Global Cart Monitor] Outside special date range - no action needed');
3959      return;
3960    }
3961    
3962    debugLog('[Global Cart Monitor] Within special date range - proceeding with cart check');
3963    isProcessing = true;
3964    
3965    try {
3966      // Fetch current cart state
3967      debugLog('[Global Cart Monitor] Fetching cart state from /cart.js...');
3968      const response = await fetch('/cart.js');
3969      const cart = await response.json();
3970      
3971      debugLog('[Global Cart Monitor] Cart state:', {
3972        itemCount: cart.item_count,
3973        totalPrice: cart.total_price,
3974        currency: cart.currency
3975      });
3976      
3977      // Check for assembly delivery items
3978      const hasAssemblyDelivery = hasAssemblyDeliveryItems(cart);
3979      debugLog('[Global Cart Monitor] Assembly delivery check result:', hasAssemblyDelivery);
3980      
3981      // Check if special product is already in cart
3982      const specialProductItem = cart.items.find(item => 
3983        item.variant_id.toString() === CONFIG.specialVariantId.toString()
3984      );
3985      
3986      debugLog('[Global Cart Monitor] Special product status:', {
3987        inCart: !!specialProductItem,
3988        variantId: specialProductItem?.variant_id,
3989        quantity: specialProductItem?.quantity,
3990        key: specialProductItem?.key
3991      });
3992      
3993      // ==========================================
3994      // DECISION LOGIC
3995      // ==========================================
3996      
3997      // CASE 1: Has assembly delivery but NO special product → ADD
3998      if (hasAssemblyDelivery && !specialProductItem) {
3999        debugLog('[Global Cart Monitor] ACTION: Adding special product');
4000        debugLog('[Global Cart Monitor] Reason: Cart has assembly delivery items but missing special fee product');
4001        
4002        const addResponse = await fetch('/cart/add.js', {
4003          method: 'POST',
4004          headers: { 'Content-Type': 'application/json' },
4005          body: JSON.stringify({
4006            items: [{ id: CONFIG.specialVariantId, quantity: 1 }]
4007          })
4008        });
4009        
4010        if (addResponse.ok) {
4011          const addedItem = await addResponse.json();
4012          debugLog('[Global Cart Monitor] Special product added successfully:', addedItem);
4013          await updateCartUI();
4014        } else {
4015          const errorData = await addResponse.json();
4016          debugError('[Global Cart Monitor] Failed to add special product:', {
4017            status: addResponse.status,
4018            error: errorData
4019          });
4020        }
4021      }
4022      // CASE 2: Has special product but NO assembly delivery → REMOVE
4023      else if (!hasAssemblyDelivery && specialProductItem) {
4024        debugLog('[Global Cart Monitor] ACTION: Removing special product');
4025        debugLog('[Global Cart Monitor] Reason: No assembly delivery items found in cart');
4026        
4027        const removeResponse = await fetch('/cart/change.js', {
4028          method: 'POST',
4029          headers: { 'Content-Type': 'application/json' },
4030          body: JSON.stringify({
4031            id: specialProductItem.key,
4032            quantity: 0
4033          })
4034        });
4035        
4036        if (removeResponse.ok) {
4037          const updatedCart = await removeResponse.json();
4038          debugLog('[Global Cart Monitor] Special product removed successfully');
4039          debugLog('[Global Cart Monitor] Updated cart item count:', updatedCart.item_count);
4040          await updateCartUI();
4041        } else {
4042          const errorData = await removeResponse.json();
4043          debugError('[Global Cart Monitor] Failed to remove special product:', {
4044            status: removeResponse.status,
4045            error: errorData
4046          });
4047        }
4048      }
4049      // CASE 3: Both present or both absent → No action needed
4050      else {
4051        debugLog('[Global Cart Monitor] Cart state is correct - no action needed');
4052        debugLog('[Global Cart Monitor] Current state:', {
4053          hasAssemblyDelivery,
4054          hasSpecialProduct: !!specialProductItem,
4055          decision: 'No change required'
4056        });
4057      }
4058      
4059    } catch (error) {
4060      debugError('[Global Cart Monitor] Error during cart check:', error);
4061      debugError('[Global Cart Monitor] Stack trace:', error.stack);
4062    } finally {
4063      // Reset processing flag after a small delay
4064      setTimeout(() => { 
4065        isProcessing = false; 
4066        debugLog('[Global Cart Monitor] Processing flag released');
4067      }, 300);
4068    }
4069  }
4070  
4071  // ==========================================
4072  // EXPOSE FUNCTION GLOBALLY
4073  // ==========================================
4074  
4075  /**
4076   * Make the check function available to other scripts
4077   * Usage: window.checkAndAddSpecialProduct()
4078   */
4079  window.checkAndAddSpecialProduct = checkAndAddSpecialProduct;
4080  debugLog('[Global Cart Monitor] Function exposed globally as window.checkAndAddSpecialProduct()');
4081  
4082  // ==========================================
4083  // EVENT LISTENERS FOR CART CHANGES
4084  // ==========================================
4085  
4086  /**
4087   * Listen to Shopify's native cart events
4088   * Trigger our special product check AFTER Shopify completes its cart operations
4089   */
4090  
4091  // Listen for Shopify's cart update events
4092  document.addEventListener('cart:updated', () => {
4093    debugLog('[Global Cart Monitor] cart:updated event detected');
4094    debugLog('[Global Cart Monitor] Scheduling cart check in 100ms...');
4095    setTimeout(checkAndAddSpecialProduct, 100);
4096  });
4097  
4098  // Listen for custom events from cart drawer/page
4099  document.addEventListener('cart:refresh', () => {
4100    debugLog('[Global Cart Monitor] cart:refresh event detected');
4101    debugLog('[Global Cart Monitor] Scheduling cart check in 100ms...');
4102    setTimeout(checkAndAddSpecialProduct, 100);
4103  });
4104  
4105  // Listen for Shopify sections rendering (when cart updates)
4106  document.addEventListener('shopify:section:load', (event) => {
4107    if (event.detail && event.detail.sectionId && event.detail.sectionId.includes('cart')) {
4108      debugLog('[Global Cart Monitor] Cart section loaded:', event.detail.sectionId);
4109      debugLog('[Global Cart Monitor] Scheduling cart check in 150ms...');
4110      setTimeout(checkAndAddSpecialProduct, 150);
4111    }
4112  });
4113  
4114  // Also listen for page visibility changes (when user returns to tab)
4115  document.addEventListener('visibilitychange', () => {
4116    if (!document.hidden) {
4117      debugLog('[Global Cart Monitor] Page became visible, performing check...');
4118      setTimeout(checkAndAddSpecialProduct, 200);
4119    }
4120  });
4121  
4122  // Listen for Shopify's form submission complete event
4123  document.addEventListener('submit', (event) => {
4124    if (event.target && event.target.querySelector('[name="id"]')) {
4125      debugLog('[Global Cart Monitor] Form submission detected, scheduling check...');
4126      setTimeout(checkAndAddSpecialProduct, 500);
4127    }
4128  });
4129  
4130  // Watch for cart icon bubble updates (indicates cart changed)
4131  const cartBubble = document.querySelector('.cart-count-bubble');
4132  if (cartBubble) {
4133    const observer = new MutationObserver(() => {
4134      debugLog('[Global Cart Monitor] Cart count changed, scheduling check...');
4135      setTimeout(checkAndAddSpecialProduct, 100);
4136    });
4137    observer.observe(cartBubble, { childList: true, characterData: true, subtree: true });
4138    debugLog('[Global Cart Monitor] Watching cart count bubble for changes');
4139  }
4140  
4141  // Listen for remove button clicks to trigger faster updates
4142  document.addEventListener('click', (event) => {
4143    if (event.target.closest('cart-remove-button') || event.target.closest('.cart-remove') || event.target.closest('[name="minus"]')) {
4144      debugLog('[Global Cart Monitor] Cart interaction detected (remove/minus), scheduling check...');
4145      // Wait longer (1.5s) to ensure Shopify's native update finishes first
4146      setTimeout(() => checkAndAddSpecialProduct({ force: true }), 1500);
4147    }
4148  });
4149  
4150  debugLog('[Global Cart Monitor] Event listeners installed for cart changes');
4151  
4152  // ==========================================
4153  // INITIALIZATION
4154  // ==========================================
4155  
4156  /**
4157   * Run initial check on page load
4158   * Delayed to ensure DOM and other scripts are ready
4159   */
4160  if (document.readyState === 'loading') {
4161    debugLog('[Global Cart Monitor] Waiting for DOMContentLoaded...');
4162    document.addEventListener('DOMContentLoaded', () => {
4163      debugLog('[Global Cart Monitor] DOM ready, scheduling initial check in 300ms...');
4164      setTimeout(() => checkAndAddSpecialProduct({ force: true }), 300);
4165    });
4166  } else {
4167    debugLog('[Global Cart Monitor] DOM already loaded, scheduling initial check in 300ms...');
4168    setTimeout(() => checkAndAddSpecialProduct({ force: true }), 300);
4169  }
4170  
4171  debugLog('[Global Cart Monitor] Initialized successfully');
4172  
4173})();
4174
4175</script>
4175
4176
4177<script>
4178/**
4179 * ============================================================================
4180 * CART ORDER FIXER
4181 * ============================================================================
4182 *
4183 * File:    global-cart-monitor.liquid (second 
4183<script> block)
4184 * Author:  Mateli Dev Team
4185 * Updated: 2026-02-27
4186 *
4187 * PURPOSE:
4188 *   Shopify does not guarantee cart item ordering on the checkout page.
4189 *   Products with a price of ¥0 ("free items", e.g. assembly options) that
4190 *   appear BEFORE paid items in the cart object can cause the checkout page
4191 *   to display items in the wrong order, leading to customer confusion.
4192 *
4193 *   This script ensures free items are always at the END of the cart,
4194 *   after all paid items.
4195 *
4196 * STRATEGY:
4197 *   Shopify always adds newly added items to the TOP of the cart.
4198 *   We exploit this by:
4199 *     1. Detecting if any paid item sits after a free item (wrong order)
4200 *     2. Removing only the misplaced paid items (via /cart/update.js, bulk)
4201 *     3. Re-adding those paid items (via /cart/add.js) → they go to the top
4202 *     4. Free items naturally stay at the bottom → correct order ✅
4203 *
4204 * TIMING:
4205 *   - Runs automatically 500ms after page load
4206 *   - Can be triggered manually via window.fixCartOrder()
4207 *
4208 * UI REFRESH:
4209 *   After reordering, the script refreshes the UI without a full page reload:
4210 *   - Cart drawer (#CartDrawer-CartItems)  → via Section Rendering API
4211 *   - Cart icon bubble                     → via Section Rendering API
4212 *   - Cart page (#main-cart-items)         → targeted innerHTML replacement
4213 *     (only the .card-item-frame content is replaced, not the entire section)
4214 *
4215 * DEPENDENCIES:
4216 *   - window.updateAllCartUIComponents() from the Global Cart Monitor IIFE
4217 *     (exposed globally on line ~348 of this file)
4218 *   - Shopify Section Rendering API (?sections=...)
4219 *
4220 * EXPOSED GLOBALS:
4221 *   - window.fixCartOrder()   → trigger a cart order check + fix
4222 * ============================================================================
4223 */
4224(function () {
4225  'use strict';
4226
4227  // ==========================================================================
4228  //  LOGGING SYSTEM
4229  // ==========================================================================
4230  //  Set FIX_DEBUG to false to silence all logs in production.
4231  //  Errors are always logged regardless of this flag.
4232  //
4233  //  Log format:  [CartOrderFixer][Tag] Message
4234  //  Tags used:
4235  //    Init    — Initialization / setup
4236  //    Check   — Order detection logic
4237  //    Backup  — Saving original cart state
4238  //    Detect  — Identifying which items need to move
4239  //    Remove  — Removing items from cart (/cart/update.js)
4240  //    Re-add  — Adding items back (/cart/add.js)
4241  //    Verify  — Post-fix verification
4242  //    UI      — Cart UI refresh operations
4243  //    Main    — Top-level flow control
4244  // ==========================================================================
4245
4246  const FIX_DEBUG = false;
4247
4248  const FixLog = {
4249    /**
4250     * Formats a log message with the standard prefix.
4251     * @param {string} tag  - Category tag (e.g. 'Check', 'Remove', 'UI')
4252     * @param {string} msg  - Human-readable message
4253     * @returns {string} Formatted string
4254     */
4255    _fmt(tag, msg) {
4256      return `[CartOrderFixer][${tag}] ${msg}`;
4257    },
4258
4259    /** Standard info log (only when FIX_DEBUG is true) */
4260    info(tag, msg, ...data) {
4261      if (FIX_DEBUG) console.log(this._fmt(tag, msg), ...data);
4262    },
4263
4264    /** Warning log (only when FIX_DEBUG is true) */
4265    warn(tag, msg, ...data) {
4266      if (FIX_DEBUG) console.warn(this._fmt(tag, msg), ...data);
4267    },
4268
4269    /** Error log (ALWAYS logged, even in production) */
4270    error(tag, msg, ...data) {
4271      console.error(this._fmt(tag, msg), ...data);
4272    },
4273
4274    /** Opens a collapsed console group for visual organisation */
4275    group(tag, label) {
4276      if (FIX_DEBUG) console.groupCollapsed(this._fmt(tag, label));
4277    },
4278
4279    /** Closes the current console group */
4280    groupEnd() {
4281      if (FIX_DEBUG) console.groupEnd();
4282    },
4283
4284    /**
4285     * Logs a label and then renders data as a console.table.
4286     * Useful for comparing cart item lists side-by-side.
4287     */
4288    table(tag, label, data) {
4289      if (FIX_DEBUG) {
4290        console.log(this._fmt(tag, label));
4291        console.table(data);
4292      }
4293    },
4294  };
4295
4296  // ==========================================================================
4297  //  STATE
4298  // ==========================================================================
4299
4300  /** Prevents concurrent runs of fixCartOrder() */
4301  let isFixing = false;
4302
4303  // ==========================================================================
4304  //  HELPER: ORDER DETECTION
4305  // ==========================================================================
4306
4307  /**
4308   * Checks whether the cart item order is incorrect.
4309   *
4310   * "Incorrect" means: at least one PAID item (final_price > 0) appears
4311   * AFTER a FREE item (final_price === 0) in the cart array.
4312   *
4313   * @param {Array} items - Array of cart item objects from /cart.js
4314   * @returns {boolean} true if the cart needs reordering
4315   */
4316  function cartNeedsReorder(items) {
4317    let seenFree = false;
4318    for (const item of items) {
4319      if (item.final_price === 0) {
4320        seenFree = true;
4321      } else if (seenFree) {
4322        // Found a paid item after a free item → wrong order
4323        return true;
4324      }
4325    }
4326    return false;
4327  }
4328
4329  /**
4330   * Returns free items that are NOT already at the tail of the cart.
4331   * (Currently unused — kept for reference/debugging.)
4332   *
4333   * @param {Array} items - Array of cart item objects from /cart.js
4334   * @returns {Array} Misplaced free items
4335   */
4336  function getMisplacedFreeItems(items) {
4337    let lastPaidIndex = -1;
4338    for (let i = items.length - 1; i >= 0; i--) {
4339      if (items[i].final_price > 0) {
4340        lastPaidIndex = i;
4341        break;
4342      }
4343    }
4344    return items.filter((item, idx) => item.final_price === 0 && idx < lastPaidIndex);
4345  }
4346
4347  // ==========================================================================
4348  //  HELPER: UI REFRESH — MAIN ENTRY POINT
4349  // ==========================================================================
4350
4351  /**
4352   * Refreshes all cart-related UI components after a reorder operation.
4353   *
4354   * Strategy:
4355   *   1. If window.updateAllCartUIComponents exists (from Global Cart Monitor),
4356   *      use it to update the drawer + bubble, then do a targeted cart page refresh.
4357   *   2. Otherwise, fall back to fetching sections manually via the
4358   *      Shopify Section Rendering API.
4359   *
4360   * The cart page refresh is TARGETED: only the item list (.card-item-frame)
4361   * and footer totals are replaced — not the entire section (which would
4362   * destroy event listeners, CSS, and JavaScript state).
4363   */
4364  async function refreshCartUI() {
4365    FixLog.group('UI', '🔄 UI Refresh — start');
4366
4367    try {
4368      // ── Path A: Use the global helper from Global Cart Monitor ──
4369      if (typeof window.updateAllCartUIComponents === 'function') {
4370        FixLog.info('UI', 'Found window.updateAllCartUIComponents() — using it for drawer + bubble');
4371        await window.updateAllCartUIComponents();
4372        FixLog.info('UI', '✅ Drawer & bubble updated via global helper');
4373
4374        // The global helper handles drawer + bubble, but not our custom cart page.
4375        // We handle the cart page table separately with a targeted refresh.
4376        await refreshCartPageTable();
4377
4378        FixLog.info('UI', '✅ UI Refresh complete (Path A: global helper)');
4379        return;
4380      }
4381
4382      // ── Path B: Fallback — manually fetch sections ──
4383      FixLog.warn('UI', 'window.updateAllCartUIComponents not found — using manual fallback');
4384      await refreshUIManualFallback();
4385      FixLog.info('UI', '✅ UI Refresh complete (Path B: manual fallback)');
4386
4387    } catch (err) {
4388      FixLog.error('UI', '❌ UI refresh failed:', err.message);
4389      FixLog.error('UI', 'Stack:', err.stack);
4390    } finally {
4391      FixLog.groupEnd();
4392    }
4393  }
4394
4395  // ==========================================================================
4396  //  HELPER: UI REFRESH — MANUAL FALLBACK
4397  // ==========================================================================
4398
4399  /**
4400   * Fallback UI refresh when window.updateAllCartUIComponents is not available.
4401   * Fetches sections directly from the Shopify Section Rendering API and
4402   * injects the updated HTML into the DOM.
4403   *
4404   * Sections fetched:
4405   *   - cart-icon-bubble       (always)
4406   *   - cart-drawer            (if drawer element exists)
4407   *   - warehouse-cart section (if on cart page, detected via #cart form)
4408   */
4409  async function refreshUIManualFallback() {
4410    const sectionsToFetch = ['cart-icon-bubble'];
4411
4412    // ── Detect available UI components ──
4413    const drawerEl = document.querySelector('cart-drawer');
4414    if (drawerEl) {
4415      sectionsToFetch.push('cart-drawer');
4416      FixLog.info('UI', 'Detected cart drawer in DOM');
4417    }
4418
4419    // Detect cart page section by finding the #cart form and walking up to
4420    // its parent .shopify-section wrapper
4421    let cartPageSectionId = null;
4422    const cartForm = document.getElementById('cart')
4423                  || document.querySelector('form[action="/cart"]');
4424    if (cartForm) {
4425      const sectionEl = cartForm.closest('.shopify-section');
4426      if (sectionEl) {
4427        cartPageSectionId = sectionEl.id.replace(/^shopify-section-/, '');
4428        if (cartPageSectionId) {
4429          sectionsToFetch.push(cartPageSectionId);
4430          FixLog.info('UI', 'Detected cart page section: ' + cartPageSectionId);
4431        }
4432      }
4433    }
4434
4435    FixLog.info('UI', 'Fetching ' + sectionsToFetch.length + ' section(s): ' + sectionsToFetch.join(', '));
4436    const res = await fetch(window.location.pathname + '?sections=' + sectionsToFetch.join(','));
4437    const data = await res.json();
4438    FixLog.info('UI', 'Sections fetched — HTTP ' + res.status);
4439
4440    // ── 1. Update cart icon bubble ──
4441    const bubble = document.getElementById('cart-icon-bubble');
4442    if (bubble && data['cart-icon-bubble']) {
4443      bubble.innerHTML = data['cart-icon-bubble'];
4444      FixLog.info('UI', '✅ Cart icon bubble updated');
4445    } else {
4446      FixLog.info('UI', '⏭️  Cart icon bubble — no update needed');
4447    }
4448
4449    // ── 2. Update cart drawer ──
4450    if (drawerEl && data['cart-drawer']) {
4451      const doc = new DOMParser().parseFromString(data['cart-drawer'], 'text/html');
4452
4453      // Replace drawer items
4454      const currentItems = drawerEl.querySelector('#CartDrawer-CartItems');
4455      const newItems     = doc.getElementById('CartDrawer-CartItems');
4456      if (currentItems && newItems) {
4457        currentItems.innerHTML = newItems.innerHTML;
4458        FixLog.info('UI', '✅ Cart drawer items updated');
4459      }
4460
4461      // Replace drawer footer (subtotal, checkout button, etc.)
4462      const currentFooter = drawerEl.querySelector('.drawer__footer');
4463      const newFooter     = doc.querySelector('.drawer__footer');
4464      if (currentFooter && newFooter) {
4465        currentFooter.innerHTML = newFooter.innerHTML;
4466        FixLog.info('UI', '✅ Cart drawer footer updated');
4467      }
4468    } else {
4469      FixLog.info('UI', '⏭️  Cart drawer — not present or no data');
4470    }
4471
4472    // ── 3. Update cart page (targeted — items table + footer only) ──
4473    if (cartPageSectionId && data[cartPageSectionId]) {
4474      FixLog.info('UI', 'Updating cart page section (targeted)...');
4475      const doc = new DOMParser().parseFromString(data[cartPageSectionId], 'text/html');
4476
4477      // Replace only the card-item-frame container (the product list table)
4478      const currentContainer = document.querySelector('#main-cart-items .card-item-frame.js-contents');
4479      const newContainer     = doc.querySelector('.card-item-frame.js-contents');
4480      if (currentContainer && newContainer) {
4481        currentContainer.innerHTML = newContainer.innerHTML;
4482        FixLog.info('UI', '✅ Cart page items table updated (targeted)');
4483      } else {
4484        FixLog.warn('UI', '⚠️ Could not find .card-item-frame.js-contents for targeted update');
4485      }
4486
4487      // Replace footer totals
4488      const currentPageFooter = document.getElementById('main-cart-footer');
4489      const newPageFooter     = doc.getElementById('main-cart-footer');
4490      if (currentPageFooter && newPageFooter) {
4491        const currentContents = currentPageFooter.querySelector('.js-contents');
4492        const newContents     = newPageFooter.querySelector('.js-contents');
4493        if (currentContents && newContents) {
4494          currentContents.innerHTML = newContents.innerHTML;
4495          FixLog.info('UI', '✅ Cart page footer/totals updated');
4496        }
4497      }
4498    } else {
4499      FixLog.info('UI', '⏭️  Cart page — not on cart page or no section data');
4500    }
4501  }
4502
4503  // ==========================================================================
4504  //  HELPER: UI REFRESH — CART PAGE TABLE (TARGETED)
4505  // ==========================================================================
4506
4507  /**
4508   * Performs a targeted refresh of only the cart page items table.
4509   *
4510   * Called after window.updateAllCartUIComponents() (which handles the
4511   * drawer and bubble) to additionally refresh the cart page content.
4512   *
4513   * Only executes if #main-cart-items is found in the DOM (i.e. we are
4514   * on the /cart page).
4515   *
4516   * What gets replaced:
4517   *   - .card-item-frame.js-contents → the product list table
4518   *   - #main-cart-footer .js-contents → the subtotal / totals section
4519   *
4520   * What is NOT replaced:
4521   *   - CSS, JavaScript, delivery options, notes, chuuijikou, etc.
4522   */
4523  async function refreshCartPageTable() {
4524    const mainCartItems = document.getElementById('main-cart-items');
4525
4526    if (!mainCartItems) {
4527      FixLog.info('UI', 'Not on cart page (no #main-cart-items found) — skipping table refresh');
4528      return;
4529    }
4530
4531    FixLog.info('UI', '📄 On cart page — performing targeted table refresh...');
4532
4533    try {
4534      // Read the section ID from the data-id attribute set by Shopify
4535      // (e.g. <div id="main-cart-items" data-id="template--12345__warehouse-cart">)
4536      const sectionId = mainCartItems.dataset.id;
4537      if (!sectionId) {
4538        FixLog.warn('UI', 'No data-id attribute found on #main-cart-items — cannot fetch section');
4539        return;
4540      }
4541      FixLog.info('UI', 'Section ID: ' + sectionId);
4542
4543      // Fetch fresh HTML for this section
4544      const res  = await fetch(window.location.pathname + '?sections=' + sectionId);
4545      const data = await res.json();
4546      const html = data[sectionId];
4547
4548      if (!html) {
4549        FixLog.warn('UI', 'Section Rendering API returned no HTML for: ' + sectionId);
4550        return;
4551      }
4552      FixLog.info('UI', 'Section HTML fetched (' + html.length + ' chars)');
4553
4554      const doc = new DOMParser().parseFromString(html, 'text/html');
4555
4556      // ── Replace cart items table ──
4557      const currentContainer = mainCartItems.querySelector('.card-item-frame.js-contents');
4558      const newContainer     = doc.querySelector('.card-item-frame.js-contents');
4559
4560      if (currentContainer && newContainer) {
4561        currentContainer.innerHTML = newContainer.innerHTML;
4562        FixLog.info('UI', '✅ Cart page items table refreshed');
4563      } else {
4564        FixLog.warn('UI', '⚠️ .card-item-frame.js-contents not found — table not refreshed');
4565        FixLog.info('UI', '   currentContainer found:', !!currentContainer);
4566        FixLog.info('UI', '   newContainer found:', !!newContainer);
4567      }
4568
4569      // ── Replace footer totals ──
4570      const currentFooter = document.getElementById('main-cart-footer');
4571      if (currentFooter) {
4572        const newFooter = doc.getElementById('main-cart-footer');
4573        if (newFooter) {
4574          const currentContents = currentFooter.querySelector('.js-contents');
4575          const newContents     = newFooter.querySelector('.js-contents');
4576          if (currentContents && newContents) {
4577            currentContents.innerHTML = newContents.innerHTML;
4578            FixLog.info('UI', '✅ Cart page footer/totals refreshed');
4579          }
4580        }
4581      }
4582
4583    } catch (err) {
4584      FixLog.error('UI', '❌ Failed to refresh cart page table:', err.message);
4585    }
4586  }
4587
4588  // ==========================================================================
4589  //  MAIN FUNCTION: fixCartOrder()
4590  // ==========================================================================
4591
4592  /**
4593   * Main entry point — checks cart order and fixes it if needed.
4594   *
4595   * Flow:
4596   *   Step 1 → Fetch current cart from /cart.js
4597   *   Step 2 → Check if any paid item appears after a free item
4598   *   Step 3 → Save original cart state (for logging / comparison)
4599   *   Step 4 → Identify which paid items need to move to the front
4600   *   Step 5 → Build the re-add payload (preserving properties & selling plans)
4601   *   Step 6 → Bulk-remove misplaced paid items via /cart/update.js
4602   *   Step 7 → Re-add paid items via /cart/add.js (they go to top)
4603   *   Step 8 → Verify the final cart order is correct
4604   *   Step 9 → Refresh all cart UI (drawer, bubble, cart page)
4605   *
4606   * @returns {Promise<void>}
4607   */
4608  async function fixCartOrder() {
4609    // ── Guard: prevent concurrent runs ──
4610    if (isFixing) {
4611      FixLog.warn('Main', 'fixCartOrder() already running — skipping duplicate call');
4612      return;
4613    }
4614    isFixing = true;
4615    FixLog.group('Main', '🔧 fixCartOrder() — start');
4616
4617    try {
4618      // ────────────────────────────────────────────
4619      //  STEP 1: Fetch current cart
4620      // ────────────────────────────────────────────
4621      FixLog.info('Step 1', 'Fetching cart from /cart.js ...');
4622      const cartRes = await fetch('/cart.js', {
4623        headers: { 'Content-Type': 'application/json' }
4624      });
4625      FixLog.info('Step 1', 'HTTP ' + cartRes.status);
4626
4627      const cart  = await cartRes.json();
4628      const items = cart.items;
4629
4630      FixLog.info('Step 1', 'Cart contains ' + items.length + ' item(s), total: ¥' + (cart.total_price / 100).toLocaleString());
4631      FixLog.table('Step 1', 'Current cart order:', items.map((item, idx) => ({
4632        '#':        idx + 1,
4633        title:      item.title,
4634        price:      'Â¥' + (item.final_price / 100).toLocaleString(),
4635        qty:        item.quantity,
4636        is_free:    item.final_price === 0 ? '🆓 FREE' : '',
4637        variant_id: item.variant_id,
4638        key:        item.key
4639      })));
4640
4641      // Short-circuit if cart is too small to have an ordering problem
4642      if (items.length < 2) {
4643        FixLog.info('Step 1', 'Cart has fewer than 2 items — nothing to reorder');
4644        return;
4645      }
4646
4647      // ────────────────────────────────────────────
4648      //  STEP 2: Check if reorder is needed
4649      // ────────────────────────────────────────────
4650      FixLog.info('Step 2', 'Checking cart order...');
4651      if (!cartNeedsReorder(items)) {
4652        FixLog.info('Step 2', '✅ Cart order is CORRECT — all paid items come before free items');
4653        FixLog.info('Step 2', 'No action needed. Exiting.');
4654        return;
4655      }
4656
4657      FixLog.warn('Step 2', '⚠️ WRONG ORDER DETECTED — at least one paid item appears after a free item');
4658
4659      // ────────────────────────────────────────────
4660      //  STEP 3: Save original cart state
4661      // ────────────────────────────────────────────
4662      const originalCart = JSON.parse(JSON.stringify(items));
4663      FixLog.info('Step 3', 'Original cart state saved (' + originalCart.length + ' items)');
4664
4665      // ────────────────────────────────────────────
4666      //  STEP 4: Identify paid items that need to move
4667      // ────────────────────────────────────────────
4668      //
4669      // Find the FIRST free item in the cart. Any paid item whose index
4670      // is greater than this free item's index is "misplaced" and needs
4671      // to be moved to the front.
4672      //
4673      const firstFreeIndex = items.findIndex(item => item.final_price === 0);
4674      FixLog.info('Step 4', 'First free item is at index ' + firstFreeIndex +
4675        ' ("' + items[firstFreeIndex].title + '")');
4676
4677      const paidItemsToMove = items.filter((item, idx) => {
4678        if (item.final_price === 0) return false;
4679        return idx > firstFreeIndex;
4680      });
4681
4682      FixLog.info('Step 4', paidItemsToMove.length + ' paid item(s) found after free items — these need to move');
4683      FixLog.table('Step 4', 'Paid items to move:', paidItemsToMove.map(item => ({
4684        title:      item.title,
4685        price:      'Â¥' + (item.final_price / 100).toLocaleString(),
4686        qty:        item.quantity,
4687        variant_id: item.variant_id,
4688        key:        item.key
4689      })));
4690
4691      if (paidItemsToMove.length === 0) {
4692        FixLog.info('Step 4', 'No paid items to move (edge case) — exiting');
4693        return;
4694      }
4695
4696      // ────────────────────────────────────────────
4697      //  STEP 5: Build re-add payload
4698      // ────────────────────────────────────────────
4699      //
4700      // We need to preserve:
4701      //   - variant_id  → identifies the product variant
4702      //   - quantity    → how many of this item
4703      //   - properties  → custom line item properties (e.g. assembly notes)
4704      //   - selling_plan → subscription plan, if any
4705      //
4706      FixLog.info('Step 5', 'Building re-add payload...');
4707      const paidItemsPayload = paidItemsToMove.map(item => {
4708        const entry = {
4709          id: item.variant_id,
4710          quantity: item.quantity
4711        };
4712
4713        // Preserve custom line item properties
4714        if (item.properties && Object.keys(item.properties).length > 0) {
4715          entry.properties = item.properties;
4716          FixLog.info('Step 5', '  📋 Preserving properties for "' + item.title + '":', item.properties);
4717        }
4718
4719        // Preserve selling plan (subscriptions)
4720        if (item.selling_plan_allocation && item.selling_plan_allocation.selling_plan) {
4721          entry.selling_plan = item.selling_plan_allocation.selling_plan.id;
4722          FixLog.info('Step 5', '  📋 Preserving selling plan for "' + item.title + '": ' +
4723            item.selling_plan_allocation.selling_plan.id);
4724        }
4725
4726        return entry;
4727      });
4728      FixLog.info('Step 5', 'Payload ready for ' + paidItemsPayload.length + ' item(s)');
4729
4730      // ────────────────────────────────────────────
4731      //  STEP 6: Remove misplaced paid items (bulk)
4732      // ────────────────────────────────────────────
4733      //
4734      // Uses /cart/update.js with { updates: { key: 0, key: 0, ... } }
4735      // This sets each item's quantity to 0 (removes it) in a SINGLE API call.
4736      //
4737      const updates = {};
4738      for (const item of paidItemsToMove) {
4739        updates[item.key] = 0;
4740      }
4741
4742      FixLog.info('Step 6', 'Removing ' + Object.keys(updates).length + ' paid item(s) via POST /cart/update.js ...');
4743      FixLog.info('Step 6', 'Request body:', JSON.stringify({ updates }, null, 2));
4744
4745      const updateRes  = await fetch('/cart/update.js', {
4746        method: 'POST',
4747        headers: { 'Content-Type': 'application/json' },
4748        body: JSON.stringify({ updates })
4749      });
4750      const updatedCart = await updateRes.json();
4751
4752      FixLog.info('Step 6', 'HTTP ' + updateRes.status + ' — cart now has ' + updatedCart.items.length + ' item(s)');
4753      FixLog.table('Step 6', 'Cart after removal:', updatedCart.items.map((item, idx) => ({
4754        '#':     idx + 1,
4755        title:   item.title,
4756        price:   'Â¥' + (item.final_price / 100).toLocaleString(),
4757        is_free: item.final_price === 0 ? '🆓 FREE' : ''
4758      })));
4759
4760      // ────────────────────────────────────────────
4761      //  STEP 7: Re-add paid items (they go to top)
4762      // ────────────────────────────────────────────
4763      //
4764      // Uses /cart/add.js with { items: [...] }
4765      // Shopify places newly added items at the TOP of the cart,
4766      // so after this call the order will be:
4767      //   [newly added paid items] → [remaining free items]
4768      //
4769      FixLog.info('Step 7', 'Re-adding ' + paidItemsPayload.length + ' paid item(s) via POST /cart/add.js ...');
4770      FixLog.info('Step 7', 'Request body:', JSON.stringify({ items: paidItemsPayload }, null, 2));
4771
4772      const addRes = await fetch('/cart/add.js', {
4773        method: 'POST',
4774        headers: { 'Content-Type': 'application/json' },
4775        body: JSON.stringify({ items: paidItemsPayload })
4776      });
4777
4778      if (!addRes.ok) {
4779        const errorBody = await addRes.text();
4780        FixLog.error('Step 7', '❌ /cart/add.js failed — HTTP ' + addRes.status);
4781        FixLog.error('Step 7', 'Response:', errorBody);
4782        return;
4783      }
4784      FixLog.info('Step 7', 'HTTP ' + addRes.status + ' — items re-added successfully');
4785
4786      // ────────────────────────────────────────────
4787      //  STEP 8: Verify final cart order
4788      // ────────────────────────────────────────────
4789      FixLog.info('Step 8', 'Fetching final cart state for verification...');
4790      const verifyRes  = await fetch('/cart.js', { headers: { 'Content-Type': 'application/json' } });
4791      const verifyCart  = await verifyRes.json();
4792
4793      FixLog.info('Step 8', 'Final cart: ' + verifyCart.items.length + ' item(s), total: ¥' +
4794        (verifyCart.total_price / 100).toLocaleString());
4795      FixLog.table('Step 8', 'Final cart order:', verifyCart.items.map((item, idx) => ({
4796        '#':     idx + 1,
4797        title:   item.title,
4798        price:   'Â¥' + (item.final_price / 100).toLocaleString(),
4799        qty:     item.quantity,
4800        is_free: item.final_price === 0 ? '🆓 FREE' : ''
4801      })));
4802
4803      // Compare item counts to detect data loss
4804      const originalCount    = originalCart.reduce((sum, i) => sum + i.quantity, 0);
4805      const finalCount       = verifyCart.items.reduce((sum, i) => sum + i.quantity, 0);
4806      const originalTotalQty = originalCart.length;
4807      const finalTotalQty    = verifyCart.items.length;
4808
4809      FixLog.info('Step 8', 'Item count comparison: ' + originalCount + ' → ' + finalCount +
4810        ' (line items: ' + originalTotalQty + ' → ' + finalTotalQty + ')');
4811
4812      if (originalCount !== finalCount) {
4813        FixLog.error('Step 8', '❌ QUANTITY MISMATCH! Original total qty: ' + originalCount +
4814          ', Final total qty: ' + finalCount + ' — something went wrong!');
4815      }
4816
4817      const orderIsCorrect = !cartNeedsReorder(verifyCart.items);
4818      if (orderIsCorrect) {
4819        FixLog.info('Step 8', '🎉 Cart order is now CORRECT — paid items first, free items at the end');
4820      } else {
4821        FixLog.warn('Step 8', '⚠️ Cart order is STILL incorrect after fix! May need manual intervention.');
4822      }
4823
4824      // ────────────────────────────────────────────
4825      //  STEP 9: Refresh all cart UI
4826      // ────────────────────────────────────────────
4827      FixLog.info('Step 9', 'Refreshing cart UI (drawer, bubble, cart page)...');
4828      await refreshCartUI();
4829      FixLog.info('Step 9', '✅ All cart UI components refreshed');
4830
4831    } catch (err) {
4832      FixLog.error('Main', '❌ Unhandled exception during cart order fix:');
4833      FixLog.error('Main', 'Message: ' + err.message);
4834      FixLog.error('Main', 'Stack: ' + err.stack);
4835    } finally {
4836      isFixing = false;
4837      FixLog.info('Main', '🏁 fixCartOrder() — end');
4838      FixLog.groupEnd();
4839    }
4840  }
4841
4842  // ==========================================================================
4843  //  EXPOSE GLOBALLY
4844  // ==========================================================================
4845
4846  window.fixCartOrder = fixCartOrder;
4847  FixLog.info('Init', '🌐 Exposed globally as window.fixCartOrder()');
4848
4849  // ==========================================================================
4850  //  AUTO-RUN ON PAGE LOAD
4851  // ==========================================================================
4852
4853  /**
4854   * Schedules fixCartOrder() to run 500ms after DOM ready.
4855   * The delay ensures Shopify's own cart scripts have initialised first.
4856   */
4857  function runOnLoad() {
4858    FixLog.info('Init', '⏱️  Scheduling fixCartOrder() in 500ms...');
4859    setTimeout(fixCartOrder, 500);
4860  }
4861
4862  // Only auto-run on the cart page — no need to reorder on product pages
4863  const isCartPage = window.location.pathname === '/cart'
4864                  || window.location.pathname.startsWith('/cart?');
4865
4866  if (isCartPage) {
4867    if (document.readyState === 'loading') {
4868      FixLog.info('Init', 'DOM still loading — will run after DOMContentLoaded');
4869      document.addEventListener('DOMContentLoaded', runOnLoad);
4870    } else {
4871      FixLog.info('Init', 'DOM already loaded — scheduling immediately');
4872      runOnLoad();
4873    }
4874    FixLog.info('Init', '✅ CartOrderFixer initialised (cart page detected)');
4875  } else {
4876    FixLog.info('Init', '⏭️  Not on cart page — auto-run skipped (use window.fixCartOrder() to run manually)');
4877  }
4878
4879})();
4880</script>
4880
4881
4882
4883
4884    
4885    <style>
4886  #mc-modal {
4887    --mc-cream: #f4eee2;
4888    --mc-arc: #b4b1b4;
4889    --mc-btn: #938b83;
4890    --mc-btn-text: #fff;
4891    --mc-title: #6f6f6f;
4892    --mc-text: #8a8580;
4893    position: fixed;
4894    left: 0px;
4895    bottom: 0px;
4896    z-index: 9999;
4897    width: min(440px, calc(100vw - 40px));
4898    transform: translateX(calc(-100% - 40px));
4899    opacity: 0;
4900    transition:
4901      transform 0.42s cubic-bezier(0.22, 0.61, 0.36, 1),
4902      opacity 0.42s ease;
4903    pointer-events: none;
4904  }
4905  #mc-modal.is-visible {
4906    transform: none;
4907    opacity: 1;
4908    pointer-events: auto;
4909  }
4910  #mc-modal .mc-card {
4911    position: relative;
4912    overflow: hidden;
4913    width: 100%;
4914    background: var(--mc-cream);
4915    border-radius: 6px;
4916    padding: 28px 28px 0px;
4917    text-align: center;
4918    box-shadow: 0 12px 38px rgba(0, 0, 0, 0.26);
4919  }
4920  #mc-modal .mc-close {
4921    position: absolute;
4922    top: 8px;
4923    right: 14px;
4924    border: 0;
4925    background: none;
4926    font-size: 26px;
4927    line-height: 1;
4928    cursor: pointer;
4929    color: #9a948c;
4930    opacity: 0.8;
4931    z-index: 2;
4932  }
4933  #mc-modal .mc-close:hover {
4934    opacity: 1;
4935  }
4936  #mc-modal .mc-logo {
4937    width: 168px;
4938    height: auto;
4939    margin: 4px auto 16px;
4940    display: block;
4941  }
4942  #mc-modal .mc-title {
4943    display: block;
4944    margin: 0;
4945    color: rgba(51, 51, 51, 1);
4946    width: auto;
4947    height: auto;
4948    font-size: 38px;
4949    position: relative;
4950    font-style: normal;
4951    text-align: center;
4952    flex-shrink: 0;
4953    font-family:
4954      Fira Sans,
4955      sans-serif;
4956    font-weight: 300;
4957    line-height: 1.1em;
4958    text-transform: none;
4959    top: unset;
4960    left: unset;
4961    transition-duration: 0s;
4962    transition-delay: 0s;
4963    transform: none;
4964    right: auto;
4965    bottom: auto;
4966    letter-spacing: normal;
4967  }
4968  #mc-modal .mc-title small {
4969    display: block;
4970    margin-top: 2px;
4971    color: rgba(103, 105, 112, 1);
4972    width: auto;
4973    height: auto;
4974    font-size: 25px;
4975    max-width: 350px;
4976    position: relative;
4977    font-style: normal;
4978    text-align: center;
4979    flex-shrink: 0;
4980    font-family:
4981      Noto Sans JP,
4982      sans-serif;
4983    font-weight: 300;
4984    line-height: 1.25em;
4985    top: unset;
4986    left: unset;
4987    transition-duration: 0s;
4988    transition-delay: 0s;
4989    transform: none;
4990    right: auto;
4991    bottom: auto;
4992    letter-spacing: normal;
4993  }
4994  #mc-modal .mc-sub {
4995    margin: 12px 4px 18px;
4996    color: rgba(51, 51, 51, 1);
4997    width: auto;
4998    height: auto;
4999    max-width: 350px;
5000    position: relative;
5001    font-style: normal;
5002    text-align: center;
5003    flex-shrink: 0;
5004    font-family:
5005      Noto Sans JP,
5006      sans-serif;
5007    font-weight: 200;
5008    line-height: 1.25em;
5009    font-size: 18px;
5010    margin-top: 18px;
5011    top: unset;
5012    left: unset;
5013    transition-duration: 0s;
5014    transition-delay: 0s;
5015    transform: none;
5016    right: auto;
5017    bottom: auto;
5018    letter-spacing: normal;
5019  }
5020  #mc-modal .mc-form {
5021    display: flex;
5022    flex-direction: column;
5023    gap: 11px;
5024    align-items: center;
5025  }
5026  #mc-modal input[type='email'] {
5027    width: 100%;
5028    max-width: 290px;
5029    padding: 12px 18px;
5030    font: inherit;
5031    border: 1px solid #e2dccf;
5032    border-radius: 24px;
5033    background: #fff;
5034    color: #4a4a4a;
5035    text-align: center;
5036  }
5037  #mc-modal input[type='email']::placeholder {
5038    color: #bdb6ab;
5039  }
5040  #mc-modal button[type='submit'] {
5041    width: 100%;
5042    max-width: 290px;
5043    padding: 12px;
5044    font: inherit;
5045    cursor: pointer;
5046    border: 0;
5047    border-radius: 24px;
5048    background: var(--mc-btn);
5049    color: var(--mc-btn-text);
5050    letter-spacing: 0.3em;
5051    transition: opacity 0.2s;
5052  }
5053  #mc-modal button[type='submit']:hover {
5054    opacity: 0.9;
5055  }
5056  #mc-modal .mc-success {
5057    display: none;
5058    color: var(--mc-title);
5059    margin: 12px 4px 18px;
5060    color: rgba(51, 51, 51, 1);
5061    width: auto;
5062    height: auto;
5063    max-width: 350px;
5064    position: relative;
5065    font-style: normal;
5066    text-align: center;
5067    flex-shrink: 0;
5068    font-family:
5069      Noto Sans JP,
5070      sans-serif;
5071    font-weight: 200;
5072    line-height: 1.25em;
5073    font-size: 18px;
5074    margin-top: 18px;
5075    top: unset;
5076    left: unset;
5077    transition-duration: 0s;
5078    transition-delay: 0s;
5079    transform: none;
5080    right: auto;
5081    bottom: auto;
5082    letter-spacing: normal;
5083  }
5084  #mc-modal.is-done .mc-form {
5085    display: none;
5086  }
5087  #mc-modal.is-done .mc-success {
5088    display: block;
5089  }
5090  #mc-modal .mc-mail-block {
5091    width: 100%;
5092    position: relative;
5093    display: flex;
5094    height: 150px;
5095    margin-top: 50px;
5096  }
5097  #mc-modal .mc-mail-wrap {
5098    position: absolute;
5099    left: 50%;
5100    bottom: 90px;
5101    z-index: 1;
5102    transform: translate(-50%, 150px);
5103    opacity: 0;
5104    transition:
5105      transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1),
5106      opacity 0.4s ease;
5107    transition-delay: 0.62s;
5108  }
5109  #mc-modal.is-visible .mc-mail-wrap {
5110    transform: translate(-50%, 0);
5111    opacity: 1;
5112  }
5113  #mc-modal .mc-mail {
5114    display: block;
5115    width: 44px;
5116    height: auto;
5117  }
5118  #mc-modal .mc-card::after {
5119    content: '';
5120    position: absolute;
5121    left: 50%;
5122    bottom: 0;
5123    transform: translate(-50%, 150px);
5124    opacity: 0;
5125    transition:
5126      transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1),
5127      opacity 0.35s ease;
5128    transition-delay: 0.42s;
5129    width: 170%;
5130    height: 150px;
5131    background-color: #b2acaf;
5132    /* horizontal 50% = corners meet in a dome; vertical 90px = dome height */
5133    border-radius: 50% 50% 0 0 / 90px 90px 0 0;
5134    z-index: 0;
5135  }
5136  #mc-modal.is-visible .mc-card::after {
5137    transform: translate(-50%, 0);
5138    opacity: 1;
5139  }
5140  /* teaser pill: desktop hidden, mobile shown (see media query) */
5141  #mc-modal .mc-bubble {
5142    display: none;
5143  }
5144  #mc-modal .mc-bubble-close,
5145  #mc-modal .mc-bubble-open {
5146    border: 0;
5147    background: none;
5148    color: inherit;
5149    font: inherit;
5150    cursor: pointer;
5151  }
5152  @media (max-width: 600px) {
5153    /* container = bottom-left anchor; children manage their own slide */
5154    #mc-modal {
5155      left: 0;
5156      right: auto;
5157      bottom: 0;
5158      width: auto;
5159      transform: none;
5160      opacity: 1;
5161      pointer-events: none;
5162    }
5163    #mc-modal.is-visible {
5164      transform: none;
5165    }
5166    /* the teaser pill, shown first */
5167    #mc-modal .mc-bubble {
5168      display: flex;
5169      align-items: center;
5170      gap: 4px;
5171      margin: 0 0 14px 14px;
5172      padding: 9px 18px 9px 12px;
5173      pointer-events: auto;
5174      background: #7d7a80;
5175      color: #fff;
5176      border-radius: 26px;
5177      box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
5178      transform: translateY(180%);
5179      opacity: 0;
5180      transition:
5181        transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1),
5182        opacity 0.4s ease;
5183    }
5184    #mc-modal.is-visible .mc-bubble {
5185      transform: none;
5186      opacity: 1;
5187    }
5188    #mc-modal.is-expanded .mc-bubble {
5189      transform: translateY(180%);
5190      opacity: 0;
5191      pointer-events: none;
5192    }
5193    #mc-modal .mc-bubble-close {
5194      font-size: 20px;
5195      line-height: 1;
5196      padding: 0 2px;
5197      opacity: 0.9;
5198    }
5199    #mc-modal .mc-bubble-open {
5200      font-size: 15px;
5201    }
5202    /* full card = bottom sheet, hidden until the pill is tapped */
5203    #mc-modal .mc-card {
5204      position: fixed;
5205      left: 0;
5206      right: 0;
5207      bottom: 0;
5208      width: auto;
5209      pointer-events: auto;
5210      border-radius: 12px 12px 0 0;
5211      transform: translateY(105%);
5212      transition: transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1);
5213    }
5214    #mc-modal.is-expanded .mc-card {
5215      transform: none;
5216    }
5217  }
5218  @media (prefers-reduced-motion: reduce) {
5219    #mc-modal {
5220      transition: opacity 0.3s ease;
5221    }
5222    #mc-modal .mc-mail-wrap {
5223      transition: none;
5224      transition-delay: 0s;
5225      transform: translate(-50%, 0);
5226      opacity: 1;
5227    }
5228    #mc-modal .mc-card::after {
5229      transition: none;
5230      transition-delay: 0s;
5231      transform: translate(-50%, 0);
5232      opacity: 1;
5233    }
5234  }
5235</style>
5236
5237<aside id='mc-modal' role='complementary' aria-label='メールマガジン' aria-hidden='true'>
5238  <div class='mc-bubble'>
5239    <button type='button' class='mc-bubble-close' aria-label='閉じる'>&times;</button>
5240    <button type='button' class='mc-bubble-open'>メルマガ登録はこちらから</button>
5241  </div>
5242  <div class='mc-card'>
5243    <button type='button' class='mc-close' aria-label='閉じる'>&times;</button>
5244    <img
5245      class='mc-logo'
5246      src='//furniture.mateli.jp/cdn/shop/t/204/assets/mailchimp-modal-logo.webp?v=102144260001229804851790902732'
5247      alt='mateli'
5248      width='168'
5249      height='46'
5250      loading='lazy'
5251    ><p class='mc-title'>
5252      MAIL MAGAZINE<small>メールマガジン</small>
5253    </p>
5254    <p class='mc-sub'>
5254お得な割引商品や近日発売の最新情報など メールマガジン配信中!</p>
5255    <form class='mc-form' action='https://mateli.us10.list-manage.com/subscribe/post?u=dc049718af7b0e546c7f705c3&id=b1d49b7cc1&f_id=008546e4f0' method='post' target='mc-iframe' novalidate>
5256      <input
5257        type='email'
5258        name='EMAIL'
5259        placeholder='[email protected]'
5260        required
5261        aria-label='[email protected]'
5262        autocomplete='email'
5263      >
5264      <button type='submit'>登録</button><input type='hidden' name='tags' value='14576570'><div aria-hidden='true' style='position:absolute;left:-5000px'>
5265        <input type='text' name='b_dc049718af7b0e546c7f705c3_b1d49b7cc1' tabindex='-1' value=''>
5266      </div>
5267    </form>
5268    <div class='mc-success'>ご登録ありがとうございます!</div>
5269    <div class='mc-mail-block'>
5270      <div class='mc-mail-wrap' aria-hidden='true'>
5271        <img
5272          class='mc-mail'
5273          src='//furniture.mateli.jp/cdn/shop/t/204/assets/mailchimp-modal-mail.webp?v=184114491170813382431790902732'
5274          alt=''
5275          width='44'
5276          height='44'
5277          loading='lazy'
5278        >
5279      </div>
5280    </div>
5281  </div>
5282  <iframe name='mc-iframe' title='mc' style='display:none' aria-hidden='true'></iframe>
5283</aside>
5284
5285<script>
5286  (function () {
5287    var DEBUG = false;   // DEV: ignore once-per-session, show every refresh
5288    var KEY = 'mc_modal_seen';
5289    if (!DEBUG) { try { if (sessionStorage.getItem(KEY)) return; } catch (e) {} }
5290    var panel = document.getElementById('mc-modal');
5291    if (!panel) return;
5292    var form = panel.querySelector('.mc-form');
5293
5294    function open() {
5295      panel.setAttribute('aria-hidden', 'false');
5296      requestAnimationFrame(function () { panel.classList.add('is-visible'); });
5297      if (!DEBUG) { try { sessionStorage.setItem(KEY, '1'); } catch (e) {} }
5298    }
5299    function close() {
5300      panel.classList.remove('is-visible');
5301      panel.classList.remove('is-expanded');
5302      panel.setAttribute('aria-hidden', 'true');
5303    }
5304
5305    panel.querySelector('.mc-close').addEventListener('click', close);
5306    var bubbleOpen = panel.querySelector('.mc-bubble-open');
5307    var bubbleClose = panel.querySelector('.mc-bubble-close');
5308    if (bubbleOpen) bubbleOpen.addEventListener('click', function () { panel.classList.add('is-expanded'); });
5309    if (bubbleClose) bubbleClose.addEventListener('click', close);
5310    document.addEventListener('keydown', function (e) { if (e.key === 'Escape') close(); });
5311    form.addEventListener('submit', function () {
5312      panel.classList.add('is-done');   // POST goes to the hidden iframe
5313      setTimeout(close, 2600);
5314    });
5315
5316    var DELAY = DEBUG ? 500 : 4000;
5317    if (DELAY > 0) { setTimeout(open, DELAY); }
5318    else if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', open); }
5319    else { open(); }
5320  })();
5321</script>
5321
5322
5323  <div id="shopify-block-AM05QbkZpaG5MWU93V__18228966181090706294" class="shopify-block shopify-app-block">
5324
5325
5326  
5326<script type="module" src="https://cdn.shopify.com/extensions/01a115be-abcf-7501-a123-78da12b4df6b/lb-upsell-452/assets/lb-upsell.js" defer="defer"></script>
5326
5327  
5327<script type="module" src="https://cdn.shopify.com/extensions/01a115be-abcf-7501-a123-78da12b4df6b/lb-upsell-452/assets/lb-upsell-components.esm.js" defer="defer"></script>
5327
5328
5329
5330
5331<script>
5332
5333  
5334  
5335</script>
5335
5336
5337<script>
5338
5339  window.lbInitMode = "immediate";
5340  
5341  window.lbComponentSrc = "https://cdn.shopify.com/extensions/01a115be-abcf-7501-a123-78da12b4df6b/lb-upsell-452/assets/lb-upsell-components.esm.js";</script>
5341
5342
5343<script type="text/javascript" src="https://cdn.shopify.com/extensions/01a115be-abcf-7501-a123-78da12b4df6b/lb-upsell-452/assets/lb-utils.js" defer="defer"></script>
5343
5344
5345</div>
5345<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
5345
5346</body>
5347</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.