PageSourceSearch

https://www.restir.com/

html restir.com collected 2026-10-02 06:02:25 UTC 122,945 bytes, 2,764 lines download raw bytes

1<!DOCTYPE html>
2<html lang="ja">
3<head>
4  <meta charset="utf-8">
5  <meta name="robots" content="index,follow">
6  <meta name="robots" content="noydir">
7  <meta name="robots" content="noodp">
8  <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
9  <meta name="author" content="RESTIR Inc.">
10  <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
11  <meta http-equiv="content-script-type" content="text/javascript" />
12  <meta http-equiv="content-style-type" content="text/css" />
13  <title>RESTIR リステア</title>
14<meta name="description" content="セレクトショップRESTIRの公式サイト">
15<meta name="keywords" content="restir,リステア">
16<meta property="og:title" content="RESTIR リステア">
17<meta property="og:type" content="website">
18<meta property="og:description" content="セレクトショップRESTIRの公式通販サイト">
19<meta property="og:url" content="https://www.restir.com/">
20<meta property="og:site_name" content="RESTIR リステア">
21<meta property="og:image" content="https://cdn.restir.com/sns/restir-logo.jpg">
22  <meta name="csrf-param" content="authenticity_token" />
23<meta name="csrf-token" content="3b6VOt0YmSI1JvN9yVhy2Xulm6PKMtRWkQ1bpvVjq_5CLBdGOVoaLu1H_ymcq1mdHtOhI3ICHrsygoiMqyoewQ" />
24  <meta name="csp-nonce" />
25
26  <meta property="fb:app_id" content="854408281260628" />
27  <link rel="apple-touch-icon-precomposed" href="https://cdn.restir.com/header/siteicon_2020.png" type='image/png'>
28  <link rel="apple-touch-icon" href="https://cdn.restir.com/header/siteicon_2020.png" type='image/png'>
29  <link rel="shortcut icon" href="https://cdn.restir.com/header/siteicon_2020.png" type='image/png'>
30  <link rel="alternate" href="https://en.restir.com/" hreflang="en-us" />
31  <link rel="alternate" href="https://en.restir.com/" hreflang="en-gb" />
32  
32<script src="/vite/assets/application-Cwp0tNkt.js" crossorigin="anonymous" type="module"></script>
32
33  <link rel="stylesheet" media="screen" href="/vite/assets/application-Dtm_9UI3.css" />
34  <link rel="stylesheet" media="all" href="/assets/application-96d62c095fb13e8cae269b8e8dcfcb82fda42f90c1c276b14df4064d373ca68a.css" />
35  
35<script async src="https://s.yimg.jp/images/listing/tool/cv/ytag.js"></script>
vendor: 1 bytes, line 35
35
36<script>
37  window.yjDataLayer = window.yjDataLayer || [];
38
39  function ytag() {
40    yjDataLayer.push(arguments);
41  }
42
43  ytag({ "type": "ycl_cookie" });
44</script>
44
45
46  
46<script src="/assets/application-69d6446b1743b05692db19d54645f29c6eb6849adbc207cff22290079f28883d.js"></script>
46
47  
47<script src="//d2wy8f7a9ursnm.cloudfront.net/v7/bugsnag.min.js"></script>
47
48  
48<script>
49    window.bugsnagClient = Bugsnag.start({
50      apiKey: '9e096ca2b8d1c5f1af8ad334bb13c2b6',
51      releaseStage: 'production',
52    })
53  </script>
53
54  
54<script type="module">
55    import BugsnagPerformance from '//d2wy8f7a9ursnm.cloudfront.net/v1.0.0/bugsnag-performance.min.js'
56
57    BugsnagPerformance.start({
58      apiKey: '9e096ca2b8d1c5f1af8ad334bb13c2b6',
59      releaseStage: 'production'
60    })
61  </script>
61
62  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.0/css/all.css" integrity="sha384-Mmxa0mLqhmOeaE8vgOSbKacftZcsNYDjQzuCOm6D02luYSzBG8vpaOykv9lFQ51Y" crossorigin="anonymous">
63  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.5.2/animate.min.css">
64  
64<script src="/assets/libs/moment/moment@2.22.1.min-343e15ec52433cb61cc4e7bc4c61b866f7d0c0397305c41c13bfed28ddbcde36.js"></script>
64
65  
65<script src="/assets/libs/moment/locale_ja-933b12b4dad8aaa45c94ca67b6d971f8a9dd5f7bd7a97f6402d4a30f2f06c163.js"></script>
65
66  
66<script src="/assets/libs/qs@6.5.2.min-f369bd895d8fcceb02e34005c9cff433472c88f4c8616a68f4de5c8cfc33390c.js"></script>
66
67    
67<script src="/assets/libs/vue/vue@2.6.12.min-7610c52d407534d615db3b52aa760bae3e0be7743e8017774b96ba4cddfffb6e.js"></script>
67
68  
68<script src="/assets/libs/vue/vue-media.min-7b3b07992fb7ada43c0c1989ffb9bfe6e17bdd2b9670c8085c5861dee13a8bf5.js"></script>
68
69  
69<script src="/assets/libs/vue/vueUtils-4c8a39b0f6f9c0da96b27974414aefeb76a961f71de7ed6d96945be14c500040.js"></script>
69
70  
70<script>
71    var vueResponsive = Vue.observable({
72      minWidth: 768,
73      maxWidth: 767,
74      isMobile: window.innerWidth < 768
75    })
76    var vueSiteState = Vue.observable({
77      isLoginState: false,
78      likeCount: 0,
79      cartCount: 0,
80      languageSwitch: false,
81      language: 'ja',
82      showSiteNotice: false,
83      showSideMenu: false
84    })
85    // axios
86    axios.defaults.headers.common['Accept'] = 'application/json'
87    axios.defaults.headers.common['Content-Type'] = 'application/json'
88    axios.defaults.headers.common['X-CSRF-TOKEN'] = document.querySelector('meta[name=\'csrf-token\']').getAttribute('content')
89    axios.defaults.paramsSerializer = function (params) {
90      return Qs.stringify(params, { arrayFormat: 'brackets' })
91    }
92    Vue.prototype.$extSiteUrl = function (path) {
93      var to = path
94      if (_.startsWith(path, 'http')) {
95        return to
96      }
97      if (_.startsWith(path, '/')) {
98        to = path.replace('/', '')
99      }
100      return 'https://www.restir.com/' + to
101    }
102    Vue.prototype.$extRouteTo = function (path, $event) {
103      var to = path
104      if (!_.startsWith(path, 'http')) {
105        to = this.$extSiteUrl(path)
106      }
107      if ($event && ($event.ctrlKey || $event.metaKey)) {
108        window.open(to)
109      } else {
110        window.location.href = to
111      }
112    }
113  </script>
113
114  
114<script src="/assets/libs/resUtils-18531aa37f643b8791e06147c057f90525e8be3947f034c9ba7f42fadeea92f8.js"></script>
114
115
116    <link rel="stylesheet" media="screen" href="/assets/home-d4d1ec1ab1247839ad72427eebd2051e1733ad955604eec8a0710a12afa40ca6.css" />
117  <link rel="stylesheet" media="screen" href="/assets/libs/swiper/swiper.min-295b0cdb60f0fc8effccc94db7c14152ed4f556ab93b0e7b15b09c3dc8ff258d.css" />
118<!--meta tag and custom javascript css -->
119
120  <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 64 bytes, lines 120-121
120
121<script async src="https://www.googletagmanager.com/gtag/js?id=
121G-46H44572Z7
vendor: 12 bytes, line 121
121"></script>
122<script>
123  window.dataLayer = window.dataLayer || []
124
125  function gtag() {
126    dataLayer.push(arguments)
127  }
128
129  gtag('js', new Date())
130
131  gtag('config', 'G-46H44572Z7', {
132    'groups': 'GA4',
133    'login': 'logout',
134    'custom_map': {
135      'dimension4': 'login'
136    }
137  })
138
139  gtag('config', 'AW-622177098')
140</script>
140
141
142    <!-- Meta Pixel Code -->
143  
143<script>
vendor: 447 bytes, lines 143-152
143
144    !function(f,b,e,v,n,t,s)
145    {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
146      n.callMethod.apply(n,arguments):n.queue.push(arguments)};
147      if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
148      n.queue=[];t=b.createElement(e);t.async=!0;
149      t.src=v;s=b.getElementsByTagName(e)[0];
150      s.parentNode.insertBefore(t,s)}(window, document,'script',
151      'https://connect.facebook.net/en_US/fbevents.js');
152    fbq('init', '
1521199072573534935
vendor: 36 bytes, lines 152-154
152');
153    fbq('track', 'PageView');
154  
154</script>
154
155  <noscript><img height="1" width="1" style="display:none"
156                 src="https://www.facebook.com/tr?id=1199072573534935&ev=PageView&noscript=1"
157    /></noscript>
158  <!-- End Meta Pixel Code -->
vendor: 64 bytes, lines 158-160
158
159
160  <script src="https://www.google.com/recaptcha/api.js?render=
1606Lf5PtUUAAAAALAbFpiJxxIH6fyT3d9uXIBIDl_S
vendor: 12 bytes, line 160
160"></script>
161<script>
162  /* return token */
163  function recaptchaExecute(action) {
164    return new Promise(function (resolve, reject) {
165      grecaptcha.ready(function () {
166        grecaptcha.execute('6Lf5PtUUAAAAALAbFpiJxxIH6fyT3d9uXIBIDl_S', {action: action})
167          .then(function (token) {
168            resolve(token)
169          })
170      })
171    })
172  }
173</script>
vendor: 1 bytes, line 173
173
174<script>
175  var widgetId
176
177  function recaptchaV2Render(htmlElement, callback) {
178    if (widgetId !== undefined) {
179      grecaptcha.reset(widgetId)
180    } else {
181      grecaptcha.ready(function () {
182        widgetId = grecaptcha.render(htmlElement, {
183          'sitekey': '6LfkVxATAAAAAJlssj8UK96ohQpf9T4EQFdwett1',
184          'callback': callback,
185        })
186      })
187    }
188  }
189
190  function recaptchaV2RenderForce(htmlElement, callback) {
191    grecaptcha.ready(function () {
192      widgetId = grecaptcha.render(htmlElement, {
193        'sitekey': '6LfkVxATAAAAAJlssj8UK96ohQpf9T4EQFdwett1',
194        'callback': callback,
195      })
196    })
197  }
198</script>
198
199
200  
200<script src="/assets/libs/sign_in_with_helper-77be45b74a7a3e69ee85b4ce0e1c29cad6464de7397f00e76a57f84e5061a03d.js"></script>
200
201  
202</head>
203
204<body>
205<div id="main" class="-top">
206  <div id="responsive">
207  <media :query="{maxWidth: responsive.maxWidth}"
208         @media-enter="mediaEnter"
209         @media-leave="mediaLeave">
210  </media>
211</div>
212<script>
213  new Vue({
214    name: 'ResponsiveMeasure',
215    el: '#responsive',
216    computed: {
217      responsive: function () {
218        return vueResponsive
219      }
220    },
221    methods: {
222      mediaEnter: function () {
223        vueResponsive.isMobile = true
224      },
225      mediaLeave: function () {
226        vueResponsive.isMobile = false
227      }
228    }
229  })
230</script>
230
231
232  <link rel="stylesheet" media="screen" href="/assets/modal-19c4f077645a0f128c704aae95fede030890291c22e8f66db5ebe7b745c8e845.css" />
233<script type="text/x-template" id="modal-template">
234  <transition name="modal">
235    <div class="modal-mask" v-show="show" @click="handleBackgroundClick">
236      <div class="modal-container" @click.stop>
237        <div v-if="clickToClose"
238             @click="handleClose"
239             class="modal-close">
240          <i class="icon_plus" alt="close"></i>
241        </div>
242        <slot></slot>
243      </div>
244    </div>
245  </transition>
246</script>
vendor: 1 bytes, line 246
246
247<script>
248  Vue.component('modal', {
249    template: '#modal-template',
250    props: {
251      show: {
252        type: Boolean
253      },
254      clickToClose: {
255        type: Boolean,
256        default: true
257      }
258    },
259    mounted: function () {
260      var self = this
261      if (this.clickToClose) {
262        document.addEventListener("keydown", function (e) {
263          if (self.show && e.keyCode === 27) {
264            self.handleClose()
265          }
266        })
267      }
268    },
269    methods: {
270      handleClose: function () {
271        this.$emit('close')
272      },
273      handleBackgroundClick: function () {
274        if (this.clickToClose) {
275          this.$emit('close')
276        }
277      }
278    }
279  })
280</script>
280
281
282  <div id="site-notice" class="site-notice" v-cloak>
283  <transition-group
284    name="fade-fast"
285    tag="div"
286    class="notice-container"
287    v-if="showSiteNotice"
288    @mouseenter="enter"
289    @mouseleave="leave"
290  >
291    <div
292      class="notice-line"
293      v-if="idx === currentIndex"
294      v-for="(notice, idx) in validNoticeList"
295      :key="notice.id"
296    >
297      <a
298        class="link-block"
299        :href="notice.link"
300      >
301        <span class="title">{{notice.title}}</span>
302        <span class="text">{{notice.text}}</span>
303      </a>
304    </div>
305  </transition-group>
306</div>
307<script>
308  var site_notice_vue = new Vue({
309    name: 'SiteNotice',
310    el: '#site-notice',
311    data: function () {
312      return {
313        currentIndex: 0,
314        play: true,
315        noticeList: [{"id":1,"content_type":"res-notice.header","content_key":"2026-01-01-res-new","content_status":"active","content_json":{"link":"https://www.restir.com/newsletters_raw/20221107/6195/?md=o\u0026s=res","text":"新規会員登録で、初回購入が10%OFF","title":"RESTIR ONLINE :","login_only":false,"logout_only":false,"secret_only":false},"open_started_at":"2026-01-01T00:00:00.000+09:00","open_ended_at":null,"created_at":"2026-04-23T21:38:23.311+09:00","updated_at":"2026-05-27T17:56:13.579+09:00"}]
316      }
317    },
318    computed: {
319      display: function () {
320        var path = windowLocationPathname()
321        if (path.match(/coupon\/.*/)) {
322          return false
323        } else if (path.match(/order\/cart.*/)) {
324          return true
325        } else if (path.match(/order\/.*/)) {
326          return false
327        } else {
328          return true
329        }
330      },
331      validNoticeList: function () {
332        if (!this.display) {
333          return []
334        }
335        return this.noticeList.map(function (node) {
336          var notice = Object.assign({}, node.content_json || {})
337          if (node.open_started_at) {
338            var openStartedAt = moment.utc(node.open_started_at).startOf('minute').local()
339            if (moment().isBefore(openStartedAt)) {
340              return null
341            }
342          }
343          if (node.open_ended_at) {
344            var openEndedAt = moment.utc(node.open_ended_at).endOf('minute').local()
345            if (moment().isAfter(openEndedAt)) {
346              return null
347            }
348          }
349          return Object.assign(notice, { id: node.id })
350        }).filter(Boolean)
351      },
352      showSiteNotice: function () {
353        if (this.display && this.validNoticeList.length > 0) {
354          var mainEl = document.getElementById('main')
355          mainEl.classList.add('-notice-on')
356          vueSiteState.showSiteNotice = true
357          return true
358        } else {
359          var mainEl = document.getElementById('main')
360          mainEl.classList.remove('-notice-on')
361          vueSiteState.showSiteNotice = false
362          return false
363        }
364      }
365    },
366    created: function () {
367      var self = this
368      if (this.display) {
369        self.$nextTick(function () {
370          self.initNotice()
371        })
372      }
373    },
374    methods: {
375      enter: function () {
376        this.play = false
377      },
378      leave: function () {
379        this.play = true
380      },
381      initNotice: function () {
382        if (this.play) {
383          this.nextNotice()
384        }
385        setTimeout(this.initNotice, 3000)
386      },
387      nextNotice: function () {
388        if (this.currentIndex === (this.validNoticeList.length - 1)) {
389          this.currentIndex = 0
390        } else {
391          this.currentIndex = this.currentIndex + 1
392        }
393      }
394    }
395  })
396</script>
396
397
398  <link rel="stylesheet" media="screen" href="/assets/header-5e99ddf27bc13603d8b8dddcdaefd598822cfba0c91a34239d4f2f27471fe82b.css" />
399<header id="header" class="-top" :class="{ '-notice-on': showSiteNotice }">
400  <template v-if="isMobile">
401    <header-sp
402      @toggle-search="handleSearchToggle"
403      :search-input-open="searchInputOpen"
404    >
405    </header-sp>
406  </template>
407  <template v-else>
408    <header-pc></header-pc>
409  </template>
410</header>
411<script>
412  var keywordSearchInputMixin = {
413    data: function () {
414      return {
415        show_keywords: false,
416        search_text: '',
417        keyword_list: [],
418        current_position: 0,
419        keyword_closable: true
420      }
421    },
422    watch: {
423      keyword_list: function (new_val) {
424        this.show_keywords = new_val.length > 0;
425      },
426      search_text: function (new_val) {
427        this.current_position = 0
428      }
429    },
430    mounted: function () {
431      this.focusSearchBoxInput()
432    },
433    methods: {
434      /**
435       * only mb
436       */
437      focusSearchBoxInput: function () {
438        this.$nextTick(function () {
439          if (this.$refs.search) {
440            this.$refs.search.focus()
441          }
442        })
443      },
444      openKeyword: function () {
445        if (this.keyword_list.length > 0) {
446          this.show_keywords = true
447        }
448      },
449      closeKeyword: function () {
450        this.show_keywords = false
451      },
452      preventCloseKeyword: function () {
453        this.keyword_closable = false
454      },
455      prevKeyword: function () {
456        if (this.current_position > 1) {
457          this.current_position -= 1
458        }
459      },
460      nextKeyword: function () {
461        if (this.current_position < this.keyword_list.length) {
462          this.current_position += 1
463        }
464      },
465      setCurrentPosition: function (position) {
466        this.current_position = position
467      },
468      selectKeyword: function (keyword) {
469        var search_keyword = this.search_text
470        if (keyword) {
471          search_keyword = keyword
472        } else if (this.keyword_list[this.current_position - 1]) {
473          search_keyword = this.keyword_list[this.current_position - 1]
474        }
475
476        this.search_text = search_keyword // resetting search_text
477        this.closeKeyword()
478        if (search_keyword) {
479          window.location.href = '/search?keyword=' + encodeURIComponent(search_keyword)
480        }
481      },
482      fetchKeyword: _.debounce(function (e) {
483        var self = this
484        var searchItemApiHost = 'https://www.restir.com/'
485        if (e.target.value) {
486          axios.get(searchItemApiHost + '/search/keywords', {
487            params: {
488              keyword: e.target.value
489            }
490          }).then(function (res) {
491            self.keyword_list = res.data
492          }).catch(function (err) {
493            console.error(err)
494          })
495        }
496      }, 400)
497    }
498  }
499</script>
499
500
501<script type="text/x-template" id="keyword-search-input-pc-template">
502  <div class="search-input-comp -ui-pc">
503    <div class="search-box">
504      <div class="icon-group">
505        <img class="search-icon" alt="search" src="https://cdn.restir.com/front_2019/search_wh.svg">
506      </div>
507      <div class="input-group">
508        <input type="text"
509               autocomplete="off"
510               placeholder="検索"
511               tabindex="0"
512               class="searchbox"
513               v-model="search_text"
514               @input="fetchKeyword"
515               @focus.prevent="openKeyword"
516               @blur.prevent="closeKeyword"
517               @keydown.up="prevKeyword"
518               @keydown.down="nextKeyword"
519               @keydown.enter.prevent=""
520               @keyup.enter.prevent="selectKeyword('')">
521      </div>
522      <ul
523        v-if="show_keywords"
524        class="search-keyword"
525        @mousedown.prevent
526      >
527        <li v-for="(keyword, index) in keyword_list"
528            :class="{ 'active': current_position === index + 1 }"
529            @click.stop="selectKeyword(keyword)"
530            @mouseenter="setCurrentPosition(index+1)">
531          {{keyword}}
532        </li>
533      </ul>
534    </div>
535  </div>
536</script>
536
537
538<script>
539  Vue.component('keyword-search-input-pc', {
540    name: 'KeywordSearchInputPc',
541    template: '#keyword-search-input-pc-template',
542    mixins: [keywordSearchInputMixin]
543  })
544</script>
544
545
546<script type="text/x-template" id="keyword-search-input-sp-template">
547  <div class="search-input-comp -ui-sp">
548    <transition enter-active-class="animated fadeIn" leave-active-class="animated fadeOut">
549      <div class="search-box">
550        <div class="input-group">
551          <input type="text"
552                 ref="search"
553                 autocomplete="off"
554                 placeholder="検索"
555                 tabindex="0"
556                 class="searchbox"
557                 v-model="search_text"
558                 @input="fetchKeyword"
559                 @focus.prevent="openKeyword"
560                 @blur.prevent="closeKeyword"
561                 @keydown.up="prevKeyword"
562                 @keydown.down="nextKeyword"
563                 @keydown.enter.prevent=""
564                 @keyup.enter.prevent="selectKeyword('')">
565          <ul
566            v-if="show_keywords"
567            class="search-keyword"
568            @mousedown.prevent
569          >
570            <li v-for="(keyword, index) in keyword_list"
571                :class="{ 'active': current_position === index + 1 }"
572                @click.stop="selectKeyword(keyword)"
573                @mouseenter="setCurrentPosition(index+1)">
574              {{keyword}}
575            </li>
576          </ul>
577        </div>
578      </div>
579    </transition>
580  </div>
581</script>
581
582
583<script>
584  Vue.component('keyword-search-input-sp', {
585    name: 'KeywordSearchInputSp',
586    template: '#keyword-search-input-sp-template',
587    mixins: [keywordSearchInputMixin]
588  })
589</script>
589
590
591<script type="text/x-template" id="sp-side-menu-template">
592  <div class="side-menu">
593    <ul class="nav-menu">
594      <li>
595        <a href="/category/womens/c/IC_WOMENS_MC/m/MC_ALL_ITEMS">WOMEN</a>
596      </li>
597      <li>
598        <a href="/category/mens/c/IC_MENS_MC/m/MC_ALL_ITEMS">MEN</a>
599      </li>
600      <li>
601        <a href="/category/lifestyle/c/IC_LIFESTYLE_MC/m/MC_ALL_ITEMS">LIFESTYLE</a>
602      </li>
603      <li>
604        <a href="/category/sneakers/c/IC_SNEAKERS_MC/m/MC_ALL_ITEMS">SNEAKERS</a>
605      </li>
606      <li>
607        <a href="/category/shop_in_shops/c/IC_SHOP_IN_SHOPS_MC/m/MC_ALL_ITEMS">SHOP IN SHOPS</a>
608      </li>
609      <li>
610        <a href="/brand/mens">BRANDS</a>
611      </li>
612      <li>
613        <a href="/shop/gift/c/gift_recommend">GIFTS</a>
614      </li>
615      <li>
616        <a href="https://www.instagram.com/restirofficial/" target="_blank">INSTAGRAM</a>
617      </li>
618    </ul>
619    <ul class="nav-lang">
620      <li>
621        <a href="https://en.restir.com" target="_blank">
622          ENGLISH <img src="https://cdn.restir.com/header/country/usa.svg">
623        </a>
624      </li>
625    </ul>
626    <ul class="nav-main" style="position: relative">
627        <li>
628          <a href="/login">
629            ログイン
630          </a>
631        </li>
632        <li>
633          <a href="/signup">
634            会員登録
635          </a>
636        </li>
637        <li>
638          <a href="/order/cart">
639            カート&nbsp;:&nbsp;0
640          </a>
641        </li>
642    </ul>
643  </div>
644</script>
vendor: 1 bytes, line 644
644
645<script>
646  Vue.component('sp-side-menu', {
647    name: 'SpSideMenu',
648    template: '#sp-side-menu-template',
649    computed: {
650      likeCount: function () {
651        return vueSiteState.likeCount
652      },
653      cartCount: function () {
654        return vueSiteState.cartCount
655      }
656    }
657  })
658</script>
658
659
660<script type="text/x-template" id="header-pc-template">
661  <div class="re__header pc-header -top">
662    <div class="re__area-logo">
663      <div class="logo">
664        <a href="/">
665          <img alt="RESTIR.COM" src="https://cdn.restir.com/front_2019/common/header/restir_logo_white.svg" width="90" height="23">
666        </a>
667      </div>
668      <div>
669        <ul class="re__nav-main">
670          <li class="re__country">
671            <a href="https://en.restir.com" target="_blank" class="flex">
672              ENGLISH&nbsp;<img src="https://cdn.restir.com/header/country/usa_blk.svg">
673            </a>
674          </li>
675          <li>
676            <keyword-search-input-pc></keyword-search-input-pc>
677          </li>
678            <li class="log_in">
679              <a href="/login">
680                ログイン
681              </a>
682            </li>
683            <li>
684              <a href="/signup">
685                会員登録
686              </a>
687            </li>
688            <li>
689              <a href="/order/cart">
690                カート&nbsp;:&nbsp;{{ cartCount }}
691              </a>
692            </li>
693        </ul>
694      </div>
695    </div>
696    <div class="re__area-menu">
697      <ul class="re__nav-menu">
698        <li>
699          <a href="/category/womens/c/IC_WOMENS_MC/m/MC_ALL_ITEMS">WOMEN</a>
700        </li>
701        <li>
702          <a href="/category/mens/c/IC_MENS_MC/m/MC_ALL_ITEMS">MEN</a>
703        </li>
704        <li>
705          <a href="/category/lifestyle/c/IC_LIFESTYLE_MC/m/MC_ALL_ITEMS">LIFESTYLE</a>
706        </li>
707        <li>
708          <a href="/category/sneakers/c/IC_SNEAKERS_MC/m/MC_ALL_ITEMS">SNEAKERS</a>
709        </li>
710        <li>
711          <a href="/category/shop_in_shops/c/IC_SHOP_IN_SHOPS_MC/m/MC_ALL_ITEMS">SHOP IN SHOPS</a>
712        </li>
713        <li>
714          <a href="/brand/mens">BRANDS</a>
715        </li>
716        <li>
717          <a href="/shop/gift/c/gift_recommend">GIFTS</a>
718        </li>
719        <li>
720          <a href="https://www.instagram.com/restirofficial/" target="_blank">INSTAGRAM</a>
721        </li>
722      </ul>
723    </div>
724  </div>
725</script>
vendor: 1 bytes, line 725
725
726<script>
727  Vue.component('header-pc', {
728    name: 'HeaderPc',
729    template: '#header-pc-template',
730    computed: {
731      likeCount: function () {
732        return vueSiteState.likeCount
733      },
734      cartCount: function () {
735        return vueSiteState.cartCount
736      }
737    }
738  })
739</script>
739
740
741<script type="text/x-template" id="header-sp-template">
742  <div class="re__header sp-header -top">
743    <keyword-search-input-sp
744      v-show="searchInputOpen"
745    >
746    </keyword-search-input-sp>
747    <div class="re__area-menu">
748      <div
749        class="re__burger"
750        @click="toggleMenu">
751        <button
752          class="hamburger hamburger--slider"
753          :class="{ 'is-active' : showSideMenu }"
754          type="button"
755          style="display: flex;"
756        >
757        <span class="hamburger-box">
758          <span class="hamburger-inner"></span>
759        </span>
760        </button>
761      </div>
762      <div
763        class="re__search"
764        @click="toggleSearch">
765        <img v-if="searchInputOpen" alt="search" src="https://cdn.restir.com/front_2019/search_close_wh.svg">
766        <img v-else alt="icon-search" src="https://cdn.restir.com/front_2019/search_wh.svg">
767      </div>
768    </div>
769    <div class="re__area-logo">
770      <a href="/">
771        <img alt="RESTIR.COM" src="https://cdn.restir.com/front_2019/common/header/restir_logo_white.svg" class="w-[126px] h-[20px]">
772      </a>
773    </div>
774    <div class="re__area-cart">
775      <div class="re__country">
776        <a href="https://en.restir.com" target="_blank">
777          <img src="https://cdn.restir.com/header/country/usa_blk.svg">
778        </a>
779      </div>
780      <div class="re__star">
781        <a href="/wishlist">
782          <i class="icon-star"></i>
783        </a>
784      </div>
785      <div class="re__cart">
786        <a href="/order/cart" class="flex items-center">
787          <img alt="icon-cart" src="https://cdn.restir.com/front_2019/cart_wh.svg">
788          <span class="w-6">
789            {{ cartCount }}
790          </span>
791        </a>
792      </div>
793    </div>
794  </div>
795</script>
vendor: 1 bytes, line 795
795
796<script>
797  Vue.component('header-sp', {
798    name: 'HeaderSp',
799    template: '#header-sp-template',
800    props: {
801      searchInputOpen: {
802        type: Boolean,
803        default: false
804      }
805    },
806    computed: {
807      showSideMenu: function () {
808        return vueSiteState.showSideMenu
809      },
810      cartCount: function () {
811        return vueSiteState.cartCount
812      }
813    },
814    methods: {
815      toggleMenu: function () {
816        var showState = !vueSiteState.showSideMenu
817
818        vueSiteState.showSideMenu = showState
819        // scroll禁止
820        var body = document.getElementsByTagName('body')[0]
821        body.classList.toggle('no-scroll', showState)
822      },
823      toggleSearch: function () {
824        this.$emit('toggle-search', !this.searchInputOpen)
825      }
826    }
827  })
828</script>
828
829
830<script>
831  var header_vue = new Vue({
832    name: 'Header',
833    el: '#header',
834    data: function () {
835      return {
836        searchInputOpen: false,
837        lastKnownScrollPosition: 0
838      }
839    },
840    computed: {
841      isMobile: function () {
842        return vueResponsive.isMobile
843      },
844      showSiteNotice: function () {
845        return vueSiteState.showSiteNotice
846      }
847    },
848    mounted: function () {
849      var self = this
850      this.headerEl = document.getElementsByClassName('re__header')[0]
851      this.$nextTick(function () {
852        self.addEventListenerScroll()
853      })
854    },
855    methods: {
856      scrollDirection: function () {
857        var self = this
858        var st = window.pageYOffset || document.documentElement.scrollTop
859
860        var mainEl = document.getElementById('main')
861        var headerEl = document.getElementById('header')
862        var topPosition = 10
863        if (vueSiteState.showSiteNotice) {
864          topPosition = 10 + 40 // site-notice height分
865        }
866        if (st <= topPosition) {
867          mainEl.classList.add('-top')
868          headerEl.classList.add('-top')
869        } else {
870          mainEl.classList.remove('-top')
871          headerEl.classList.remove('-top')
872        }
873
874        if (st > self.lastKnownScrollPosition + 40) {
875          // down scroll
876          self.hideHeader(st)
877        } else if (st < self.lastKnownScrollPosition) {
878          // up scroll
879          self.showHeader(st)
880        }
881
882        // re assign position
883        self.lastKnownScrollPosition = st
884      },
885      addEventListenerScroll: function () {
886        var self = this
887        // initial position
888        self.lastKnownScrollPosition = window.pageYOffset || document.documentElement.scrollTop
889        window.addEventListener('scroll', _.throttle(self.scrollDirection, 600))
890      },
891      showHeader: function (scrollTop) {
892        var mainEl = document.getElementById('main')
893        var fixHeaderEl = document.getElementsByClassName('re__header')[0]
894        if (scrollTop === 0) {
895          mainEl.classList.add('-top') // topの時には常に表示 - for ios safari
896          mainEl.classList.remove('-header-hide')
897          fixHeaderEl.classList.remove('-hide')
898        } else {
899          mainEl.classList.remove('-top')
900          mainEl.classList.remove('-header-hide')
901          fixHeaderEl.classList.remove('-hide')
902        }
903      },
904      hideHeader: function (scrollTop) {
905        this.searchInputOpen = false // 検索も閉じる
906        var mainEl = document.getElementById('main')
907        var fixHeaderEl = document.getElementsByClassName('re__header')[0]
908        if (scrollTop === 0) {
909          mainEl.classList.add('-top') // topの時には常に表示 - for ios safari
910          mainEl.classList.add('-header-hide')
911          fixHeaderEl.classList.add('-hide')
912        } else {
913          mainEl.classList.remove('-top')
914          mainEl.classList.add('-header-hide')
915          fixHeaderEl.classList.add('-hide')
916        }
917        // fixHeaderEl.classList.add('-hide')
918      },
919      handleSearchToggle: function (open) {
920        this.searchInputOpen = open
921      }
922    }
923  })
924</script>
924
925
926  <div id="sp-side-menu" v-cloak>
927  <transition name="slideInLeft">
928    <keep-alive>
929      <sp-side-menu v-show="showSideMenu"></sp-side-menu>
930    </keep-alive>
931  </transition>
932</div>
933<script>
934  new Vue({
935    name: 'SpSideMenu',
936    el: '#sp-side-menu',
937    computed: {
938      showSideMenu: function () {
939        return vueSiteState.showSideMenu
940      }
941    }
942  })
943</script>
943
944  
945
946
947
948<div id="home">
949  <div id="app-home" v-cloak>
950      <transition name="left-leave" mode="in-out">
951        <intro-video v-if="showIntroVideo"></intro-video>
952      </transition>
953    <template v-if="!showIntroVideo">
954      <!-- topic hero -->
955      <topic-hero v-if="firstTopic" :topic="firstTopic"></topic-hero>
956
957      <!-- topic list -->
958      <topic-list v-if="remainTopicList.length > 0" :topic-list="remainTopicList"></topic-list>
959
960      <!-- brand list -->
961      <lazy-component root-margin="0px 0px 20% 0px">
962        <brand-list></brand-list>
963      </lazy-component>
964
965      <!-- shop in shops -->
966      <lazy-component root-margin="0px 0px 20% 0px">
967        <shop-in-shops-list></shop-in-shops-list>
968      </lazy-component>
969
970      <!-- new item list -->
971      <lazy-component root-margin="0px 0px 20% 0px">
972        <item-list item-type="MEN">
973        </item-list>
974      </lazy-component>
975
976      <lazy-component root-margin="0px 0px 20% 0px">
977        <item-list item-type="WOMEN">
978        </item-list>
979      </lazy-component>
980
981      <lazy-component root-margin="0px 0px 20% 0px">
982        <item-list
983          item-type="LIFESTYLE"
984          class="-last"
985        >
986        </item-list>
987      </lazy-component>
988    </template>
989
990      <newsletter-modal :show.sync="showNewsletterModal"></newsletter-modal>
991  </div>
992</div>
993<script src="/assets/libs/vue/vue-loading@3.2.0.min-54c33a3cd1f9318c543a7e796b51db565ed88d28b71fdcf4dd087437301fbd55.js"></script>
993
994<link rel="stylesheet" media="screen" href="/assets/libs/vue/vue-loading@3.2.0-171acd40a4a658b96ffd407c04b92af1a8ef226b6045ca827138098e0d98ab00.css" />
995<script>
996  Vue.use(VueLoading, {
997    height: 40,
998    width: 40,
999    zIndex: 999
1000  })
1001</script>
1001
1002
1003<script type="text/x-template" id="loader-template">
1004  <div class="vld-parent" ref="loadingContainer">
1005    <slot></slot>
1006  </div>
1007</script>
vendor: 1 bytes, line 1007
1007
1008<script>
1009  Vue.component('loader-container', {
1010    name: 'LoaderContainer',
1011    template: '#loader-template',
1012    props: {
1013      loading: {
1014        type: Boolean,
1015        default: false
1016      }
1017    },
1018    watch: {
1019      loading: function (newVal) {
1020        if (newVal) {
1021          this.startLoading()
1022        } else {
1023          this.endLoading()
1024        }
1025      }
1026    },
1027    data: function () {
1028      return {
1029        loader: null
1030      }
1031    },
1032    methods: {
1033      startLoading: function () {
1034        var container = this.$refs.loadingContainer
1035        if (this.$loading) { // 外部cdn jsが読み込まれないケースがある
1036          this.loader = this.$loading.show({
1037            isFullPage: false,
1038            container: container,
1039            backgroundColor: '#f5f5f5'
1040          })
1041        }
1042      },
1043      endLoading: function () {
1044        if (this.loader) {
1045          this.loader.hide()
1046        }
1047      }
1048    }
1049  })
1050</script>
1050
1051
1052  <link rel="stylesheet" media="screen" href="/assets/newsletter_modal-9b0417dde0b7756bb60b06d8033201f7175335d9506e89392f618e79f05ede99.css" />
1053<script type="text/x-template" id="newsletter-modal-template">
1054  <div id="nl-modal">
1055    <modal :show="show" @close="handleCloseModal">
1056      <div class="nl-container">
1057        <div class="nl-container-input">
1058          <h1>
1059            NEWSLETTER
1060          </h1>
1061
1062          <div v-if="completed" class="nl-thanks">
1063            <div class="nl-thanks_txt">
1064              <p>ご登録ありがとうございます。</p>
1065              <p>間もなく確認メールをお送りします。</p>
1066              <a class="res-btn" @click="handleCloseModal">
1067                ショッピングを続ける
1068              </a>
1069            </div>
1070          </div>
1071          <div v-else class="nl-input">
1072            <loader-container :loading="loading">
1073              <p>最新の入荷案内やセール情報をお届けします。</p>
1074              <p>購読するにはチェックを入れてください。</p>
1075              <div class="nl-types">
1076                <div class="email-check">
1077                  <div class="-left">
1078                    <input type="checkbox" id="checkbox01" checked="checked" v-model="nl_type_ec" />
1079                    <label for="checkbox01">RESTIR</label><br>
1080                  </div>
1081                  <div>
1082                    <input type="checkbox" id="checkbox02" v-model="nl_type_lcb" />
1083                    <label for="checkbox02">LE CIEL BLEU</label><br>
1084                  </div>
1085                </div>
1086                <div class="email-check">
1087                  <div class="-left">
1088                    <input type="checkbox" id="checkbox03" v-model="nl_type_outlet" />
1089                    <label for="checkbox03">OUTLET</label>
1090                  </div>
1091                </div>
1092              </div>
1093              <div class="email-input">
1094                <input type="text"
1095                       v-model="email"
1096                       placeholder="YOUR MAIL ADDRESS"
1097                       @input="message = ''" />
1098                <button @click="handleSubmit"></button>
1099              </div>
1100              <div class="nl-error-message" if="message">
1101                {{message}}
1102              </div>
1103              <p class="nl-desc-link">
1104                <a href="https://www.restir.com/aboutus/privacy">
1105                  個人情報の取り扱いについて >>
1106                </a>
1107              </p>
1108            </loader-container>
1109          </div>
1110        </div>
1111        <div class="nl-container-app">
1112          <h1>
1113            DOWNLOAD THE APP
1114          </h1>
1115          <p>
1116            RESTIRが提案する新感覚体験型 One to Oneアプリ
1117          </p>
1118          <p>
1119            "RESTIR STYLISTS"
1120          </p>
1121          <p class="nl-desc-link">
1122            <a href="/restir_app">
1123              詳しくはこちら >>
1124            </a>
1125          </p>
1126          <div class="nl-apps -pc-only">
1127            <div class="nl-app">
1128              <a href="https://itunes.apple.com/jp/app/restir-stylists/id1378159809?mt=8" target="_blank">
1129                <img src="https://cdn.restir.com/restir_app/appstore.png" alt="" class="img-responsive" />
1130              </a>
1131            </div>
1132            <div class="nl-app">
1133              <a href="https://play.google.com/store/apps/details?id=com.restir.stylist" target="_blank">
1134                <img src="https://cdn.restir.com/restir_app/googleplay_2022.png" alt="" class="img-responsive" />
1135              </a>
1136            </div>
1137          </div>
1138
1139        </div>
1140      </div>
1141    </modal>
1142  </div>
1143</script>
1143
1144
1145<script>
1146  var EMAIL_TYPES = {
1147    'ec': ['1'],
1148    'lcb': ['10'],
1149    'outlet': ['11', '14'],
1150  }
1151
1152  var newsletterEntryApiHost = 'https://www.restir.com/'
1153
1154  Vue.component('newsletter-modal', {
1155    name: 'NewsletterModal',
1156    template: '#newsletter-modal-template',
1157    props: {
1158      show: {
1159        type: Boolean,
1160        default: true
1161      }
1162    },
1163    data: function () {
1164      return {
1165        nl_type_ec: true,
1166        nl_type_lcb: true,
1167        nl_type_outlet: true,
1168        email: '',
1169        message: '',
1170        completed: false,
1171        loading: false
1172      }
1173    },
1174    methods: {
1175      handleCloseModal: function () {
1176        // $.unblockUI()
1177        this.$emit('update:show', false)
1178        this.$emit('close')
1179      },
1180      handleSubmit: _.debounce(function () {
1181        var self = this
1182
1183        // reset message
1184        self.message = ''
1185
1186        var email = this.email
1187        var nl_type_ec = this.nl_type_ec
1188        var nl_type_lcb = this.nl_type_lcb
1189        var nl_type_outlet = this.nl_type_outlet
1190
1191        if (!email) {
1192          self.message = 'Eメールを入力してください'
1193          return
1194        }
1195        var valid = /^[-!#$%&'*+\/0-9=?A-Z^_a-z{|}~](\.?[-!#$%&'*+\/0-9=?A-Z^_a-z`{|}~])*@[a-zA-Z0-9](-?\.?[a-zA-Z0-9])*\.[a-zA-Z](-?[a-zA-Z0-9])+$/.test(email)
1196        if (!valid) {
1197          self.message = 'Eメールをご確認ください'
1198          return
1199        }
1200
1201        var email_types = []
1202        if (nl_type_ec) {
1203          email_types = _.concat(email_types, EMAIL_TYPES.ec)
1204        }
1205        if (nl_type_lcb) {
1206          email_types = _.concat(email_types, EMAIL_TYPES.lcb)
1207        }
1208        if (nl_type_outlet) {
1209          email_types = _.concat(email_types, EMAIL_TYPES.outlet)
1210        }
1211
1212        recaptchaExecute('nl_modal').then(function (token) {
1213          var nLParams = {
1214            email: email,
1215            email_types: email_types
1216          }
1217          var recaptchaParams = {
1218            recaptcha_token: token,
1219            recaptcha_version: 'v3'
1220          }
1221          var params = Object.assign({}, nLParams, recaptchaParams)
1222
1223          self.loading = true
1224          return axios.post(newsletterEntryApiHost + 'newsletter_entry', params)
1225            .then(function (res) {
1226              self.completed = true
1227              self.message = 'ご登録ありがとうございます'
1228              self.loading = false
1229            }).catch(function (err) {
1230              self.message = handleResponseError(err)[0]
1231              self.loading = false
1232            })
1233        })
1234      }, 400)
1235    }
1236  })
1237</script>
1237
1238
1239<script src="/assets/libs/swiper/swiper.min-d49b6d43a0f96e977a343bde7db1c751da6b2a1b9964248558162ddca89ac55c.js"></script>
vendor: 1 bytes, line 1239
1239
1240<script>
1241  Vue.component('IntersectionObserver', {
1242    inheritAttrs: true,
1243    props: {
1244      threshold: {
1245        type: Array,
1246        required: false,
1247        default: function () {
1248          return [0, 0.2]
1249        }
1250      },
1251      root: {
1252        type: typeof HTMLElement !== 'undefined' ? HTMLElement : Object,
1253        required: false,
1254        default: function () {
1255          return null
1256        }
1257      },
1258      rootMargin: {
1259        type: String,
1260        required: false,
1261        default: function () {
1262          return '0px 0px 0px 0px'
1263        }
1264      }
1265    },
1266    data: function () {
1267      return {
1268        observer: null
1269      }
1270    },
1271    created: function () {
1272      var self = this
1273      this.observer = new IntersectionObserver(function (entries) {
1274        if (!entries[0].isIntersecting) {
1275          self.$emit('leave', entries[0])
1276        } else {
1277          self.$emit('enter', entries[0])
1278        }
1279        self.$emit('change', entries[0])
1280      }, {
1281        threshold: self.threshold,
1282        root: self.root,
1283        rootMargin: self.rootMargin
1284      })
1285    },
1286    mounted: function () {
1287      var self = this
1288      this.$nextTick(function () {
1289        if (self.$slots.default && self.$slots.default.length > 1) {
1290          console.warn('[VueIntersectionObserver] You may only wrap one element in a <intersecttion-observer> component.')
1291        } else if (!self.$slots.default || self.$slots.default.length < 1) {
1292          console.warn('[VueIntersectionObserver] You must have one child inside a <intersecttion-observer> component.')
1293          return
1294        }
1295
1296        self.observer.observe(self.$slots.default[0].elm)
1297      })
1298    },
1299    destroyed: function () {
1300      this.observer.disconnect()
1301    },
1302    render: function () {
1303      return this.$slots.default ? this.$slots.default[0] : null
1304    }
1305  })
1306</script>
1306
1307
1308<script type="text/x-template" id="lazy-component-template">
1309  <intersection-observer
1310    @enter.once="handleEnter"
1311    :threshold="threshold"
1312    :root="root"
1313    :root-margin="rootMargin"
1314  >
1315    <div>
1316      <slot v-if="enter"></slot>
1317    </div>
1318  </intersection-observer>
1319</script>
vendor: 1 bytes, line 1319
1319
1320<script>
1321  Vue.component('lazy-component', {
1322    template: '#lazy-component-template',
1323    props: {
1324      threshold: {
1325        type: Array,
1326        required: false,
1327        default: function () {
1328          return [0, 0.2]
1329        }
1330      },
1331      root: {
1332        type: typeof HTMLElement !== 'undefined' ? HTMLElement : Object,
1333        required: false,
1334        default: function () {
1335          return null
1336        }
1337      },
1338      rootMargin: {
1339        type: String,
1340        required: false,
1341        default: function () {
1342          return '0px 0px 0px 0px'
1343        }
1344      }
1345    },
1346    data: function () {
1347      return {
1348        enter: false
1349      }
1350    },
1351    methods: {
1352      handleEnter: function () {
1353        this.enter = true
1354        this.$emit('enter', true)
1355      }
1356    }
1357  })
1358</script>
vendor: 1 bytes, line 1358
1358
1359<script type="text/x-template" id="cloudinary-image-template">
1360  <img :src="imageSrc" :alt="altText">
1361</script>
vendor: 1 bytes, line 1361
1361
1362<script>
1363  Vue.component('cloudinary-image', {
1364    name: 'CloudinaryImage',
1365    template: '#cloudinary-image-template',
1366    props: {
1367      image: {
1368        type: String
1369      },
1370      altText: {
1371        type: String
1372      },
1373      // best, good, eco, low
1374      quality: {
1375        type: String,
1376        default: 'eco'
1377      }
1378    },
1379    computed: {
1380      imageSrc: function () {
1381        if (this.image) {
1382          return this.getEcoImagePath(this.image, this.quality)
1383        } else {
1384          return ''
1385        }
1386      }
1387    },
1388    methods: {
1389      getEcoImagePath: function (originalPath, quality) {
1390        if (originalPath) {
1391          var newSubstr = '/upload/f_auto,q_auto:' + quality + '/v'
1392          return originalPath.replace('/upload/v', newSubstr)
1393        } else {
1394          return ''
1395        }
1396      },
1397    }
1398  })
1399</script>
1399
1400
1401<script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
vendor: 1 bytes, line 1401
1401
1402<script type="text/x-template" id="hls-video-template">
1403  <video ref="video" v-bind="$attrs" v-on="$listeners" :poster="poster" class="w-full">
1404    <source v-if="isHls" :src="videoUrl" type="application/x-mpegURL"/>
1405    <source v-else :src="videoUrl" type="video/mp4"/>
1406  </video>
1407</script>
vendor: 1 bytes, line 1407
1407
1408<script>
1409  Vue.component('HlsVideo', {
1410    template: '#hls-video-template',
1411    inheritAttrs: false,
1412    props: {
1413      poster: {
1414        type: String
1415      },
1416      videoUrl: {
1417        type: String,
1418        required: true
1419      }
1420    },
1421    watch: {
1422      videoUrl: function (newItem) {
1423        if (newItem) {
1424          this.startVideo()
1425        }
1426      }
1427    },
1428    created: function () {
1429      var self = this
1430      this.$nextTick(function () {
1431        self.startVideo()
1432      })
1433    },
1434    computed: {
1435      isHls: function () {
1436        return this.videoUrl.includes('.m3u8')
1437      }
1438    },
1439    methods: {
1440      startVideo: function () {
1441        var self = this
1442
1443        var v = self.$refs.video
1444
1445        if (!v) {
1446          return
1447        }
1448
1449        this.$nextTick(function () {
1450          if (this.isHls) {
1451            if (Hls.isSupported()) {
1452              var hls = new Hls()
1453              hls.loadSource(self.videoUrl)
1454              hls.attachMedia(v)
1455              hls.on(Hls.Events.MANIFEST_PARSED, function () {
1456                var promise = v.play()
1457                if (promise !== undefined) {
1458                  promise.then(function () {
1459                    // Autoplay started!
1460                  }).catch(function (error) {
1461                    // Autoplay was prevented.
1462                    // Show a "Play" button so that user can start playback.
1463                    // bugsnagClient.notify(error)
1464                  })
1465                }
1466              })
1467            } else if (v.canPlayType('application/vnd.apple.mpegurl')) {
1468              v.src = self.videoUrl
1469              v.addEventListener('loadedmetadata', function () {
1470                var promise = v.play()
1471                if (promise !== undefined) {
1472                  promise.then(function () {
1473                    // Autoplay started!
1474                  }).catch(function (error) {
1475                    // Autoplay was prevented.
1476                    // Show a "Play" button so that user can start playback.
1477                    // bugsnagClient.notify(error)
1478                  })
1479                }
1480              })
1481            }
1482          } else {
1483            v.src = self.videoUrl
1484            v.addEventListener('loadedmetadata', function () {
1485              var promise = v.play()
1486              if (promise !== undefined) {
1487                promise.then(function () {
1488                  // Autoplay started!
1489                }).catch(function (error) {
1490                  // Autoplay was prevented.
1491                  // Show a "Play" button so that user can start playback.
1492                  // bugsnagClient.notify(error)
1493                })
1494              }
1495            })
1496          }
1497        })
1498      }
1499    }
1500  })
1501</script>
1501
1502
1503  
1503<script type="text/x-template" id="intro-video-template">
1504  <div class="intro-video">
1505    <video v-if="videoUrl" muted playsinline autoplay preload="metadata">
1506      <source :src="videoUrl" type="video/mp4"/>
1507    </video>
1508  </div>
1509</script>
vendor: 1 bytes, line 1509
1509
1510<script>
1511  Vue.component('intro-video', {
1512    name: 'IntroVideo',
1513    template: '#intro-video-template',
1514    data: function () {
1515      return {
1516        videoUrl: null
1517      }
1518    },
1519    computed: {
1520      isMobile: function () {
1521        return vueResponsive.isMobile
1522      }
1523    },
1524    mounted: function () {
1525      this.initVideo()
1526    },
1527    methods: {
1528      initVideo: function () {
1529        var videoUrl = 'https://cdn.restir.com/home/lottie/sp_ver_3.mp4'
1530        if (!this.isMobile) {
1531          videoUrl = 'https://cdn.restir.com/home/lottie/pc_ver_3.mp4'
1532        }
1533        this.videoUrl = videoUrl
1534      }
1535    }
1536  })
1537</script>
vendor: 1 bytes, line 1537
1537
1538<script type="text/x-template" id="home-topic-hero-template">
1539  <div class="topic-hero">
1540    <a :href="topic.link">
1541      <template v-if="topic.videoUrl">
1542        <hls-video
1543          class="hero-img"
1544          :video-url="getEcoVideoPath(topic.videoUrl)"
1545          :poster="imageSrc"
1546          muted="true" loop playsinline autoplay preload="metadata">
1547        </hls-video>
1548      </template>
1549      <template v-else>
1550        <cloudinary-image
1551          class="hero-img"
1552          :image="image"
1553          :alt-text="topic.title"
1554          quality="good"
1555        >
1556        </cloudinary-image>
1557      </template>
1558    </a>
1559    <div class="hero-container topic-container _sp_padding _pc_padding">
1560      <a :href="topic.link">
1561        <div class="topic">
1562          <intersection-observer @enter.once="(e) => e.target.classList.add('-enter')" root-margin="0px 0px 0px 0px">
1563            <div class="title-wrap">
1564              <span class="title">{{ topic.title }}</span>
1565            </div>
1566          </intersection-observer>
1567          <intersection-observer @enter.once="(e) => e.target.classList.add('-enter')" root-margin="0px 0px 0px 0px">
1568            <div class="desc-wrap">
1569              <span class="desc">{{ topic.description }}</span>
1570            </div>
1571          </intersection-observer>
1572        </div>
1573      </a>
1574    </div>
1575  </div>
1576</script>
vendor: 1 bytes, line 1576
1576
1577<script>
1578  Vue.component('topic-hero', {
1579    name: 'TopicHero',
1580    template: '#home-topic-hero-template',
1581    props: {
1582      topic: {
1583        type: Object
1584      }
1585    },
1586    computed: {
1587      isMobile: function () {
1588        return vueResponsive.isMobile
1589      },
1590      image: function () {
1591        if (!this.isMobile) {
1592          if (this.topic.imagePcUrl) {
1593            return this.topic.imagePcUrl
1594          } else if (this.topic.imagePc && this.topic.imagePc.filename) {
1595            return this.topic.imagePc.filename
1596          }
1597        }
1598        if (this.topic.imageUrl) {
1599          return this.topic.imageUrl
1600        } else if (this.topic.image && this.topic.image.filename) {
1601          return this.topic.image.filename
1602        }
1603      },
1604      imageSrc: function () {
1605        return this.getEcoImagePath(this.image, this.quality)
1606      },
1607    },
1608    methods: {
1609      getEcoImagePath: function (originalPath, quality) {
1610        if (originalPath) {
1611          var newSubstr = '/upload/f_auto,q_auto:' + quality + '/v'
1612          return originalPath.replace('/upload/v', newSubstr)
1613        } else {
1614          return ''
1615        }
1616      },
1617      getEcoVideoPath: function (originalPath) {
1618        if (originalPath) {
1619          const originalPathEco = originalPath.replace('/upload/v', '/upload/q_auto:eco,vc_auto/v')
1620          return originalPathEco.replace('mp4', 'm3u8')
1621        } else {
1622          return ''
1623        }
1624      },
1625    }
1626  })
1627</script>
1627
1628
1629<script type="text/x-template" id="home-topic-item-template">
1630  <div class="topic">
1631    <a :href="topic.link">
1632      <intersection-observer @enter.once="(e) => e.target.classList.add('-enter')" root-margin="0px 0px 0px 0px">
1633        <div class="title-wrap">
1634          <span class="title">{{ topic.title }}</span>
1635        </div>
1636      </intersection-observer>
1637      <cloudinary-image
1638        class="img"
1639        :image="image"
1640        :alt-text="topic.title"
1641        quality="good"
1642      ></cloudinary-image>
1643      <intersection-observer @enter.once="(e) => e.target.classList.add('-enter')" root-margin="0px 0px 0px 0px">
1644        <div class="desc-wrap">
1645          <span class="desc">{{ topic.description }}</span>
1646        </div>
1647      </intersection-observer>
1648    </a>
1649  </div>
1650</script>
vendor: 1 bytes, line 1650
1650
1651<script>
1652  Vue.component('topic-item', {
1653    name: 'TopicItem',
1654    template: '#home-topic-item-template',
1655    props: {
1656      topic: {
1657        type: Object
1658      }
1659    },
1660    computed: {
1661      isMobile: function () {
1662        return vueResponsive.isMobile
1663      },
1664      image: function () {
1665        if (!this.isMobile) {
1666          if (this.topic.imagePcUrl) {
1667            return this.topic.imagePcUrl
1668          } else if (this.topic.imagePc && this.topic.imagePc.filename) {
1669            return this.topic.imagePc.filename
1670          }
1671        }
1672        if (this.topic.imageUrl) {
1673          return this.topic.imageUrl
1674        } else if (this.topic.image && this.topic.image.filename) {
1675          return this.topic.image.filename
1676        }
1677      }
1678    }
1679  })
1680</script>
1680
1681
1682<script type="text/x-template" id="home-topic-list-template">
1683  <div class="block-topic">
1684    <div class="_sp_padding _pc_padding">
1685      <p class="block-title">What's WOW Now</p>
1686      <p class="block-title-line"></p>
1687    </div>
1688
1689    <div class="topic-container _sp_padding _pc_padding">
1690      <topic-item v-for="topic in topicList" :topic="topic" :key="topic.id">
1691      </topic-item>
1692      <div v-if="showMore" class="more">
1693        <a href="/topics">MORE >></a>
1694      </div>
1695    </div>
1696  </div>
1697</script>
vendor: 1 bytes, line 1697
1697
1698<script>
1699  Vue.component('topic-list', {
1700    name: 'TopicList',
1701    template: '#home-topic-list-template',
1702    props: {
1703      topicList: {
1704        type: Array
1705      },
1706      showMore: {
1707        type: Boolean,
1708        default: true
1709      }
1710    }
1711  })
1712</script>
vendor: 1 bytes, line 1712
1712
1713<script type="text/x-template" id="home-brand-template">
1714  <div
1715    v-if="item"
1716    class="brand"
1717    :class="{ active: showLinkStatus }"
1718    @click="showLink"
1719  >
1720    <div class="image">
1721      <img :src="item.image_url" :alt="item.image_alt">
1722    </div>
1723    <div class="video" v-if="item.video_url">
1724      <video muted loop playsinline autoplay preload="metadata" :poster="item.image_url">
1725        <source v-if="item.video_url" :src="item.video_url" type="video/mp4"/>
1726        <source v-if="item.video_stream_url" :src="item.video_stream_url" type="application/x-mpegURL">
1727        <p>video要素がサポートされていないブラウザでご覧になっています。</p>
1728      </video>
1729    </div>
1730    <div class="title">
1731      <h3 v-html="item.heading"></h3>
1732    </div>
1733    <div class="links">
1734      <div v-for="link in item.target_links">
1735        <a :href="link.href">{{ link.text }}</a>
1736      </div>
1737    </div>
1738  </div>
1739</script>
vendor: 1 bytes, line 1739
1739
1740<script>
1741  Vue.component('brand', {
1742    name: 'Brand',
1743    template: '#home-brand-template',
1744    props: {
1745      item: {
1746        type: Object
1747      }
1748    },
1749    data: function () {
1750      return {
1751        showLinkStatus: false
1752      }
1753    },
1754    computed: {
1755      isMobile: function () {
1756        return vueResponsive.isMobile
1757      }
1758    },
1759    methods: {
1760      showLink: function () {
1761        var self = this
1762        self.showLinkStatus = true
1763        setTimeout(function () {
1764          self.showLinkStatus = false
1765        }, 5000)
1766      }
1767    }
1768  })
1769</script>
vendor: 1 bytes, line 1769
1769
1770<script type="text/x-template" id="home-brand-list-template">
1771  <div class="block-brand">
1772    <div class="_sp_padding _pc_padding">
1773      <p class="block-title">BRANDS</p>
1774      <div class="brand-container">
1775        <brand
1776          v-for="item in itemList.records"
1777          :key="item.id"
1778          :item="item"
1779        ></brand>
1780      </div>
1781      <div class="more">
1782        <a href="/brand/mens">MORE >></a>
1783      </div>
1784    </div>
1785  </div>
1786</script>
vendor: 1 bytes, line 1786
1786
1787<script>
1788  Vue.component('brand-list', {
1789    name: 'BrandList',
1790    template: '#home-brand-list-template',
1791    data: function () {
1792      return {
1793        itemList: {
1794          records: [],
1795          page: {
1796            page_no: 0,
1797            start: 0,
1798            total: 0,
1799            size: 15
1800          }
1801        }
1802      }
1803    },
1804    mounted: function () {
1805      this.fetchListData()
1806    },
1807    methods: {
1808      fetchListData: function () {
1809        var self = this
1810        axios.get(this.$extSiteUrl('home_images'), {
1811          params: {
1812            page: Object.assign(self.itemList.page, { page_no: 1 })
1813          }
1814        }).then(function (res) {
1815          self.itemList = res.data.result
1816        }).catch(function (err) {
1817          console.error(err)
1818        })
1819      }
1820    }
1821  })
1822</script>
1822
1823
1824<script type="text/x-template" id="home-shop-in-shop-template">
1825  <a
1826    v-if="item"
1827    :href="item.link_url"
1828    class="box"
1829  >
1830    <div class="image">
1831      <img :src="item.image_url" :alt="item.alt">
1832    </div>
1833    <div class="video" v-if="item.video_url">
1834      <video muted loop playsinline autoplay preload="metadata" :poster="item.image_url">
1835        <source v-if="item.video_url" :src="item.video_url" type="video/mp4"/>
1836        <source v-if="item.video_stream_url" :src="item.video_stream_url" type="application/x-mpegURL">
1837        <p>video要素がサポートされていないブラウザでご覧になっています。</p>
1838      </video>
1839    </div>
1840    <div class="title">
1841      <h3>{{ item.title_jp }}</h3>
1842    </div>
1843    <div class="links" v-if="item.link_url_json">
1844      <div v-for="link in item.link_url_json.buttons">
1845        <a :href="link.href">{{ link.text }}</a>
1846      </div>
1847    </div>
1848  </a>
1849</script>
vendor: 1 bytes, line 1849
1849
1850<script>
1851  Vue.component('ShopInShop', {
1852    name: 'ShopInShop',
1853    template: '#home-shop-in-shop-template',
1854    props: {
1855      item: {
1856        type: Object
1857      }
1858    },
1859    data: function () {
1860      return {
1861
1862      }
1863    },
1864    computed: {
1865      isMobile: function () {
1866        return vueResponsive.isMobile
1867      }
1868    }
1869  })
1870</script>
1870
1871
1872<script type="text/x-template" id="home-shop-in-shops-list-template">
1873  <div class="block-brand" v-if="itemList.length > 0">
1874    <div class="_sp_padding _pc_padding">
1875      <p class="block-title">SHOP IN SHOPS</p>
1876      <div class="shop-in-shops-container">
1877        <shop-in-shop
1878          v-for="item in itemList"
1879          :key="item.id"
1880          :item="item"
1881        ></shop-in-shop>
1882      </div>
1883    </div>
1884  </div>
1885</script>
vendor: 1 bytes, line 1885
1885
1886<script>
1887  Vue.component('shop-in-shops-list', {
1888    name: 'ShopInShopsList',
1889    template: '#home-shop-in-shops-list-template',
1890    data: function () {
1891      return {
1892        itemList: {
1893          records: [],
1894          page: {
1895            page_no: 0,
1896            start: 0,
1897            total: 0,
1898            size: 12
1899          }
1900        }
1901      }
1902    },
1903    mounted: function () {
1904      this.fetchListData()
1905    },
1906    methods: {
1907      fetchListData: function () {
1908        var self = this
1909        axios.get(this.$extSiteUrl('slide-items/res-top-box-shop-in-shops'), {
1910          params: {
1911            limit: 12
1912          }
1913        }).then(function (res) {
1914          self.itemList = res.data.result
1915        }).catch(function (err) {
1916          console.error(err)
1917        })
1918      }
1919    }
1920  })
1921</script>
1921
1922
1923<script type="text/x-template" id="home-item-list-template">
1924  <div class="block-item" v-cloak>
1925    <div class="_sp_padding _pc_padding">
1926      <p class="block-title">{{ itemType }}</p>
1927      <div id="image-slider" class="item-container">
1928        <div class="swiper-container" ref="slide">
1929          <div class="swiper-wrapper">
1930            <div
1931              v-for="(item, idx) in itemList"
1932              class="swiper-slide"
1933            >
1934              <a :href="item.item_link">
1935                <img
1936                  :src="item.list_image_url"
1937                  :alt="item.name"
1938                  class="swiper-lazy"
1939                >
1940                <div class="slide-text">
1941                  <p class="item-brand">
1942                    {{ item.brand_name }}
1943                  </p>
1944                  <p class="item-name">
1945                    {{ item.name }}
1946                  </p>
1947                  <p class="item-price" v-if="item.price > 0">
1948                    {{ item.price_str }}
1949                  </p>
1950                </div>
1951              </a>
1952            </div>
1953          </div>
1954          <div class="swiper-button-prev"></div>
1955          <div class="swiper-button-next"></div>
1956        </div>
1957      </div>
1958      <div class="more">
1959        <a :href="itemListUrl">MORE >></a>
1960      </div>
1961    </div>
1962  </div>
1963</script>
vendor: 1 bytes, line 1963
1963
1964<script>
1965  Vue.component('item-list', {
1966    name: 'ItemList',
1967    template: '#home-item-list-template',
1968    props: {
1969      itemType: {
1970        type: String
1971      }
1972    },
1973    data: function () {
1974      return {
1975        itemList: {
1976          records: [],
1977          page: {
1978            page_no: 0,
1979            start: 0,
1980            total: 0,
1981            size: 16
1982          }
1983        },
1984        itemListLoading: false,
1985        galleryTop: null
1986      }
1987    },
1988    computed: {
1989      isMobile: function () {
1990        return vueResponsive.isMobile
1991      },
1992      itemListUrl: function () {
1993        var itemListUrl
1994        if (this.itemType === 'MEN') {
1995          itemListUrl = '/category/mens/c/IC_MENS_MC/m/MC_ALL_ITEMS'
1996        } else if (this.itemType === 'WOMEN') {
1997          itemListUrl = '/category/womens/c/IC_WOMENS_MC/m/MC_ALL_ITEMS'
1998        } else if (this.itemType === 'LIFESTYLE') {
1999          itemListUrl = '/category/lifestyle/c/IC_LIFESTYLE_MC/m/MC_ALL_ITEMS'
2000        }
2001        return itemListUrl
2002      }
2003    },
2004    mounted: function () {
2005      this.fetchItemListDataFromCategory()
2006    },
2007    methods: {
2008      fetchItemListDataFromCategory: function () {
2009        var self = this
2010        this.itemListLoading = true
2011        var itemListUrl = this.itemListUrl
2012        if (!itemListUrl) {
2013          return // guard
2014        }
2015
2016        axios.post(this.$extSiteUrl(this.itemListUrl), {
2017          page: Object.assign(self.itemList.page, { page_no: 1 })
2018        }).then(function (res) {
2019          self.itemList = res.data.result.records
2020          self.itemListLoading = false
2021          self.initSlide()
2022        }).catch(function (err) {
2023          console.error(err)
2024          self.itemListLoading = false
2025        })
2026      },
2027      initSlide: function () {
2028        this.$nextTick(function () {
2029          this.galleryTop = new Swiper(this.$refs.slide, {
2030            slidesPerView: 4,
2031            slidesPerGroup: 4,
2032            breakpoints: {
2033              768: {
2034                slidesPerView: 1,
2035                slidesPerGroup: 1
2036              }
2037            },
2038            loop: true,
2039            preloadImages: false,
2040            lazy: true,
2041            navigation: {
2042              nextEl: '.swiper-button-next',
2043              prevEl: '.swiper-button-prev'
2044            },
2045            pagination: {
2046              el: '.swiper-pagination'
2047            }
2048          })
2049        })
2050      }
2051    }
2052  })
2053</script>
2053
2054
2055<script>
2056  new Vue({
2057    name: 'Home',
2058    el: '#app-home',
2059    data: {
2060      showNewsletterModal: true,
2061      pageDataTopicList: [{"id":149,"content":{"link":"https://www.restir.com/newsletters_raw/20261002/9185/all?md=o\u0026s=res_dark","title":"CONVERSE x\nSUGARHILL","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1790839618/restir/topics/2023/SUGARHILL_sp_vp6nat.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1790839618/restir/topics/2023/SUGARHILL_pc_trhjbu.jpg","description":"“ALL STAR LGCY HI”をフィーチャー\nした限定コラボモデルがリリース。"}},{"id":147,"content":{"link":"https://www.restir.com/newsletters_raw/20261001/9184/all?md=o\u0026s=res_dark","title":"A.P.C.","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1790823121/restir/topics/2023/apc_sp_cvd4g5.jpg","videoUrl":"https://res.cloudinary.com/restir/video/upload/v1790823146/restir/topics/2023/A.P.C._CLARKS_VIDEO_16x9_LOGO_r50mai.mp4","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1790823121/restir/topics/2023/apc_pc_alyn9s.jpg","description":"CLARKS ORIGINALSとの\nコラボシューズが、本日販売解禁。"}},{"id":142,"content":{"link":"https://www.restir.com/newsletters_raw/20260925/9171/all?md=o\u0026s=res_dark","title":"FRAMA at RESTIR","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1790260361/restir/brand%20banner/2026/frama_pc_sh4opa.jpg","videoUrl":"","imagePcUrl":"","description":"香りから家具まで、FRAMAの世界観を\n体感する期間限定POP UPがスタート。"}},{"id":146,"content":{"link":"https://www.restir.com/newsletters_raw/20261001/9182/all?md=o\u0026s=res_dark","title":"LM.RT","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1790823121/restir/topics/2023/lmrt_sp_unv0gw.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1790823121/restir/topics/2023/lmrt_pc_yy5n1r.jpg","description":"詩情を帯びたテーラリングにより昇華された、新たなメンズウェアレーベルがローンチ。"}},{"id":148,"content":{"link":"https://www.restir.com/newsletters_raw/20261001/9181/all?md=o\u0026s=res_dark","title":"JARDIN DES CHEVEUX","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1790839182/restir/topics/2023/jdc_sp_o6pare.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1790839301/restir/topics/2023/jdc_pc_vup8vp.jpg","description":"顔周りをすっきり見せる、\n新作カチューシャが到着。"}},{"id":145,"content":{"link":"https://www.restir.com/newsletters_raw/20260930/9180/all?md=o\u0026s=res_dark","title":"SSSTEIN","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1790749246/restir/topics/2023/ss_sp_tauoov.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1790749247/restir/topics/2023/ss_pc_ylojix.jpg","description":"AW26 2nd デリバリー / ロングコートやカーディガンがリリース。"}},{"id":144,"content":{"link":"https://www.restir.com/newsletters_raw/20260930/9179/all?md=o\u0026s=res_dark","title":"MUKCYEN","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1790738164/restir/topics/2023/mukcyen_sp_cyvo8z.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1790738165/restir/topics/2023/mukcyen_pc_hgbtff.jpg","description":"ロココ様式を思わせる\nAW26コレクションが到着。"}},{"id":143,"content":{"link":"https://www.restir.com/newsletters_raw/20260925/9173/all?md=o\u0026s=res_dark","title":"OAO","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1790260906/restir/brand%20banner/2026/oao_sp_zjkt3i.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1790260906/restir/brand%20banner/2026/oao_pc_bzyqdc.jpg","description":"シグネチャーモデル達をフィーチャーした“THE SUNLIGHT SHOWCASE”が開催中。"}},{"id":141,"content":{"link":"https://www.restir.com/newsletters_raw/20260920/9164/all?md=o\u0026s=res_dark","title":"BASICKS","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1790318630/restir/brand%20banner/2026/basicks_sp_hun6b2.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1790318630/restir/brand%20banner/2026/basicks_pc_be0yr5.jpg","description":"NEW ERA®×MLBとの最大バリエーションのコラボコレクションが登場。"}},{"id":140,"content":{"link":"https://www.restir.com/newsletters_raw/20260919/9161/all?md=o\u0026s=res_dark","title":"©SAINT MXXXXXX","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1789692910/restir/topics/2023/sm_pc_ic1lvo.jpg","videoUrl":"","imagePcUrl":"","description":"AW26 7th Drop / 「ファンタジア」「トイ・ストーリー」「BAPE®」をフィーチャーしたコレクションがリリース。"}},{"id":139,"content":{"link":"https://www.restir.com/brand/b/1062/m/MC_ALL_ITEMS","title":"SACAI","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1789640718/restir/topics/2023/sacai_pc_djfnga.jpg","videoUrl":"","imagePcUrl":"","description":"レザーのパファージャケットや異素材のコントラストが際立つ新作アウターが到着。"}},{"id":138,"content":{"link":"https://www.restir.com/newsletters_raw/20260918/9160/all?md=o\u0026s=res_dark","title":"MAISON MIHARA YASUHIRO","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1789642115/restir/topics/2023/mmy_pc_spl2v6.jpg","videoUrl":"","imagePcUrl":"","description":"PINK HOUSEとの\nコラボレーションアイテムが到着。"}},{"id":136,"content":{"link":"https://www.restir.com/newsletters_raw/20260911/9144/all?md=o\u0026s=res_dark","title":"ANIMA","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1789111212/restir/topics/2023/anima_sp_ilrntc.jpg","videoUrl":"https://res.cloudinary.com/restir/video/upload/v1789106398/restir/topics/2023/anima2_v1_1080p_qu1chb.mp4","
2061imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1789111212/restir/topics/2023/anima_pc_ty92ep.jpg","description":"100%リサイクルを実現する、\n新たなフットウェアブランドがローンチ。"}},{"id":137,"content":{"link":"https://www.restir.com/newsletters_raw/20260917/9156/all?md=o\u0026s=res_dark","title":"MERRY FRIDAY","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1789615269/restir/topics/2023/mf_sp_zrtuxt.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1789615277/restir/topics/2023/mf_pc_gkqsuu.jpg","description":"人気のTypo Ⅱ ブルーに\nラージサイズが登場。"}},{"id":132,"content":{"link":"https://www.restir.com/newsletters_raw/20260912/9146/all?md=o\u0026s=res_dark","title":"BONBOM","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1789104176/restir/topics/2023/bonbom_sp_ano0r4.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1789104175/restir/topics/2023/bonbom_pc_nkqiva.jpg","description":"ミリタリーとフェミニニティが交差する、AW26新作が到着。"}},{"id":129,"content":{"link":"https://www.restir.com/newsletters_raw/20260910/9142/all?md=o\u0026s=res_dark","title":"ADIDAS ORIGINALS BY SIMONE ROCHA","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1789016439/restir/topics/2023/simone_adidas_pc_jgffg5.jpg","videoUrl":"","imagePcUrl":"","description":"スポーツウェアをロマンティックに再解釈したコラボレーションが登場。"}},{"id":130,"content":{"link":"https://www.restir.com/newsletters_raw/20260910/9143/all?md=o\u0026s=res_dark","title":"UGG x WILLY CHAVARRIA","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1789016438/restir/topics/2023/ugg_sp_xs348v.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1789016439/restir/topics/2023/ugg_pc_ycmqb5.jpg","description":"ウィリー・チャバリアとのコラボ・フットウェアコレクションがリリース。"}},{"id":126,"content":{"link":"https://www.restir.com/newsletters_raw/20260905/9132/all?md=o\u0026s=res_dark","title":"MONONOKE・MADE","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1788445344/restir/topics/2023/mononoke_pc_rjpaj6.jpg","videoUrl":"","imagePcUrl":"","description":"世界的なアーティスト・村上隆とREADYMADE/©SAINT Mxxxxxxデザイナー・細川雄太によるブランドの3rd Dropが、オンライン販売スタート。"}},{"id":125,"content":{"link":"https://www.restir.com/newsletters_raw/20260905/9133/all?md=o\u0026s=res_dark","title":"©SAINT MXXXXXX","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1788445343/restir/topics/2023/sm_sp_hqvats.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1788445343/restir/topics/2023/sm_pc_m6q9c4.jpg","description":"AW26 6th Drop / “Coco Star Sims”や“Robert Mapplethorpe”をフィーチャーしたアイテムがリリース。"}},{"id":127,"content":{"link":"https://www.restir.com/newsletters_raw/20260904/9134/all?md=o\u0026s=res_dark","title":"SSSTEIN","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1788505528/restir/topics/2023/ssstein_pc_z5qk7z.jpg","videoUrl":"","imagePcUrl":"","description":"AW26 1st デリバリー / 注目の日本ブランドより、現代的な気品が溢れるミニマルなアウター類がリリース。"}},{"id":122,"content":{"link":"https://www.restir.com/newsletters_raw/20260903/9124/all?md=o\u0026s=res_dark","title":"ON x PAF","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1788362137/restir/topics/2023/onpaf_pc_u6pt2j.jpg","videoUrl":"","imagePcUrl":"","description":"コラボ最終章を飾るフットウェア\n“Cloudsoma PAF”が販売解禁。"}},{"id":124,"content":{"link":"https://www.restir.com/newsletters_raw/20260904/9131/all?md=o\u0026s=res_dark","title":"CECILIE BAHNSEN","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1788433342/restir/topics/2023/cb_sp_gx1kvs.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1788433343/restir/topics/2023/cb_pc_xaq6lk.jpg","description":"ロマンティックな雰囲気漂ã
2061†\nAW26新作が到着"}},{"id":123,"content":{"link":"https://www.restir.com/newsletters_raw/20260903/9127/all?md=o\u0026s=res_dark","title":"NICK GEAR","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1788403434/restir/topics/2023/nick_sp_gspetl.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1788403434/restir/topics/2023/nick_pc_k5ytqc.jpg","description":"アイコニックなフラワーモチーフの\n新作が期間限定発売。"}},{"id":120,"content":{"link":"https://www.restir.com/newsletters_raw/20260901/9122/all?md=o\u0026s=res_dark","title":"MONCLER x FRAGMENT","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1788235524/restir/topics/2023/mc_fr_cify9t.jpg","videoUrl":"","imagePcUrl":"","description":"人気コラボシリーズより、季節の変化を告げるプレイフルなコレクションがリリース。"}},{"id":121,"content":{"link":"https://www.restir.com/newsletters_raw/20260901/9123/all?md=o\u0026s=res_dark","title":"ANN DEMEULEMEESTER","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1788254973/restir/topics/2023/ann_sp_elljuh.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1788254974/restir/topics/2023/ann_pc_cy2rxp.jpg","description":"エレガントでタイムレスな\n新作が到着。"}},{"id":117,"content":{"link":"https://www.restir.com/brand/b/1062","title":"SACAI","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1787842400/restir/topics/2023/sacai_pc_it97k0.jpg","videoUrl":"","imagePcUrl":"","description":"AW26 5th デリバリー / ロバート・メイプルソープの作品をフィーチャーしたユニセックス・コレクションがリリース。"}},{"id":119,"content":{"link":"https://www.restir.com/newsletters_raw/20260828/9118/all?md=o\u0026s=res_dark","title":"MAME KUROGOUCHI / FETICO","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1787843941/restir/topics/2023/feti_mame_sp_bzmwqb.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1787843941/restir/topics/2023/feti_mame_pc_moy189.jpg","description":"AW26コレクションより\n新作がさらに到着。"}},{"id":118,"content":{"link":"https://www.restir.com/newsletters_raw/20260828/9116/all?md=o\u0026s=res_dark","title":"PLAY HARDER","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1787843130/restir/topics/2023/ph_sp_bacdyf.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1787843130/restir/topics/2023/ph_pc_m7o9dm.jpg","description":"カーハートやリーバイスなどのヴィンテージ素材を使用したブーツが、待望のリストック。"}},{"id":116,"content":{"link":"https://www.restir.com/newsletters_raw/20260827/9112/all?md=o\u0026s=res_dark","title":"MAISON MIHARA YASUHIRO","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1787819843/restir/topics/2023/mmy_pc_omtpjk.jpg","videoUrl":"","imagePcUrl":"","description":"「エリック」の新作がリリース \u0026 「ブレーキー」や「ピーターソン」の人気モデルもリストック。"}},{"id":114,"content":{"link":"https://www.restir.com/newsletters_raw/20260825/9106/all?md=o\u0026s=res_dark","title":"OAO","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1787636555/restir/topics/2023/oao_pc_qbtvdw.jpg","videoUrl":"","imagePcUrl":"","description":"シグネチャーモデルの“SUNLIGHT”、人気サンダルの“MONOLITH”\u0026 “NODE” がリストック。"}},{"id":115,"content":{"link":"https://www.restir.com/newsletters_raw/20260826/9108/all?md=o\u0026s=res_dark","title":"HIDAKA","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1787726603/restir/topics/2023/hidaka_sp_mliyhq.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1787726603/restir/topics/2023/hidaka_pc_mn6sbq.jpg","description":"新作リングウォッチ、\nヴィンテージウォッチベルトが到着。"}},{"id":111,"content":{"link":"https://www.restir.com/newsletters_raw/20260822/9099/all?md=o\u0026s=res_dark","title":"©SAINT MXXXXXX","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1787295093/restir/topics/2023/sint_pc_oikgll.jpg","videoUrl":"","imagePcUrl":"","description":"AW26 5th Drop / 「BAPE®」「火の鳥」「プラダを着た悪魔」をフィーチャーしたコレクションがリリース。"}},{"id":113,"content":{"link":"https://www.restir.com/newsletters_raw/20260824/9104/all?md=o\u0026s=res_dark","title":"HOMMEGIRLS","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1787548144/restir/topics/2023/og_sp_bbmrex.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1787548144/restir/topics/2023/og_pc_wmhxfz.jpg","description":"デイリーに取り入れたい、\n90sムード漂う新作が到着"}},{"id":112,"content":{"link":"https://www.restir.com/newsletters_raw/20260822/9102/all?md=o\u0026s=res_dark","title":"KAMIYA","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1787306929/restir/topics/2023/kamiya_sp_ademmk.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1787306930/restir/topics/2023/kamiya_pc_ad9nll.jpg","description":"AW26新作が到着。天然石ブレスレットが\nウィメンズサイズで登場。"}},{"id":110,"content":{"link":"https://www.restir.com/brand/b/7261","title":"MAISON MIHARA YASUHIRO","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1787361587/restir/topics/2023/mmy_sp_f3ajxh.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1787361587/restir/topics/2023/mmy_pc_lqv5hm.jpg","description":"AW26コレクション “ETERNAL NOW”\nより、1st デリバリーが到着。"}},{"id":108,"content":{"link":"https://www.restir.com/newsletters_raw/20260812/9083/all?md=o\u0026s=res_dark","title":"ON","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1786531127/restir/topics/2023/on_pc_t5pyrx.jpg","videoUrl":"","imagePcUrl":"","description":"”Cloudsoma Hike” “Cloudsoma Moc”など、AW26シーズンの新作が到着。"}},{"id":109,"content":{"link":"https://www.restir.com/newsletters_raw/20260813/9086/all?md=o\u0026s=res_dark","title":"MM6","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1786615776/restir/topics/2023/mm6_sp_hamkjt.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1786615776/restir/topics/2023/mm6_pc_yszxx9.jpg","description":"AW26コレクションより、キャップやバッグなどアクセサリー類がデリバリー。"}},{"id":103,"content":{"link":"https://www.restir.com/newsletters_raw/20260808/9073/all?md=o\u0026s=res_dark","title":"©SAINT MXXXXXX","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1786537138/restir/topics/2023/saint_sp_xte5nb.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1786537138/restir/topics/2023/saint_pc_fr4p8w.jpg","description":"AW26 4th Drop /「ファンタジア」「ダンボ」「Betty Boop™」をフィーチャーしたコレクションがリリース。"}},{"id":105,"content":{"link":"https://www.restir.com/brand/b/1062","t
2061itle":"SACAI","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1786023314/restir/topics/2023/sacai_pc_hmrftr.jpg","videoUrl":"","imagePcUrl":"","description":"AW26 4thデリバリー / 新作ドレスやプレイドフランネルシャツ、CLASSICSの定番アイテムが到着。"}},{"id":106,"content":{"link":"https://www.restir.com/newsletters_raw/20260808/9074/all?md=o\u0026s=res_dark","title":"FETICO","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1786023913/restir/topics/2023/fetico_sp_apewqu.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1786023913/restir/topics/2023/fetico_pc_g8kvvr.jpg","description":"クラシックなフロッキーレースシャツが到着。"}},{"id":104,"content":{"link":"https://www.restir.com/newsletters_raw/20260807/9070/all?md=o\u0026s=res_dark","title":"BEAUTIFUL PEOPLE\n× RESTIR","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1785998834/restir/topics/2023/bp_lcb_pc_ohgsws.jpg","videoUrl":"","imagePcUrl":"","description":"数量限定|エクスクルーシブモデル\n「Large Market Bag So Black」が登場。"}},{"id":107,"content":{"link":"https://www.restir.com/newsletters_raw/20260810/9081/all?md=o\u0026s=res_dark","title":"HEYEP","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1786340878/restir/topics/2023/heyep_sp_ml89dp.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1786341030/restir/topics/2023/heyep_pc_wud5dj.jpg","description":"エッジを効かせたレザー調\nヘアアクセサリーが登場。"}},{"id":100,"content":{"link":"https://www.restir.com/newsletters_raw/20260730/9058/all?md=o\u0026s=res_dark","title":"MAME KUROGOUCHI/\nCHIKA KISADA","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1785405301/restir/topics/2023/mame_chika_pc_sirboh.jpg","videoUrl":"","imagePcUrl":"","description":"AW26新作が到着。"}},{"id":98,"content":{"link":"https://www.restir.com/newsletters_raw/20260730/9059/all?md=o\u0026s=res_dark","title":"G-SHOCK","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1785405535/restir/topics/2023/g_shock_sp_ghol5l.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1785405534/restir/topics/2023/g-shock_pc_wjdrwx.jpg","description":"2026年最新モデルや、\nフルメタルシリーズが到着。"}},{"id":101,"content":{"link":"https://www.restir.com/newsletters_raw/20260731/9060/all?md=o\u0026s=res_dark","title":"MERRY FRIDAY","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1785473779/restir/topics/2023/mefri_sp_s7pjsa.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1785478843/restir/topics/2023/mefri_pc_qjl0hx.jpg","description":"暮らしを彩る、グラフィックコレクション。人気シリーズも再入荷。"}},{"id":102,"content":{"link":"https://www.restir.com/newsletters_raw/20260801/9061/all?md=o\u0026s=res_dark","title":"HEYEP","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1785481824/restir/topics/2023/heyep_sp_xgwer6.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1785481824/restir/topics/2023/heyep_pc_daizvh.jpg","description":"スタイリングにアクセントを\n添えるアイウェアが到着。"}},{"id":96,"content":{"link":"https://www.restir.com/newsletters_raw/20260724/9042/all?md=o\u0026s=res_dark","title":"FETICO","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1784814458/restir/topics/2023/fetico_pc_zaiml3.jpg","videoUrl":"","imagePcUrl":"","description":"2ndデリバリー/オリジナル柄の\nデニムドレスが到着。"}},{"id":92,"content":{"link":"https://www.restir.com/newsletters_raw/20260718/9034/all?md=o\u0026s=res_dark","title":"©SAINT MXXXXXX","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1784286181/restir/topics/2023/saint_pc_w0jvcv.jpg","videoUrl":"","imagePcUrl":"","description":"AW26 3rd Drop / 『トイ・ストーリー』や『チャッキー』をモチーフにしたコレクションがリリース。"}},{"id":93,"content":{"link":"https://www.restir.com/newsletters_raw/20260710/9019/all?md=o\u0026s=res_dark","title":"MAISON MIHARA YASUHIRO × RESTIR","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1783664025/restir/topics/2023/mmy_pc_mozdv2.jpg","videoUrl":"","imagePcUrl":"","description":"アイコニックな\n限定復刻Tシャツをリリース。"}},{"id":94,"content":{"link":"https://www.restir.com/newsletters_raw/20260717/9030/all?md=o\u0026s=res_green","title":"FOO TOKYO","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1784183911/restir/topics/2023/foo_sp_cmedsr.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1784183911/restir/topics/2023/foo_pc_jphxlo.jpg","description":"着心地だけでなくシルエットにã
2061‚‚\nこだわったインナーウェアが新入荷。"}},{"id":89,"content":{"link":"https://www.restir.com/newsletters_raw/20260718/9035/all?md=o\u0026s=res_dark","title":"MERRY FRIDAY","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1784268393/restir/topics/2023/mf_sp_h9d68b.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1784268393/restir/topics/2023/mf_pc_baq8rj.jpg","description":"日常を彩る韓国発\nスローケットブランドが到着。"}},{"id":85,"content":{"link":"https://www.restir.com/newsletters_raw/20260716/9031/all?md=o\u0026s=res_dark","title":"ADIDAS ORIGINALS","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1784169084/restir/topics/2023/adidas_sp_z7wybb.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1784169084/restir/topics/2023/adidas_pc_v7lmta.jpg","description":"遊び心溢れるケアベア\nコラボレーションが登場。"}},{"id":80,"content":{"link":"https://www.restir.com/brand/b/1062","title":"SACAI","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1783599455/restir/topics/2023/sacai_pc_arrkib.jpg","videoUrl":"","imagePcUrl":"","description":"AW26 3rd デリバリー / モハメド・アリの\nポートレートTシャツがリリース。"}},{"id":82,"content":{"link":"https://www.restir.com/newsletters_raw/20260707/9015/all?md=o\u0026s=res_dark","title":"\"TIME\" BY OFF-WHITE\nat RESTIR","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1783658581/restir/topics/2023/ow_sp_nhyui4.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1783658563/restir/topics/2023/ow_pc_dhipey.jpg","description":"ブランド初のウォッチコレクション\n\"TIME\" が世界同時ローンチ。"}},{"id":79,"content":{"link":"https://www.restir.com/newsletters_raw/20260704/9008/all?md=o\u0026s=res_dark","title":"MAME KUROGOUCHI / FETICO","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1783071478/restir/topics/2023/mame_feti_pc_aza11u.jpg","videoUrl":"","imagePcUrl":"","description":"AW26コレクション\nデリバリーがスタート。"}},{"id":75,"content":{"link":"https://www.restir.com/newsletters_raw/20260627/8999/all?md=o\u0026s=res_dark","title":"MONONOKE・MADE","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1782442263/restir/topics/2023/mononoke_pc_zdhrhh.jpg","videoUrl":"","imagePcUrl":"","description":"村上隆と細川雄太によるモノノケ・メイドより、2ndドロップがリリース。"}},{"id":74,"content":{"link":"https://www.restir.com/newsletters_raw/20260625/8989/all?md=o\u0026s=res_dark","title":"ON x PAF","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1782307714/restir/topics/2023/on_paf_pc_m27jqo.jpg","videoUrl":"","imagePcUrl":"","description":"OnとPAFの最新コラボフットウェア\n“Cloudboom Volt PAF”が販売解禁。"}},{"id":73,"content":{"link":"https://www.restir.com/newsletters_raw/20260623/8987/all?md=o\u0026s=res_dark","title":"ADIDAS ORIGINALS","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1782189520/restir/topics/2023/adidas_sp_ju2oyi.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1782189520/restir/topics/2023/adidas_pc_nxkoja.jpg","description":"ファレル・ウィリアムスとタッグを\n組んだシリーズに新色が登場。"}},{"id":71,"content":{"link":"https://www.restir.com/newsletters_raw/20260622/8985/all?md=o\u0026s=res_dark","title":"MIZUASOBI","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1782122774/restir/topics/2023/mizuasobi_sp_ftby5i.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1782122774/restir/topics/2023/mizuasobi_pc_ctzp1e.jpg","description":"大人のためのサステナブルスイムウェアが\nリステアオンラインに登場。"}},{"id":72,"content":{"link":"https://www.restir.com/newsletters_raw/20260623/8986/all?md=o\u0026s=res_dark","title":"PUMA","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1782189520/restir/topics/2023/puma_sp_aawkdi.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1782189520/restir/topics/2023/puma_pc_n1oid8.jpg","description":"新作SPEEDCAT MULE WNSが到着。"}},{"id":69,"content":{"link":"https://www.restir.com/newsletters_raw/20260612/8964/all?md=o\u0026s=res_dark","title":"MAISON MIHARA YASUHIRO","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1781245895/restir/topics/2023/mmy_pc_wey7oc.jpg","videoUrl":"","imagePcUrl":"","description":"初登場の「エリック」や「ベーカー」の新型がリリース \u0026 「ピーターソン」のナチュラルカラーもリストック。"}},{"id":68,"content":{"link":"https://www.restir.com/newsletters_raw/20260605/8951/all?md=o\u0026s=res_dark","title":"THAMES MMXX.","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1781189904/restir/topics/2023/tm_sp_pcy4iy.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1781189905/restir/topics/2023/tm_pc_byxkci.jpg","description":"SS26コレクション “AGAINST the WORLD.”より、ポップなカラーリングのサマーアイテムがリリース。"}},{"id":63,"content":{"link":"https://www.restir.com/newsletters_raw/20260530/8940/all?md=o\u0026s=res_dark","title":"LLOUD","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1780038996/restir/topics/2023/lloud_sp_myoehp.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1780038996/restir/topics/2023/lloud_pc_clepfa.jpg","description":"BLACKPINK LISAが手掛ける\nコレクションがRESTIR ONLINEに登場。"}},{"id":59,"content":{"link":"https://www.restir.com/newsletters_raw/20260523/8930/all?md=o\u0026s=res_dark","title":"JORDAN BRAND × ©SAINT MXXXXXX","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1779431677/restir/topics/2023/sant_pc_vptmbq.jpg","videoUrl":"","imagePcUrl":"","description":"ジョーダンブランドとのコラボレーション\nアイテム“(TIME) CAPSULE”がリリース。"}},{"id":65,"content":{"link":"https://www.restir.com/newsletters_raw/20260604/8947/all?md=o\u0026s=res_dark","title":"OPEN FOLDERS","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1780558022/restir/topics/2023/of_sp_vqallp.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1780558022/restir/topics/2023/of_pc_w1uren.jpg","description":"RADIO EVA x IKUMI KAKIIHARAの\nトリプルコラボが登場。"}},{"id":60,"content":{"link":"https://www.restir.com/newsletters_raw/20260522/8932/all?md=o\u0026s=res_dark","title":"HAVAIANAS x ISABEL MARANT","imageUrl":"https://res.cloudinary.com/restir/image/upload/v177943
20610974/restir/topics/2023/hawai_pc_xevbhe.jpg","videoUrl":"","imagePcUrl":"","description":"イザベル マランとの限定\nビーチサンダルコレクションが登場。"}},{"id":57,"content":{"link":"https://www.restir.com/newsletters_raw/20260521/8929/all?md=o\u0026s=res_dark","title":"MAISON MIHARA YASUHIRO","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1779356179/restir/topics/2023/mmy_pc_xnjsdg.jpg","videoUrl":"","imagePcUrl":"","description":"「チャールズ」や「ブレーキー」の\n新作がリリース \u0026 定番モデルもリストック。"}},{"id":55,"content":{"link":"https://www.restir.com/newsletters_raw/20260516/8924/all?md=o\u0026s=res_dark","title":"©SAINT MXXXXXX","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1778828565/restir/topics/2023/saint_pc_qrvkgg.jpg","videoUrl":"","imagePcUrl":"","description":"SS26 Final Drop /  BerBerJinやHTCとの\nコラボ・レザーアイテムがリリース。"}},{"id":56,"content":{"link":"https://www.restir.com/newsletters_raw/20260515/8923/all?md=o\u0026s=res_dark","title":"NEW AMSTERDAM","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1778828564/restir/topics/2023/na_wp_tdgmw3.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1778828564/restir/topics/2023/na_pc_vsuwzu.jpg","description":"高級リゾート地のパームビーチを\nテーマにしたサマーアイテムが到着。"}},{"id":53,"content":{"link":"https://www.restir.com/newsletters_raw/20260507/8911/all?md=o\u0026s=res_dark","title":"PUMA","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1778134066/restir/topics/2023/puma_sp_rbbb9s.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1778134065/restir/topics/2023/puma_pc_d7gqhs.jpg","description":"BLACK PINK ROSE着用/メタリックな\nアクセントがきいたH-STREETが到着。"}},{"id":51,"content":{"link":"https://www.restir.com/newsletters_raw/20260502/8904/all?md=o\u0026s=res_dark","title":"BASICKS","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1777629330/restir/topics/2026/basicks_sp_sl0cyw.jpg","videoUrl":"","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1777629331/restir/topics/2026/basicks_pc_obgzna.jpg","description":"NEW ERAとMLBとの\nトリプルコラボキャップがリリース。"}},{"id":50,"content":{"link":"https://www.restir.com/newsletters_raw/20260410/8866/all?md=o\u0026s=res_dark","title":"MONONOKE・MADE","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1775871150/restir/topics/2023/mononoke_sp_3_ri2ird.jpg","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1775870956/restir/topics/2023/mononoke_pc_3_aqlmty.jpg","description":"世界的なアーティスト・村上隆とREADYMADE/©SAINT Mxxxxxxデザイナー・細川雄太による特別なプロジェクトの1st Drop。"}},{"id":39,"content":{"link":"https://www.restir.com/newsletters_raw/20260424/8885/all?md=o\u0026s=res_dark","title":"OPEN YY","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1777005197/restir/topics/2023/sp_openyy_fqhjcw.jpg","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1777005197/restir/topics/2023/pc_openyy_nipjkv.jpg","description":"SS26コレクションより、\n遊び心溢れる新作が到着。"}},{"id":38,"content":{"link":"https://www.restir.com/newsletters_raw/20260422/8880/all?md=o\u0026s=res_dark","title":"FOREVER EVER","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1776834918/restir/topics/2023/ever_sp_ha7ta0.jpg","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1776834918/restir/topics/2023/ever_pc_cohsqd.jpg","description":"SWJPとコラボレーションした\n新作アートだるまが登場。"}},{"id":37,"content":{"link":"https://www.restir.com/newsletters_raw/20260418/8876/all?md=o\u0026s=res_dark","title":"POST ARCHIVE FACTION","imageUrl":"https://res.cloudinary.com/restir/image/upload/q_auto/f_auto/v1776419569/restir/topics/2023/paf_sp_hvcf8d.jpg","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/q_auto/f_auto/v1776419569/restir/topics/2023/paf_pc_diyfss.jpg","description":"ソウル発のメンズウェアブランド”PAF”より、ピッティで発表されたSS26コレクションが到着。"}},{"id":36,"content":{"link":"https://www.restir.com/newsletters_raw/20260417/8875/all?md=o\u0026s=res_dark","title":"ADIDAS ORIGINALS BY WALES BONNER","imageUrl":"https://res.cloudinary.com/restir/image/upload/q_auto/f_auto/v1776416629/restir/topics/2023/adidas_y3vcmq.jpg","imagePcUrl":"","description":"サッカーカルチャーを表現した\nSS26コレクションがリリース。"}},{"id":35,"content":{"link":"https://www.restir.com/newsletters_raw/20260417/8874/all?md=o\u0026s=res_dark","title":"HIDAKA","imageUrl":"https://res.cloudinary.com/restir/image/upload/q_auto/f_auto/v1776410143/restir/topics/2023/hidaka_sp_wolvth.jpg","
2061imagePcUrl":"https://res.cloudinary.com/restir/image/upload/q_auto/f_auto/v1776410143/restir/topics/2023/hidaka_pc_wvyn2x.jpg","description":"ウィットに富んだアクセサリーが\nリステアに初登場。"}},{"id":34,"content":{"link":"https://www.restir.com/newsletters_raw/20260415/8870/all?md=o\u0026s=res_dark","title":"YUMEKUMO x BASICKS","imageUrl":"https://res.cloudinary.com/restir/image/upload/q_auto/f_auto/v1776161732/restir/topics/2023/yumekumo_pc_cdbft5.jpg","imagePcUrl":"","description":"コラボレーション\n最新作が販売開始。"}},{"id":32,"content":{"link":"https://www.restir.com/newsletters_raw/20260413/8863/all?md=o\u0026s=res_dark","title":"CONVERSE ADDICT","imageUrl":"https://res.cloudinary.com/restir/image/upload/q_auto/f_auto/v1775808136/restir/topics/2023/conv_sp_bm8xqi.jpg","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/q_auto/f_auto/v1775808136/restir/topics/2023/conv_pc_gmwtn0.jpg","description":"\"CHUCK TAYLOR CANVAS OX\" \u0026 \"CHUCK TAYLOR MATERIAL OX\"がオンライン・リリース。"}},{"id":33,"content":{"link":"https://www.restir.com/newsletters_raw/20260412/8862/all?md=o\u0026s=res_dark","title":"PUMA×MASU","imageUrl":"https://res.cloudinary.com/restir/image/upload/q_auto/f_auto/v1775812065/restir/topics/2023/puma_pc2_wnqyir.jpg","imagePcUrl":"","description":"コラボレーションコレクション\n第二弾が到着。"}},{"id":31,"content":{"link":"https://www.restir.com/newsletters_raw/20260410/8867/all?md=o\u0026s=res_dark","title":"©SAINT MXXXXXX","imageUrl":"https://res.cloudinary.com/restir/image/upload/q_auto/f_auto/v1775805830/restir/topics/2023/saint_sp_uzicna.jpg","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/q_auto/f_auto/v1775805830/restir/topics/2023/saint_pc_zr2e1n.jpg","description":"SS26 7th Drop / THE STONE ROSESやKOSUKE KAWAMURAとのコラボレーションアイテムがリリース。"}},{"id":29,"content":{"link":"https://www.restir.com/newsletters_raw/20260411/8861/all?md=o\u0026s=res_dark","title":"ADIDAS ORIGINALS","imageUrl":"https://res.cloudinary.com/restir/image/upload/q_auto/f_auto/v1775808203/restir/topics/2023/adidas_sp_bw59m2.jpg","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/q_auto/f_auto/v1775808203/restir/topics/2023/adidas_pc_es4tge.jpg","description":"ファレル・ウィリアムスとのコラボレーションによる“VIRGINIA”の新作がリリース。"}},{"id":30,"content":{"link":"https://www.restir.com/newsletters_raw/20260409/8858/all?md=o\u0026s=res_dark","title":"JARDIN DES CHEVEUX","imageUrl":"https://res.cloudinary.com/restir/image/upload/q_auto/f_auto/v1775716930/restir/topics/2023/heyep_sp_ypiwvt.jpg","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/q_auto/f_auto/v1775716929/restir/topics/2023/heyep_pc_mgzdfh.jpg","description":"ガーリーで気品あふれる\n新作ヘアアクセサリーが到着。"}},{"id":28,"content":{"link":"https://www.restir.com/newsletters_raw/20260404/8849/all?md=o\u0026s=res_dark","title":"NO/FAITH STUDIOS x PUMA","imageUrl":"https://res.cloudinary.com/restir/image/upload/q_auto/f_auto/v1775188758/restir/topics/2023/puma_sp_gebbcl.jpg","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/q_auto/f_auto/v1775188758/restir/topics/2023/puma_pc_wvumev.jpg","description":"プーマとドイツ/パリを拠点とする気鋭ブランドのコラボモデル \"BEISSER BROWN” がリリース。"}},{"id":27,"content":{"link":"https://www.restir.com/newsletters_raw/20260403/8850/all?md=o\u0026s=res_dark","title":"SELF-PORTRAIT","imageUrl":"https://res.cloudinary.com/restir/image/upload/q_auto/f_auto/v1775188501/restir/topics/2023/self_sp_x7qoaj.jpg","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/q_auto/f_auto/v1775188501/restir/topics/2023/self_pc_hhhx4h.jpg","description":"特別な日に映える\nドレスが到着。"}},{"id":25,"content":{"link":"https://www.restir.com/newsletters_raw/20260401/8843/all?md=o\u0026s=res_dark","title":"OPEN YY","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1775013693/restir/topics/2023/open_yy_sp_flwga7.jpg","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1775013804/restir/topics/2023/open_yy_pc_k4cugr.jpg","description":"多くのアーティストから支持される\n韓国発ブランドが初登場。"}},{"id":26,"content":{"link":"https://www.restir.com/newsletters_raw/20260330/8839/all?md=o\u0026s=res_dark","title":"©SAINT MXXXXXX","imageUrl":"https://res.cloudinary.com/restir/image/upload/q_auto/f_auto/v1774603591/restir/topics/2023/sm_pc_gvvvo3.jpg","imagePcUrl":"","description":"SS26 6th Drop / 『進撃の巨人』とのコラボレーションアイテムがリリース。"}},{"id":24,"content":{"link":"https://www.restir.com/newsletters_raw/20260327/8838/all?md=o\u0026s=res_dark","title":"MAISON MIHARA YASUHIRO","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1774846865/restir/topics/2023/mmy_pc_01_pafsxz.jpg","imagePcUrl":"","description":"SS26 2nd デリバリー / 「普通の人々」をテーマにしたコレクションより、異素材を組み合わせた「コンバイン」シリーズが到着。"}},{"id":23,"content":{"link":"https://www.restir.com/newsletters_raw/20260327/8837/all?md=o\u0026s=res_dark","title":"MAME KUROGOUCHI / FETICO","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1774587593/restir/topics/2023/mame_fetico_sp_ium2ae.jpg","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1774586737/restir/topics/2023/mame_fetico_pc_apdutf.jpg","description":"SS26コレクションより\nニューデリバリーが到着。"}},{"id":21,"content":{"link":"https://www.restir.com/newsletters_raw/20260326/8833/all?md=o\u0026s=res_dark","title":"OAO","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1774497910/restir/topics/2023/oao_sp_cssx0w.jpg","
2061imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1774497879/restir/topics/2023/oao_pc_sfelc8.jpg","description":"シグネチャーモデルの\n”SUNLIGHT”がリストック"}},{"id":22,"content":{"link":"https://www.restir.com/newsletters_raw/20260324/8831/all?md=o\u0026s=res_dark","title":"MAISON MIHARA YASUHIRO","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1774346427/restir/topics/2023/mmy_pc_tklarf.jpg","imagePcUrl":"","description":"定番モデルの「ブレーキー」や人気急上昇中の「ラリー」がリストック。"}},{"id":20,"content":{"link":"https://www.restir.com/newsletters_raw/20260320/8824/all?md=o\u0026s=res_dark","title":"_J.L-A.L_ x PUMA","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1773907816/restir/topics/2023/puma_pc_dcav85.jpg","imagePcUrl":"","description":"プーマと気鋭ブランドによるコラボモデル “CELL Geo 1 Umbre \u0026 Midnight”がリリース。"}},{"id":19,"content":{"link":"https://www.restir.com/newsletters_raw/20260321/8823/all?md=o\u0026s=res_dark","title":"VANS","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1773907809/restir/topics/2023/vans_pc2_cm9cid.jpg","imagePcUrl":"","description":"プレミアムラインより、スタッズやラインストーンを施した”PEARLIZED PACK”がリリース。"}},{"id":17,"content":{"link":"https://www.restir.com/newsletters_raw/20260320/8828/all?md=o\u0026s=res_dark","title":"MUKCYEN","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1773907718/restir/topics/2023/mukcyen_sp_lecoun.jpg","imagePcUrl":"https://res.cloudinary.com/restir/image/upload/v1773907688/restir/topics/2023/mukcyen_pc_h1arqi.jpg","description":"身体と衣服の境界をテーマにした\n新鋭ブランドがリステアに登場。"}},{"id":18,"content":{"link":"https://www.restir.com/newsletters_raw/20260320/8822/all?md=o\u0026s=res_dark","title":"©SAINT MXXXXXX","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1773837995/restir/topics/2023/sm_pc_fobxt6.jpg","imagePcUrl":"","description":"SS26 5th Drop / ジョン・レノンやジェイミー・リードとのコラボアイテムがリリース。"}},{"id":16,"content":{"link":"https://www.restir.com/brand/b/1062","title":"SACAI","imageUrl":"https://res.cloudinary.com/restir/image/upload/v1773909311/restir/topics/2023/sacai_pc_qshs9n.jpg","imagePcUrl":"","description":"SS26コレクションより、レトロポップなストライプTシャツや素材ミックスのマキシドレスが登場。"}}],
2062      showIntroVideo: true,
2063    },
2064    computed: {
2065      topicList: function () {
2066        if (this.pageDataTopicList.length === 0) {
2067          return []
2068        }
2069
2070        return this.pageDataTopicList.map(function (topic) {
2071          var content = topic.content
2072          if (content.show === false) {
2073            return null
2074          }
2075
2076          if (content.openStartedAt) {
2077            var openStartedAt = moment.utc(content.openStartedAt)
2078            if (moment().isBefore(openStartedAt)) {
2079              return null
2080            }
2081          }
2082          if (content.openEndedAt) {
2083            var openEndedAt = moment.utc(content.openEndedAt)
2084            if (moment().isAfter(openEndedAt)) {
2085              return null
2086            }
2087          }
2088
2089          var result = Object.assign(content, {id: topic.id})
2090          return result
2091        }).filter(Boolean)
2092      },
2093      firstTopic: function () {
2094        if (this.topicList.length > 0) {
2095          return this.topicList[0]
2096        } else {
2097          return null
2098        }
2099      },
2100      remainTopicList: function () {
2101        if (this.topicList.length > 1) {
2102          return this.topicList.slice(1, 6)
2103        } else {
2104          return []
2105        }
2106      },
2107    },
2108    mounted: function () {
2109      var self = this
2110      setTimeout(function () {
2111        self.showIntroVideo = false
2112        // self.showChannelTalkButton()
2113      }, 3000)
2114    },
2115    methods: {
2116      // showChannelTalkButton: function () {
2117      //   ChannelIO('showChannelButton')
2118      // }
2119    }
2120  })
2121</script>
2121
2122
2123  <link rel="stylesheet" media="screen" href="/assets/footer-069aa898e532ae0015690f11b376846553e245b1cfcad11073585b775fe0944d.css" />
2124<footer id="footer">
2125  <template v-if="isMobile">
2126    <footer-sp @submit="handleSubmit" :message="message" :success="success"></footer-sp>
2127  </template>
2128  <template v-else>
2129    <footer-pc @submit="handleSubmit" :message="message" :success="success"></footer-pc>
2130  </template>
2131</footer>
2132<script type="text/x-template" id="footer-pc-template">
2133  <div class="footer-box-container">
2134    <!-- about us -->
2135    <div class="footer-box">
2136      <div class="heading">
2137        <p>
2138          ABOUT US
2139        </p>
2140      </div>
2141      <ul>
2142        <li>
2143          <a href="/corporation/company">会社概要</a>
2144        </li>
2145        <li>
2146          <a href="/corporation/section">事業紹介</a>
2147        </li>
2148        <li>
2149          <a href="/corporation/event-archive">アーカイブ</a>
2150        </li>
2151        <li>
2152          <a href="/corporation/storeinfo">店舗情報</a>
2153        </li>
2154        <li>
2155          <a href="/corporation/recruit">採用情報</a>
2156        </li>
2157        <li>
2158          <a href="/corporation/contact">お問い合わせ</a>
2159        </li>
2160        <li>
2161          <a href="/news/20250825_01">重要なお知らせ</a>
2162        </li>
2163              </ul>
2164    </div>
2165    <!-- shopping guide -->
2166    <div class="footer-box">
2167      <div class="heading">
2168        <p>
2169          SHOPPING GUIDE
2170        </p>
2171      </div>
2172      <ul>
2173        <li>
2174          <a href="/aboutus/members_service">メンバーズサービス</a>
2175        </li>
2176        <li>
2177          <a href="/guide/order">ご注文について</a>
2178        </li>
2179        <li>
2180          <a href="/guide/goods">掲載商品について</a>
2181        </li>
2182        <li>
2183          <a href="/guide/delivery">配送について</a>
2184        </li>
2185        <li>
2186          <a href="/guide/payment">お支払いについて</a>
2187        </li>
2188        <li>
2189          <a href="/guide/change">返品・交換について</a>
2190        </li>
2191        <li>
2192          <a href="/guide/member">会員登録について</a>
2193        </li>
2194        <li>
2195          <a href="/guide/inquiry">カスタマーサービス</a>
2196        </li>
2197        <li>
2198          <a href="/aboutus/regal">特定商取引法に基づく表示</a>
2199        </li>
2200        <li>
2201          <a href="/aboutus/privacy">Privacy Policy</a>
2202        </li>
2203        <li>
2204          <a href="/aboutus/terms">利用規約</a>
2205        </li>
2206      </ul>
2207    </div>
2208    <!-- info -->
2209    <div class="footer-box">
2210      <div class="heading">
2211        <p>
2212          SHOP INFO.
2213        </p>
2214      </div>
2215      <ul>
2216        <li>
2217          <a href="/corporation/section/restir/">RESTIR BOUTIQUE</a>
2218        </li>
2219        <li>
2220          <a href="/corporation/section/lecielbleu/">LE CIEL BLEU</a>
2221        </li>
2222      </ul>
2223    </div>
2224    <!-- newsletter -->
2225    <div class="footer-box newsletter" id="newsletter">
2226      <div class="heading">
2227        NEWSLETTER
2228      </div>
2229      <div class="email-check">
2230        <input type="checkbox" id="checkbox01-ft-pc" checked="checked" v-model="nlForm.nl_type_ec"/>
2231        <label for="checkbox01-ft-pc">RESTIR</label><br>
2232
2233        <input type="checkbox" id="checkbox02-ft-pc" v-model="nlForm.nl_type_lcb"/>
2234        <label for="checkbox02-ft-pc">LE CIEL BLEU</label><br>
2235
2236        <input type="checkbox" id="checkbox03-ft-pc" v-model="nlForm.nl_type_outlet"/>
2237        <label for="checkbox03-ft-pc">OUTLET</label>
2238      </div>
2239      <div class="email-input">
2240        <input type="text"
2241               v-model="nlForm.email"
2242               placeholder="Your mail address"/>
2243        <button @click="handleSubmit"></button>
2244      </div>
2245      <div v-if="message" class="email-error-message">
2246        {{ message }}
2247      </div>
2248    </div>
2249    <!-- app -->
2250    <div class="footer-box">
2251      <div class="heading">
2252        RESTIR APP
2253      </div>
2254      <div class="app-box">
2255        <a href="/restir_app/">iOS & Android 対応のRESTIR アプリ</a>
2256      </div>
2257      <!-- sns -->
2258      <div class="heading">
2259        FOLLOW
2260      </div>
2261      <div class="sns-box">
2262        <div class="sns-box-item">
2263          <a href="https://www.facebook.com/RESTIR-143616645686619" target="_blank">
2264            <img src="https://cdn.restir.com/sns/facebook-60.png" alt="facebook" class="icon">
2265          </a>
2266        </div>
2267        <div class="sns-box-item">
2268          <a href="https://www.instagram.com/restirofficial/" target="_blank">
2269            <img src="https://cdn.restir.com/sns/instagram-60.png" alt="instagram" class="icon">
2270          </a>
2271        </div>
2272      </div>
2273      <!-- copyright -->
2274      <div class="copyright">
2275        Restir Inc. all rights reserved.
2276      </div>
2277    </div>
2278  </div>
2279</script>
vendor: 1 bytes, line 2279
2279
2280<script>
2281  Vue.component('footer-pc', {
2282    name: 'FooterPc',
2283    template: '#footer-pc-template',
2284    props: {
2285      message: {
2286        type: String
2287      },
2288      success: {
2289        type: Boolean
2290      }
2291    },
2292    watch: {
2293      success: function(newVal) {
2294        if (newVal) {
2295          this.nlForm.email = ''
2296        }
2297      }
2298    },
2299    data: function() {
2300      return {
2301        nlForm: {
2302          nl_type_ec: true,
2303          nl_type_lcb: true,
2304          nl_type_outlet: true,
2305          email: ''
2306        }
2307      }
2308    },
2309    methods: {
2310      handleSubmit: _.debounce(function() {
2311        this.$emit('submit', this.nlForm)
2312      }, 400)
2313    }
2314  })
2315</script>
2315
2316
2317<script type="text/x-template" id="footer-sp-template">
2318  <div class="footer-box-container">
2319    <!-- newsletter -->
2320    <div class="footer-box newsletter" id="newsletter">
2321      <div class="heading -sm-pb">
2322        NEWSLETTER
2323      </div>
2324      <div class="email-input-block">
2325        <div class="email-input">
2326          <input type="text"
2327                 v-model="nlForm.email"
2328                 placeholder="Your mail address"/>
2329          <button @click="handleSubmit"></button>
2330        </div>
2331        <div v-if="message" class="email-error-message">
2332          {{ message }}
2333        </div>
2334      </div>
2335      <div class="email-check">
2336        <div class="-left">
2337          <input type="checkbox" id="checkbox01-ft-sp" checked="checked" v-model="nlForm.nl_type_ec"/>
2338          <label for="checkbox01-ft-sp">RESTIR</label>
2339        </div>
2340        <div>
2341          <input type="checkbox" id="checkbox02-ft-sp" v-model="nlForm.nl_type_lcb"/>
2342          <label for="checkbox02-ft-sp">LE CIEL BLEU</label>
2343        </div>
2344      </div>
2345      <div class="email-check">
2346        <div class="-left">
2347          <input type="checkbox" id="checkbox03-ft-sp" v-model="nlForm.nl_type_outlet"/>
2348          <label for="checkbox03-ft-sp">OUTLET</label>
2349        </div>
2350      </div>
2351    </div>
2352    <!-- app -->
2353    <div class="footer-box">
2354      <div class="heading -sm-pb">
2355        RESTIR APP
2356      </div>
2357      <div class="app-box">
2358        <a href="/restir_app/">iOS & Android 対応のRESTIR アプリ</a>
2359      </div>
2360    </div>
2361
2362    <hr>
2363
2364    <!-- shopping guide -->
2365    <div class="footer-box">
2366      <div class="heading" @click="open_shopping_guide = !open_shopping_guide">
2367        <p>
2368          SHOPPING GUIDE
2369        </p>
2370        <span class="down -sp-only">
2371        <i :class="{ icon_plus: !open_shopping_guide, icon_minus: open_shopping_guide}"></i>
2372      </span>
2373      </div>
2374      <transition name="slide-fade">
2375        <ul v-if="open_shopping_guide">
2376          <li>
2377            <a href="/aboutus/members_service">メンバーズサービス</a>
2378          </li>
2379          <li>
2380            <a href="/guide/order">ご注文について</a>
2381          </li>
2382          <li>
2383            <a href="/guide/goods">掲載商品について</a>
2384          </li>
2385          <li>
2386            <a href="/guide/delivery">配送について</a>
2387          </li>
2388          <li>
2389            <a href="/guide/payment">お支払いについて</a>
2390          </li>
2391          <li>
2392            <a href="/guide/change">返品・交換について</a>
2393          </li>
2394          <li>
2395            <a href="/guide/member">会員登録について</a>
2396          </li>
2397          <li>
2398            <a href="/guide/inquiry">カスタマーサービス</a>
2399          </li>
2400          <li>
2401            <a href="/aboutus/regal">特定商取引法に基づく表示</a>
2402          </li>
2403          <li>
2404            <a href="/aboutus/privacy">Privacy Policy</a>
2405          </li>
2406          <li>
2407            <a href="/aboutus/terms">利用規約</a>
2408          </li>
2409        </ul>
2410      </transition>
2411    </div>
2412    <!-- about us -->
2413    <div class="footer-box">
2414      <div class="heading" @click="open_about_us = !open_about_us">
2415        <a>
2416          ABOUT US
2417        </a>
2418        <span class="down -sp-only">
2419        <i :class="{ icon_plus: !open_about_us, icon_minus: open_about_us}"></i>
2420      </span>
2421      </div>
2422      <transition name="slide-fade">
2423        <ul v-if="open_about_us">
2424          <li>
2425            <a href="/corporation/company">会社概要</a>
2426          </li>
2427          <li>
2428            <a href="/corporation/section">事業紹介</a>
2429          </li>
2430          <li>
2431            <a href="/corporation/event-archive">アーカイブ</a>
2432          </li>
2433          <li>
2434            <a href="/corporation/storeinfo">店舗情報</a>
2435          </li>
2436          <li>
2437            <a href="/corporation/recruit">採用情報</a>
2438          </li>
2439          <li>
2440            <a href="/corporation/contact">お問い合わせ</a>
2441          </li>
2442          <li>
2443            <a href="/news/20250825_01">重要なお知らせ</a>
2444          </li>
2445                  </ul>
2446      </transition>
2447    </div>
2448    <!-- info -->
2449    <div class="footer-box">
2450      <div class="heading" @click="open_shop_info = !open_shop_info">
2451        <p>
2452          SHOP INFO.
2453        </p>
2454        <span class="down -sp-only">
2455        <i :class="{ icon_plus: !open_shop_info, icon_minus: open_shop_info}"></i>
2456      </span>
2457      </div>
2458      <transition name="slide-fade">
2459        <ul v-if="open_shop_info">
2460          <li>
2461            <a href="/corporation/section/restir/">RESTIR BOUTIQUE</a>
2462          </li>
2463          <li>
2464            <a href="/corporation/section/lecielbleu/">LE CIEL BLEU</a>
2465          </li>
2466        </ul>
2467      </transition>
2468    </div>
2469    <!-- sns  & copyright -->
2470    <div class="footer-box">
2471      <!-- sns  -->
2472      <div class="sns-box">
2473        <div class="sns-box-item">
2474          <a href="https://www.facebook.com/RESTIR-143616645686619" target="_blank">
2475            <img src="https://cdn.restir.com/sns/facebook-60.png" alt="facebook" class="icon">
2476          </a>
2477        </div>
2478        <div class="sns-box-item">
2479          <a href="https://www.instagram.com/restirofficial/" target="_blank">
2480            <img src="https://cdn.restir.com/sns/instagram-60.png" alt="instagram" class="icon">
2481          </a>
2482        </div>
2483      </div>
2484      <!-- copyright -->
2485      <div class="copyright">
2486        Restir Inc. all rights reserved.
2487      </div>
2488    </div>
2489  </div>
2490</script>
vendor: 1 bytes, line 2490
2490
2491<script>
2492  Vue.component('footer-sp', {
2493    name: 'FooterSp',
2494    template: '#footer-sp-template',
2495    props: {
2496      message: {
2497        type: String
2498      },
2499      success: {
2500        type: Boolean
2501      }
2502    },
2503    watch: {
2504      success: function(newVal) {
2505        if (newVal) {
2506          this.nlForm.email = ''
2507        }
2508      }
2509    },
2510    data: function() {
2511      return {
2512        open_about_us: false,
2513        open_shopping_guide: false,
2514        open_shop_info: false,
2515        nlForm: {
2516          nl_type_ec: true,
2517          nl_type_lcb: true,
2518          nl_type_outlet: true,
2519          email: ''
2520        }
2521      }
2522    },
2523    methods: {
2524      handleSubmit: _.debounce(function() {
2525        this.$emit('submit', this.nlForm)
2526      }, 400)
2527    }
2528  })
2529</script>
2529
2530
2531
2532<script>
2533  var EMAIL_TYPES = {
2534    'ec': ['1'],
2535    'lcb': ['10'],
2536    'outlet': ['11', '14'],
2537  }
2538
2539  var newsletterEntryApiHost = 'https://www.restir.com/'
2540
2541  new Vue({
2542    name: 'Footer',
2543    el: '#footer',
2544    computed: {
2545      isMobile: function () {
2546        return vueResponsive.isMobile
2547      }
2548    },
2549    data: function () {
2550      return {
2551        message: '',
2552        success: false,
2553        hashScrollTimeouts: []
2554      }
2555    },
2556    mounted: function () {
2557      this.hashScrollHandler = this.scheduleHashScroll.bind(this)
2558      this.hashScrollHandler()
2559      window.addEventListener('hashchange', this.hashScrollHandler)
2560    },
2561    beforeDestroy: function () {
2562      if (this.hashScrollHandler) {
2563        window.removeEventListener('hashchange', this.hashScrollHandler)
2564      }
2565      this.clearHashScrollTimeouts()
2566    },
2567    methods: {
2568      scheduleHashScroll: function () {
2569        if (window.location.hash !== '#newsletter') {
2570          return
2571        }
2572        this.clearHashScrollTimeouts()
2573        var self = this
2574        ;[0, 300, 800, 1500].forEach(function (delay) {
2575          self.hashScrollTimeouts.push(setTimeout(function () {
2576            self.scrollToHashTarget()
2577          }, delay))
2578        })
2579      },
2580      clearHashScrollTimeouts: function () {
2581        if (!this.hashScrollTimeouts.length) {
2582          return
2583        }
2584        this.hashScrollTimeouts.forEach(function (timeoutId) {
2585          clearTimeout(timeoutId)
2586        })
2587        this.hashScrollTimeouts = []
2588      },
2589      scrollToHashTarget: function () {
2590        if (window.location.hash !== '#newsletter') {
2591          return
2592        }
2593        this.$nextTick(function () {
2594          var target = document.getElementById('newsletter')
2595          if (!target) {
2596            return
2597          }
2598          target.scrollIntoView()
2599        })
2600      },
2601      handleSubmit: function (nlForm) {
2602        var self = this
2603
2604        // reset message
2605        self.message = ''
2606
2607        var email = nlForm.email
2608        var nl_type_ec = nlForm.nl_type_ec
2609        var nl_type_lcb = nlForm.nl_type_lcb
2610        var nl_type_outlet = nlForm.nl_type_outlet
2611
2612        if (!email) {
2613          self.message = 'Eメールを入力してください'
2614          return
2615        }
2616        var valid = /^[-!#$%&'*+\/0-9=?A-Z^_a-z{|}~](\.?[-!#$%&'*+\/0-9=?A-Z^_a-z`{|}~])*@[a-zA-Z0-9](-?\.?[a-zA-Z0-9])*\.[a-zA-Z](-?[a-zA-Z0-9])+$/.test(email)
2617        if (!valid) {
2618          self.message = 'Eメールをご確認ください'
2619          return
2620        }
2621
2622        var email_types = []
2623        if (nl_type_ec) {
2624          email_types = _.concat(email_types, EMAIL_TYPES.ec)
2625        }
2626        if (nl_type_lcb) {
2627          email_types = _.concat(email_types, EMAIL_TYPES.lcb)
2628        }
2629        if (nl_type_outlet) {
2630          email_types = _.concat(email_types, EMAIL_TYPES.outlet)
2631        }
2632
2633        recaptchaExecute('nl_footer').then(function (token) {
2634          var nLParams = {
2635            email: email,
2636            email_types: email_types
2637          }
2638          var recaptchaParams = {
2639            recaptcha_token: token,
2640            recaptcha_version: 'v3'
2641          }
2642          var params = Object.assign({}, nLParams, recaptchaParams)
2643
2644          return axios.post(newsletterEntryApiHost + 'newsletter_entry', params)
2645            .then(function (res) {
2646              self.success = true
2647              self.message = 'ご登録ありがとうございます'
2648              self.$nextTick(function () {
2649                self.success = false
2650              })
2651            }).catch(function (err) {
2652              self.success = false
2653              self.message = handleResponseError(err)[0]
2654            })
2655        })
2656      }
2657    }
2658  })
2659</script>
2659
2660
2661  
2662<script type="application/ld+json">
2663{
2664  "@context": "http://schema.org",
2665  "@type": "WebSite",
2666  "url": "https://www.restir.com/",
2667  "potentialAction": {
2668    "@type": "SearchAction",
2669    "target": "https://www.restir.com/search?keyword={keyword}",
2670    "query-input": "name=keyword"
2671  }
2672}
2673</script>
2673
2674
2675
2676
2677
2678</div>
2679<script>
2680  ytag({
2681    "type": "yss_retargeting",
2682    "config": {
2683      "yahoo_ss_retargeting_id": "1001131504",
2684      "yahoo_sstag_custom_params": {}
2685    }
2686  });
2687</script>
2687
2688
2689    
2689<script type="text/javascript">
2690    var googleRemarketingTagParams = {
2691      ecomm_prodid: '',
2692      ecomm_pagetype: 'home'
2693    }
2694  </script>
2694
2695
2696
2697<script>
2698  var gtagRemarketingOptionCommon = Object.assign({}, {'send_to': 'AW-622177098'}, googleRemarketingTagParams);
2699  gtag('event', 'page_view', gtagRemarketingOptionCommon)
2700</script>
2700
2701
2702<!-- Channel Plugin Scripts -->
2703<script>
2704  (function() {
2705    var w = window;
2706    if (w.ChannelIO) {
2707      return (window.console.error || window.console.log || function(){})('ChannelIO script included twice.');
2708    }
2709    var ch = function() {
2710      ch.c(arguments);
2711    };
2712    ch.q = [];
2713    ch.c = function(args) {
2714      ch.q.push(args);
2715    };
2716    w.ChannelIO = ch;
2717    function l() {
2718      if (w.ChannelIOInitialized) {
2719        return;
2720      }
2721      w.ChannelIOInitialized = true;
2722      var s = document.createElement('script');
2723      s.type = 'text/javascript';
2724      s.async = true;
2725      s.src = 'https://cdn.channel.io/plugin/ch-plugin-web.js';
2726      s.charset = 'UTF-8';
2727      var x = document.getElementsByTagName('script')[0];
2728      x.parentNode.insertBefore(s, x);
2729    }
2730    if (document.readyState === 'complete') {
2731      l();
2732    } else if (window.attachEvent) {
2733      window.attachEvent('onload', l);
2734    } else {
2735      window.addEventListener('DOMContentLoaded', l, false);
2736      window.addEventListener('load', l, false);
2737    }
2738  })();
2739  var channelIoSettings = {
2740    "hideChannelButtonOnBoot": true,
2741    "pluginKey": "222ae050-fc5f-4648-8bb0-23b19c694e37"
2742  }
2743  ChannelIO('boot', channelIoSettings);
2744</script>
2744
2745<!-- End Channel Plugin -->
2746
2747  
2747<script type="text/javascript">
2748    (function (c, l, a, r, i, t, y) {
2749      c[a] = c[a] || function () {
2750        (c[a].q = c[a].q || []).push(arguments)
2751      }
2752      t = l.createElement(r)
2753      t.async = 1
2754      t.src = 'https://www.clarity.ms/tag/' + i
2755      y = l.getElementsByTagName(r)[0]
2756      y.parentNode.insertBefore(t, y)
2757    })(window, document, 'clarity', 'script', 'i9rhlnuiat')
2758  </script>
2758
2759
2760
2761
2762<div id="app-root"></div>
2763</body>
2764</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.