PageSourceSearch

https://dreamcraft2004.com/contact/

html dreamcraft2004.com collected 2026-09-28 16:39:28 UTC 70,022 bytes, 1,049 lines download raw bytes

1<!DOCTYPE html><html lang="ja" data-astro-cid-sckkx6r4> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description" content="宮城県亘理郡のドリームクラフトに関しては、こちらよりお問い合わせください。"><meta name="keywords" content="ドリームクラフト 合同会社_編集用, お問い合わせ|ご相談・ご質問|ドリームクラフト, お問い合わせ内容の入力"><meta name="generator" content="Astro v6.4.8"><meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1"><link rel="preconnect" href="https://www.googletagmanager.com" crossorigin>
vendor: 63 bytes, line 1
1<script async src="https://www.googletagmanager.com/gtag/js?id=
1G-M4Z27RZFLN
vendor: 11 bytes, line 1
1"></script>
1<script>(function(){const ga4Id = "G-M4Z27RZFLN";
2const anonymize = true;
3const isPlaceholder = false;
4const userProps = {"property_number":"S10293703000002","company_name":"ドリームクラフト 合同会社_編集用"};
5const hasUserProps = true;
6
7      window.dataLayer = window.dataLayer || [];
8      function gtag(){ dataLayer.push(arguments); }
9      gtag('js', new Date());
10      gtag('config', ga4Id, { anonymize_ip: anonymize });
11      // カスタムディメンション: 以降の全イベント (page_view 含む) に付与。
12      if (hasUserProps) { gtag('set', 'user_properties', userProps); }
13      if (isPlaceholder) {
14        console.warn('[Analytics] GA4 ID is G-PLACEHOLDER — please replace before go-live');
15      }
16    })();</script>
16<script>(function(){const socialHosts = ["instagram.com","facebook.com","fb.com","twitter.com","x.com","line.me","lin.ee","youtube.com","youtu.be","tiktok.com","pinterest.com","pinterest.jp","linkedin.com","note.com","threads.net"];
17
18    {/* sm-ga4-events */}
19    (function () {
20      function send(name, params) {
21        if (typeof window.gtag === 'function') { window.gtag('event', name, params || {}); }
22        else { (window.dataLayer = window.dataLayer || []).push(Object.assign({ event: name }, params || {})); }
23      }
24      function hostOf(href) { try { return new URL(href, location.href).hostname.replace(/^www\./, ''); } catch (e) { return ''; } }
25      function matchSocial(h) { for (var i = 0; i < socialHosts.length; i++) { if (h === socialHosts[i] || h.endsWith('.' + socialHosts[i])) return socialHosts[i]; } return ''; }
26      function label(el) { return (el.textContent || '').trim().replace(/\s+/g, ' ').slice(0, 100); }
27      var selfHost = location.hostname.replace(/^www\./, '');
28
29      // クリック委譲 — 実行時注入されるウィジェット DOM にも自動対応 (MutationObserver 不要)。
30      document.addEventListener('click', function (e) {
31        var t = e.target;
32        if (!t || !t.closest) return;
33        if (t.closest('#sm-gmap')) { send('map_interaction', {}); return; }
34        var a = t.closest('a[href], button');
35        if (!a) return;
36        var href = (a.getAttribute && a.getAttribute('href')) || '';
37        if (/^https?:/i.test(href)) {
38          var h = hostOf(href);
39          var sns = matchSocial(h);
40          if ((a.closest('.footer-sns')) || sns) { send('social_click', { platform: sns || h, link_url: href }); return; }
41          if (h && h !== selfHost) { send('outbound_click', { link_domain: h, link_url: href, link_text: label(a) }); return; }
42        }
43        if (a.matches && a.matches('a.btn, button.btn')) { send('cta_click', { link_text: label(a), link_url: href }); return; }
44        if (a.closest('.site-nav')) { send('navigation_click', { link_text: label(a), link_url: href }); return; }
45      }, true);
46
47      // 地図は iframe がクリックを奪うため pointerdown でも補足 (best-effort, 取得は限定的)。
48      document.addEventListener('pointerdown', function (e) {
49        if (e.target && e.target.closest && e.target.closest('#sm-gmap')) send('map_interaction', {});
50      }, true);
51
52      // スクロール深度 25/50/75/100% — 各 1 回。
53      var marks = [25, 50, 75, 100], hit = {}, ticking = false;
54      function onScroll() {
55        var de = document.documentElement, b = document.body;
56        var max = Math.max(de.scrollHeight, b.scrollHeight) - window.innerHeight;
57        if (max <= 0) return;
58        var pct = (window.scrollY || de.scrollTop) / max * 100;
59        for (var i = 0; i < marks.length; i++) {
60          var m = marks[i];
61          if (pct >= m && !hit[m]) { hit[m] = 1; send('scroll', { percent_scrolled: m }); }
62        }
63      }
64      window.addEventListener('scroll', function () {
65        if (ticking) return;
66        ticking = true;
67        setTimeout(function () { ticking = false; onScroll(); }, 200);
68      }, { passive: true });
69    })();
70  })();</script>
70<link rel="canonical" href="https://dreamcraft2004.com/contact/"><link rel="sitemap" href="../sitemap-index.xml"><meta property="og:type" content="website"><meta property="og:site_name" content="ドリームクラフト 合同会社_編集用"><meta property="og:title" content="お問い合わせ|ご相談・ご質問|ドリームクラフト"><meta property="og:description" content="宮城県亘理郡のドリームクラフトに関しては、こちらよりお問い合わせください。"><meta property="og:url" content="https://dreamcraft2004.com/contact/"><meta property="og:image" content="https://www.dreamcraft2004.com/wp-content/uploads/logo_ogp-1.webp"><meta property="og:locale" content="ja_JP"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="お問い合わせ|ご相談・ご質問|ドリームクラフト"><meta name="twitter:description" content="宮城県亘理郡のドリームクラフトに関しては、こちらよりお問い合わせください。"><meta name="twitter:image" content="https://www.dreamcraft2004.com/wp-content/uploads/logo_ogp-1.webp"><title>お問い合わせ|ご相談・ご質問|ドリームクラフト</title><style>
71      img:where([data-sm-dim="wh"]) { width: auto; height: auto; }
72      img:where([data-sm-dim="h"]) { height: auto; }
73      img:where([data-sm-dim="w"]) { width: auto; }
74    </style><link rel="stylesheet" href="../theme.css"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
75  
76  
77  
78<!-- All in One SEO Pack 3.3.4 によって Michael Torbert の Semper Fi Web Designob_start_detected [-1,-1] -->
79
80
81<meta name="keywords" content="お問い合わせ,看板,カッティングシート,アクリル加工,frp,イベント,宮城県">
82
83<script type="application/ld+json" class="aioseop-schema">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.dreamcraft2004.com/#organization","url":"https://www.dreamcraft2004.com/","name":"\u30c9\u30ea\u30fc\u30e0\u30af\u30e9\u30d5\u30c8","sameAs":[]},{"@type":"WebSite","@id":"https://www.dreamcraft2004.com/#website","url":"https://www.dreamcraft2004.com/","name":"\u30c9\u30ea\u30fc\u30e0\u30af\u30e9\u30d5\u30c8","publisher":{"@id":"https://www.dreamcraft2004.com/#organization"}},{"@type":"WebPage","@id":"https://www.dreamcraft2004.com/contact#webpage","url":"https://www.dreamcraft2004.com/contact","inLanguage":"ja","name":"\u304a\u554f\u3044\u5408\u308f\u305b","isPartOf":{"@id":"https://www.dreamcraft2004.com/#website"},"datePublished":"2019-02-13T01:21:03+09:00","dateModified":"2019-02-13T01:21:03+09:00","description":"\u5bae\u57ce\u770c\u4e98\u7406\u90e1\u306e\u30c9\u30ea\u30fc\u30e0\u30af\u30e9\u30d5\u30c8\u306b\u95a2\u3057\u3066\u306f\u3001\u3053\u3061\u3089\u3088\u308a\u304a\u554f\u3044\u5408\u308f\u305b\u304f\u3060\u3055\u3044\u3002"}]}</script>
83
84
85
86
87
88
89
90<meta property="article:published_time" content="2019-02-13T01:21:03Z">
91<meta property="article:modified_time" content="2019-02-13T01:21:03Z">
92
93
94
95
96
97<!-- All in One SEO Pack -->
98<link rel="dns-prefetch" href="https://www.google.com/">
99<link rel="dns-prefetch" href="https://s.w.org/">
100<link rel="stylesheet" id="wp-block-library-css" href="../wp-includes/css/dist/block-library/style.min.css" type="text/css" media="all">
101<link rel="stylesheet" id="contact-form-7-css" href="../wp-content/plugins/contact-form-7/includes/css/styles.css" type="text/css" media="all">
102<script type="text/javascript" src="../wp-content/themes/dreamcraft2004.com_theme/assets/js/vendor/jquery.min.js"></script>
102
103<link rel="shortlink" href="https://www.dreamcraft2004.com/?p=8">
104<style>.gallery .gallery-item img { width: auto; height: auto; }</style>  <link href="https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&amp;subset=japanese" rel="stylesheet">
105  <link href="../wp-content/themes/dreamcraft2004.com_theme/assets/css/main.css" rel="stylesheet">
106  
106<script src="../wp-content/themes/dreamcraft2004.com_theme/assets/js/vendor/respond.min.js"></script>
106
107  
107<script>
108  document.addEventListener( 'wpcf7mailsent', function( event ) {
109      location = '//www.dreamcraft2004.com/thanks';
110  }, false );
111  </script>
111
112  
112<script type="application/ld+json">
113  {
114    "@context": "http://schema.org",
115    "@type": "BreadcrumbList",
116    "itemListElement":
117    [
118      {
119      "@type": "ListItem",
120      "position": 1,
121      "item":
122      {
123        "@id": "https://www.dreamcraft2004.com/",
124        "name": "ドリームクラフト"
125      }
126    },
127{
128      "@type": "ListItem",
129      "position": 2,
130      "item":
131      {
132        "@id": "https://www.dreamcraft2004.com/contact/",
133        "name": "お問い合わせ|ご相談・ご質問|ドリームクラフト"
134      }
135    }    ]
136  }
137  </script>
137
138
139
140  
140<script type="application/ld+json">
141  {
142    "@context": "http://schema.org/",
143    "@type": "LocalBusiness",
144    "name": "ドリームクラフト",
145    "address": "〒989-2341 宮城県亘理郡亘理町長瀞字新海岸33-4",
146    "telephone": "0223-35-7188",
147    "faxNumber": "0223-35-7188",
148    "url": "https://www.dreamcraft2004.com",
149    "email": "[email protected]",
150    "image": "https://www.dreamcraft2004.com/wp-content/uploads/logo_ogp-1.webp",
151    "logo": "https://www.dreamcraft2004.com/wp-content/uploads/logo_org-1.webp"
152  }
153  </script>
153<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","name":"ドリームクラフト 合同会社_編集用","url":"https://dreamcraft2004.com/","inLanguage":"ja"}</script>
153<script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"ホーム","item":"https://dreamcraft2004.com/"},{"@type":"ListItem","position":2,"name":"お問い合わせ|ご相談・ご質問|ドリームクラフト","item":"https://dreamcraft2004.com/contact/"}]}</script>
153<script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"お問い合わせ項目 ※必須","acceptedAnswer":{"@type":"Answer","text":"看板製作カッティングシート製作アクリル加工FRP製品&立体造形物イベント・ステージ製作インクジェット出力の製作その他の製作"}}]}</script>
153<script>(function(){const smConfig = {"themeJsonUrl":"../theme.json","contentJsonUrl":"../content.json","allowedOrigins":["http://localhost:5173","http://localhost:3000","https://main.d3hksf29zy4ehp.amplifyapp.com","https://d3hksf29zy4ehp.amplifyapp.com"]};
154
155      window.SITEMEISTER_CONFIG = Object.assign(window.SITEMEISTER_CONFIG || {}, smConfig);
156    })();</script>
156<style>.sm-breadcrumb[data-astro-cid-sckkx6r4]{max-width:1200px;margin:0 auto;padding:.75rem 1rem;font-size:.8125rem;line-height:1.4}.sm-breadcrumb[data-astro-cid-sckkx6r4] ol[data-astro-cid-sckkx6r4]{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;padding:0}.sm-breadcrumb[data-astro-cid-sckkx6r4] li[data-astro-cid-sckkx6r4]{display:inline-flex;align-items:center;gap:.4rem}.sm-breadcrumb[data-astro-cid-sckkx6r4] a[data-astro-cid-sckkx6r4]{color:inherit;opacity:.7;text-decoration:none}.sm-breadcrumb[data-astro-cid-sckkx6r4] a[data-astro-cid-sckkx6r4]:hover{opacity:1;text-decoration:underline}.sm-breadcrumb[data-astro-cid-sckkx6r4] [data-astro-cid-sckkx6r4][aria-current=page]{opacity:.55}.sm-breadcrumb[data-astro-cid-sckkx6r4] .sep[data-astro-cid-sckkx6r4]{opacity:.4}
157</style></head> <body data-astro-cid-sckkx6r4> <header>
158    <div class="primary_header">
159      <div class="container">
160        <div class="row">
161                    <h1 class="title">
162                          <a href="../">
163                <object type="image/svg+xml" data="../wp-content/uploads/logo-1.svg" alt="ドリームクラフト"></object>
164              </a>
165                      </h1>
166          <nav class="global_nav"><ul><li><a href="../" data-editable="home.link.1" data-editable-type="url">HOME</a></li>
167<li><a href="../factory/" data-editable="home.link.2" data-editable-type="url">会社概要</a></li>
168<li class="has_under"><a href="#">施工事例</a>
169<ul class="sub-menu">
170	<li><a href="../sign/" data-editable="home.link.3" data-editable-type="url">看板製作</a></li>
171	<li><a href="../sheet/" data-editable="home.link.4" data-editable-type="url">カッティングシート製作</a></li>
172	<li><a href="../acrylic/" data-editable="home.link.5" data-editable-type="url">アクリル加工</a></li>
173	<li><a href="../frp/" data-editable="home.link.6" data-editable-type="url">FRP製品&amp;立体造形物</a></li>
174	<li><a href="../event/" data-editable="home.link.7" data-editable-type="url">イベント・ステージ製作</a></li>
175	<li><a href="../other/" data-editable="home.link.8" data-editable-type="url">その他の製作</a></li>
176	<li><a href="../hobby/" data-editable="home.link.9" data-editable-type="url">趣味の製作</a></li>
177</ul>
178</li>
179<li><a href="../contact/" data-editable="home.link.10" data-editable-type="url">お問い合わせ</a></li>
180
181                <li class="gnav_search">
182                  <a href="#">search</a>
183  <div class="epress_search">
184    <form method="get" action="../">
185      <input type="text" placeholder="" class="text" name="s" autocomplete="off" value="">
186      <input type="submit" value="Search" class="submit">
187    </form>
188  </div>
189  </li>
190              </ul>
191              <div class="menu_icon">
192                <a href="#menu"><span>メニュー開閉</span></a>
193              </div></nav>
194        </div>
195      </div>
196    </div>
197  </header>  <nav class="sm-breadcrumb" aria-label="パンくずリスト" data-astro-cid-sckkx6r4> <ol data-astro-cid-sckkx6r4> <li data-astro-cid-sckkx6r4> <a href="../" data-astro-cid-sckkx6r4>ホーム</a> <span class="sep" aria-hidden="true" data-astro-cid-sckkx6r4>›</span> </li><li data-astro-cid-sckkx6r4> <span aria-current="page" data-astro-cid-sckkx6r4>お問い合わせ|ご相談・ご質問|ドリームクラフト</span>  </li> </ol> </nav>   <div id="fb-root"></div>
198  
198<script>(function(d, s, id) {
199    var js, fjs = d.getElementsByTagName(s)[0];
200    if (d.getElementById(id)) return;
201    js = d.createElement(s); js.id = id;
202    js.src = 'https://connect.facebook.net/ja_JP/sdk.js#xfbml=1&version=v2.12';
203    fjs.parentNode.insertBefore(js, fjs);
204  }(document, 'script', 'facebook-jssdk'));</script>
204
205
206  
207
208  <main>
209              <h1 class="wow" style="" data-editable="contact.main.title" data-editable-type="text">
210      お問い合わせ|ご相談・ご質問|ドリームクラフト            </h1>
211
212    
213    <div class="bread_wrap">
214      <div class="container gutters">
215        <div class="row bread">
216              <ul class="col span_12">
217              <li><a href="../" data-editable="contact.link.11" data-editable-type="url">HOME</a></li>
218                      <li>お問い合わせ|ご相談・ご質問|ドリームクラフト</li>
219                  </ul>
220          </div>
221      </div>
222    </div>
223    <section>
224      <div class="container gutters">
225        <div class="row">
226                    <div class="col span_9 column_main">
227                  <div role="form" class="wpcf7" id="wpcf7-f5-p8-o1" lang="ja" dir="ltr">
228<div class="screen-reader-response"></div>
229<form data-sm-contactform="c1" action="../contact/#wpcf7-f5-p8-o1" method="post" class="wpcf7-form" novalidate="novalidate">
230<div style="display: none;">
231<input type="hidden" name="_wpcf7" value="5">
232<input type="hidden" name="_wpcf7_version" value="5.1.6">
233<input type="hidden" name="_wpcf7_locale" value="ja">
234<input type="hidden" name="_wpcf7_unit_tag" value="wpcf7-f5-p8-o1">
235<input type="hidden" name="_wpcf7_container_post" value="8">
236<input type="hidden" name="g-recaptcha-response" value="">
237</div>
238<section>
239<h2 data-editable="contact.main.heading2" data-editable-type="text">お問い合わせ内容の入力</h2>
240<div class="container gutters">
241<div class="inquiry h-adr">
242        ご不明な点などございましたら、お気軽にお問い合わせください。<br>
243        <span class="text-red">※必須</span>の項目は必ず入力してください。<br>
244        <span class="p-country-name" style="display:none;">Japan</span><p></p>
245<fieldset>
246<div class="row">
247<dl>
248<dt class="col span_4">お名前(会社名) <br>
249                <span class="required">※必須</span>
250              </dt>
251<dd class="col span_8">
252                <span class="wpcf7-form-control-wrap your-name"><input type="text" name="your-name" value="" size="40" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required" aria-required="true" aria-invalid="false"></span>
253              </dd>
254<dt class="col span_4">ご担当者名 
255              </dt>
256<dd class="col span_8">
257                <span class="wpcf7-form-control-wrap Person-in-charge"><input type="text" name="Person-in-charge" value="" size="40" class="wpcf7-form-control wpcf7-text" aria-invalid="false"></span>
258              </dd>
259<dt class="col span_4">メールアドレス <br>
260                <span class="required">※必須</span>
261              </dt>
262<dd class="col span_8">
263                <span class="wpcf7-form-control-wrap your-email"><input type="email" name="your-email" value="" size="40" class="wpcf7-form-control wpcf7-text wpcf7-email wpcf7-validates-as-required wpcf7-validates-as-email" aria-required="true" aria-invalid="false"></span>
264              </dd>
265<dt class="col span_4">お問い合わせ項目 <br>
266                <span class="required">※必須</span>
267              </dt>
268<dd class="col span_8">
269                <span class="wpcf7-form-control-wrap radio-16"><span class="wpcf7-form-control wpcf7-radio"><span class="wpcf7-list-item first"><label><input type="radio" name="radio-16" value="看板製作" checked="checked"><span class="wpcf7-list-item-label">看板製作</span></label></span><span class="wpcf7-list-item"><label><input type="radio" name="radio-16" value="カッティングシート製作"><span class="wpcf7-list-item-label">カッティングシート製作</span></label></span><span class="wpcf7-list-item"><label><input type="radio" name="radio-16" value="アクリル加工"><span class="wpcf7-list-item-label">アクリル加工</span></label></span><span class="wpcf7-list-item"><label><input type="radio" name="radio-16" value="FRP製品&amp;立体造形物"><span class="wpcf7-list-item-label">FRP製品&amp;立体造形物</span></label></span><span class="wpcf7-list-item"><label><input type="radio" name="radio-16" value="イベント・ステージ製作"><span class="wpcf7-list-item-label">イベント・ステージ製作</span></label></span><span class="wpcf7-list-item"><label><input type="radio" name="radio-16" value="インクジェット出力の製作"><span class="wpcf7-list-item-label">インクジェット出力の製作</span></label></span><span class="wpcf7-list-item last"><label><input type="radio" name="radio-16" value="その他の製作"><span class="wpcf7-list-item-label">その他の製作</span></label></span></span></span>
270              </dd>
271<dt class="col span_4">電話番号 <br>
272                <span class="required">※必須</span>
273              </dt>
274<dd class="col span_8">
275                <span class="wpcf7-form-control-wrap your-tel"><input type="tel" name="your-tel" value="" size="40" class="wpcf7-form-control wpcf7-text wpcf7-tel wpcf7-validates-as-required wpcf7-validates-as-tel" aria-required="true" aria-invalid="false"></span>
276              </dd>
277<dt class="col span_4">お問い合わせ内容 <br>
278                (出来るだけ具体的に記載いただけると助かります) <br>
279                <span class="required">※必須</span>
280              </dt>
281<dd class="col span_8">
282                <span class="wpcf7-form-control-wrap your-message"><textarea name="your-message" cols="40" rows="10" class="wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required" aria-required="true" aria-invalid="false"></textarea></span>
283              </dd>
284</dl></div>
285<p><span class="wpcf7-form-control-wrap checkbox-414"><span class="wpcf7-form-control wpcf7-checkbox wpcf7-validates-as-required"><span class="wpcf7-list-item first last"><label><input type="checkbox" name="checkbox-414[]" value="確認画面は表示されません。上記内容にて送信しますので、よろしければチェックを入れてください。"><span class="wpcf7-list-item-label" data-editable="contact.main.text1" data-editable-type="text">確認画面は表示されません。上記内容にて送信しますので、よろしければチェックを入れてください。</span></label></span></span></span></p>
286<p></p></fieldset>
287<div class="submit">
288          <input type="submit" value="送信する" class="wpcf7-form-control wpcf7-submit button">
289        </div>
290<p></p></div>
291<p></p></div>
292</section>
293<div class="wpcf7-response-output wpcf7-display-none"></div></form></div>              </div>
294          <div class="col span_3 column_sub">
295            <div>
296<style>
297.share_button {
298  letter-spacing: -.40em;
299  padding-top: 30px;
300  margin-bottom: 7%;
301}
302.share_button > * {
303  letter-spacing: normal;
304  vertical-align: bottom;
305  margin:0 2px;
306}
307.column_sub .share_button {
308  margin-top: 0;
309  padding-top: 0;
310}
311</style>
312  <div class="container share_button">
313    <!-- Facebook -->
314    <div class="fb-share-button" data-href="https://www.dreamcraft2004.com/contact" data-layout="button" data-size="small" data-mobile-iframe="false"><a class="fb-xfbml-parse-ignore" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.%2F&amp;src=sdkpreparse" data-editable="contact.link.12" data-editable-type="url">シェア</a></div>
315    <!-- Twitter -->
316    <!-- <a href="https://twitter.com/share" class="twitter-share-button" data-lang="ja" data-editable="contact.link.13" data-editable-type="url">ツイート</a>
317    
317<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,'script','twitter-wjs');</script>
317 -->
318    <!-- LINE -->
319    <div class="line-it-button" data-lang="ja" data-type="share-a" data-url="https://www.dreamcraft2004.com/contact" style="display: none;"></div>
320    
320<script src="../_ext/d.line-scdn.net/r/web/social-plugin/js/thirdparty/loader.min.js" async="async" defer="defer"></script>
320
321  </div>
322</div>
323<div class="sidebar">
324  <div class="widget_wrap"><p class="widget_header" data-editable="contact.main.body1" data-editable-type="multiline">ページ一覧</p>		<ul>
325			<li class="page_item page-item-10"><a href="../" data-editable="contact.link.14" data-editable-type="url">HOME</a></li>
326<li class="page_item page-item-17"><a href="../factory/" data-editable="contact.link.15" data-editable-type="url">会社概要</a></li>
327<li class="page_item page-item-28"><a href="../sign/" data-editable="contact.link.16" data-editable-type="url">看板製作</a></li>
328<li class="page_item page-item-26"><a href="../sheet/" data-editable="contact.link.17" data-editable-type="url">カッティングシート製作</a></li>
329<li class="page_item page-item-13"><a href="../acrylic/" data-editable="contact.link.18" data-editable-type="url">アクリル加工</a></li>
330<li class="page_item page-item-19"><a href="../frp/" data-editable="contact.link.19" data-editable-type="url">FRP製品&amp;立体造形物</a></li>
331<li class="page_item page-item-15"><a href="../event/" data-editable="contact.link.20" data-editable-type="url">イベント・ステージ製作</a></li>
332<li class="page_item page-item-222"><a href="../inkjet/" data-editable="contact.link.21" data-editable-type="url">インクジェット出力の製作</a></li>
333<li class="page_item page-item-24"><a href="../other/" data-editable="contact.link.22" data-editable-type="url">その他の製作</a></li>
334<li class="page_item page-item-21"><a href="../hobby/" data-editable="contact.link.23" data-editable-type="url">趣味の製作</a></li>
335<li class="page_item page-item-8 current_page_item"><a href="../contact/" data-editable="contact.link.24" data-editable-type="url">お問い合わせ</a></li>
336<li class="page_item page-item-11"><a href="../policy/" data-editable="contact.link.25" data-editable-type="url">プライバシーポリシー</a></li>
337<li class="page_item page-item-12"><a href="../sitemap/" data-editable="contact.link.26" data-editable-type="url">サイトマップ</a></li>
338		</ul>
339		</div><div class="widget_wrap"><p class="widget_header" data-editable="contact.main.body2" data-editable-type="multiline">カテゴリー</p>		<ul>
340	<li class="cat-item cat-item-2"><a href="../category/news/" data-editable="contact.link.27" data-editable-type="url">お知らせ</a>
341</li>
342		</ul>
343</div>		<div class="widget_wrap">		<p class="widget_header" data-editable="contact.main.body3" data-editable-type="multiline">最近の投稿</p>		<ul>
344											<li>
345					<a href="../news/336/" data-editable="contact.link.28" data-editable-type="url"><span style="color: red;">不審なメールに関する注意喚起(無関係です、ご注意ください)</span></a>
346									</li>
347											<li>
348					<a href="../news/330/" data-editable="contact.link.29" data-editable-type="url">イベント運営スタッフ募集中</a>
349									</li>
350											<li>
351					<a href="../news/321/" data-editable="contact.link.30" data-editable-type="url">2023年 新年明けましておめでとうございます。</a>
352									</li>
353											<li>
354					<a href="../news/301/" data-editable="contact.link.31" data-editable-type="url">サバイバルゲームフィールドOPEN</a>
355									</li>
356											<li>
357					<a href="../news/296/" data-editable="contact.link.32" data-editable-type="url">年末年始の休日のお知らせ</a>
358									</li>
359					</ul>
360		</div>1</div>
361          </div>
362                  </div>
363      </div>
364    </section>
365  </main>
366
367
368  
369  
370
371  
372  
373
374  
375
376
377
378
379<!-- widget-loader (削除禁止: お問い合わせ/お知らせ/コラム を描画) -->   <footer>    <div class="footer_nav_wrap">
380      <div class="container">
381        <div class="row">
382        <nav class="col span_12"><ul><li><a href="../" data-editable="home.link.24" data-editable-type="url">HOME</a></li>
383<li><a href="../factory/" data-editable="home.link.25" data-editable-type="url">会社概要</a></li>
384<li><a href="../sign/" data-editable="home.link.26" data-editable-type="url">看板製作</a></li>
385<li><a href="../sheet/" data-editable="home.link.27" data-editable-type="url">カッティングシート製作</a></li>
386<li><a href="../acrylic/" data-editable="home.link.28" data-editable-type="url">アクリル加工</a></li>
387<li><a href="../frp/" data-editable="home.link.29" data-editable-type="url">FRP製品&amp;立体造形物</a></li>
388<li><a href="../event/" data-editable="home.link.30" data-editable-type="url">イベント・ステージ製作</a></li>
389<li><a href="../other/" data-editable="home.link.31" data-editable-type="url">その他の製作</a></li>
390<li><a href="../hobby/" data-editable="home.link.32" data-editable-type="url">趣味の製作</a></li>
391<li><a href="../contact/" data-editable="home.link.33" data-editable-type="url">お問い合わせ</a></li>
392<li><a href="../policy/" data-editable="home.link.34" data-editable-type="url">プライバシーポリシー</a></li>
393<li><a href="../sitemap/" data-editable="home.link.35" data-editable-type="url">サイトマップ</a></li>
394</ul></nav>        </div>
395      </div>
396    </div>
397    <div class="footer_copyright_wrap">
398      <div class="container">
399        <div class="row">
400          <div class="col span_12">
401            <p>Copyright © ドリームクラフト All Rights Reserved.<br>
402              【掲載の記事・写真・イラストなどの無断複写・転載を禁じます】</p>
403          </div>
404        </div>
405      </div>
406    </div>
407        <p class="pagetop"><a href="#top"></a></p>
408  </footer>  <style>
409  .sticky_footer_bar {
410    position: fixed;
411    left: 0;
412    right: 0;
413    bottom: 0;
414    z-index: 200;
415    display: flex;
416    width: 100%;
417    box-shadow: 0 -2px 12px rgba(0,0,0,0.25);
418  }
419  .sticky_footer_bar a {
420    flex: 1 1 33.333%;
421    display: flex;
422    align-items: center;
423    justify-content: center;
424    gap: 8px;
425    padding: 12px 4px;
426    text-decoration: none;
427    font-size: 13px;
428    font-size: 1.3rem;
429    font-weight: bold;
430    line-height: 1.3;
431    text-align: center;
432    transition: opacity .2s;
433    white-space: nowrap;
434  }
435  .sticky_footer_bar a:hover {
436    opacity: 0.85;
437    text-decoration: none;
438  }
439  .sticky_footer_bar a.sfb_tel {
440    background: #f8b500;
441    color: #1b1b1b;
442  }
443  .sticky_footer_bar a.sfb_contact {
444    background: #1b1b1b;
445    color: #fff;
446  }
447  .sticky_footer_bar a.sfb_map {
448    background: #333333;
449    color: #fff;
450  }
451  .sticky_footer_bar .sfb_icon {
452    flex: none;
453    display: inline-flex;
454    width: 18px;
455    height: 18px;
456  }
457  .sticky_footer_bar .sfb_icon svg {
458    width: 100%;
459    height: 100%;
460  }
461  .sticky_footer_bar .sfb_text small {
462    display: block;
463    font-size: 10px;
464    font-size: 1rem;
465    font-weight: normal;
466    letter-spacing: 0.05em;
467  }
468  body {
469    padding-bottom: 56px;
470  }
471  @media (min-width: 768px) {
472    .sticky_footer_bar a {
473      font-size: 15px;
474      font-size: 1.5rem;
475      padding: 16px 8px;
476    }
477    .sticky_footer_bar .sfb_icon {
478      width: 22px;
479      height: 22px;
480    }
481    body {
482      padding-bottom: 64px;
483    }
484  }
485  footer.high .sticky_footer_bar,
486  footer .sticky_footer_bar {
487    position: fixed;
488  }
489  </style>
490<div class="sticky_footer_bar">
491    <a href="tel:0223357188" class="sfb_tel">
492      <span class="sfb_icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path></svg></span>
493      <span class="sfb_text">TEL<br><small>0223-35-7188</small></span>
494    </a>
495    <a href="../contact/" class="sfb_contact">
496      <span class="sfb_icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline></svg></span>
497      <span class="sfb_text">お問い合わせ</span>
498    </a>
499    <a href="https://www.google.com/maps?q=%E5%AE%AE%E5%9F%8E%E7%9C%8C%E4%BA%98%E7%90%86%E9%83%A1%E4%BA%98%E7%90%86%E7%94%BA%E9%95%B7%E7%80%9E%E5%AD%97%E6%96%B0%E6%B5%B7%E5%B2%B833-4" target="_blank" rel="noopener" class="sfb_map">
500      <span class="sfb_icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 1 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg></span>
501      <span class="sfb_text">アクセスマップ</span>
502    </a>
503  </div>
504<script src="../wp-content/themes/dreamcraft2004.com_theme/assets/js/vendor/bundle.js"></script>
vendor: 1 bytes, line 504
504
505<script src="../wp-content/themes/dreamcraft2004.com_theme/assets/js/main.js"></script>
vendor: 1 bytes, line 505
505
506<script type="text/javascript">
507/* <![CDATA[ */
508var wpcf7 = {"apiSettings":{"root":"https:\/\/www.dreamcraft2004.com\/wp-json\/contact-form-7\/v1","namespace":"contact-form-7\/v1"}};
509/* ]]> */
510</script>
vendor: 1 bytes, line 510
510
511<script type="text/javascript" src="../wp-content/plugins/contact-form-7/includes/js/scripts.js"></script>
vendor: 84 bytes, lines 511-512
511
512<script type="text/javascript" src="https://www.google.com/recaptcha/api.js?render=
5126LcPeSQeAAAAAFu7ZJdKQ77SY-qd7Tp0JcKQVAwR
vendor: 24 bytes, line 512
512&amp;ver=3.0"></script>
513<script type="text/javascript">
514( function( grecaptcha, sitekey, actions ) {
515
516	var wpcf7recaptcha = {
517
518		execute: function( action ) {
519			grecaptcha.execute(
520				sitekey,
521				{ action: action }
522			).then( function( token ) {
523				var forms = document.getElementsByTagName( 'form' );
524
525				for ( var i = 0; i < forms.length; i++ ) {
526					var fields = forms[ i ].getElementsByTagName( 'input' );
527
528					for ( var j = 0; j < fields.length; j++ ) {
529						var field = fields[ j ];
530
531						if ( 'g-recaptcha-response' === field.getAttribute( 'name' ) ) {
532							field.setAttribute( 'value', token );
533							break;
534						}
535					}
536				}
537			} );
538		},
539
540		executeOnHomepage: function() {
541			wpcf7recaptcha.execute( actions[ 'homepage' ] );
542		},
543
544		executeOnContactform: function() {
545			wpcf7recaptcha.execute( actions[ 'contactform' ] );
546		},
547
548	};
549
550	grecaptcha.ready(
551		wpcf7recaptcha.executeOnHomepage
552	);
553
554	document.addEventListener( 'change',
555		wpcf7recaptcha.executeOnContactform, false
556	);
557
558	document.addEventListener( 'wpcf7submit',
559		wpcf7recaptcha.executeOnHomepage, false
560	);
561
562} )(
563	grecaptcha,
564	'6LcPeSQeAAAAAFu7ZJdKQ77SY-qd7Tp0JcKQVAwR',
565	{"homepage":"homepage","contactform":"contactform"}
566);
567</script>
vendor: 1 bytes, line 567
567
568<script type="application/json" data-sm-contacttpl="c1">{"page":"contact.html","id":"c1","fields":[{"name":"your-name","slot":"company","label":"お名前(会社名) ※必須 your-name","type":"text"},{"name":"Person-in-charge","slot":"name","label":"ご担当者名 Person-in-charge","type":"text"},{"name":"your-email","slot":"email","label":"メールアドレス ※必須 your-email","type":"email"},{"name":"radio-16","slot":"","label":"お問い合わせ項目 ※必須 radio-16","type":"radio"},{"name":"radio-16","slot":"","label":"看板製作 radio-16","type":"radio"},{"name":"radio-16","slot":"","label":"カッティングシート製作 radio-16","type":"radio"},{"name":"radio-16","slot":"","label":"アクリル加工 radio-16","type":"radio"},{"name":"radio-16","slot":"","label":"FRP製品&amp;立体造形物 radio-16","type":"radio"},{"name":"radio-16","slot":"","label":"イベント・ステージ製作 radio-16","type":"radio"},{"name":"radio-16","slot":"","label":"インクジェット出力の製作 radio-16","type":"radio"},{"name":"your-tel","slot":"phone","label":"電話番号 ※必須 your-tel","type":"tel"},{"name":"your-message","slot":"message","label":"お問い合わせ内容 (出来るだけ具体的に記載いただけると助かります) ※必須 yo","type":"textarea"},{"name":"checkbox-414[]","slot":"","label":"お問い合わせ内容 (出来るだけ具体的に記載いただけると助かります) ※必須 ch","type":"checkbox"}]}</script>
vendor: 1 bytes, line 568
568
569<script data-sm-widget-runtime="">
570(function(){
571  // ★DOM構築を待ってから走らせる。テンプレート定義(script[data-sm-newstpl])は
572  //   modularize-widgets が body 終了タグの直前に追加するため、パース中に実行すると
573  //   ★このテンプレート内に body / script の終了タグを literal で書いてはいけない。
574  //     後段の注入処理は全て「最初の body 終了タグの直前」へ差し込むため、ここに書くと
575  //     スクリプトのコメント内へ注入され、注入物が持つ script 終了タグがこのスクリプトを
576  //     途中で閉じて、以降のJSがページ本文として露出する。
577  //     (2026-08-18 11:09〜08-19 に生成した全430ページで発生。うち50ページで実際に露出)
578  //   まだ存在せず【一覧が静的のまま・APIを一度も叩かない】状態になる
579  //   (実測 2026-08-18 kk-narumi: 連動したはずが /news/ へのリクエストが0件だった)。
580  function boot(){
581  var API="https://7s04ys3bm1.execute-api.ap-northeast-1.amazonaws.com", SITE="S10293703000002";
582  function esc(s){return String(s==null?"":s).replace(/&/g,"&amp;").replace(/</g,"<").replace(/>/g,">").replace(/"/g,"&quot;");}
583  // 元の一覧の日付表記(区切り・ゼロ埋め・年月日)に合わせて整形する
584  function fmt(iso,sample){
585    var m=String(iso||"").match(/(\d{4})-(\d{2})-(\d{2})/); if(!m) return "";
586    var y=m[1],mo=m[2],da=m[3];
587    var hasY=/\d{4}/.test(sample);                  // 年を書かない一覧(「7月29日」「07/29」)にも合わせる
588    if(/月/.test(sample)){
589      var s=sample.match(/(\d{1,2})月\s*(\d{1,2})?日?/)||[];
590      var out=(hasY?y+"年":"")+((s[1]&&s[1].length===2)?mo:String(+mo))+"月";
591      if(s[2]||/日/.test(sample)) out+=((s[2]&&s[2].length===2)?da:String(+da))+"日";
592      return out;
593    }
594    var sep=(sample.match(/\d+([^\d])/)||[,"/"])[1], p=sample.split(sep);
595    if(hasY){
596      var out2=y+sep+((p[1]&&p[1].length===2)?mo:String(+mo));
597      if(p.length>2) out2+=sep+((p[2]&&p[2].length===2)?da:String(+da));
598      return out2;
599    }
600    var out3=((p[0]&&p[0].length===2)?mo:String(+mo));
601    if(p.length>1) out3+=sep+((p[1]&&p[1].length===2)?da:String(+da));
602    return out3;
603  }
604  var WRAP={tr:"tbody",li:"ul",dt:"dl",dd:"dl",article:"div"};
605  // スクロール連動アニメの初期状態(不可視)を解く。対象は代表的なライブラリの目印だけに絞る
606  // (計算スタイルを見て一律に可視化すると、レスポンシブで意図的に隠している要素まで出てしまう)。
607  var ANIM=".wow,.fade-in,.fadein,.reveal,[data-reveal],[data-aos],.animate-on-scroll,.inview,.scrollin";
608  var ANIM_CLS=["wow","fade-in","fadein","reveal","animate-on-scroll","inview","scrollin"];
609  function reveal(el){
610    if(!el||el.nodeType!==1) return;
611    var list=[el].concat([].slice.call(el.querySelectorAll(ANIM)));
612    list.forEach(function(x){
613      if(x.matches&&!x.matches(ANIM)) return;
614      ANIM_CLS.forEach(function(c){ x.classList.remove(c); });
615      x.removeAttribute("data-aos"); x.removeAttribute("data-reveal");
616      x.style.visibility="visible"; x.style.opacity="1";
617    });
618  }
619  // 公開APIのパスは種別名と一致しない: お知らせ=/news/ だがブログは /columns/(複数形)。
620  // /column/ を叩くと404になり、一覧が静的のまま(=管理画面の更新が載らない)になる。
621  var EP={news:"news",column:"columns",case:"cases"};
622  [].forEach.call(document.querySelectorAll('script[data-sm-newstpl]'),function(sc){
623    var cfg; try{cfg=JSON.parse(sc.textContent);}catch(e){return;}
624    var first=document.querySelector('[data-sm-row="'+cfg.type+'"]'); if(!first) return;
625    var box=first.parentElement; if(!box) return;
626    fetch(API+"/"+(EP[cfg.type]||cfg.type)+"/"+SITE,{cache:"no-cache"}).then(function(r){return r.ok?r.json():null}).then(function(d){
627      var items=Array.isArray(d)?d:((d&&d.items)||[]);
628      if(!items.length) return;
628                       // 取れなければ元の一覧のまま
629      // 抜粋枠(トップの新着など)は元のデザインが並べていた行数で切る。0/未指定は無制限。
630      if(cfg.limit>0) items=items.slice(0,cfg.limit);
631      var html="";
632      items.forEach(function(it){
633        var title=String(it.title||"").trim(); if(!title) return;
634        var raw=it.published_at||it.date||"";
635        var iso=(String(raw).match(/\d{4}-\d{2}-\d{2}/)||[""])[0];
636        // 元サイトからコピー済みの詳細ページがあれば復元(同名記事があるので日付+タイトルを優先)
637        // 年なし一覧では日付キーが "-MM-DD|title" になるのでそちらも見る
638        var dl=cfg.dlinks||{};
639        // ★タイトルだけの一致は「日付が分からない一覧」専用の保険にする。
640        //   同名記事は毎年出る(「夏季休業のお知らせ」等)ので、日付が分かっているのに
641        //   タイトル一致で拾うと【別の年の記事】へ飛ぶ(実測: 2022年のブログ記事が
642        //   2026年のお知らせページへリンクしていた)。
643        var link=dl[iso+"|"+title]||dl[iso.slice(4)+"|"+title]||(iso?"":(cfg.links[title]||""))||"";
644        // コピー内に詳細ページが無い記事(アーカイブが深くて取れなかった分・引き渡し後に
645        // 管理画面で追加された分)は、記事詳細の器へ id 付きで飛ばす。
646        if(!link&&cfg.detail&&it.id) link=cfg.detail+"?type="+encodeURIComponent(cfg.type)+"&id="+encodeURIComponent(it.id);
647        html+=cfg.tpl.split("{{date}}").join(esc(fmt(raw,cfg.dateSample)))
648                     .split("{{title}}").join(esc(title))
649                     .split("{{image}}").join(esc(it.image_url||cfg.imageSample||""))
650                     .split("{{link}}").join(link?esc(link):"#");
651      });
652      if(!html) return;
653      var w=document.createElement(WRAP[cfg.rowTag]||"div"); w.innerHTML=html;
654      var frag=document.createDocumentFragment(), inserted=[];
655      while(w.firstChild){ inserted.push(w.firstChild); frag.appendChild(w.firstChild); }
656      var tags={}; tags[cfg.rowTag]=1; if(cfg.pairTag) tags[cfg.pairTag]=1;
657      // div 行は同じコンテナに「もっと見る」等の別の div が混ざるので、行のクラスで絞る
658      var old=[].filter.call(box.children,function(el){
659        if(!tags[el.tagName.toLowerCase()]) return false;
660        if(cfg.rowClass) return String(el.className||"").split(/\s+/)[0]===cfg.rowClass;
661        return true;
662      });
663      box.insertBefore(frag,old[0]||null);
664      old.forEach(function(el){el.parentNode.removeChild(el);});
665      // ★スクロール連動アニメの初期状態を解除する。
666      //   元の行に .wow 等が付いていると、テンプレートにもそのまま乗る。アニメのライブラリは
667      //   ページ読み込み時に一度走り終わっているので、後から挿入した行は拾われず
668      //   visibility:hidden のまま二度と表示されない
669      //   (実測 2026-08-21 shiminakunaru の /category/blog: 16行中15行が不可視)。
670      //   デザインは変えず、初期状態(不可視)だけを解く。
671      inserted.forEach(reveal);
672      // コピー内に詳細ページが無い記事(引き渡し後に追加された分)は遷移させない
673      [].forEach.call(box.querySelectorAll('a[href="#"]'),function(a){
674        a.addEventListener("click",function(e){e.preventDefault();});
675      });
676    }).catch(function(){});
677  });
678  // ── 記事詳細の器を埋める (sm-article.html) ──
679  //   一覧から ?type=&id= 付きで来る。中身は公開APIの単体取得で引く。
680  (function(){
681    var host=document.querySelector('[data-sm-article="body"]');
682    if(!host) return;
683    var q=new URLSearchParams(location.search), id=q.get("id"), t=q.get("type")||"news";
684    var slot=function(n){return document.querySelector('[data-sm-article="'+n+'"]');};
685    if(!id){ host.innerHTML=""; return; }
686    fetch(API+"/"+(EP[t]||t)+"/"+SITE+"/"+encodeURIComponent(id),{cache:"no-cache"})
687      .then(function(r){return r.ok?r.json():null})
688      .then(function(d){
689        if(!d||!d.title){ host.innerHTML="<p>記事が見つかりませんでした。</p>"; return; }
690        var ttl=slot("title"); if(ttl) ttl.textContent=d.title;
691        document.title=d.title+(document.title?" | "+document.title:"");
692        var dt=slot("date");
693        if(dt){
694          var sample=document.body.getAttribute("data-sm-article-datefmt")||dt.textContent||"";
695          var s2=fmt(d.published_at||"",sample);
696          if(s2) dt.textContent=s2; else dt.style.display="none";
697        }
698        var im=slot("image");
699        if(im&&d.image_url){ im.src=d.image_url; im.alt=d.title; im.style.display=""; }
700        // 本文は改行区切りのプレーンテキスト。器の段落スタイルに乗せるため <p> に分ける。
701        host.innerHTML="";
702        String(d.body||"").split(/\n+/).forEach(function(line){
703          if(!line.trim()) return;
704          var p=document.createElement("p"); p.textContent=line; host.appendChild(p);
705        });
706        reveal(host);
707      })
708      .catch(function(){ host.innerHTML="<p>記事を読み込めませんでした。</p>"; });
709  })();
710
711  // ── 元のお問い合わせフォームを widget の受け口へ繋ぐ ──
712  //   デザイン・項目はコピーしたまま、送信だけ POST /contact/{siteId} に差し替える。
713  //   元サイトの action(WordPress/CF7)へ飛ばさないよう capture フェーズで奪う。
714  //   対応の付かない項目も「ラベル: 値」で message に必ず載せるので情報は落ちない。
715  // ★1ページに複数のフォームがある(道新2件・やまがた3件・テラウチ6件)ので全ペアを走査する。
716  //   form と tpl は data-sm-contactform="c1" / data-sm-contacttpl="c1" の ID 対。
717  //   旧版("1")も同じ値同士で対になるので、遡及していないページもそのまま動く。
718  function wireContact(cform,ccfg){
719    if(!cform||!ccfg||!ccfg.fields||cform.__smWired) return; cform.__smWired=1;
720    var busy=false;
721    cform.addEventListener("submit",function(ev){
722      ev.preventDefault(); ev.stopImmediatePropagation();
723      if(busy) return; busy=true;
724      var slots={name:[],email:[],phone:[],company:[],message:[]}, detail=[], seenName={};
725      ccfg.fields.forEach(function(f){
726        // ★同名の欄が複数ある(電話/郵便番号の3分割入力)と fields にも同じ name が
727        //   複数入る。querySelectorAll は毎回その全部を拾うので、そのまま回すと
728        //   同じ値が回数分だけ重複する(実測 れんが亭: phone が3回連結された)。
729        if(seenName[f.name]) return; seenName[f.name]=1;
730        var els=cform.querySelectorAll('[name="'+String(f.name).replace(/"/g,'\\"')+'"]');
731        var vals=[];
732        [].forEach.call(els,function(el){
733          if((el.type==="checkbox"||el.type==="radio")&&!el.checked) return;
734          // ★分割入力の区切りは value="-" の hidden で表現されることがある。
735          //   これを値として拾うと「06---1234---5678」になる。hidden は人の入力ではない
736          //   (mapFormFields も hidden を項目として数えていない)ので値も採らない。
737          if(el.type==="hidden"||el.disabled) return;
738          var v=(el.value==null?"":String(el.value)).trim();
739          if(v) vals.push(v);
740        });
741        if(!vals.length) return;
742        var v=vals.join(f.slot==="phone"?"-":" ");
743        if(f.slot&&slots[f.slot]) slots[f.slot].push(v);
744        detail.push((f.label||f.name)+": "+v);
745      });
746      var msg=slots.message.join("\n\n");
747      var body={
748        name:slots.name.join(" ")||"(未記入)",
749        email:slots.email.join(" "),
750        phone:slots.phone.join("-"),
751        company:slots.company.join(" "),
752        message:(msg?msg+"\n\n":"")+"---- 入力内容 ----\n"+detail.join("\n"),
753        _hp:""
754      };
755      var note=document.createElement("p");
756      note.setAttribute("data-sm-contact-note","");
757      note.style.cssText="margin:1em 0;font-weight:600";
758      note.textContent="送信中…";
759      cform.parentNode.insertBefore(note,cform);
760      fetch(API+"/contact/"+SITE,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(body)})
761        .then(function(r){return r.ok?r.json().catch(function(){return{ok:true}}):Promise.reject(r.status)})
762        .then(function(){ note.textContent="お問い合わせを送信しました。ありがとうございます。"; cform.style.display="none"; })
763        .catch(function(){ note.textContent="送信に失敗しました。時間をおいて再度お試しください。"; busy=false; });
764    },true);
765  }
766  [].forEach.call(document.querySelectorAll('script[data-sm-contacttpl]'),function(sc){
767    var ccfg; try{ccfg=JSON.parse(sc.textContent);}catch(e){return;}
768    var id=sc.getAttribute("data-sm-contacttpl")||"";
769    var cform=document.querySelector('form[data-sm-contactform="'+id.replace(/"/g,"")+'"]');
770    if(!cform){ // 属性値が食い違うページ(手編集等)は未接続のフォームへ順に割り当てる
771      cform=[].filter.call(document.querySelectorAll('form[data-sm-contactform]'),function(f){return !f.__smWired}
771)[0];
772    }
773    wireContact(cform,ccfg);
774  });
775  // ── widget の寸法/コントラスト補正 ──
776  function fit(host){
777    if(host.__smFit||!host.shadowRoot) return; host.__smFit=1;
778    var rf=parseFloat(getComputedStyle(document.documentElement).fontSize)||16;
779    if(Math.abs(rf-16)>0.5) host.style.zoom=String(16/rf);
780    var el=host,bg=null;
781    while(el&&el!==document.documentElement){
782      var c=getComputedStyle(el).backgroundColor;
783      if(c&&!/^rgba\(0, 0, 0, 0\)$|transparent/.test(c)){bg=c;break;}
784      el=el.parentElement;
785    }
786    var m=bg&&bg.match(/(\d+),\s*(\d+),\s*(\d+)/); if(!m) return;
787    if((0.2126*+m[1]+0.7152*+m[2]+0.0722*+m[3])/255>=0.45) return;   // 明るい背景なら既定のままで良い
788    var st=document.createElement("style");
789    st.textContent='h1,h2,h3,h4,h5,strong,b{color:#fff !important}'
790      +'p,span,time,small,li,dd,dt,td,th,label{color:rgba(255,255,255,.78) !important}'
791      +'a{color:#fff !important}article,li,tr,hr,section{border-color:rgba(255,255,255,.28) !important}'
792      +'input,textarea,select{color:#111 !important;background:#fff !important}';
793    host.shadowRoot.appendChild(st);
794  }
795  function scan(){[].forEach.call(document.querySelectorAll("[data-sm-widget]"),fit);}
796  scan(); var n=0,iv=setInterval(function(){scan();if(++n>40)clearInterval(iv);},250);  // loader の描画待ち
797  }
798  if(document.readyState==="loading") document.addEventListener("DOMContentLoaded",boot); else boot();
799})();
800</script>
800
801<style>.sm-langswitch-li{display:inline-flex;align-items:center;list-style:none}.sm-langswitch-box{display:inline-flex;align-items:center;gap:.3rem}.sm-lang-globe{flex:none;opacity:.7;color:var(--color-text,#333)}select.sm-lang-select{font:inherit;font-size:.82rem;line-height:1.3;color:var(--color-text,#222);background-color:#ffffff;background-color:var(--color-bg,#ffffff);border:1px solid var(--color-primary-light,rgba(0,0,0,.2));border-radius:999px;padding:.35rem .6rem;cursor:pointer;max-width:10rem}select.sm-lang-select:hover{border-color:var(--color-primary,#666)}select.sm-lang-select:focus-visible{outline:2px solid var(--color-primary,#333);outline-offset:1px}.sm-langswitch-fixed{position:fixed;top:10px;right:12px;z-index:9999;background:#ffffff;background:var(--color-bg,#ffffff);border-radius:999px;padding:.15rem .45rem;box-shadow:0 1px 6px rgba(0,0,0,.15)}.sm-lang-ns{display:inline-flex;gap:.3rem;margin-left:.3rem}.sm-lang-ns a{padding:.1rem .5rem;border-radius:999px;text-decoration:none}.sm-bi{display:inline-flex;flex-direction:column;vertical-align:top}.sm-bi-native{display:block;order:2;font-size:.85em;line-height:1.35;opacity:.72;font-style:normal}.sm-bi-tr{display:block;order:1}html[lang="ja"] .sm-bi-native{order:1;font-size:1em;line-height:inherit;opacity:1;font-style:normal}html[lang="ja"] .sm-bi-tr{display:none}</style>
802<span class="sm-langswitch-box sm-langswitch-fixed"><svg class="sm-lang-globe" viewBox="0 0 24 24" width="15" height="15" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false"><circle cx="12" cy="12" r="9"></circle><line x1="3" y1="12" x2="21" y2="12"></line><path d="M12 3c2.6 2.8 2.6 15.2 0 18M12 3c-2.6 2.8-2.6 15.2 0 18"></path></svg><select class="sm-lang-select" aria-label="Language" onchange="if(this.value)window.location.href=this.value"><option value="./contact.html" selected="">日本語</option><option value="./en/contact.html">English</option></select><noscript class="sm-lang-ns"><a href="./contact.html" hreflang="ja" aria-current="true">日本語</a><a data-sm-dead-link="./en/contact.html" hreflang="en">English</a></noscript></span>
803<script>
804/* content-loader.js — content.json を実行時に読み、data-editable 要素のテキスト/リンクを上書きする。
805   管理画面でテキストを保存すると content.json が更新され、リロードで即反映 (再ビルド不要)。
806   theme-loader (色) のテキスト版。SITEMEISTER_CONFIG.contentJsonUrl が無ければ ./content.json。 */
807(function () {
808  var cfg = window.SITEMEISTER_CONFIG || {};
809  var url = cfg.contentJsonUrl || './content.json';
810  /* ★多言語ページは同ロケールの content.json を読む (例 .../<repo>/<v>/en/content.json)。
811     これが無いと ja の content.json で data-editable(見出し/本文)が上書きされ、
812     翻訳済みの多言語ページが日本語に戻ってしまう。<html lang> をロケール判定の SSOT にする。
813     ロケール用 content.json が無ければ fetch 失敗 → ベイク済み(=翻訳済み)HTMLのまま(安全)。 */
814  var lang = (document.documentElement.getAttribute('lang') || 'ja').trim();
815  /* ★2026-09-08 是正: 以前はこのスワップを【絶対URL / ルート相対】の contentJsonUrl に
816     しか掛けていなかった。ところが実際の焼き込みは AI生成 (github-publish.sh の cfgFor)・
817     静的フルコピー・astro (Layout.astro) のいずれも【文書相対】("../content.json") なので
818     条件に一度も入らず、言語スワップが全案件で黙って不発だった
819     (実測 creperiz-links/a/en/ : 英語で焼いた45キーが ja の content.json で日本語へ戻る)。
820     URL の形式を問わず、末尾の content.json をロケール配下へ寄せる。
821     ★冪等: 既に <locale>/content.json を指している URL には二重付与しない。
822     ★themeJsonUrl は対象外 (ロケール別 theme.json は存在しない = 寄せると404)。 */
823  var locale = lang.replace(/[^A-Za-z0-9_-]/g, '');
824  if (locale && locale !== 'ja'
825      && url.indexOf('/' + locale + '../content.json') < 0
826      && url.indexOf(locale + '../content.json') !== 0) {
827    url = url.replace(/(^|\/)content\.json(\?|#|$)/, '$1' + locale + '/content.json$2');
828  }
829  /* ── リンク値はサイトルート基準で解決する ─────────────────────────
830     content.json は「キー1つ = 値1つ」だが、ヘッダー/フッターは全ページで
831     同じキー (home.link.N) を共有する。値は採取元ページ基準の文書相対
832     (例 "./company/index.html") なので、そのまま href に入れると深さの違う
833     サブページで /company/company/index.html のように化ける (実測: 愛鷹電機)。
834     contentJsonUrl はページ深さぶんの ./ ../ を持つ = ここからサイトルートが判る。
835     これを基準に解決してルート絶対パスで書き戻せば、TOP でもサブページでも
836     ヘッダー/フッターの PATH が同一になる。 */
837  var siteRoot = new URL('.', new URL(url, location.href)).href;
838  var siteRootPath = new URL(siteRoot).pathname;
839  /* 末尾の index.html は落として URL を綺麗にする。本番(Apache)も
840     プレビュー(CloudFront)もディレクトリ URL で 200 を返すことを実測済み。
841     canonical / og:url も元から拡張子なしなので表記が揃う。 */
842  function stripIndex(p) { return p.replace(/(^|\/)index\.html$/, '$1'); }
843  function resolveEditableUrl(v) {
844    v = String(v);
845    /* 空 / ハッシュのみ / プロトコル相対 / スキーム付きは触らない */
846    if (!v || v.charAt(0) === '#' || /^\/\//.test(v) || /^[a-z][a-z0-9+.\-]*:/i.test(v)) return v;
847    /* ルート絶対値 (管理画面が保存し直した値など) は、サイトルートが下位パスに
848       ある環境 (プレビュー /{repo}/{variant}/) では基準へ寄せ直す。 */
849    if (v.charAt(0) === '/') {
850      if (siteRootPath === '/' || v.indexOf(siteRootPath) === 0) return v;
851      v = v.replace(/^\/+/, '');
852    }
853    var u;
854    try { u = new URL(v, siteRoot); } catch (e) { return v; }
855    /* サイトルートを ../ で飛び越えた値は打ち切る (プレビューは /{repo}/{v}/ 配下) */
856    if (u.href.indexOf(siteRoot) !== 0) {
857      try { u = new URL(v.replace(/^(?:\.\.\/)+/, ''), siteRoot); } catch (e2) { return v; }
858    }
859    return stripIndex(u.pathname) + u.search + u.hash;
860  }
861  /* ── 静的リンクもルート絶対へ揃える ───────────────────────────
862     content.json を持たないリンク (ロゴ/パンくず/ページ内トップ戻り等) は
863     文書相対のままなので、TOP は "./" サブページは "../" と PATH が食い違う。
864     現在ページ基準で解決してルート絶対に寄せると、全ページで同一表記になる。
865     基準は location なので、プレビュー (/{repo}/{variant}/ 配下) でも正しい。 */
866  function normalizeStaticLinks() {
867    document.querySelectorAll('a[href]').forEach(function (a) {
868      var v = a.getAttribute('href') || '';
869      if (!v || /^(#|\/\/|\/)/.test(v) || /^[a-z][a-z0-9+.\-]*:/i.test(v)) return;
870      try {
871        var u = new URL(v, location.href);
872        if (u.origin === location.origin) a.setAttribute('href', stripIndex(u.pathname) + u.search + u.hash);
873      } catch (e) { }
874    });
875  }
876  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', normalizeStaticLinks);
877  else normalizeStaticLinks();
878  /* ★併記ブロック (.sm-bi = native日本語 + 翻訳) は textContent 代入で構造ごと消える。
879     しかもロケール別 content.json の値は併記化【前】の HTML から採取される (i18n は
880     emit-content-locale.js の後に併記を注入する) ため日本語のみ = 上書きすると
881     英語ページの住所等が日本語へ戻る (実測 creperiz-links: chrome.footer.body1)。
882     ロケールページではベイク済み(=翻訳/併記済み)HTML を正としてテキスト上書きを見送る。
883     ja ページは併記表示が native のみなので従来どおり上書きする (管理画面編集が効く)。 */
884  /* 見た目の文字が既に同じなら上書きしない (2026-09-10 追加)。
885     ★textContent への代入は要素の中身を丸ごと差し替えるので、<br> やインラインタグが消える。
886       content.json の値は改行を空白に潰した1行なので、文言が同じでも
887       【2行の見出しが1行になる】【併記の構造が畳まれる】といった変化が
888       読み込みの数百ms後に起きていた。営業報告「公開後、数秒たつと文字が変わる」の一因。
889       実測 2026-09-10: 46案件1731キーのうち食い違い122件、その68件が
890       「文言は同じで体裁だけ違う」= 上書きする必要が無いものだった。
891     空白の違いだけなら同じ文字とみなす (管理画面の実編集は従来どおり反映される)。 */
892  /* 空の値で、焼き込み済みの本文を消さない (2026-09-10 追加)。
893     ★content.json の空値は「取り込めなかった」印であって「消して」という編集ではない。
894       ところが textContent へそのまま代入していたため、ページを開いて数百ms後に
895       【本文がごっそり消える】ことがあった。実測 2026-09-10: 空値を含む案件34件のうち
896       確認した14件で6件・27キーが実際に消えていた
897       (例 bankamata-1 のヒーロー本文2つ / 千葉 嘉儀屋の見出し)。
898     ★管理画面で本当に空にしたい場合はこの分岐に当たるが、
899       「全訪問者に対して毎回本文が消える」方が実害がはるかに大きいので空値は無視する。 */
900  function blanksBaked(el, value) {
901    if (String(value == null ? '' : value).trim() !== '') return false;
902    return String(el.textContent == null ? '' : el.textContent).trim() !== '';
903  }
904  function sameText(a, b) {
905    return String(a == null ? '' : a).replace(/\s+/g, '') === String(b == null ? '' : b).replace(/\s+/g, '');
906  }
907  function keepBaked(el) {
908    if (!locale || locale === 'ja' || !el.querySelector) return false;
909    return !!el.querySelector('[data-sm-bi],[data-i18n-keep]');
910  }
911  fetch(url, { cache: 'no-cache' })
912    .then(function (r) { return r.ok ? r.json() : null; })
913    .then(function (data) {
914      if (!data) return;
915      Object.keys(data).forEach(function (key) {
916        if (key.charCodeAt(0) === 36) return;  /* 36 = ダラー記号。直書きを避け String.replace の特殊置換破損を防ぐ */
917        var f = data[key];
918        if (!f || typeof f.value === 'undefined') return;
919        var sel = '[data-editable="' + (window.CSS && CSS.escape ? CSS.escape(key) : key) + '"]';
920        document.querySelectorAll(sel).forEach(function (el) {
921          if (el.getAttribute('data-editable-type') === 'url') el.setAttribute('href', resolveEditableUrl(f.value));
922          else if (keepBaked(el)) { /* 併記ブロックはベイク済みHTMLを正とする (keepBaked のコメント参照) */ }
923          else if (sameText(el.textContent, f.value)) { /* 既に同じ文字 (下の sameText のコメント参照) */ }
924          else if (blanksBaked(el, f.value)) { /* 空値で本文を消さない (下の blanksBaked のコメント参照) */ }
925          else el.textContent = f.value;
926        });
927      });
928    })
929    .catch(function () { /* content.json 不在時はベイク済みHTMLのまま */ });
930})();
931/* static-nav v2 — SPAルーターに奪われる内部リンクを通常のページ遷移に戻す。
932   Next.js 等のクライアントルーターは <a> のクリックを乗っ取り、静的コピーの
933   company.html のようなパスを未知のルートとして扱うため遷移できない(実測 tnewt.com)。
934   capture フェーズでフレームワークより先に受け、コピー内の .html へのリンクだけを
935   通常遷移に切り替える(#/mailto/外部/別タブ/修飾キーは対象外)。
936
937   ★v2 (2026-09-10) 同一ドキュメント内のアンカーは【絶対に横取りしない】。
938     旧版の除外は「href が # で始まるか」だけだった。ところが wget -k は
939     `<a href="#menu">` を `index.html#menu` に書き換えるため、
940     ハンバーガーメニューの開閉リンクがそのまま横取り対象になっていた。
941     capture フェーズで stopImmediatePropagation() するので、テーマ側の
942       $('.menu_icon a').on('click', function(e){ e.preventDefault(); ... })
943     が一切呼ばれず、押すとページが丸ごと再読込されて【押しても開かない】。
944     実測 2026-09-10: 静的コピー86件のプレビューのうち20件のSPメニューが無反応で、
945     同じ壊れ方はスムーススクロール・アコーディオン・タブ(#タブ名)にも起きていた。
946     判定は「解決後のURLが同じドキュメントを指すか」で行う。ディレクトリURL (/a/) と
947     /a/index.html は同じ文書なので正規化してから比べる。 */
948(function () {
949  function docKey(u) {
950    return u.origin + u.pathname.replace(/\/index\.html?$/i, '/') + u.search;
951  }
952  document.addEventListener('click', function (e) {
953    var a = e.target && e.target.closest ? e.target.closest('a[href]') : null;
954    if (!a) return;
955    if (e.defaultPrevented || e.button !== 0 || e.metaKey || e.ctrlKey || e.shiftKey || e.altKey) return;
956    var href = a.getAttribute('href') || '';
957    if (!href || /^(#|mailto:|tel:|javascript:|data:)/i.test(href)) return;
958    if (a.target && a.target !== '_self') return;
959    var url;
960    try { url = new URL(a.href, location.href); } catch (err) { return; }
961    if (url.origin !== location.origin) return;
962    if (docKey(url) === docKey(new URL(location.href))) return;   /* ★同一ページ内アンカー */
963    if (!/\.html?$/i.test(url.pathname)) return;
964    e.preventDefault();
965    e.stopImmediatePropagation();
966    window.location.assign(a.href);
967  }, true);
968})();
969</script>
969
970<style data-sm="sm-langswitch-sp-fix">
971/* sm-langswitch-sp-fix: SPはヘッダー右上がハンバーガーの定位置なので、固定表示の言語切替を
972   固定解除して本文末尾の通常フローに置く。
973   ★右上に残すとタップを <select> に奪われてメニューが開かない。左下/右下へ逃がすのも
974     不可: このテーマ群は下部に固定のアクションバー (電話ボタン等) を持つものが多く、
975     今度は電話発信を塞ぐ (実測 kanazawa-bunko: A.fab_tel の上に乗った)。
976     通常フローなら何も塞がない。デスクトップ幅はハンバーガーが出ないので従来どおり右上。 */
977@media (max-width: 900px){
978  .sm-langswitch-fixed{position:static !important;top:auto !important;right:auto !important;
979    bottom:auto !important;left:auto !important;display:flex !important;justify-content:center;
980    width:max-content;margin:1rem auto !important;box-shadow:none !important}
981}
982</style>  
982<script>
983      (function () {
984        // ナビ縮小フィット — common.js の fitNav と同一。gap を段階縮小(--nav-scale)しても
985        // 横並びが収まらない時だけ .nav-collapsed を付け、common.css がハンバーガーへ畳む。
986        // ★これが無いと @media(1200px) より広い画面で項目の多いナビがロゴを押し潰し、ハンバーガーも出ない。
987        var hdr = document.querySelector('.site-header');
988        var nav = document.querySelector('.site-nav');
989        var hdrContainer = hdr && hdr.querySelector('.container');
990        var NAV_SCALE_MIN = 0.72, LOGO_MIN = 88;
991        function fitNav() {
992          if (!hdr || !nav || !hdrContainer) return;
993          var wasCollapsed = hdr.classList.contains('nav-collapsed');
994          hdr.classList.remove('nav-collapsed');
995          nav.style.setProperty('--nav-scale', '1');
996          if (nav.scrollWidth <= 1) return;
997          var cs = getComputedStyle(hdrContainer);
998          var avail = hdrContainer.clientWidth - (parseFloat(cs.paddingLeft) || 0) - (parseFloat(cs.paddingRight) || 0);
999          for (var scale = 1; scale >= NAV_SCALE_MIN - 0.001; scale -= 0.04) {
1000            nav.style.setProperty('--nav-scale', scale.toFixed(2));
1001            if (nav.scrollWidth + LOGO_MIN + 16 <= avail) return;
1002          }
1003          nav.style.setProperty('--nav-scale', '1');
1004          hdr.classList.add('nav-collapsed');
1005          // 畳み直した時だけ閉じる (resize のたびに開いたメニューを閉じない。MobileNav の状態とずれるため)
1006          if (!wasCollapsed) nav.classList.remove('open');
1007        }
1008        fitNav();
1009        window.addEventListener('resize', fitNav);
1010        window.addEventListener('load', fitNav);
1011        if (document.fonts && document.fonts.ready) document.fonts.ready.then(fitNav);
1012
1013        var header = document.querySelector('.site-header');
1014        if (header) window.addEventListener('scroll', function () {
1015          header.classList.toggle('scrolled', window.scrollY > 40);
1016        }, { passive: true });
1017        var obs = new IntersectionObserver(function (entries) {
1018          entries.forEach(function (e) {
1019            if (e.isIntersecting) { e.target.classList.add('visible'); obs.unobserve(e.target); }
1020          });
1021        }, { threshold: 0.15 });
1022        document.querySelectorAll('.fade-in').forEach(function (el) { obs.observe(el); });
1023      })();
1024    </script>
1024  
1024<script src="../theme-loader.js" defer></script>
1024 
1024<script src="../edit-bridge.js" defer></script>
1024  
1024<script>
1025      (function () {
1026        function init() {
1027          var slides = document.querySelectorAll('.hero-slide');
1028          if (!slides.length) return;
1029          var dots = document.querySelectorAll('.hero-dot');
1030          var current = 0, timer = null, INTERVAL = 5000;
1031          function goTo(idx) {
1032            slides[current].classList.remove('active');
1033            dots[current] && dots[current].classList.remove('active');
1034            current = (idx + slides.length) % slides.length;
1035            slides[current].classList.add('active');
1036            dots[current] && dots[current].classList.add('active');
1037          }
1038          function startAuto() { clearInterval(timer); timer = setInterval(function () { goTo(current + 1); }, INTERVAL); }
1039          dots.forEach(function (dot, i) { dot.addEventListener('click', function () { goTo(i); startAuto(); }); });
1040          var prevBtn = document.querySelector('.hero-arrow-prev');
1041          var nextBtn = document.querySelector('.hero-arrow-next');
1042          if (prevBtn) prevBtn.addEventListener('click', function () { goTo(current - 1); startAuto(); });
1043          if (nextBtn) nextBtn.addEventListener('click', function () { goTo(current + 1); startAuto(); });
1044          startAuto();
1045        }
1046        if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init);
1047        else init();
1048      })();
1049    </script>
1049  
1049<script data-sm-widget-loader src="https://widget-column-images-iflag-202605.s3.ap-northeast-1.amazonaws.com/loader.js?siteId=S10293703000002" async></script>
1049 </body> </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.