PageSourceSearch

https://www.meijiyasuda-saiyo.com/common/js/top.js?d=0301

js meijiyasuda-saiyo.com collected 2026-10-08 19:41:23 UTC 22,310 bytes, 890 lines download raw bytes

1(function() {
2
3  // ========================================
4  //
5  //    KV3D
6  //
7  // ========================================
8  var KV3D = function() {
9
10
11  var _renderer, _scene, _camera;
12  var _mouse, _raycaster;
13  var _canvas;
14
15  var _panel_path = "/images/kv3d/";
16  var _panel = [];
17  var _panel_base = [
18    {
19      image : "concept.png",
20      href : "/recruit/concept/"
21    },
22    {
23      image : "about.png",
24      href : "/about/"
25    },
26    {
27      image : "history.png",
28      href : "/about/history.html"
29    },
30    {
31      image : "outline.png",
32      href : "/about/outline.html"
33    },
34    {
35      image : "field.png",
36      href : "/about/field.html"
37    },
38    {
39      image : "philosophy.png",
40      href : "/about/philosophy.html"
41    },
42    {
43      image : "staff.png",
44      href : "/person/staff/"
45    },
46    {
47      image : "woman.png",
48      href : "/person/workingwoman_onoff/"
49    },
50    // {
51    //   image : "seiho_usakame.png",
52    //   href : "/school/business/"
53    // },
54    {
55      image : "seiho_anime.png",
56      href : "/school/business_mv/"
57    },
58    // {
59    //   image : "staff_kasahara.png",
60    //   href : "/person/staff/z_kasahara.html"
61    // },
62    {
63      image : "staff_anzai.png",
64      href : "/person/staff/hs_osawa.html"
65    },
66    {
67      image : "staff_narita.png",
68      href : "/person/staff/c_narita.html"
69    },
70    {
71      image : "staff_yamada2.png",
72      href: "/person/staff/c_yamada.html"
73    },
74    {
75      image : "staff_matsumoto.png",
76      href : "/person/staff/z_matsumoto.html"
77    },
78    {
79      image : "staff_tsuyoshi.png",
80      href : "/person/staff/s_tsuyoshi.html"
81    },
82    {
83      image : "staff_hayashi.png",
84      href : "/person/staff/s_hayashi.html"
85    },
86    {
87      image : "staff_souda.png",
88      href : "/person/staff/s_souda.html"
89    },
90    {
91      image : "director.png",
92      href : "/person/directormessage/"
93    },
94    {
95      image : "message.png",
96      href : "/about/message.html"
97    },
98    {
99      image: "torikumi.jpg",
100      href : "/about/torikumi/"
101    },
102    {
103      image : "diversity.png",
104      href : "/about/diversity/"
105    },
106    {
107      image : "brandstatement.png",
108      href : "/about/brandstatement.html"
109    },
110    {
111      image : "crosstalk1.png",
112      href : "/person/crosstalk/"
113    },
114    // {
115    //   image : "crosstalk2.png",
116    //   href : "/person/crosstalk2/"
117    // },
118    // {
119    //   image : "career.png",
120    //   href : "/recruit/career/"
121    // },
122    // {
123    //   image : "seminar.png",
124    //   href : "/recruit/seminar/"
125    // },
126    // {
127    //   image : "guideline.png",
128    //   href : "/recruit/guideline/"
129    // }
130    {
131      image : "message2.png",
132      href : "/person/message/"
133    },
134    {
135      image : "recruit.png",
136      href : "/recruit/guideline/"
137    },
138  ];
139  var _title; // 2023 Meiji Yasuda Recruit
140
141  
142  var _window_size = {};
143
144  // 設置するパネルの数
145  var _panel_max = 20; 
146
147  // パネルサイズ
148  var _panel_size = { w : 550, h : 290 }
149  var _panel_ratio = 0.5; // _panel_sizeの係数
150
151  // パネルが回転する角速度(degree)
152  var _panel_speed = 0.10;
153  if( location.href.match("stoproll") ) _panel_speed = 0;
154
155  // パネルの回転半径
156  var _round_radius= 600;
157
158  // カメラの距離
159  var _fov = 60;
160  var _camera_distance_ratio = 1;
161  // var _camera_distance = 920;
162
163  // position.yの行間の間隔
164  var _line_height = 0.6;
165
166  // Swipe時用
167  var _swipe_timer;
168  var _swipe_last_x;
169  var _swipe_inertia = 60; // 回転の慣性 swipe後
170  var _swipe_sum = 0; // swipeで移動したドラッグの合計
171
172
173  // ===================================
174  //   INIT
175  // ===================================
176
177  function INIT() {
178
179    setStageSize();
180
181    // パネルの配列を生成
182    _panel = sortPanelArray(_panel_base);
183    // if(_panel_base.length <= _panel_max) {
184    //   var tmp = sortPanelArray(_panel_base);
185    //   tmp = tmp.slice(0, _panel_max - _panel_base.length);
186    //   _panel = _panel.concat(tmp);
187    // }
188    
189    createState();
190
191    setMouseEvent();
192
193    // ENTERFRAME();
194
195    _canvas.addEventListener('click', CLICK);
196    _canvas.addEventListener('mousemove', handleMouseMove);
197
198    // 背景画像設定
199    // var bg = Math.ceil( Math.random() * 9 );
200    // $("#kv #kv3d").addClass("bg" + bg);
201
202  }
203
204  function RESIZE() {
205    setStageSize();
206
207    // レンダラーのサイズを調整する
208    _renderer.setPixelRatio(window.devicePixelRatio);
209    _renderer.setSize(_window_size.w, _window_size.h);
210
211    // カメラのアスペクト比を正す
212    _camera.aspect = _window_size.w / _window_size.h;
213    _camera.updateProjectionMatrix();
214
215    // カメラ位置の調整
216    setCameraDistance();
217  }
218
219  // ===================================
220  //   Stage
221  // ===================================
222
223  function setStageSize() {
224    _window_size.w = $(window).width();
225    _window_size.h = $("#kv").height();
226  }
227
228  // ===================================
229  //  Mouse Events
230  // ===================================
231
232  function setMouseEvent() {
233    _mouse = new THREE.Vector2();
234    _canvas = document.querySelector("#kv3d");
235    _raycaster = new THREE.Raycaster();
236    SWIPE();
237  }
238
239  function SWIPE() {
240    $("#kv3d").bind({
241      mousedown : startSwipe,
242      mouseup : endSwipe,
243      touchstart : startTouch,
244      touchend : endTouch,
245      touchmove : moveTouch,
246    })
247  }
248  
249  function startTouch(e) {
250    $("#kv3d").addClass("onswipe");
251    // $("#kv3d").addClass("unlink");
252    _swipe_sum = 0;
253    setTouchCoord(e);
254    _swipe_last_x = _mouse.px;
255    // $("#kv3d").addClass("onswipe");
256  }
257
258  function moveTouch(e) {
259    setTouchCoord(e);
260    efSwipe();
261  }
262
263  function endTouch(e) {
264    $("#kv3d").removeClass("onswipe");
265    $("#kv3d").removeClass("unlink");
266  }
267
268  function startSwipe() {
269    $("#kv3d").addClass("onswipe");
270    // $("#kv3d").addClass("unlink");
271    _swipe_sum = 0;
272    _swipe_last_x = _mouse.px;
273    _swipe_timer = setInterval(efSwipe, 100);
274    // $("#kv3d").addClass("onswipe");
275  }
276
277  function endSwipe() {
278    clearInterval(_swipe_timer);
279    // PCは先にCLICKイベントが発火してSwipe後のmouseupでリンクしてしまうので
280    //ちょっとタイミングを遅らせる
281    $("#kv3d").removeClass("onswipe");
282    setTimeout(function() {
283      $("#kv3d").removeClass("unlink");
284    }, 500)
285  }
286
287  function efSwipe() {
288
289    if( !$("#kv3d").hasClass("onswipe") ) {
290      clearInterval(_swipe_timer);
291    } else {
292      var dx = ( _mouse.px - _swipe_last_x ) / 5;
293      _swipe_last_x = _mouse.px ;
294      _swipe_inertia = dx; // 慣性
295
296      _swipe_sum += Math.abs(dx);
297      // console.log(_swipe_sum);
298      if(_swipe_sum > 3) $("#kv3d").addClass("unlink");
299  
300      for(var i in _panel) {
301        var degree = _panel[i].degree + dx;
302        movePanel(i, degree);
303      }
304    }
305
306  }
307
308
309  function setMouseCoord(e) {
310    // canvas上の現在地
311    var pos = e.currentTarget;
312
313    // canvasのXY座標
314    var x = e.clientX - pos.offsetLeft;
315    var y = e.clientY - pos.offsetTop;
316
317    // canvas要素の幅・高さ
318    var w = pos.offsetWidth;
319    var h = pos.offsetHeight;
320
321    // -1〜+1の範囲で現在のマウス座標を登録する
322    _mouse.x = ( x / w ) * 2 - 1;
323    _mouse.y = -( y / h ) * 2 + 1;
324
325    _mouse.px = x;
326    _mouse.py = y;
327
328  }
329
330  function setTouchCoord(e) {
331    // canvas上の現在地
332    var pos = e.currentTarget;
333
334    // canvasのXY座標
335    var x = e.originalEvent.touches[0].pageX - pos.offsetLeft;
336    var y = e.originalEvent.touches[0].pageY - pos.offsetTop;
337
338    // canvas要素の幅・高さ
339    var w = pos.offsetWidth;
340    var h = pos.offsetHeight;
341
342    // -1〜+1の範囲で現在のマウス座標を登録する
343    _mouse.x = ( x / w ) * 2 - 1;
344    _mouse.y = -( y / h ) * 2 + 1;
345
346    _mouse.px = x;
347    _mouse.py = y;
348
349  }
350
351  // クリック
352  function CLICK(e) {
353
354    setMouseCoord(e);
355
356    // レイキャスト = マウス位置からまっすぐに伸びる光線ベクトルを生成
357    _raycaster.setFromCamera(_mouse, _camera);
358
359    // その光線とぶつかったオブジェクトを得る
360    var intersects = _raycaster.intersectObjects(_scene.children);
361
362    if(intersects.length > 0){
363      for(var j in intersects) {
364        // intersects[j].material.opacity = 0.1;
365        // console.log(intersects[j]);
366        // console.log( intersects[j].object.url );
367        if( isFace(intersects[j].object.panel_id) && !$("#kv3d").hasClass("unlink") ) {
368          var q = _univ.getQuery();
369          if( q["test"] ) {
370            window.open(intersects[j].object.url);
371          }else {
372            location.href = intersects[j].object.url;
373          }
374        }
375      }
376    }
377  }
378
379  // マウスを動かしたときのイベント
380  function handleMouseMove(e) {
381
382    setMouseCoord(e);
383
384    // レイキャスト = マウス位置からまっすぐに伸びる光線ベクトルを生成
385    _raycaster.setFromCamera(_mouse, _camera);
386
387    // その光線とぶつかったオブジェクトを得る
388    var intersects = _raycaster.intersectObjects(_scene.children);
389
390    if(intersects.length > 0){
391      for(var j in intersects) {
392        // console.log( intersects[j].object.url );
393        var panel_id = intersects[j].object.panel_id;
394        if( isFace( panel_id ) && !$("#kv3d").hasClass("onswipe") ) $("#kv3d").addClass("onmouse");
395      }
396    }else {
397      $("#kv3d").removeClass("onmouse");
398    }
399  }
400
401  // ===================================
402  //   Panel Sort
403  // ===================================
404  
405  function sortPanelArray(ary) {
406
407    // Fisher–Yates アルゴリズムでシャッフルする
408    // for(var i = ary.length - 1; i > 0; i--){
409    //   var rand = Math.floor(Math.random() * (i + 1));
410    //   [ary[i], ary[rand]] = [ary[rand], ary[i]];
411    // }
412
413    var res = []; 
414    while(ary.length > 0) {
415      var rnd = Math.floor( Math.random() * ary.length );
416      res.push( ary[rnd] );
417      ary.splice(rnd, 1);
418    } 
419
420    return res;
421  }
422
423  function setCameraDistance() {
424    // var dist   = (_window_size.w / 2) / Math.tan(fovRad) * _camera_distance;
425    var dist = getCameraDistance();
426    // var dist = 1200 / (_window_size.w) * _camera_distance * _camera_distance_ratio;
427    // if( $(window).width() >= 1200 ) {
428    //   dist = _camera_distance * _camera_distance_ratio;
429    // }else if( $(window).width() >= 1000 ) {
430    //   dist = 1200 / (_window_size.w) * _camera_distance * _camera_distance_ratio;
431    // }else if( $(window).width() >= 768 ) {
432    //   dist = 1000 / (_window_size.w) * _camera_distance * _camera_distance_ratio;
433    // }else if( $(window).width() >= 680 ) {
434    //   dist = 900 / (_window_size.w) * _camera_distance * _camera_distance_ratio;
435    // }else {
436    //   dist = 500 / (_window_size.w) * _camera_distance * _camera_distance_ratio;
437    // }
438
439    _camera.position.z = dist;// カメラを遠ざける
440  }
441
442  function getCameraDistance() {
443    var ww = $(window).width();
444    // var fovRad = (_fov / 2) * (Math.PI / 180);
445    // var dist = (_window_size.w / 2) / Math.tan(fovRad);
446    var dist_1200 = 940; // ww:1200の時のカメラ距離
447    var dist_320 = 1100; // ww:320の時のカメラ距離
448    var dist_diff = dist_320 - dist_1200;
449    var dist = dist_1200;
450
451    if( ww <= 1200 && ww >= 320 ) {
452      var ratio = (ww - 320) / (1200 - 320);
453      dist = dist_320 - dist_diff * ratio;
454    }else if( ww > 1200 ) {
455      dist = dist_1200;
456    }else {
457      dist = dist_320;
458    }
459    dist = dist * _camera_distance_ratio;
460    
461    // console.log(dist);
462    return dist;
463  }
464
465  // ===================================
466  //   createState
467  // ===================================
468
469  function createState() {
470
471    // レンダラーを作成
472    var canvas = document.querySelector("#kv3d");
473    _renderer = new THREE.WebGLRenderer({
474      canvas: canvas,
475      alpha: true,
476      antialias: true
477    });
478    _renderer.setPixelRatio(window.devicePixelRatio);
479    _renderer.setSize(_window_size.w, _window_size.h);
480
481    // シーンを作成
482    _scene = new THREE.Scene();
483
484    
485    // =================== CAMERA
486    var dist   = getCameraDistance();
487    
488    // カメラを作成 (視野角, 画面のアスペクト比, カメラに映る最短距離, カメラに映る最遠距離)
489    _camera = new THREE.PerspectiveCamera(_fov, _window_size.w / _window_size.h, 1, dist * 2);
490    setCameraDistance();
491
492    addCenterTitle();
493
494    // console.log( _panel );
495  
496    // 平行光源
497    // var directionalLight = new THREE.DirectionalLight( 0xffffff, 1);
498    // directionalLight.position.set(0, 0, 1);
499    // _scene.add(directionalLight);
500    // var directionalLight2 = new THREE.DirectionalLight( 0xffffff, 0.5);
501    // directionalLight2.position.set(1, 0, -0.3);
502    // _scene.add(directionalLight2);
503    // var directionalLight3 = new THREE.DirectionalLight( 0xffffff, 0.5);
504    // directionalLight3.position.set(-1, 0, -0.3);
505    // _scene.add(directionalLight3);
506  
507    // 初回実行
508    // _renderer.setClearColor( 0xfafafa, 1 );
509    // _renderer.setClearColor( 0xffffff, 1 );
510    _renderer.render(_scene, _camera);
511    
512    requestAnimationFrame(SCENE1);
513    
514  }
515
516  function SCENE1() {
517
518
519    _renderer.render(_scene, _camera);
520
521    // パネルを作成
522    for(var i in _panel) {
523      addPanel(i);
524    }
525
526    requestAnimationFrame(ENTERFRAME);
527  }
528
529  // ===================================
530  //   add Center Title
531  // ===================================
532  function addCenterTitle() {
533    var loader = new THREE.TextureLoader();
534    var texture = loader.load(_panel_path + "center.png");
535    // var geometry = new THREE.PlaneGeometry(_panel_size.w * 1.5, _panel_size.h * 1.25);
536    var geometry = new THREE.PlaneGeometry(_panel_size.w * 1.4, _panel_size.w * 1.4);
537    var material = new THREE.MeshBasicMaterial({
538      map: texture,
539      transparent: true,
540      alphaTest:0.4,
541      opacity : 0
542    });
543
544    var obj = new THREE.Mesh(geometry, material);
545
546    obj.position.x = 0;
547    obj.position.y = 0;
548    obj.position.z = 0;
549
550    _title = {
551      object : obj,
552      material : material
553    }
554
555    _scene.add(obj);
556
557  }
558
559  // ===================================
560  //   addPanel
561  // ===================================
562
563  function addPanel(n) {
564    var loader = new THREE.TextureLoader();
565
566    var texture = loader.load(_panel_path + _panel[n].image);
567    var geometry = new THREE.PlaneGeometry(_panel_size.w * _panel_ratio, _panel_size.h * _panel_ratio);
568    // var material = new THREE.MeshStandardMaterial({
569    //   map: texture
570    // });
571    var material = new THREE.MeshBasicMaterial({
572      map: texture,
573      transparent: true,
574      opacity : 0
575    });
576    material.side = THREE.DoubleSide; 
577    _panel[n].object = new THREE.Mesh(geometry, material);
578    _panel[n].material = material;
579
580    // 初期位置
581    _panel[n].degree = Math.floor( 360 / _panel.length * n + Math.random() * 4 );
582
583    // 設置する行
584    var line = _panel_size.h  * _line_height * (n % 3 - 1);
585
586    // 半径
587    var radius_coef = ( line != 0 ) ? 0.9 : 1; // 中央の行以外はちょっと半径を小さくする
588    _panel[n].radius = _round_radius * radius_coef + Math.random() * _round_radius * 0.05;
589    _panel[n].radius_now = 0;
590    
591    // ============
592    // パネルを設置
593    // ============
594    _scene.add(_panel[n].object);
595
596    // パネルの高さを設定
597    _panel[n].y_random = (Math.random() - 0.5) / 1.5;
598    setPositionY(n);
599
600    // URLを挿入
601    _panel[n].object["url"] = _panel[n].href;
602    _panel[n].object["panel_id"] = n;
603    _panel[n].object["onmouse"] = false;
604
605  }
606
607  // パネルのyを設定する
608  function setPositionY(n) {
609    var line = _panel_size.h  * _line_height * (n % 3 - 1);
610    _panel[n].y = line + _panel[n].y_random * _panel_size.h * 0.3 ;
611    _panel[n].object.position.y = _panel[n].y;
612  }
613
614  // ===================================
615  //   isFace // パネルが表面を向いているか
616  // ===================================
617
618  function isFace(i) {
619    if( _panel[i].degree >= 50 && _panel[i].degree <= 310 ) {
620      // 裏面
621      return false;
622    }else {
623      // 表面
624      return true;
625    }
626  }
627
628
629  // ===================================
630  //   ENTERFRAME
631  // ===================================
632
633  // this.ENTERFRAME = ENTERFRAME;
634  var _count = 0;
635  function ENTERFRAME() {
636
637    // 箱を回転させる
638    // box.rotation.x += 0.01;
639    // box.rotation.y += 0.01;
640    // box.rotation.z += 0.01;
641    // box.position.x += 1;
642
643    // var degree = box.rotation.y * ( 180 / Math.PI ) ;
644    // console.log(degree);
645
646    _count++;
647
648    if( _title.material.opacity < 1 ) {
649      _title.material.opacity += 0.02;
650    }
651    
652    if( _count > 140 ) {
653
654      if( !$("#kv3d").hasClass("onswipe") ) {
655        for(var i in _panel) {
656          var degree = _panel[i].degree + _panel_speed;
657          movePanel(i, degree);
658        }
659      }
660      
661      // スワイプ時の慣性の仕組みを流用して、初回登場時に回転を加速させる
662      if(  Math.abs(_swipe_inertia) <= 0.01 ) _swipe_inertia = 0;
663      else if( Math.abs(_swipe_inertia) > 0 ) _swipe_inertia -= _swipe_inertia / 12;
664
665    }
666    
667
668    // // レイキャスト = マウス位置からまっすぐに伸びる光線ベクトルを生成
669    // _raycaster.setFromCamera(_mouse, _camera);
670
671    // // その光線とぶつかったオブジェクトを得る
672    // var  intersects = _raycaster.intersectObjects(_scene.children);
673
674    // if(intersects.length > 0){
675    //   for(var j in intersects) {
676    //     // intersects[j].material.opacity = 0.1;
677    //     console.log(intersects[j]);
678    //   }
679    // }
680  
681    // レンダリング
682    _renderer.render(_scene, _camera);
683
684    requestAnimationFrame(ENTERFRAME);
685    
686  }
687
688  function movePanel(i, degree) {
689
690    _panel[i].degree = degree + _swipe_inertia;
691
692    if( _panel[i].degree >= 360 ) _panel[i].degree -= 360;
693    var radian = _panel[i].degree * ( Math.PI / 180 ) ;
694
695    var obj = _panel[i].object;
696    
697    // パネル角度
698    obj.rotation.y = radian;
699
700    // 半径
701    _panel[i].radius_now += (_panel[i].radius - _panel[i].radius_now) / 20;
702
703    // パネル位置
704    obj.position.x = Math.sin(radian) * _panel[i].radius_now;
705    obj.position.z = Math.cos(radian) * _panel[i].radius_now;
706    setPositionY(i); // obj.position.y
707
708    if(isFace(i)) {
709      _panel[i].material.opacity += (1 - _panel[i].material.opacity) / 10;
710    }else {
711      _panel[i].material.opacity += (0.5 - _panel[i].material.opacity) / 10;
712    }
713  }
714
715  $(document).ready(INIT);
716  $(window).resize(RESIZE);
717
718  }
719
720
721  // ========================================
722  //
723  //    INTRO
724  //
725  // ========================================
726
727  var INTRO = function() {
728  
729    var _intro_end = false;
730
731    // INTRO
732    var img_ary = ["d1","d2","d3","d4","d5","d6","d7","d8"];
733    
734    var _query;
735
736    function INIT() {
737
738      var ref = document.referrer;
739      var domain = document.domain;
740      var intro_flag = (_univ.isLocalStrage()) ? localStorage.getItem("intro_flag") : 0;
741
742      var q = _univ.getQuery();
743      if(q.bg) intro_flag = 0;
744      _query = q;
745      
746      RESIZE();
747
748      if(intro_flag >= 1) {
749      // if(false) {
750
751        close();
752
753      }else {
754        // 背景画像
755        var q = _univ.getQuery();
756        if(q.bg) {
757          $("#intro>p").css("background-image", "url(./images/intro/" + q.bg + ".jpg?date=250124)");
758          $("#intro").addClass(q.bg);
759        }else {
760          var rnd = Math.floor( Math.random() * img_ary.length );
761          $("#intro>p").css("background-image", "url(./images/intro/" + img_ary[rnd] + ".jpg?date=250124)");
762          $("#intro").addClass(img_ary[rnd]);
763        }
764
765        $("#intro").css("display", "block");
766        $("#intro>p").velocity("stop").velocity({
767          opacity : 1
768        }, {
769          delay : 500,
770          duration : 1500
771        })
772
773        setTimeout(function() {
774          Humanfirst();
775          logo();
776        }, 500)
777
778        $("#intro").on({
779          click : function() {
780            close();
781          }
782        })
783      }
784
785    }
786    
787    function RESIZE() {
788      if( $(window).height() >= $(window).width() * 1.05 ) {
789        $("#intro>p").addClass("v");
790      }else {
791        $("#intro>p").removeClass("v");
792      }
793    }
794
795    function Humanfirst() {
796      $("#intro>span#intro_humanfirst").velocity("stop").velocity({
797        opacity : 1,
798      }, {
799        delay : 500,
800        duration : 1000
801      })
802    }
803
804    function logo() {
805      $("#intro>span#intro_logo").velocity("stop").velocity({
806        opacity : 1,
807      }, {
808        delay : 500,
809        duration : 1000,
810        complete : function() {
811          if( !_query.bg ) setTimeout(close, 2000)
812        }
813      })
814    }
815
816    function close() {
817      if(_univ.isLocalStrage()) {
818        var ddd = _univ.getNow();
819        localStorage.setItem("intro_flag", ddd.now);
820      }
821      $("#headerwrap, #headspecial, #ContentsWrapTop, #footersitemap, #footerwrap").css("visibility", "visible")
822      $("#intro").velocity("stop").velocity({
823        opacity : 0
824      }, {
825        duration : 1000,
826        complete : function() {
827          _intro_end = true;
828          $("#intro").remove();
829
830          // KV3D起動
831          // kv3d.ENTERFRAME();
832        }
833      })
834    }
835
836    $(document).ready(INIT);
837    $(window).resize(RESIZE);
838  }
839
840  // ========================================
841  //
842  //    STAFF SLIDER
843  //
844  // ========================================
845
846  var STAFF = function() {
847
848    // サムネイル画像をメイン画像に置き換える
849    $("#top-staff ul li a dl dt img").each(function() {
850      let src = $(this).attr("src");
851      if (src) {
852        $(this).attr("src", src.replace("thumb.jpg", "main.jpg"));
853      }
854    });
855
856    $("#top-staff ul").slick({
857      slidesToShow: 3,
858      slidesToScroll: 1,
859      autoplay: true,
860      speed : 500,
861      autoplaySpeed: 5000,
862      responsive : [
863        {
864          breakpoint: 768,
865          settings: {
866            // centerMode: true,
867            slidesToShow: 2
868          }
869        }
870      ]
871    });
872  }
873
874  var _univ = new UNIV();
875
876  var kv3d = new KV3D();
877  var intro = new INTRO();
878
879  $(document).ready(
880    function() {
881      var staff = new STAFF();
882    }
883  )
884
885
886})($);
887
888(function() {
889
890})($);

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.