PageSourceSearch

https://www.jpte.co.jp/common/js/script.js

js jpte.co.jp collected 2026-10-02 04:41:55 UTC 27,880 bytes, 727 lines download raw bytes

1/*
2 * ドロワーメニュー生成
3 * ヘッダ固定
4 * グローバルナビ
5 * カレント表示
6 * "tel:" リンクを【スマートフォン端末以外では無効】
7 * スムーススクロール
8 * スムーススクロール ページトップ制御
9 * PC・スマホ画像切替
10 * 縦アコーディオン
11 * コンテンツ フェードイン
12 * スクロールテーブル
13 * IRライブラリ表
14 * フローティングナビ
15 * HOME用スクリプト
16 * ランダムサークル
17 * 高さ揃え
18 * モーダルウィンドウ
19*/
20
21
22//テスト環境用 リンク先調整
23$(function(){
24	var path = location.pathname;
25	var test_dir = '/test/';
26	if(path.indexOf(test_dir) !== -1){
27		$('a').each(function(){
28			var href = $(this).attr('href');
29			if(href.slice(0,1) == '/'){
30				$(this).attr('href', test_dir + href);
31			}
32		});
33	}
34});
35
36//jsファイルのパス取得(script.jsの位置を取得し jsディレクトリまでのパスを抽出)
37var jsfile_path = $("script:last").prop("src");
38jsfile_path = jsfile_path.substring(0, jsfile_path.lastIndexOf('/')) + '/';
39
40
41//共通変数
42var common = {
43	breakPoint: 768
44};
45function is_sp(){
46	if($(window).width() <= common.breakPoint){
47		return true;
48	}
49	else {
50		return false;
51	}
52}
53
54//bodyクラス付与
55if (is_sp()) {
56	// スマホ
57  $('body').addClass('smp');
58} else {
59	// PC
60  $('body').addClass('pc');
61}
62
63
64/* ドロワーメニュー生成
65 ---------------------------------------------------*/
66$(function(){
67	$('#gnav ul.gnav_lv1').clone().insertBefore('#drawer ul.sub-nav').removeClass('gnav_lv1').addClass('main-nav');
68	$('.header-logo-group').clone().insertBefore('#drawer ul.main-nav');
69	$('.header-logo').clone().insertBefore('#drawer ul.main-nav');
70	$('#header .toggle-menu').clone().insertBefore('#drawer ul.main-nav').attr('id', 'toggle-nav-clone');
71	$('#header-area #header-menu ul li.language').clone().insertBefore('#drawer ul.main-nav').wrap('<div id="header-menu-clone"><ul></ul></div>');
72	$('form#site-search').clone(true).insertBefore('#drawer ul.main-nav').wrap('<div id="site-search-area"></div>');
73});
74
75
76/* ヘッダ固定
77 ---------------------------------------------------*/
78$(function() {
79	var header = $('#header-area').clone(true).insertAfter('#header-area').attr('id', 'header-area-clone');
80  $(window).on('load scroll', function() {
81    var value = $(this).scrollTop();
82    if ( value > 200 ) {
83      header.stop().css({
84				left:	-$(window).scrollLeft(),
85				opacity:	1
86			}).animate({
87				top: '0px'
88			}, 400);
89    }
90    if ( value <= 200 ) {
91      header.stop().animate({
92				top:	'-100px',
93				opacity: 0
94			}, 100);
95    }
96
97		//ドロワーメニュー横スクロール
98		if ( value >= 0 ) {
99			$('#drawer-nav-area').css('left', -$(window).scrollLeft());
100		}
101  });
102});
103
104
105/* グローバルナビ
106 ---------------------------------------------------*/
107$(document).ready(function() {
108
109  'use strict';
110  var gnav_lv2;
111
112	if (!is_sp()) {
113		$('#gnav ul.gnav_lv1 > li.parent > a').after('<div class="gnav-bg"></div>');
114	}
115
116  $('#gnav ul.gnav_lv1 > li.parent').hover(
117    function() {
118      if (!is_sp()) {
119        gnav_lv2 = $(this).children('.gnav_lv2_wrap');
120        gnav_lv2.stop().fadeIn(300);
121        $(this).stop().addClass('open');
122				$(this).children('.gnav-bg').addClass('active');
123      }
124    },
125    function() {
126      if (!is_sp()) {
127        gnav_lv2 = $(this).children('.gnav_lv2_wrap');
128        gnav_lv2.stop().fadeOut(100);
129        $(this).stop().removeClass('open');
130				$(this).children('.gnav-bg').removeClass('active');
131      }
132    }
133  );
134
135  $('#gnav ul.gnav_lv1 > li.parent > a').click(function(){
136    if (is_sp()) {
137			var nextTag = $(this).next('div');
138      nextTag.slideToggle();
139			$(this).parents('li.parent').toggleClass('open');
140			return false;
141		}
142  });
143
144	//追従ヘッダー&プルダウンメニュー
145	var state = false;
146	var scrollpos;
147
148	$('.toggle-menu').on('click', function(){
149		if(!$(this).hasClass('close')) {
150			scrollpos = $(window).scrollTop();
151			$('body').css({'top': -scrollpos}).addClass('fixed');
152			$('#drawer-nav-area').slideDown(800);
153			$('.toggle-menu').addClass('close');
154			state = true;
155		} else {
156			$('body').css({'top': 0}).removeClass('fixed');
157			window.scrollTo( 0 , scrollpos );
158			$('#drawer-nav-area').fadeOut(400);
159			$('.toggle-menu').removeClass('close');
160			state = false;
161		}
162	});
163
164});
165
166//リサイズ時 ブレークポイント切替の初回のみ処理
167$(function(){
168	var flg_SP = false;
169	//var windowW = $(window).width();
170	if(is_sp()){
171		flg_SP = true;
172	}
173	$(window).resize(function(){
174			//window幅が変化した際にドロップダウン状態か判定し、イベントを分岐
175			//windowW = $(window).width();
176			if(is_sp()){
177				if(!flg_SP){	/* PC → SP */
178					$('#gnav ul.gnav_lv1').hide();
179					$('#gnav ul.gnav_lv1 li.parent').removeClass('open');
180					$('#gnav ul.gnav_lv1 li.parent > div').hide();
181					$('#toggle-nav span').removeClass('close');
182					flg_SP = true;
183				}
184			}else{
185				if(flg_SP){	/* SP → PC */
186					$('#gnav ul.gnav_lv1').show();
187					$('#gnav ul.gnav_lv1 li.parent').removeClass('open');
188					$('#gnav ul.gnav_lv1 li.parent > div').hide();
189					flg_SP = false;
190				}
191			}
192	});
193});
194
195
196/* カレント表示
197 ---------------------------------------------------*/
198$(function() {
199	$('[id*="header-menu"] ul li.language li, #gnav > ul.gnav_lv1 > li, .related-link li').each(function() {
200		var href = '';
201		if($(this).children('a').length > 0){
202			href = convertAbsUrl($(this).children('a').attr('href'));
203		}
204		href = href.replace(location.protocol+'//'+location.host, '').replace('index.html', '');
205		var path = location.pathname;
206		if(path.indexOf(href) !== -1) {
207			$(this).addClass('active');
208		}
209	});
210});
211
212//相対パスを絶対パスに変換
213function convertAbsUrl( src ){
214    return $("<a>").attr("href", src).get(0).href;
215}
216
217
218
219/* TELリンクをスマートフォンの時だけ有効に
220 ---------------------------------------------------*/
221//"tel:" リンクを【スマートフォン端末以外では無効】
222var ua = navigator.userAgent.toLowerCase();
223var isMobile = /iphone/.test(ua)||/android(.+)?mobile/.test(ua);
224
225if (!isMobile) {
226    $('a[href^="tel:"]').on('click', function(e) {
227        e.preventDefault();
228    });
229}
230
231//".tel-link【スマートフォン端末以外では無効】
232$(function(){
233    var ua = navigator.userAgent;
234    if(ua.indexOf('iPhone') > 0 && ua.indexOf('iPod') == -1 || ua.indexOf('Android') > 0 && ua.indexOf('Mobile') > 0 && ua.indexOf('SC-01C') == -1 && ua.indexOf('A1_07') == -1 ){
235        $('.tel-link').each(function(){
236            var str = $(this).text();
237            $(this).html($('<a>').attr('href', 'tel:' + str.replace(/-/g, '')).append(str + '</a>'));
238        });
239    }
240});
241
242
243/* スムーススクロール
244 ---------------------------------------------------*/
245$(function(){
246   // #で始まるアンカーをクリックした場合に処理
247   $('a[href^=#]:not([href$=#])').click(function() {
248      // スクロールの速度
249      var speed = 500; // ミリ秒
250      // アンカーの値取得
251      var href= $(this).attr('href');
252      // 移動先を取得
253      var target = $(href == '#' || href == '' ? 'html' : href);
254      // 移動先を数値で取得
255      var position = target.offset().top;
256			//スマホのヘッダ固定対策
257			if($(this).parents('#to-top').length > 0){
258				position = 0;
259			}
260			else {
261				if(is_sp()){
262					position = position - 90;
263				}
264        else {
265					position = position - 90;
266        }
267			}
268      // スムーススクロール
269      $('body,html').animate({scrollTop:position}, speed, 'swing');
270      return false;
271   });
272});
273
274//ページ遷移&スクロール
275$(window).on('load', function() {
276    var url = $(location).attr('href'); //ロード後少し時間を置く
277    setTimeout(function(){
278        if(url.indexOf("?id=") != -1){
279            var id = url.split("?id=");
280            var $target = $('#' + id[id.length - 1]);
281            if($target.length){
282                var pos = $target.offset().top;
283								if(is_sp()){
284									pos = pos - 100;
285								}
286                else {
287									pos = pos - 150;
288                }
289                $("html, body").animate({scrollTop:pos}, 1000);
290            }
291        }
292    },100);
293});
294
295
296/* スムーススクロール  ページトップ制御
297 ---------------------------------------------------*/
298$(function() {
299    var topBtn = $('#to-top');
300    topBtn.hide();
301    //スクロールが100に達したらボタン表示
302    $(window).scroll(function () {
303        if ($(this).scrollTop() > 200) {
304            topBtn.fadeIn();
305        } else {
306            topBtn.fadeOut();
307        }
308    });
309    //スクロールしてトップ
310    topBtn.click(function () {
311        $('body,html').animate({
312            scrollTop: 0
313        }, 100);
314        return false;
315    });
316});
317
318
319/* PC・スマホ画像切替
320 ---------------------------------------------------*/
321$(function(){
322    var $setElem = $('.img-switch'),
323    pcName = '_pc',
324    spName = '_sp';
325
326    $setElem.each(function(){
327        var $this = $(this);
328        function imgSize(){
329            if(!is_sp()) {
330                $this.attr('src',$this.attr('src').replace(spName,pcName)).css({visibility:'visible'});
331            } else {
332                $this.attr('src',$this.attr('src').replace(pcName,spName)).css({visibility:'visible'});
333            }
334        }
335        $(window).resize(function(){imgSize();});
336        imgSize();
337    });
338});
339
340
341/* 縦アコーディオン
342 ---------------------------------------------------*/
343$(function() {
344	$('.accordion dt').click(function(){
345		$(this).next().slideToggle('normal').toggleClass('open');
346		$(this).toggleClass('open');
347	});
348
349	$('.list-btn-more a').click(function(e){
350		e.preventDefault();
351		$(this).parent().next('.pastdata-area').slideDown('normal').addClass('open');
352	});
353
354	$('.list-btn-close a').click(function(e){
355		e.preventDefault();
356		$(this).parents('.pastdata-area').slideUp('normal').removeClass('open');
357	});
358
359	$('.accordion-btn').click(function(){
360		$(this).prev('.accordion-block').slideToggle('normal').toggleClass('open');
361		$(this).toggleClass('open');
362	});
363});
364
365
366/* コンテンツ フェードイン
367 ---------------------------------------------------*/
368$(function(){
369//	$('#main-content section:first-child, #main-content .section:first-child').addClass('load-fade');
370//	$('#main-content section:not(:first-child), #main-content .section:not(:first-child), #main-content h2, #main-content h3, #main-content figure, #main-content .lead').each(function(){
371//		$(this).addClass('scroll-fade');
372//	});
373
374	load_effect();
375	$(window).scroll(function (){
376		scroll_effect();
377	});
378});
379
380//ふわっとロード
381function load_effect(){
382	var tt = $(window).scrollTop();
383	var hh = $(window).height();
384	$('.load-fade, .scroll-fade').each(function(){
385		var yy = $(this).offset().top;
386		if (tt > yy - hh){
387			$(this).addClass('fadeIn');
388		}
389	});
390}
391
392//ふわっとスクロール
393function scroll_effect(){
394	var tt = $(window).scrollTop();
395	var hh = $(window).height();
396	$('#main-content .scroll-fade').each(function(){
397		var yy = $(this).offset().top+40;//効果発生開始タイミングを操作したい場合は数値を変更する
398		if (tt > yy - hh){
399			$(this).addClass('fadeIn');
400		}
401	});
402}
403
404
405/* スクロールテーブル
406 ---------------------------------------------------*/
407/**
408 * Modules in this bundle
409 * @license
410 *
411 * scroll-hint:
412 *   license: MIT (http://opensource.org/licenses/MIT)
413 *   author: steelydylan
414 *   version: 1.2.3
415 *
416 * es6-object-assign:
417 *   license: MIT (http://opensource.org/licenses/MIT)
418 *   author: Rubén Norte <[email protected]>
419 *   maintainers: rubennorte <[email protected]>
420 *   homepage: https://github.com/rubennorte/es6-object-assign
421 *   version: 1.1.0
422 *
423 * This header is generated by licensify (https://github.com/twada/licensify)
424 */
425!function(f){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=f();else if("function"==typeof define&&define.amd)define([],f);else{var g;(g="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).ScrollHint=f()}}((function(){var define,module,exports;return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,(function(e){var n=t[o][1][e];return s(n||e)}),l,l.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){"use strict";function assign(target,firstSource){if(null==target)throw new TypeError("Cannot convert first argument to object");for(var to=Object(target),i=1;i<arguments.length;i++){var nextSource=arguments[i];if(null!=nextSource)for(var keysArray=Object.keys(Object(nextSource)),nextIndex=0,len=keysArray.length;nextIndex<len;nextIndex++){var nextKey=keysArray[nextIndex],desc=Object.getOwnPropertyDescriptor(nextSource,nextKey);void 0!==desc&&desc.enumerable&&(to[nextKey]=nextSource[nextKey])}}return to}function polyfill(){Object.assign||Object.defineProperty(Object,"assign",{enumerable:!1,
425configurable:!0,writable:!0,value:assign})}module.exports={assign:assign,polyfill:polyfill}},{}],2:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_es6ObjectAssign=require("es6-object-assign"),_util=require("./util");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}var defaults={suggestClass:"is-active",scrollableClass:"is-scrollable",scrollableRightClass:"is-right-scrollable",scrollableLeftClass:"is-left-scrollable",scrollHintClass:"scroll-hint",scrollHintIconClass:"scroll-hint-icon",scrollHintIconAppendClass:"",scrollHintIconWrapClass:"scroll-hint-icon-wrap",scrollHintText:"scroll-hint-text",scrollHintBorderWidth:10,remainingTime:-1,enableOverflowScrolling:!0,applyToParents:!1,suggestiveShadow:!1,offset:0,i18n:{scrollable:"scrollable"}},ScrollHint=function(){function ScrollHint(ele,option){var _this=this;_classCallCheck(this,ScrollHint),this.opt=(0,_es6ObjectAssign.assign)({},defaults,option),this.items=[];var elements="string"==typeof ele?document.querySelectorAll(ele):ele,applyToParents=this.opt.applyToParents;[].forEach.call(elements,(function(element){applyToParents&&(element=element.parentElement),element.style.position="relative",element.style.overflow="auto",_this.opt.enableOverflowScrolling&&("overflowScrolling"in element.style?element.style.overflowScrolling="touch":"webkitOverflowScrolling"in element.style&&(element.style.webkitOverflowScrolling="touch"));var item={element:element,scrolledIn:!1,interacted:!1};document.addEventListener("scroll",(function(e){e.target===element&&(item.interacted=!0,_this.updateItem(item))}),!0),(0,_util.addClass)(element,_this.opt.scrollHintClass),(0,_util.append)(element,'<div class="'+_this.opt.scrollHintIconWrapClass+'" data-target="scrollable-icon">\n        <span class="'+_this.opt.scrollHintIconClass+(_this.opt.scrollHintIconAppendClass?" "+_this.opt.scrollHintIconAppendClass:"")+'">\n          <div class="'+_this.opt.scrollHintText+'">'+_this.opt.i18n.scrollable+"</div>\n        </span>\n      </div>"),_this.items.push(item)})),window.addEventListener("scroll",(function(){_this.updateItems()})),window.addEventListener("resize",(function(){_this.updateItems()})),this.updateItems()}return _createClass(ScrollHint,[{key:"isScrollable",value:function isScrollable(item){var offset=this.opt.offset,element=item.element,offsetWidth;return element.offsetWidth+offset<element.scrollWidth}},{key:"checkScrollableDir",value:function checkScrollableDir(item){var _opt=this.opt,scrollHintBorderWidth=_opt.scrollHintBorderWidth,scrollableRightClass=_opt.scrollableRightClass,scrollableLeftClass=_opt.scrollableLeftClass,element=item.element,child,width=element.children[0].scrollWidth,parentWidth=element.offsetWidth,scrollLeft=element.scrollLeft;parentWidth+scrollLeft<width-scrollHintBorderWidth?(0,_util.addClass)(element,scrollableRightClass):(0,_util.removeClass)(element,scrollableRightClass),parentWidth<width&&scrollLeft>scrollHintBorderWidth?(0,_util.addClass)(element,scrollableLeftClass):(0,_util.removeClass)(element,scrollableLeftClass)}},{key:"needSuggest",value:function needSuggest(item){var scrolledIn=item.scrolledIn,interacted;return!item.interacted&&scrolledIn&&this.isScrollable(item)}},{key:"updateItems",value:function updateItems(){var _this2=this;[].forEach.call(this.items,(function(item){_this2.updateItem(item)}))}},{key:"updateStatus",value:function updateStatus(item){var _this3=this,element=item.element,scrolledIn;item.scrolledIn||(0,_util.getOffset)(element).top+Math.min(element.offsetHeight,window.innerHeight)/2<(0,_util.getScrollTop)()+window.innerHeight&&(item.scrolledIn=!0,-1!==this.opt.remainingTime&&setTimeout((function(){item.interacted=!0,_this3.updateItem(item)}),this.opt.remainingTime))}},{key:"updateItem",value:function updateItem(item){var opt=this.opt,element=item.element,target=element.querySelector('[data-target="scrollable-icon"]');this.updateStatus(item),this.isScrollable(item)?(0,_util.addClass)(element,opt.scrollableClass):(0,_util.removeClass)(element,opt.scrollableClass),this.needSuggest(item)?(0,_util.addClass)(target,opt.suggestClass):(0,_util.removeClass)(target,opt.suggestClass),opt.suggestiveShadow&&this.checkScrollableDir(item)}}]),ScrollHint}();exports.default=ScrollHint,module.exports=exports.default},{"./util":3,"es6-object-assign":1}],3:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var append=exports.append=function append(element,string){var div=document.createElement("div");for(div.innerHTML=string;div.children.length>0;)element.appendChild(div.children[0])},addClass=exports.addClass=function addClass(element,className){element.classList?element.classList.add(className):element.className+=" "+className},removeClass=exports.removeClass=function removeClass(element,className){element.classList?element.classList.remove(className):element.className=element.className.replace(new RegExp("(^|\\b)"+className.split(" ").join("|")+"(\\b|$)","gi")," ")},getScrollTop=exports.getScrollTop=function getScrollTop(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},getScrollLeft=exports.getScrollLeft=function getScrollLeft(){return window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0},getOffset=exports.getOffset=function getOffset(el){var rect=el.getBoundingClientRect();return{top:rect.top+getScrollTop(),left:rect.left+getScrollLeft()}}},{}]},{},[2])(2)}));
426
427
428$(function(){
429	if(is_sp()){
430		new ScrollHint('.js-scrollable', {
431			i18n: {
432				scrollable: 'スクロールできます'
433			}
434		});
435	}
436});
437
438
439/* IRライブラリ表
440 ---------------------------------------------------*/
441$(function(){
442	$('table.table-ir td').each(function(){
443		if(is_sp() && $(this).find('a').length == 0){
444			$(this).remove();
445		}
446	});
447});
448
449
450/* フローティングナビ
451 ---------------------------------------------------*/
452$(function(){
453	if(is_sp() && $('#float-nav').length > 0){
454		$('body').addClass('flt-nav');
455	}
456	if(is_sp() && $('#float-contact').length > 0){
457		$('body').addClass('flt-contact');
458	}
459
460	$('#float-nav li.parent p').on('click', function(e){
461		e.preventDefault();
462		if(!is_sp()){
463			$(this).next('ul').slideToggle();
464			$(this).parents('li').toggleClass('active');
465		}
466		else{
467			if($(this).parents('li').hasClass('active')){
468				$(this).parents('li').removeClass('active');
469			}
470			else{
471				$('#float-nav li.parent').removeClass('active');
472				$(this).parents('li').addClass('active');
473			}
474		}
475	});
476
477	var elmFloatContact = '#float-contact';
478	$(document).on('click', function(event){
479		if(!is_sp()){
480			if($(event.target).closest(elmFloatContact).length) {
481				if($(elmFloatContact).hasClass('active')){
482					$(elmFloatContact).removeClass('active');
483				}
484				else{
485					$(elmFloatContact).addClass('active');
486				}
487			}
488			else{
489				$(elmFloatContact).removeClass('active');
490			}
491		}
492		else{
493			if($(event.target).closest(elmFloatContact + ' h2').length) {
494				if($(elmFloatContact).hasClass('active')){
495					$(elmFloatContact).removeClass('active');
496				}
497				else{
498					$(elmFloatContact).addClass('active');
499				}
500			}
501		}
502	});
503
504	//リサイズ時 ブレークポイント切替の初回のみ処理
505	var flg_SP = false;
506	if(is_sp()){
507		flg_SP = true;
508	}
509	$(window).resize(function(){
510			//window幅が変化した際にドロップダウン状態か判定し、イベントを分岐
511			//windowW = $(window).width();
512			if(is_sp()){
513				if(!flg_SP){	/* PC → SP */
514					$('#float-nav li.parent ul').css('display', 'flex');
515					$('#float-nav li.parent').removeClass('active');
516					$(elmFloatContact).removeClass('active');
517					flg_SP = true;
518				}
519			}else{
520				if(flg_SP){	/* SP → PC */
521					$('#float-nav li.parent ul').css('display', 'none');
522					$('#float-nav li.parent').removeClass('active');
523					$(elmFloatContact).removeClass('active');
524					flg_SP = false;
525				}
526			}
527	});
528});
529
530
531/* HOME用スクリプト
532 ---------------------------------------------------*/
533//メインビジュアル テキストアニメーション
534$(function(){
535	// アニメーションさせたいクラス
536	var container = $(".js-text");
537	// アニメーションスピード
538	var speed = 80;
539
540	// テキストの間にスペースを入れます
541	var content = container.html();
542	var text = $.trim(content);
543	text = text.replace('<br>', '\n');
544	var newHtml = "";
545
546	// スペースで区切ったテキストを、テキストの数だけspanで囲む
547	text.split("").forEach(function(v) {
548		if(v == '\n'){
549			newHtml += '<br>';
550		}
551		else{
552			newHtml += '<span>' + v + '</span>';
553		}
554	});
555
556	// spanで囲んだテキスト群をHTMLに戻す
557	container.html(newHtml);
558
559	// 1文字ずつ表示
560	var txtNum = 0;
561	container.css({opacity: 1});
562	setInterval(function() {
563		container.find('span').eq(txtNum).css({opacity: 1});
564		txtNum++;
565	}, speed);
566});
567
568$(function(){
569	//ヘッダー ロゴ差し替え、キャッチコピー位置調整
570	if($('body#home').hasClass('pc')){
571		$.when(
572			$('#header-area .header-logo img').attr('src', $('#header-area .header-logo img').attr('src').replace('logo.svg','logo_home.svg'))
573		).done(function(){
574			$('#header-area').addClass('active');
575		});
576
577		//キャッチコピー位置調整
578		var flg_h = false;
579		$(window).on('load resize', function(){
580			var h = $('#home-mainvisual').height();
581			if(h < 626 && !flg_h){
582				$('#home-mainvisual').addClass('h-row');
583				flg_h = true;
584			}
585			else if(h >= 626 && flg_h){
586				$('#home-mainvisual').removeClass('h-row');
587				flg_h = false;
588			}
589		});
590	}
591
592	//Topicsスライダー
593	if($('#home-topics').length > 0){
594		var selector = '#home-topics .swiper-container';
595		//スライド枚数が画面内に表示される枚数よりも少ない場合に動作不具合が発生するため
596		//クローンを1セット追加
597		if($(selector).find('.swiper-slide').length <= 3){
598			var wrapper = $(selector).children('.swiper-wrapper');
599			wrapper.append(wrapper.html());
600		}
601		//スライダー生成
602		window.addEventListener('DOMContentLoaded', function() {
603			var mySwiper = new Swiper(selector, {
604				paginationClickable: true,
605				slidesPerView: 'auto',
606				loop: true,
607				speed: 1000,
608				autoplay: {
609					delay: 5000,
610					disableOnInteraction: false,
611				},
612				spaceBetween: 70,
613				autoHeight: false,
614				navigation: {
615					nextEl: '.swiper-button-next',
616					prevEl: '.swiper-button-prev',
617				},
618				pagination: {
619					el: '.swiper-pagination',
620					clickable: true,
621				},
622			});
623		}, false);
624	}
625});
626
627
628/* ランダムサークル
629 ---------------------------------------------------*/
630$(function() {
631	var container = $('.js-circle-container');
632	var circle = $('.js-circle');
633	var circle2 = $('.js-circle2');
634	var interval = 20; //発生間隔
635	var rate = 5; //発生確率
636	var timeout = 3000; //消えるまでの時間
637	var paddingX = 0; //描画範囲の余白
638	var paddingY = 100; //描画範囲の余白
639	var minX = 0 - (container.width() / 2);
640	var minY = 0 - (container.width() / 2);
641	var maxX = container.width() + paddingX;
642	var maxY = container.height() + paddingY;
643	//var timer = false;
644
645	container.each(function(){
646//		maxX = $(this).width() - paddingX;
647//		maxY = $(this).height() - paddingY;
648		setInterval(randomCircle, interval);
649		setInterval(randomCircle2, interval);
650	});
651
652	function randomCircle() {
653		var num = getRandomInt(1, 100);
654		var x = getRandomInt(minX, maxX);
655		var y = getRandomInt(minY, maxY);
656		var style = {
657			top: y,
658			left: x
659		}
660
661		if(num <= rate){
662			var target = circle.clone().prependTo(container);
663			target.css(style).show();
664			setTimeout(function(){
665				target.remove();
666			}, timeout);
667		}
668	}
669
670	function randomCircle2() {
671		var num = getRandomInt(1, 100);
672		var x = getRandomInt(minX, maxX);
673		var y = getRandomInt(minY, maxY);
674		var style = {
675			top: y,
676			left: x
677		}
678
679		if(num <= rate){
680			var target = circle2.clone().prependTo(container);
681			target.css(style).show();
682			setTimeout(function(){
683				target.remove();
684			}, timeout);
685		}
686	}
687});
688/* ------------------------------
689整数をランダムで返す関数
690------------------------------ */
691function getRandomInt(min, max) {
692	return Math.floor( Math.random() * (max - min + 1) ) + min;
693}
694
695
696/* 高さ揃え
697 ---------------------------------------------------*/
698if($('.index-pattern, .index-pattern5, .pattern-movie, .pattern-business .col > div, .message-sign-area .left-col, .message-sign-area .right-col').length > 0){
699	$('.index-pattern a').matchHeight();
700	$('.index-pattern5 .col p.head').matchHeight();
701	$('.index-pattern5 .col p.head + p').matchHeight();
702	$('.pattern-movie .col > div').matchHeight();
703	$('.pattern-business .col > div').matchHeight();
704	$('.pattern-business .col > div .head').matchHeight();
705	$('.message-sign-area .left-col, .message-sign-area .right-col').matchHeight();
706}
707
708
709
710/* モーダルウィンドウ
711 ---------------------------------------------------*/
712$(function() {
713  $(".modal_open").click(function(){
714		$(this).next(".modal").addClass('active');
715		return false;
716	});
717
718	$(".modal_close").click(function(){
719		$(this).parent().parent().removeClass('active');
720	});
721
722	$(document).click(function(i){
723		if(!$(i.target).closest('.modal_area').length) {
724			$(".modal").removeClass('active');
725		}
726	});
727});

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.