PageSourceSearch

https://www.the-luxe.jp/js/index.js?update=20230525083005

js the-luxe.jp collected 2026-10-05 11:15:42 UTC 31,915 bytes, 1,108 lines download raw bytes

1$(function() {
2	//mv slide
3	(function() {
4		var mv_timerID,
5			time = 4000,
6			ele = $('#visual div'),
7			mv = $('li', ele),
8			len = mv.size(),
9			thumb = $('<p></p>'),
10			thumbs = $('span', thumb),
11			now = 10,
12			z = 1
13		;
14			
15		if(len < 2) return;
16		
17		mv.each( function(i){
18			var span = $('<span></span>');
19			span.click( function(){
20				changePh(i);
21			});
22			thumb.append(span);
23		});
24		ele.append(thumb);
25		
26		changePh(0, true);
27	
28		function changePh(n, ff) {
29			if(n == now || mv.is(':animated')) return;
30			clearTimeout(mv_timerID);
31	
32			mv.eq(n).hide().css('z-index', z).fadeIn((ff ? 0 : 600), function(){
33				mv_timerID = setTimeout( function(){
34					changePh((now+1)%len);
35				}, time);
36			});
37	
38			thumbs.removeClass('current');
39			thumbs.eq(n).addClass('current');
40	
41			now = n;
42			z ++;
43		}
44	})();
45	
46	//movie
47	(function() {
48		var userAgent = window.navigator.userAgent.toLowerCase();
49		var appVersion = window.navigator.appVersion.toLowerCase();
50		(function(u){
51		   if(u.indexOf("windows") != -1 && u.indexOf("touch") != -1
52			|| u.indexOf("ipad") != -1
53			|| (u.indexOf("android") != -1 && u.indexOf("mobile") == -1)
54			|| (u.indexOf("firefox") != -1 && u.indexOf("tablet") != -1)
55			|| u.indexOf("kindle") != -1
56			|| u.indexOf("silk") != -1
57			|| u.indexOf("playbook") != -1
58			){
59				$('body').addClass('touchDevice');
60				$('body').addClass('tablet');
61			}else if(
62			(u.indexOf("windows") != -1 && u.indexOf("phone") != -1)
63			|| u.indexOf("iphone") != -1
64			|| u.indexOf("ipod") != -1
65			|| (u.indexOf("android") != -1 && u.indexOf("mobile") != -1)
66			|| (u.indexOf("firefox") != -1 && u.indexOf("mobile") != -1)
67			|| u.indexOf("blackberry") != -1
68			){
69				$('body').addClass('touchDevice');
70				$('body').addClass('mobile');
71			}else{
72				$('body').addClass('desktopDevice');
73				if(u.match(/(msie|MSIE)/) || u.match(/(T|t)rident/)){
74					var ieVersion = userAgent.match(/((msie|MSIE)\s|rv:)([\d\.]+)/)[3];
75					switch(parseInt(ieVersion)){
76						case 11:
77							$('body').addClass('ie11');
78							break;
79						case 10:
80							$('body').addClass('ie10');
81							break;
82						case 9:
83							$('body').addClass('ie9');
84							break;
85						case 8:
86							$('body').addClass('ie8');
87							break;
88						case 7:
89							$('body').addClass('ie7');
90							break;
91						case 6:
92							$('body').addClass('ie6');
93							break;
94					}
95				}else if(u.indexOf('chrome') != -1){
96					$('body').addClass('chrome');
97				}else if(u.indexOf('safari') != -1){
98					$('body').addClass('safari');
99				}else if(u.indexOf('firefox') != -1){
100					$('body').addClass('firefox');
101				}
102			}
103		})(window.navigator.userAgent.toLowerCase());
104	
105		if($('body').hasClass('desktopDevice')){//デスクトップのとき
106			$('[data-screen-desktopDevice]').each(function(index, element) {
107				insertSourse(element, 'data-screen-desktopDevice');
108			});
109		}else{
110			$('[data-screen-touchDevice]').each(function(index, element) {
111				insertSourse(element, 'data-screen-touchDevice');
112			});
113		}
114		
115		//動画
116		TweenMax.to('#visual .oparea > .logo', 1.0, {alpha:1, ease:Power2.easeInOut});
117		TweenMax.to('#visual .oparea > .logo', 5.0, {scale:1.16, ease:Linear.easeNone});
118		TweenMax.to('#visual .oparea > .logo', 1.0, {alpha:0, ease:Power2.easeInOut, delay:3});
119		
120		TweenMax.to('#visual .oparea > .bg', 5.0, {scale:1.06, ease:Linear.easeNone});
121		TweenMax.to('#visual .oparea > .bg', 1.0, {alpha:0, display:'none', delay:4, ease:Power2.easeInOut, onStart:function(){
122			$('#MVAreaVideo')[0].play();
123		}});
124		
125		TweenMax.to('#visual .oparea', 1.0, {alpha:0, display:'none', delay:5, ease:Power2.easeInOut});
126		
127		function insertSourse(el, attr){
128			switch(el.tagName){
129				case 'VIDEO':
130					if($('body').hasClass('ie9')){
131						var $el, data, add, i;
132						$el = $(el);
133						data = {};
134						add = function(attr){
135							if(! attr.nodeValue || $el.attr(attr.name) === undefined){ return; } // For IE7
136							data[attr.name] = attr.nodeValue;
137						};
138						for(i=0; i< el.attributes.length; i++){
139							add(el.attributes[i]);
140						}
141						var newE = $('<video autoplay loop><source src="'+$(el).attr(attr)+'.mp4"></video>');
142						for(var key in data){
143							newE.attr(key, data[key]);
144						}
145						$(el).replaceWith(newE);
146					}else{
147						$(el).html('<source src="'+$(el).attr(attr)+'.mp4">');
148					}
149					break;
150				case 'IMG':
151					el.setAttribute('src', el.getAttribute(attr));
152					break;
153			}
154		}
155	})();
156	
157	function resizeTrimingRatio(wW,wH,iW,iH,overflow){
158		if(!overflow)overflow = true;
159		return (overflow)?
160			Math.max(
161				parseInt(wW) / (parseInt(iW)),
162				parseInt(wH) / (parseInt(iH))
163			)
164			:
165			Math.min(
166				parseInt(wW) / (parseInt(iW)),
167				parseInt(wH) / (parseInt(iH))
168			);
169	}
170	$(window).on('resize', function(){
171		var w = $(window).width();
172		var h = $(window).height();
173		var ratio = resizeTrimingRatio($('#visual .movie').width(), $('#visual .movie').height(), 1920, 1080);
174		var iw = 1920*ratio;
175		var ih = 1080*ratio;
176		var ww = ($('#visual .movie').width()-iw)*0.5;
177		var wh = ($('#visual .movie').height()-ih)*0.5;
178
179		$('#MVAreaVideo').removeAttr('style');
180		$('#MVAreaVideo').css({width:iw, height:ih, marginLeft:ww, marginTop:0});
181		
182		//
183		if(640 < w){
184			for(var i = 0; i < $('.topFair .slide .plancontent').length; i+=2){
185				$('.topFair .slide .plancontent').eq(i).css('height', 'auto');
186				$('.topFair .slide .plancontent').eq(i+1).css('height', 'auto');
187				var totalH = Math.max.apply(null, [$('.topFair .slide .plancontent').eq(i).outerHeight(), $('.topFair .slide .plancontent').eq(i+1).outerHeight()]);
188				$('.topFair .slide .plancontent').eq(i).outerHeight(totalH);
189				$('.topFair .slide .plancontent').eq(i+1).outerHeight(totalH);
190			}
191			$('.topFair .slide').css('height', 'auto');
192			
193			
194			for(var i = 0; i < $('.art09 .slide .plancontentWrap').length; i+=2){
195				$('.art09 .slide .plancontentWrap').eq(i).css('height', 'auto');
196				$('.art09 .slide .plancontentWrap').eq(i+1).css('height', 'auto');
197				var totalH = Math.max.apply(null, [$('.art09 .slide .plancontentWrap').eq(i).outerHeight(), $('.art09 .slide .plancontentWrap').eq(i+1).outerHeight()]);
198				$('.art09 .slide .plancontentWrap').eq(i).outerHeight(totalH);
199				$('.art09 .slide .plancontentWrap').eq(i+1).outerHeight(totalH);
200			}
201			$('.art09 .slide').css('height', 'auto');
202		}else{
203			var ary = [];
204			for(var i = 0; i < $('.topFair .slide .plancontent').length; i++){
205				$('.topFair .slide .plancontent').eq(i).css('height', 'auto');
206				ary.push($('.topFair .slide .plancontent').eq(i).outerHeight());
207			}
208			var totalH = Math.max.apply(null, ary);
209			$('.topFair .slide .plancontent').outerHeight(totalH);
210			$('.topFair .slide').outerHeight(totalH);
211			
212			
213			var ary = [];
214			for(var i = 0; i < $('.art09 .slide .plancontentWrap').length; i++){
215				$('.art09 .slide .plancontentWrap').eq(i).css('height', 'auto');
216				ary.push($('.art09 .slide .plancontentWrap').eq(i).outerHeight());
217			}
218			var totalH = Math.max.apply(null, ary);
219			$('.art09 .slide .plancontentWrap').outerHeight(totalH);
220			$('.art09 .slide').outerHeight(totalH);
221		}
222	});
223	$(window).trigger('resize');
224	
225	
226	
227	
228	//topics
229	(function(){
230		/*var topics_plan = [];
231		//topics用のプラン
232		$('.art07 .content .link:not(.dammy)').each(function(index, element) {
233			topics_plan.push(element);
234		});
235		//プラン
236		var autoheightVal = $('[data-slidearea01] .link').eq(0).children('.in').attr('data-autoheight');
237		var autoheightVal2 = $('[data-slidearea01] .link').eq(0).find('.title').attr('data-autoheight');
238		var contentsPlan = [];
239		for(var i = 0; i < topics_plan.length; i++){
240			var result = '',
241				element = $(topics_plan[i]),
242				planVal = element.find('.plancontentTxt').text();
243			if(planVal.length > 50){
244				planVal = planVal.substr(0,50) + '...';
245			}
246			var titleVal = element.find('.plancontentTitle b').text();
247			var imgVal = element.find('.plancontentImg').attr('data-loadfile');
248			var linkVal = element.find('.plancontentTxtLink a').attr('href');
249			
250			result += '<a class="link" href="' + linkVal + '">';
251			result +=  '<article class="in" data-autoheight="' + autoheightVal + '">';
252			result +=   '<div class="imgarea">';
253			result +=    '<div class="img" data-loadfile="' + imgVal + '">';
254			result +=    '</div>';
255			result +=   '</div>';
256			result +=   '<p class="cate"><img src="images/topics_title02.png" alt="プラン" width="66" height="19"></p>';
257			result +=   '<p class="title" data-autoheight="' + autoheightVal2  +'">' + titleVal + '</p>';
258			result +=   '<p class="caption">' + planVal + '</p>';
259			result +=  '</article>';
260			result += '</a>';
261			
262			var ne = $(result);
263			ne.find('.img').attr('style', 'background-image:url('+ element.find('.plancontentImg').attr('data-loadfile')+');');
264			contentsPlan.push(ne);
265		}
266		for(var i = contentsPlan.length; 0 <= i; i--){
267			$('[data-slidearea01] .link.fair:last').after(contentsPlan[i]);
268		}
269		*/
270		$('[data-slidearea01]').each(function(index, element) {
271			var slidearea = $(this).find('.content'),
272				slides = slidearea.find('.link'),
273				slidesWithDammy,
274				length = slides.length-1,
275				pager,
276				pagers,
277				now = -1,
278				prev = $(this).find('.prev'),
279				next = $(this).find('.next'),
280				loop,
281				loopDur = 6000,
282				flickFlg = false,
283				flickArea = $(this).find('.contentWrapIn'),
284				flickPosXBefore = 0,
285				flickPosXNow = 0,
286				flickPosXFirst = 0,
287				flickPosYBefore = 0,
288				flickPosYNow = 0,
289				flickPosYFirst = 0,
290				flickArrow,
291				flickLoop,
292				flickAnimTimeFlg = false;
293				
294			slides = slidearea.find('.link'),
295			length = slides.length-1,
296			
297			//番号を設定
298			slides.each(function(i, e) {
299				$(e).attr('data-slide-num', i).css({left:100*i+'%'});
300				//pager.append('<li data-slide-num="' + i + '"></li>');
301			});
302			//pagers = pager.children();
303			
304			(function(){
305				//端の要素を生成
306				var closeElesPrev = [],
307					closeElesNext = [],
308					closeEle,
309					closeEleIndex = 3,
310					closeEleNow;
311					
312				//ダミー要素 前 作成
313				closeEleNow = length+1;
314				for(var i = 0; i < closeEleIndex; i++){
315					closeEleNow--;
316					if(closeEleNow < 0) closeEleNow = length-1;
317					var c = slides.eq(closeEleNow).clone();
318					$(c).css({left:(-100*(i+1))+'%'});
319					closeElesPrev.push($(c));
320				}
321				//ダミー要素 後 作成
322				closeEleNow = -1;
323				for(var i = 0; i < closeEleIndex; i++){
324					closeEleNow++;
325					if(length < closeEleNow) closeEleNow = 0;
326					var c = slides.eq(closeEleNow).clone();
327					$(c).css({left:100*(length+(i+1))+'%'});
328					closeElesNext.push($(c));
329				}
330				//ダミー要素をいれる
331				for(var i = 0; i < closeElesPrev.length; i++){
332					closeElesPrev[i].addClass('dammy');
333					slidearea.prepend(closeElesPrev[i]);
334				}
335				for(var i = 0; i < closeElesNext.length; i++){
336					closeElesNext[i].addClass('dammy');
337					slidearea.append(closeElesNext[i]);
338				}
339				
340				slidesWithDammy = slidearea.children();
341			})();
342		
343			//pager
344			/*pagers.on(((window.navigator.msPointerEnabled)?'pointerdown':('ontouchend' in document)?'touchstart':'click'), function(e){
345				var val = $(this).attr('data-slide-num');
346				changeFunc(val);
347			});*/
348			
349			//prev処理
350			function prevFunc(){
351				var val = -1+now;
352				if(val < 0) val = length;
353				changeFunc(val, 'prev');
354			}
355			prev.on(((window.navigator.msPointerEnabled)?'pointerdown':('ontouchend' in document)?'touchstart':'click'), prevFunc);
356	
357			//next
358			function nextFunc(){
359				var val = +1+now;
360				if(length < val) val = 0;
361				changeFunc(val, 'next');
362			}
363			next.on(((window.navigator.msPointerEnabled)?'pointerdown':('ontouchend' in document)?'touchstart':'click'), nextFunc);
364			
365			//フリックエリアが見えたときに自動処理を有効にする
366			$(this).on('inview', function(e, isInView, visiblePartX, visiblePartY) {
367				if(isInView){
368					clearInterval(flickLoop);
369					flickLoop = setInterval(function(){
370						if(flickFlg) flickLoopFunc();
371					}, 33);
372				}else{
373					clearInterval(flickLoop);
374				}
375			});
376			
377			//flick touchstart
378			flickArea.on('touchstart', function(e){
379				flickPosXNow = flickPosXBefore = flickPosXFirst = e.originalEvent.changedTouches[0].pageX;
380				flickPosYNow = flickPosYBefore = flickPosYFirst = e.originalEvent.changedTouches[0].pageY;
381				clearInterval(loop);
382				flickFlg = false;
383			});
384			
385			//flick touchmove
386			flickArea.on('touchmove', function(e){
387				flickPosXNow = e.originalEvent.changedTouches[0].pageX;
388				flickPosYNow = e.originalEvent.changedTouches[0].pageY;
389				flickPosSetFunc();
390				flickFlg = true;
391			});
392			
393			//flick touchend
394			flickArea.on('touchend', function(e){
395				if(flickFlg){
396					switch(flickArrow){
397						case 'next':
398							flickFlg = false;
399							flickAnimTimeFlg = true;
400							nextFunc();
401							break;
402						case 'prev':
403							flickFlg = false;
404							flickAnimTimeFlg = true;
405							prevFunc();
406							break;
407						default:
408							clearInterval(loop);
409							loop = setInterval(loopFunc, loopDur);
410							
411							flickPosResetFunc();
412							break;
413					}
414					flickArrow = 'none';
415				}else{
416					clearInterval(loop);
417					loop = setInterval(loopFunc, loopDur);
418				}
419				flickFlg = false;
420			});
421			
422			//flick 常時処理
423			function flickLoopFunc(){
424				if(Math.abs(flickPosXNow-flickPosXBefore) > 10){//タッチ開始位置から一定の距離の場合
425					if(Math.abs(flickPosYNow-flickPosYBefore) < Math.abs(flickPosXNow-flickPosXBefore)){//Y軸よりX軸のほうが値が大きい場合
426						if(flickPosXNow-flickPosXBefore < 0){//マイナスのとき
427							flickArrow = 'next';
428						}else{
429							flickArrow = 'prev';
430						}
431					}
432				}else{
433					flickArrow = 'none';
434				}
435				console.log(flickArrow);
436				flickPosXBefore = flickPosXNow;
437			}
438			function flickPosSetFunc(per){
439				per = ((flickPosXFirst-flickPosXNow)/flickArea.width())*100;
440				TweenMax.set(slidearea, {x:(-100*now)-per+'%'});
441			}
442			function flickPosResetFunc(){
443				TweenMax.to(slidearea, 0.4, {x:-100*now+'%'});
444			}
445			
446			//ループ処理
447			function loopFunc(){
448				//ページが非表示のときは中断
449				if(Common.pageHideFlg)return false;
450				
451				nextFunc();
452			}
453			
454			//スライドの処理
455			function changeFunc(num, arrow, target, targetP){
456				//slide active
457				slidesWithDammy.removeClass('active');
458		
459				//slide
460				var moveNum = num;
461				if(2 <= length){
462					if(length == now && num == 0) moveNum = length+1;
463					if(0 ==  now && num == length) moveNum = -1;
464				}else{
465					if(num == 0 && arrow == 'next') moveNum = length+1;
466					if(num == length && arrow == 'prev') moveNum = -1;
467				}
468				
469				var time = 0.4;
470				if(flickAnimTimeFlg){
471					time = 0.2;
472					flickAnimTimeFlg = false;
473				}
474				TweenMax.to(slidearea, time, {x:-100*moveNum+'%', onComplete:function(){
475					TweenMax.set(slidearea, {x:-100*num+'%'});
476					
477					//slide active
478					var activeTarget = slidearea.find('[data-slide-num="'+now+'"]');
479					activeTarget.addClass('active');
480				}});
481		
482				//pager
483				/*target = pagers.eq(num);
484				pagers.removeClass('active');
485				target.addClass('active');*/
486				
487				//loop
488				clearInterval(loop);
489				loop = setInterval(loopFunc, loopDur);
490		
491				//
492				now = num;
493			}
494			changeFunc(0);
495			
496			//そろえる
497			TweenMax.set('body', {delay:0.5, onComplete:function(){
498				Common.setAlignElem();
499			}});
500		});
501	})();
502	
503	
504	//プラン
505	(function(){
506		$('[data-slidearea04]').each(function(index, element) {
507			var slidearea = $(this).find('.content'),
508				slides = slidearea.find('.link'),
509				slidesWithDammy,
510				length = slides.length-1,
511				pager = $(this).find('.pager'),
512				pagers,
513				now = -1,
514				prev = $(this).find('.prev'),
515				next = $(this).find('.next'),
516				loop,
517				loopDur = 6000,
518				flickFlg = false,
519				flickArea = $(this).find('.contentWrapIn'),
520				flickPosXBefore = 0,
521				flickPosXNow = 0,
522				flickPosXFirst = 0,
523				flickPosYBefore = 0,
524				flickPosYNow = 0,
525				flickPosYFirst = 0,
526				flickArrow,
527				flickLoop,
528				flickAnimTimeFlg = false;
529				
530			var captions = $(this).find('.captions li'),
531				thumb = $(this).find('.thumb'),
532				thumbs;
533				
534			var selectbtns = $('.plancontentSlidebtn li');
535			
536			//番号を設定
537			slides.each(function(i, e) {
538				$(e).attr('data-slide-num', i).css({left:100*i+'%'});
539				pager.append('<button data-slide-num="' + i + '"></button>');
540				
541				//thumb
542				if(thumb){
543					if(thumb[0]){
544						thumb.append('<li data-slide-num="' + i + '"></li>');
545						var cl = $(e).clone();
546						cl.removeAttr('style').removeAttr('data-autoheight').removeClass('class');
547						thumb.find('li').eq(i).append(cl);
548					}
549				}
550				//selectbtns
551				if(selectbtns){
552					if(selectbtns[0]){
553						selectbtns.eq(i).attr('data-slide-num', i);
554					}
555				}
556				
557			});
558			pagers = pager.children();
559			//thumb
560			if(thumb){
561				if(thumb[0]){
562					thumbs = thumb.children();
563				}
564			}
565			
566			//inviewでwill-changeをセット
567			Common.setWillchangeInviewEvent();
568			
569			(function(){
570				//端の要素を生成
571				var closeElesPrev = [],
572					closeElesNext = [],
573					closeEle,
574					closeEleIndex = 3,
575					closeEleNow;
576					
577				//ダミー要素 前 作成
578				closeEleNow = length+1;
579				for(var i = 0; i < closeEleIndex; i++){
580					closeEleNow--;
581					if(closeEleNow < 0) closeEleNow = length-1;
582					var c = slides.eq(closeEleNow).clone();
583					$(c).css({left:(-100*(i+1))+'%'});
584					closeElesPrev.push($(c));
585				}
586				//ダミー要素 後 作成
587				closeEleNow = -1;
588				for(var i = 0; i < closeEleIndex; i++){
589					closeEleNow++;
590					if(length < closeEleNow) closeEleNow = 0;
591					var c = slides.eq(closeEleNow).clone();
592					$(c).css({left:100*(length+(i+1))+'%'});
593					closeElesNext.push($(c));
594				}
595				//ダミー要素をいれる
596				for(var i = 0; i < closeElesPrev.length; i++){
597					closeElesPrev[i].addClass('dammy');
598					slidearea.prepend(closeElesPrev[i]);
599				}
600				for(var i = 0; i < closeElesNext.length; i++){
601					closeElesNext[i].addClass('dammy');
602					slidearea.append(closeElesNext[i]);
603				}
604				
605				slidesWithDammy = slidearea.children();
606			})();
607		
608			//pager
609			pagers.on(((window.navigator.msPointerEnabled)?'pointerdown':('ontouchend' in document)?'touchstart':'click'), function(e){
610				var val = $(this).attr('data-slide-num');
611				changeFunc(val);
612			});
613			
614			//thumb
615			if(thumbs){
616				if(thumbs[0]){
617					thumbs.on(((window.navigator.msPointerEnabled)?'pointerdown':('ontouchend' in document)?'touchstart':'click'), function(e){
618						var val = $(this).attr('data-slide-num');
619						changeFunc(val);
620					});
621				}
622			}
623			
624			//selectbtns
625			if(selectbtns){
626				if(selectbtns[0]){
627					selectbtns.on(((window.navigator.msPointerEnabled)?'pointerdown':('ontouchend' in document)?'touchstart':'click'), function(e){
628						var val = $(this).attr('data-slide-num');
629						changeFunc(val);
630					});
631				}
632			}
633			
634			//prev処理
635			function prevFunc(){
636				var val = -1+now;
637				if(val < 0) val = length;
638				changeFunc(val, 'prev');
639			}
640			prev.on(((window.navigator.msPointerEnabled)?'pointerdown':('ontouchend' in document)?'touchstart':'click'), prevFunc);
641	
642			//next
643			function nextFunc(){
644				var val = +1+now;
645				if(length < val) val = 0;
646				changeFunc(val, 'next');
647			}
648			next.on(((window.navigator.msPointerEnabled)?'pointerdown':('ontouchend' in document)?'touchstart':'click'), nextFunc);
649			
650			//フリックエリアが見えたときに自動処理を有効にする
651			$(this).on('inview', function(e, isInView, visiblePartX, visiblePartY) {
652				if(isInView){
653					clearInterval(flickLoop);
654					flickLoop = setInterval(function(){
655						if(flickFlg) flickLoopFunc();
656					}, 33);
657				}else{
658					clearInterval(flickLoop);
659				}
660			});
661			
662			//flick touchstart
663			flickArea.on('touchstart', function(e){
664				flickPosXNow = flickPosXBefore = flickPosXFirst = e.originalEvent.changedTouches[0].pageX;
665				flickPosYNow = flickPosYBefore = flickPosYFirst = e.originalEvent.changedTouches[0].pageY;
666				clearInterval(loop);
667				flickFlg = false;
668			});
669			
670			//flick touchmove
671			flickArea.on('touchmove', function(e){
672				flickPosXNow = e.originalEvent.changedTouches[0].pageX;
673				flickPosYNow = e.originalEvent.changedTouches[0].pageY;
674				flickPosSetFunc();
675				flickFlg = true;
676			});
677			
678			//flick touchend
679			flickArea.on('touchend', function(e){
680				if(flickFlg){
681					switch(flickArrow){
682						case 'next':
683							flickFlg = false;
684							flickAnimTimeFlg = true;
685							nextFunc();
686							break;
687						case 'prev':
688							flickFlg = false;
689							flickAnimTimeFlg = true;
690							prevFunc();
691							break;
692						default:
693							clearInterval(loop);
694							loop = setInterval(loopFunc, loopDur);
695							
696							flickPosResetFunc();
697							break;
698					}
699					flickArrow = 'none';
700				}else{
701					clearInterval(loop);
702					loop = setInterval(loopFunc, loopDur);
703				}
704				flickFlg = false;
705			});
706			
707			//flick 常時処理
708			function flickLoopFunc(){
709				if(Math.abs(flickPosXNow-flickPosXBefore) > 10){//タッチ開始位置から一定の距離の場合
710					if(Math.abs(flickPosYNow-flickPosYBefore) < Math.abs(flickPosXNow-flickPosXBefore)){//Y軸よりX軸のほうが値が大きい場合
711						if(flickPosXNow-flickPosXBefore < 0){//マイナスのとき
712							flickArrow = 'next';
713						}else{
714							flickArrow = 'prev';
715						}
716					}
717				}else{
718					flickArrow = 'none';
719				}
720				flickPosXBefore = flickPosXNow;
721			}
722			function flickPosSetFunc(per){
723				per = ((flickPosXFirst-flickPosXNow)/flickArea.width())*100;
724				TweenMax.set(slidearea, {x:(-100*now)-per+'%'});
725			}
726			function flickPosResetFunc(){
727				TweenMax.to(slidearea, 0.4, {x:-100*now+'%'});
728			}
729			
730			//ループ処理
731			function loopFunc(){
732				//ページが非表示のときは中断
733				if(Common.pageHideFlg)return false;
734				
735				nextFunc();
736			}
737			
738			//スライドの処理
739			function changeFunc(num, arrow, target, targetP){
740				//slide active
741				slidesWithDammy.removeClass('active');
742		
743				//slide
744				var moveNum = num;
745				if(2 <= length){
746					if(length == now && num == 0) moveNum = length+1;
747					if(0 ==  now && num == length) moveNum = -1;
748				}else{
749					if(num == 0 && arrow == 'next') moveNum = length+1;
750					if(num == length && arrow == 'prev') moveNum = -1;
751				}
752				
753				var time = 0.4;
754				if(flickAnimTimeFlg){
755					time = 0.2;
756					flickAnimTimeFlg = false;
757				}
758				TweenMax.to(slidearea, time, {x:-100*moveNum+'%', onComplete:function(){
759					TweenMax.set(slidearea, {x:-100*num+'%'});
760					
761					//slide active
762					var activeTarget = slidearea.find('[data-slide-num="'+now+'"]');
763					activeTarget.addClass('active');
764				}});
765		
766				//pager
767				target = pagers.eq(num);
768				pagers.removeClass('active');
769				target.addClass('active');
770				
771				//loop
772				clearInterval(loop);
773				loop = setInterval(loopFunc, loopDur);
774				
775				//captions
776				if(captions){
777					if(captions[0]){
778						target = captions.eq(num);
779						captions.removeClass('active');
780						target.addClass('active');
781					}
782				}
783				
784				//thumb
785				if(thumb){
786					if(thumb[0]){
787						target = thumbs.eq(num);
788						thumbs.removeClass('active');
789						target.addClass('active');
790					}
791				}
792				
793				//selectbtns
794				if(selectbtns){
795					if(selectbtns[0]){
796						target = selectbtns.eq(num);
797						selectbtns.removeClass('active');
798						target.addClass('active');
799					}
800				}
801				
802		
803				//
804				now = num;
805			}
806			changeFunc(0);
807		});
808	})();
809	
810	
811	//フェア・お知らせ・パーティレポート
812	(function(){
813		$('[data-slidearea03]').each(function(index, element) {
814			var slidearea = $(element).find('[data-slidearea03-slide]'),
815				slides = slidearea.children(),
816				slideDistMargin = 0,
817				length = parseInt(slides.length),
818				pager = $(element).find('[data-slidearea03-pager]').children(),
819				now = -1,
820				clickFlg = false,
821				prev = $(element).find('.prev'),
822				next = $(element).find('.next'),
823				loop,
824				loopDur = 6000,
825				flickFlg = false,
826				flickArea = $(element).find('[data-slidearea03-slickarea]'),
827				flickPosXBefore = 0,
828				flickPosXNow = 0,
829				flickPosXFirst = 0,
830				flickPosYBefore = 0,
831				flickPosYNow = 0,
832				flickPosYFirst = 0,
833				flickArrow,
834				flickLoop,
835				flickAnimTimeFlg = false;
836			
837			//スライドが1枚しかないとき	
838			if(length <= 1){
839				//スライド機能を無効にする(CSSで設定されている)
840				element.setAttribute('data-slidearea03-disabled', '');
841				return true;
842			}
843				
844			//番号を設定
845			slides.each(function(i, ele) {
846				ele.setAttribute('data-slidenum', i);
847				TweenMax.set(ele, {left:(100*i)+'%', className:'+=original'});
848			});
849			
850			(function(){
851				
852				//端の要素を生成
853				var closeElesPrev = [],
854					closeElesNext = [],
855					closeEle,
856					closeEleIndex = 2,
857					closeEleNow;
858					
859				//ダミー要素 前 作成
860				closeEleNow = length;
861				for(var i = 0; i < closeEleIndex; i++){
862					closeEleNow--;
863					if(closeEleNow < 0) closeEleNow = length-1;
864					closeElesPrev.push(slides.eq(closeEleNow).clone().addClass('dammy').removeClass('active').removeClass('original'));
865				}
866				//ダミー要素 後 作成
867				closeEleNow = -1;
868				for(var i = 0; i < closeEleIndex; i++){
869					closeEleNow++;
870					if(length < closeEleNow) closeEleNow = 0;
871					closeElesNext.push(slides.eq(closeEleNow).clone().addClass('dammy').removeClass('active').removeClass('original'));
872				}
873				//ダミー要素をいれる
874				for(var i = 0; i < closeElesPrev.length; i++){
875					TweenMax.set(closeElesPrev[i], {left:-(100*(i+1))+'%'});
876					slidearea.prepend(closeElesPrev[i].addClass('prev'));
877				}
878				for(var i = 0; i < closeElesNext.length; i++){
879					TweenMax.set(closeElesNext[i], {left: (100*(length+i))+'%'});
880					slidearea.append(closeElesNext[i].addClass('next'));
881				}		
882			})();
883			
884			//prev処理
885			function prevFunc(){
886				var prev = -1+now;
887				if(prev < 0) prev = length-1;
888				slideFunc(prev);
889			}
890			prev.on('click', prevFunc);
891			
892			//next処理
893			function nextFunc(){
894				var next = +1+now;
895				if(length <= next) next = 0;
896				slideFunc(next);
897			}
898			next.on('click', nextFunc);
899			
900			//ページャ
901			pager.each(function(i, ele) {
902				$(this).on('click', function(){
903					slideFunc(i);
904				});
905			});
906			
907			//フリックエリアが見えたときに自動処理を有効にする
908			$(element).on('inview', function(e, isInView, visiblePartX, visiblePartY) {
909				if(isInView){
910					clearInterval(flickLoop);
911					flickLoop = setInterval(function(){
912						if(flickFlg) flickLoopFunc();
913					}, 33);
914				}else{
915					clearInterval(flickLoop);
916				}
917			});
918			
919			//flick touchstart
920			flickArea.on('touchstart', function(e){
921				flickPosXNow = flickPosXBefore = flickPosXFirst = e.originalEvent.changedTouches[0].pageX;
922				flickPosYNow = flickPosYBefore = flickPosYFirst = e.originalEvent.changedTouches[0].pageY;
923				clearInterval(loop);
924				flickFlg = false;
925			});
926			
927			//flick touchmove
928			flickArea.on('touchmove', function(e){
929				flickPosXNow = e.originalEvent.changedTouches[0].pageX;
930				flickPosYNow = e.originalEvent.changedTouches[0].pageY;
931				flickPosSetFunc();
932				flickFlg = true;
933			});
934			
935			//flick touchend
936			flickArea.on('touchend', function(e){
937				if(flickFlg){
938					switch(flickArrow){
939						case 'next':
940							flickFlg = false;
941							flickAnimTimeFlg = true;
942							nextFunc();
943							break;
944						case 'prev':
945							flickFlg = false;
946							flickAnimTimeFlg = true;
947							prevFunc();
948							break;
949						default:
950							clearInterval(loop);
951							loop = setInterval(loopFunc, loopDur);
952							
953							flickPosResetFunc();
954							break;
955					}
956					flickArrow = 'none';
957				}else{
958					clearInterval(loop);
959					loop = setInterval(loopFunc, loopDur);
960				}
961				
962				flickFlg = false;
963			});
964			
965			//flick 常時処理
966			function flickLoopFunc(){
967				if(Math.abs(flickPosXNow-flickPosXBefore) > 10){//タッチ開始位置から一定の距離の場合
968					if(Math.abs(flickPosYNow-flickPosYBefore) < Math.abs(flickPosXNow-flickPosXBefore)){//Y軸よりX軸のほうが値が大きい場合
969						if(flickPosXNow-flickPosXBefore < 0){//マイナスのとき
970							flickArrow = 'next';
971						}else{
972							flickArrow = 'prev';
973						}
974					}
975				}else{
976					flickArrow = 'none';
977				}
978				flickPosXBefore = flickPosXNow;
979			}
980			function flickPosSetFunc(per){
981				per = ((flickPosXFirst-flickPosXNow)/flickArea.width())*100;
982				TweenMax.set(slidearea, {x:(-100*now)-per+'%'});
983			}
984			
985			function flickPosResetFunc(){
986				TweenMax.to(slidearea, 0.4, {x:-100*now+'%'});
987			}
988			
989			//ループ処理
990			function loopFunc(){
991				//ページが非表示のときは中断
992				if(Common.pageHideFlg)return false;
993				
994				nextFunc();
995			}
996			function slideFunc(index, target, others){
997				index = parseInt(index);
998				
999				var distLeft,
1000					distML,
1001					compFunc,
1002					compMLFunc;
1003					
1004				distLeft = index*100;
1005				compFunc = 'none';
1006				//最後の状態からつぎへ進むとき
1007				if(now == length-1 && index == 0){
1008					compFunc = distLeft;
1009					distLeft = (+now+1)*100;
1010				}
1011				//最初の状態からまえへ戻るとき
1012				if(now == 0 && index == length-1){
1013					compFunc = distLeft;
1014					distLeft = (+now-1)*100;
1015				}
1016				
1017				var time = 0.4;
1018				if(flickAnimTimeFlg){
1019					time = 0.2;
1020					flickAnimTimeFlg = false;
1021				}
1022				TweenMax.to(slidearea, time, {x:-distLeft+'%', onComplete:function(){
1023					if(compFunc != 'none'){
1024						TweenMax.set(slidearea, {x:-compFunc+'%'});
1025					}
1026				}});
1027				var target,
1028					others;
1029				
1030				//item 光らせる
1031				target = slidearea.children('[data-slidenum="'+index+'"]');
1032				others = slidearea.children().not(target);
1033				target.addClass('active');
1034				others.removeClass('active');
1035				
1036				//pager 光らせる
1037				target = pager.eq(index);
1038				others = pager.not(target);
1039				target.addClass('active');
1040				others.removeClass('active');
1041				now = index;
1042				
1043				clearInterval(loop);
1044				loop = setInterval(loopFunc, loopDur);
1045				
1046			}
1047				
1048			
1049			slideFunc(0);
1050		});
1051	})();
1052	
1053	//カレンダーからフェアを表示させる
1054	(function(){
1055		var btns = document.querySelectorAll('.bridalfairtopArea td.fair');
1056		var morefairbtn = document.querySelector('.bridalfairtopArea .moredayfair .cmnBtn01');
1057		var calenderresulttit = document.querySelector('.bridalfairtopArea .calenderresulttit span');
1058		var calenderresultoutput = document.querySelector('.bridalfairtopArea .calenderresultoutput');
1059		var listhref = '/fair/list/?date=';
1060		var handler = function(btn){
1061			calenderresulttit.innerText = btn.getAttribute('data-calenderdate')+'開催日のフェア';
1062			btns.removeClass('active');
1063			btn.addClass('active');
1064			calenderresultoutput.innerHTML = btn.innerHTML;
1065			morefairbtn.href = listhref + btn.getAttribute('data-calenderdate-date');
1066		};
1067		if(btns.length) {
1068			for(var i = 0; i < btns.length; i++) {
1069				(function(btn){
1070					btn.addEventListener('click', function(){
1071						handler(btn);
1072						var target = document.querySelector('.calenderresultarea');
1073						var value = window.pageYOffset+(target.getBoundingClientRect()).top;
1074						Common.jump(value - 100);
1075					});
1076				}(btns[i]));
1077			}
1078			handler(btns[0]);
1079		} else {
1080			document.querySelector('.calenderresultarea').style.display = 'none';
1081		}
1082	}());
1083	
1084	//メインビジュアルのりサイズ
1085	/*
1086	(function(){
1087		var vid = $('#MVAreaVideo');
1088		var wrap = $('#visual .movie2');
1089		$(window).on('resize', function(){
1090			console.log('scale(' + Math.max(wrap.width() / 1280, wrap.height() / 534) + ')');
1091			vid.css('transform', 'scale(' + Math.max(wrap.width() / 1280, wrap.height() / 534) + ')')
1092		});
1093		$(window).trigger('resize');
1094	}());
1095
1096	*/
1097	//SP(iPhone) MVのvh値の調整
1098	(function() {
1099		var setFillHeight = () => {
1100			var vh = window.innerHeight * 0.01;
1101			document.documentElement.style.setProperty('--vh', `${vh}px`);
1102		}
1103		// 画面のサイズ変動があった時に高さを再計算する
1104		window.addEventListener('resize', setFillHeight);
1105		// 初期化
1106		setFillHeight();
1107	})();
1108});

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.