 /* data-slidearea01 */
 	if($('[data-slidearea01]').length) {
		(function(){
			$('[data-slidearea01]').each(function(index, element) {
				var slidearea = $(element).find('.content'),
					slides = slidearea.find('.link'),
					slidesWithDammy,
					length = slides.length-1,
					now = -1,
					prev = $(element).find('.prev'),
					next = $(element).find('.next'),
					loop,
					loopDur = 6000,
					flickFlg = false,
					flickArea = $(element).find('.contentWrapIn'),
					flickPosXBefore = 0,
					flickPosXNow = 0,
					flickPosXFirst = 0,
					flickPosYBefore = 0,
					flickPosYNow = 0,
					flickPosYFirst = 0,
					flickArrow,
					flickLoop,
					flickAnimTimeFlg = false;

				var slideType01Flg = false;
				if($(element).hasClass('blog')) {
					slideType01Flg = true;
				}

				(function(){
//端の要素を生成
					var closeElesPrev = [],
						closeElesNext = [],
						closeEle,
						closeEleIndex = 3,
						closeEleNow;

//ダミー要素 前 作成
					closeEleNow = length+1;
					for(var i = 0; i < closeEleIndex; i++){
						closeEleNow--;
						if(closeEleNow < 0) closeEleNow = length-1;
						var c = slides.eq(closeEleNow).clone();
						closeElesPrev.push($(c));
					}
//ダミー要素 後 作成
					closeEleNow = -1;
					for(var i = 0; i < closeEleIndex; i++){
						closeEleNow++;
						if(length < closeEleNow) closeEleNow = 0;
						var c = slides.eq(closeEleNow).clone();
						closeElesNext.push($(c));
					}
//ダミー要素をいれる
					for(var i = 0; i < closeElesPrev.length; i++){
						closeElesPrev[i].addClass('dammy');
						slidearea.prepend(closeElesPrev[i]);
					}
					for(var i = 0; i < closeElesNext.length; i++){
						closeElesNext[i].addClass('dammy');
						slidearea.append(closeElesNext[i]);
					}

					slidesWithDammy = slidearea.children();
					slidearea.css('width', slidesWithDammy.length*100+'%');
					TweenMax.set(slidesWithDammy, {x:'-' + closeEleIndex + '00%', width:+(100/slidesWithDammy.length)+"%"});
				})();

				slides.each(function(i,el) {

				});
//prev処理
				function prevFunc(){
					var val = -1+now;
					if(val < 0) val = length;
					changeFunc(val, 'prev');
				}
				prev.on('click', prevFunc);

//next
				function nextFunc(){
					var val = +1+now;
					if(length < val) val = 0;
					changeFunc(val, 'next');
				}
				next.on('click', nextFunc);

//フリックエリアが見えたときに自動処理を有効にする
				$(element).on('inview', function(e, isInView, visiblePartX, visiblePartY) {
					if(isInView){
						clearInterval(flickLoop);
						flickLoop = setInterval(function(){
							if(flickFlg) flickLoopFunc();
						}, 33);
					}else{
						clearInterval(flickLoop);
					}
				});

//flick touchstart
				flickArea.on('touchstart', function(e){
					flickPosXNow = flickPosXBefore = flickPosXFirst = e.originalEvent.changedTouches[0].pageX;
					flickPosYNow = flickPosYBefore = flickPosYFirst = e.originalEvent.changedTouches[0].pageY;
					clearInterval(loop);
					flickFlg = false;
				});

//flick touchmove
				flickArea.on('touchmove', function(e){
					flickPosXNow = e.originalEvent.changedTouches[0].pageX;
					flickPosYNow = e.originalEvent.changedTouches[0].pageY;
					flickPosSetFunc();
					flickFlg = true;
				});

//flick touchend
				flickArea.on('touchend', function(e){
					if(flickFlg){
						switch(flickArrow){
							case 'next':
								flickFlg = false;
								flickAnimTimeFlg = true;
								nextFunc();
								break;
							case 'prev':
								flickFlg = false;
								flickAnimTimeFlg = true;
								prevFunc();
								break;
							default:
								clearInterval(loop);
								loop = setInterval(loopFunc, loopDur);

								flickPosResetFunc();
								break;
						}
						flickArrow = 'none';
					}else{
						clearInterval(loop);
						loop = setInterval(loopFunc, loopDur);
					}
					flickFlg = false;
				});
//flick 常時処理
				function flickLoopFunc(){
					if(Math.abs(flickPosXNow-flickPosXBefore) > 10){//タッチ開始位置から一定の距離の場合
						if(Math.abs(flickPosYNow-flickPosYBefore) < Math.abs(flickPosXNow-flickPosXBefore)){//Y軸よりX軸のほうが値が大きい場合
							if(flickPosXNow-flickPosXBefore < 0){//マイナスのとき
								flickArrow = 'next';
							}else{
								flickArrow = 'prev';
							}
						}
					}else{
						flickArrow = 'none';
					}
					flickPosXBefore = flickPosXNow;
				}
				function flickPosSetFunc(per){
					per = ((flickPosXFirst-flickPosXNow)/flickArea.width())*100;
					TweenMax.set(slidearea, {left:(-100*now)-per+'%'});
				}
				function flickPosResetFunc(){
					TweenMax.to(slidearea, 0.4, {left:-100*now+'%'});
				}

//ループ処理
				function loopFunc(){
//ページが非表示のときは中断
					if(Common.pageHideFlg)return false;

					nextFunc();
				}

//スライドの処理
				function changeFunc(num, arrow, target, targetP){
//slide active
					slidesWithDammy.removeClass('active');

//slide
					var moveNum = num;
					if(2 <= length){
						if(length == now && num == 0) moveNum = length+1;
						if(0 ==  now && num == length) moveNum = -1;
					}else{
						if(num == 0 && arrow == 'next') moveNum = length+1;
						if(num == length && arrow == 'prev') moveNum = -1;
					}

					var time = 0.4;
					if(flickAnimTimeFlg){
						time = 0.2;
						flickAnimTimeFlg = false;
					}

					if(slideType01Flg) {
						slidesWithDammy.removeClass('activePC');
						slidesWithDammy.eq(3+moveNum).addClass('activePC');
						slidesWithDammy.eq(3+moveNum+1).addClass('activePC');
						slidesWithDammy.eq(3+moveNum-1).addClass('activePC');
					}

					TweenMax.to(slidearea, time, {left:-100*moveNum+'%', onComplete:function(){
						TweenMax.set(slidearea, {left:-100*num+'%'});

//slide active
						var activeTarget = slidearea.find('[data-slide-num="'+now+'"]');
						activeTarget.addClass('active');

						if(slideType01Flg) {
							slidesWithDammy.removeClass('activePC');
							slidesWithDammy.eq(3+now).addClass('activePC');
							slidesWithDammy.eq(3+now+1).addClass('activePC');
							slidesWithDammy.eq(3+now-1).addClass('activePC');
						}
					}});
//loop
					clearInterval(loop);
					loop = setInterval(loopFunc, loopDur);

//値保存
					now = parseInt(num);
				}
				changeFunc(0);
			});
		})();
	}

/* data-slidearea02 */
	if($('[data-slidearea02]').length) {
		(function(){
			$('[data-slidearea02]').each(function(index, element) {
				if($(element).find('.link').length < 2) {
					$(element).addClass('non_slide');
					$(element).find('.btns01').remove();
					$(element).find('.pager').remove();
					return true;
				}
				if($(element).find('.caption .box').length < 2) {
					$(element).find('.captionWrap').addClass('fix_txt');
				}
				var slidearea = $(element).find('.content'),
					slides = slidearea.find('.link'),
					slidesWithDammy,
					length = slides.length-1,
					pager = $(element).find('.pager'),
					pagers,
					caption = $(element).find('.caption'),
					captions,
					pagers,
					now = -1,
					prev = $(element).find('.prev'),
					next = $(element).find('.next'),
					loop,
					loopDur = 6000,
					flickFlg = false,
					flickArea = $(element).find('.contentWrapIn'),
					flickPosXBefore = 0,
					flickPosXNow = 0,
					flickPosXFirst = 0,
					flickPosYBefore = 0,
					flickPosYNow = 0,
					flickPosYFirst = 0,
					flickArrow,
					flickLoop,
					flickAnimTimeFlg = false;

				var slideDistByDammy;
				(function(){
//端の要素を生成
					var closeElesPrev = [],
						closeElesNext = [],
						closeEle,
						closeEleIndex = 3,
						closeEleNow;
						slideDistByDammy = closeEleIndex;
//ダミー要素 前 作成
					closeEleNow = length+1;
					for(var i = 0; i < closeEleIndex; i++){
						closeEleNow--;
						if(closeEleNow < 0) closeEleNow = length-1;
						var c = slides.eq(closeEleNow).clone();
						closeElesPrev.push($(c));
					}
//ダミー要素 後 作成
					closeEleNow = -1;
					for(var i = 0; i < closeEleIndex; i++){
						closeEleNow++;
						if(length < closeEleNow) closeEleNow = 0;
						var c = slides.eq(closeEleNow).clone();
						closeElesNext.push($(c));
					}
//ダミー要素をいれる
					for(var i = 0; i < closeElesPrev.length; i++){
						closeElesPrev[i].addClass('dammy');
						slidearea.prepend(closeElesPrev[i]);
					}
					for(var i = 0; i < closeElesNext.length; i++){
						closeElesNext[i].addClass('dammy');
						slidearea.append(closeElesNext[i]);
					}

					slidesWithDammy = slidearea.children();

					slidearea.css('width', slidesWithDammy.length*100+'%');
					TweenMax.set(slidesWithDammy, {width:+(100/slidesWithDammy.length)+"%"});

				})();

				TweenMax.set(slidearea, {left:-100*slideDistByDammy+'%', alpha:0});
//pager
				if($(element).hasClass('location')){//classに.locationがついている場合
					slides.each(function(i,el) {
						pager.append('<button data-slide-num="' + i + '" class="flow"><p class="distance">' + $(this).attr('data-distance') + '</p><p class="circle"></p><p class="place" data-sc-pc>' + $(this).attr('data-place') + '</p></button>')
					});
				}else {
					slides.each(function(i,el) {//ノーマル
						pager.append('<button data-slide-num="' + i + '"></button>')
					});
				}

				pagers = pager.find('button');
				pagers.on('click', function(e){
					changeFunc($(this).attr('data-slide-num'));
				});

//caption
				captions = caption.find('.box');
				TweenMax.set(caption, {width:(100 * captions.length) + '%'});
				TweenMax.set(captions, {width:(100 / captions.length) + '%'});
				captions.each(function(i,el) {
					TweenMax.set(this, {left:-((100 / captions.length)*i) + '%'});
				});

//prev処理
				function prevFunc(){
					var val = -1+now;
					if(val < 0) val = length;
					changeFunc(val, 'prev');
				}
				prev.on('click', prevFunc);

//next
				function nextFunc(){
					var val = +1+now;
					if(length < val) val = 0;
					changeFunc(val, 'next');
				}
				next.on('click', nextFunc);

//フリックエリアが見えたときに自動処理を有効にする
				$(element).on('inview', function(e, isInView, visiblePartX, visiblePartY) {
					if(isInView){
						clearInterval(flickLoop);
						flickLoop = setInterval(function(){
							if(flickFlg) flickLoopFunc();
						}, 33);
					}else{
						clearInterval(flickLoop);
					}
				});

//flick touchstart
				flickArea.on('touchstart', function(e){
					flickPosXNow = flickPosXBefore = flickPosXFirst = e.originalEvent.changedTouches[0].pageX;
					flickPosYNow = flickPosYBefore = flickPosYFirst = e.originalEvent.changedTouches[0].pageY;
					//clearInterval(loop);
					flickFlg = false;
				});

//flick touchmove
				flickArea.on('touchmove', function(e){
					flickPosXNow = e.originalEvent.changedTouches[0].pageX;
					flickPosYNow = e.originalEvent.changedTouches[0].pageY;
					flickPosSetFunc();
					flickFlg = true;
				});

//flick touchend
				flickArea.on('touchend', function(e){
					if(flickFlg){
						switch(flickArrow){
							case 'next':
								flickFlg = false;
								flickAnimTimeFlg = true;
								nextFunc();
								break;
							case 'prev':
								flickFlg = false;
								flickAnimTimeFlg = true;
								prevFunc();
								break;
							default:
								//clearInterval(loop);
								//loop = setInterval(loopFunc, loopDur);

								flickPosResetFunc();
								break;
						}
						flickArrow = 'none';
					}else{
						//clearInterval(loop);
						//loop = setInterval(loopFunc, loopDur);
					}
					flickFlg = false;
				});

//flick 常時処理
				function flickLoopFunc(){
					if(Math.abs(flickPosXNow-flickPosXBefore) > 10){//タッチ開始位置から一定の距離の場合
						if(Math.abs(flickPosYNow-flickPosYBefore) < Math.abs(flickPosXNow-flickPosXBefore)){//Y軸よりX軸のほうが値が大きい場合
							if(flickPosXNow-flickPosXBefore < 0){//マイナスのとき
								flickArrow = 'next';
							}else{
								flickArrow = 'prev';
							}
						}
					}else{
						flickArrow = 'none';
					}
					flickPosXBefore = flickPosXNow;
				}
				function flickPosSetFunc(per){
					per = ((flickPosXFirst-flickPosXNow)/flickArea.width())*100;
					TweenMax.set(slidearea, {left:(-100*(now+slideDistByDammy))-per+'%'});
				}
				function flickPosResetFunc(){
					TweenMax.to(slidearea, 0.4, {left:-100*(now+slideDistByDammy)+'%'});
				}

//ループ処理
				function loopFunc(){
//ページが非表示のときは中断
					if(Common.pageHideFlg)return false;

					nextFunc();
				}

//スライドの処理
				function changeFunc(num, arrow, target, targetP){
					num = parseInt(num);
//slide active
					slidesWithDammy.removeClass('active');

//slide
					var moveNum = num;
					if(2 <= length){
						if(length == now && num == 0) moveNum = length+1;
						if(0 ==  now && num == length) moveNum = -1;
					}else{
						if(num == 0 && arrow == 'next') moveNum = length+1;
						if(num == length && arrow == 'prev') moveNum = -1;
					}

					var time = 0.4;
					if(flickAnimTimeFlg){
						time = 0.2;
						flickAnimTimeFlg = false;
					}
					TweenMax.to(slidearea, time, {left:-100*(moveNum+slideDistByDammy)+'%', onComplete:function(){
						TweenMax.set(slidearea, {left:-100*(num+slideDistByDammy)+'%'});

//slide active
						var activeTarget = slidearea.find('[data-slide-num="'+now+'"]');
						activeTarget.addClass('active');
					}});

//pager
					target = pagers.eq(num);
					pagers.removeClass('active');
					target.addClass('active');

//caption
					target = captions.eq(num);
					captions.removeClass('active');
					target.addClass('active');

//loop
					//clearInterval(loop);
					//loop = setInterval(loopFunc, loopDur);

//
					now = parseInt(num);
				}
				changeFunc(0);

				TweenMax.to(slidearea, 1.0, {alpha:1, delay:1});
			});
		})();
	}

	(function(){
		$(window).on('resize', function(w,h,ratio) {
			w = parseInt(window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth);
			h = $(window).height();
			ratio = Math.max((w / 2700), h / 750);
			TweenMax.set('.movie2', {scale:ratio});
		}).trigger('resize');
	})();

	$('.tab_cal .cal_in').each(function(){
		$(this).on('touchstart', onTouchStart); //指が触れたか検知
		$(this).on('touchmove', onTouchMove); //指が動いたか検知
		$(this).on('touchend', onTouchEnd); //指が離れたか検知
		var closeBtn = $(this).find('.close');
		var direction, position;

//スワイプ開始時の横方向の座標を格納
		function onTouchStart(event) {
			position = getPosition(event);
			direction = ''; //一度リセットする
		}

//スワイプの方向（left／right）を取得
		function onTouchMove(event) {
			if (position - getPosition(event) > -70) { // 70px以上移動しなければスワイプと判断しない
				direction = 'bottom'; //下検知
			}
		}

		function onTouchEnd(event) {
			if (direction == 'bottom'){
				closeBtn.trigger('click');
			}
		}


		function getPosition(event) {
			return event.originalEvent.touches[0].pageY;
		}
	});

/* data-slfade */
	if($('[data-slfade]').length) {
		(function(){
			$('[data-slfade]').each(function(){
				if($(this).find('[data-lf]').length < 2) return false;

				var slidearea = $(this).find('.wrap'),
					slides = slidearea.find('[data-lf]'),
					length = slides.length,
					now = 0,
					clickFlg = false,
					pagerarea = $(this).find('.pager'),
					pager,
					loop,
					loopDur = 5000;
				var delay = 0;
				var attr = $(this).attr('data-slfade_type01');
				if( typeof attr !== 'undefined' && attr !== false ){
					//チェックされていた場合の処理
					delay = loopDur*0.5;
				}else{
					//チェックされていなかった場合の処理
				}
//ページング生成
				if(pagerarea.length) {
					slides.each(function(index, element) {
						var val = $('<li data-index="'+index+'">');
						if(!index) val.addClass('on');
						pagerarea.append(val);
					});
					pager = pagerarea.find('li');
				}
				function slideFunc(index, target, others){
					index = parseInt(index);
//押せるかチェック
					if(clickFlg || index == now) return false;
//自動切り替え解除
					clearInterval(loop);
//押せなくする
					clickFlg = true;
//slide
					target = slides.eq(index);
					others = slides.not(target);
					TweenMax.set(target,{zIndex:2, className:'+=current', onComplete:function(){
						clickFlg = false;
						now = index;
						loop = setInterval(slideNextFunc, loopDur);
					}});
					TweenMax.set(others, {zIndex:1, className:'-=current'});

//pager
					if(pagerarea.length) {
						target = pager.eq(index);
						others = pager.not(target);
						target.addClass('on');
						others.removeClass('on');
					}
				}
				function slideNextFunc(){
					var next = +1+now;
					if(length <= next) next = 0;
					slideFunc(next);
				}
//pager
				if(pagerarea.length) {
					pager.on(Common.CLICK, function(e){
						slideFunc($(e.currentTarget).attr('data-index'));
					});
				}
//自動切り替え
				loop = setInterval(slideNextFunc, loopDur+delay);
			});
		})();
	}

/* data-slidearea05 */
	if($('[data-slidearea05]').length) {
		(function(){
			$('[data-slidearea05]').each(function(index, element) {

				var slidearea = $(element).find('.content'),
					slides = slidearea.find('.link'),
					slidesWithDammy,
					length = slides.length-1,
					pagers = $(element).find('.plancontentSlidebtn li'),
					caption = $(element).find('.caption'),
					captions,
					now = -1,
					prev = $(element).find('.prev'),
					next = $(element).find('.next'),
					loop,
					loopDur = 6000,
					flickFlg = false,
					flickArea = $(element).find('.contentWrapIn'),
					flickPosXBefore = 0,
					flickPosXNow = 0,
					flickPosXFirst = 0,
					flickPosYBefore = 0,
					flickPosYNow = 0,
					flickPosYFirst = 0,
					flickArrow,
					flickLoop,
					flickAnimTimeFlg = false;

				if(slides.length < 2) {
					$(element).find('.plancontentSlidebtn').remove();
					$(element).find('.btns01').remove();
				}else {

					(function(){
						$(slides).find('[data-slidearea07]').each(function(aaaaa, bbbbb){
							$(this).attr('data-slidearea07', aaaaa);
						})
					})();

					(function(){
		//端の要素を生成
						var closeElesPrev = [],
							closeElesNext = [],
							closeEle,
							closeEleIndex = 3,
							closeEleNow;

		//ダミー要素 前 作成
						closeEleNow = length+1;
						for(var i = 0; i < closeEleIndex; i++){
							closeEleNow--;
							if(closeEleNow < 0) closeEleNow = length-1;
							var c = slides.eq(closeEleNow).clone();
							closeElesPrev.push($(c));
						}
		//ダミー要素 後 作成
						closeEleNow = -1;
						for(var i = 0; i < closeEleIndex; i++){
							closeEleNow++;
							if(length < closeEleNow) closeEleNow = 0;
							var c = slides.eq(closeEleNow).clone();
							closeElesNext.push($(c));
						}
		//ダミー要素をいれる
						for(var i = 0; i < closeElesPrev.length; i++){
							closeElesPrev[i].addClass('dammy');
							slidearea.prepend(closeElesPrev[i]);
						}
						for(var i = 0; i < closeElesNext.length; i++){
							closeElesNext[i].addClass('dammy');
							slidearea.append(closeElesNext[i]);
						}

						slidesWithDammy = slidearea.children();

						slidearea.css('width', slidesWithDammy.length*100+'%');
						TweenMax.set(slidesWithDammy, {x:'-' + closeEleIndex + '00%', width:+(100/slidesWithDammy.length)+"%"});
					})();

		//pager
					pagers.on('click', function(e){
						if(!$(this).hasClass('active')) changeFunc(pagers.index($(this)));
					});

		//caption
					captions = caption.find('li');
					TweenMax.set(caption, {width:(100 * captions.length) + '%'});
					TweenMax.set(captions, {width:(100 / captions.length) + '%'});
					captions.each(function(i,el) {
						TweenMax.set(this, {left:-((100 / captions.length)*i) + '%'});
					});

		//prev処理
					function prevFunc(){
						var val = -1+now;
						if(val < 0) val = length;
						changeFunc(val, 'prev');
					}
					prev.on('click', prevFunc);

		//next
					function nextFunc(){
						var val = +1+now;
						if(length < val) val = 0;
						changeFunc(val, 'next');
					}
					next.on('click', nextFunc);

		//フリックエリアが見えたときに自動処理を有効にする
					$(element).on('inview', function(e, isInView, visiblePartX, visiblePartY) {
						if(isInView){
							clearInterval(flickLoop);
							flickLoop = setInterval(function(){
								if(flickFlg) flickLoopFunc();
							}, 33);
						}else{
							clearInterval(flickLoop);
						}
					});

		//flick touchstart
					flickArea.on('touchstart', function(e){
						flickPosXNow = flickPosXBefore = flickPosXFirst = e.originalEvent.changedTouches[0].pageX;
						flickPosYNow = flickPosYBefore = flickPosYFirst = e.originalEvent.changedTouches[0].pageY;
						flickFlg = false;
					});

		//flick touchmove
					flickArea.on('touchmove', function(e){
						flickPosXNow = e.originalEvent.changedTouches[0].pageX;
						flickPosYNow = e.originalEvent.changedTouches[0].pageY;
						flickPosSetFunc();
						flickFlg = true;
					});

		//flick touchend
					flickArea.on('touchend', function(e){
						if(flickFlg){
							switch(flickArrow){
								case 'next':
									flickFlg = false;
									flickAnimTimeFlg = true;
									nextFunc();
									break;
								case 'prev':
									flickFlg = false;
									flickAnimTimeFlg = true;
									prevFunc();
									break;
								default:
									flickPosResetFunc();
									break;
							}
							flickArrow = 'none';
						}else{
						}
						flickFlg = false;
					});

		//flick 常時処理
					function flickLoopFunc(){
						if(Math.abs(flickPosXNow-flickPosXBefore) > 10){//タッチ開始位置から一定の距離の場合
							if(Math.abs(flickPosYNow-flickPosYBefore) < Math.abs(flickPosXNow-flickPosXBefore)){//Y軸よりX軸のほうが値が大きい場合
								if(flickPosXNow-flickPosXBefore < 0){//マイナスのとき
									flickArrow = 'next';
								}else{
									flickArrow = 'prev';
								}
							}
						}else{
							flickArrow = 'none';
						}
						flickPosXBefore = flickPosXNow;
					}
					function flickPosSetFunc(per){
						per = ((flickPosXFirst-flickPosXNow)/flickArea.width())*100;
						TweenMax.set(slidearea, {left:(-100*now)-per+'%'});
					}
					function flickPosResetFunc(){
						TweenMax.to(slidearea, 0.4, {left:-100*now+'%'});
					}

		//スライドの処理
					function changeFunc(num, arrow, target, targetP){
		//slide active
						slidesWithDammy.removeClass('active');

		//slide
						var moveNum = num;
						if(2 <= length){
							if(length == now && num == 0) moveNum = length+1;
							if(0 ==  now && num == length) moveNum = -1;
						}else{
							if(num == 0 && arrow == 'next') moveNum = length+1;
							if(num == length && arrow == 'prev') moveNum = -1;
						}

						var time = 0.4;
						if(flickAnimTimeFlg){
							time = 0.2;
							flickAnimTimeFlg = false;
						}
						TweenMax.to(slidearea, time, {left:-100*moveNum+'%', onComplete:function(){
							TweenMax.set(slidearea, {left:-100*num+'%'});

		//slide active
							var activeTarget = slidearea.find('[data-slide-num="'+now+'"]');
							activeTarget.addClass('active');
						}});

		//pager
						target = pagers.eq(num);
						pagers.removeClass('active');
						target.addClass('active');

		//caption
						target = captions.eq(num);
						captions.removeClass('active');
						target.addClass('active');

						//中のスライドの１番目をclickでトリガー
						$('[data-slidearea07] [data-inslide-num="0"]').not('.active').trigger('click');
		//
						now = parseInt(num);
					}
					changeFunc(0);
				}

				/* data-slidearea07 */
				if($('[data-slidearea07]').length) {
					(function(){
						$('[data-slidearea07]').each(function(index_slidearea07, element) {
							var inSlidearea = $(element),
								inSlides = inSlidearea.find('.in_slide'),
								inLength = inSlides.length-1,
								inPager = $(element).find('.in_pager'),
								inPagers,
								inNow = -1,
								inprev = $(element).find('.inprev'),
								innext = $(element).find('.innext'),
								inClickEnabled = true,
								inLoopFlg = false,
								inLoop,
								inLoopDur = 6000;


							(function(){
								inSlides.each(function(i,el){
									$(this).attr('data-inslide-num', i);
								});
							})();
			//inPager
							if(inSlidearea.find('.in_pager').hasClass('thumb')) {
								inSlides.each(function(i,el) {
									inPager.append('<button data-inslide-num="' + i + '" style="background-image:url(' + $(this).attr('data-lf') + ')"></button>');
								});
								inPager.addClass('col_' + inSlides.length);
							}else {
								inSlides.each(function(i,el) {
									inPager.append('<button data-inslide-num="' + i + '"></button>');
								});
							}
							inPagers = inPager.find('button');
							inPagers.on('click', function(e){
								if(inClickEnabled) {
									var inArrow = 'innext';
									if(parseInt($(this).attr('data-inslide-num')) < inNow) inArrow = 'inprev';
									inChangeFunc($(this).attr('data-inslide-num'), inArrow);
								}
							});
			//スライドが１枚しかないとき
							if(inLength <= 1){
			//スライド機能を無効にする（CSSで設定されている）
									element.setAttribute('data-slidearea07-disabled', '');
									return true;
							}
			//inprev処理
							function inPrevFunc(){
								if(inClickEnabled) {
									var val = -1+inNow;
									if(val < 0) val = inLength;
									inChangeFunc(val, 'inprev');
								}
							}
							inprev.on('click', inPrevFunc);
			//innext
							function inNextFunc(){
								if(inClickEnabled) {
									var val = +1+inNow;
									if(inLength < val) val = 0;
									inChangeFunc(val, 'innext');
								}
							}
							innext.on('click', inNextFunc);
			//ループ処理
							function omLoopFunc(){
			//ページが非表示のときは中断
								if(Common.pageHideFlg) return false;
			//上のスライドの現在位置と中スライドの要素の順番が一緒じゃないときは中断
								if(now != $(element).attr('data-slidearea07')) return false;
								inClickEnabled = true;
								inNextFunc();
							}
			//スライドの処理

							//フリックエリアが見えたときに自動処理を有効にする
							$(element).on('inview', function(e, isInView, visiblePartX, visiblePartY) {
								if(isInView){
									inLoopFlg = true;
									clearInterval(inLoop);
									inLoop = setInterval(function(){
										if(inLoopFlg) {
											omLoopFunc();
										}
									}, inLoopDur);
								}else{
									inLoopFlg = false;
								}
							});


							function inChangeFunc(inNum, inArrow, inTar, inOther){
			//slide active
								inSlides.removeClass('active');

								inClickEnabled = false;
								var time = 1.0;
								// console.log(inNum);
								TweenMax.fromTo(inSlides.eq(inNum), time, {alpha:0, zIndex:3}, {alpha:1, onComplete:function(){
									inTar = inSlides.eq(inNum);
									inOther = inSlides.not(inTar);
									TweenMax.set(inTar, {alpha:1, zIndex:2});
									TweenMax.set(inOther, {alpha:0, zIndex:1});
									inClickEnabled = true;
								// console.log('通った4');
								}});
			//inPager
								inTar = inPagers.eq(inNum);
								inPagers.removeClass('active');
								inTar.addClass('active');
			//inLoop
								clearInterval(inLoop);
								inLoop = setInterval(function(){
									if(inLoopFlg) {
										omLoopFunc();
									}
								}, inLoopDur);

								inNow = parseInt(inNum);
							}
							inChangeFunc(0);
						});
					})();
				}

			});

		})();
	}

//画面に領域が現れたときにページプラグイン(facebook)を読み込み
	(function(){
		if($('[data-fbpage]')[0]){
			$('[data-fbpage]').each(function(index, element) {
				$(element).one('inview', function(event, isInView, visiblePartX, visiblePartY) {
					if(isInView){
						$(element).html('<div class="fb-page" data-href="' + $(element).attr('data-fbpage') + '" data-tabs="timeline" data-height="540" data-width="'+$(element).width()+'" data-small-header="false" data-adapt-container-width="true" data-hide-cover="false" data-show-facepile="true" data-show-posts="false"></div>');
						if(window.FB)window.FB.XFBML.parse();
					}
				});
			});
		}
	})();


//[data-imgloop01]
if($('[data-imgloop01]').length) {
	(function(){
//loop img
		var w,h,s;
		$('[data-imgloop01]').each(function(index, element) {
			var unique = Math.floor(Math.random()*1000000),
				arrow = element.getAttribute('data-imgloop01'),
				option = arrow.split(','),
				time = parseInt(option[0]),
				imgsource = option[2],
				imgsourceSP;

			var imgE;
			if(option.length > 3){
				imgsourceSP = option[3];
				imgE = $('<img data-lf="" data-lf-pc="'+imgsource+'" data-lf-sp="'+imgsourceSP+'">');
			}else{
				imgE = $('<img data-lf="'+imgsource+'">');
			}

			var script = '';
			script+='[data-imgloop01="'+unique+'"]>*>img{';
			script+='   -webkit-animation:imgloop'+unique+' '+time+'s linear infinite;';
			script+='   -o-animation:imgloop'+unique+' '+time+'s linear infinite;';
			script+='   animation:imgloop'+unique+' '+time+'s linear infinite;';
			script+='}';
			// script+='@media screen and (max-width:640px) {';
			// script+='   [data-imgloop01="'+unique+'"]>*>img{';
			// script+='       -webkit-animation:none;';
			// script+='       -o-animation:none;';
			// script+='       animation:none;';
			// script+='   }';
			// script+='}';

			if(option[1] && option[1] == 'right'){
				script += '@-webkit-keyframes imgloop'+unique+'{from{-webkit-transform:translateX(-100%);}to{-webkit-transform:translateX(0%);}}@-moz-keyframes imgloop'+unique+'{from{-moz-transform:translateX(-100%);}to{-moz-transform:translateX(0%);}}@-ms-keyframes imgloop'+unique+'{from{-ms-transform:translateX(-100%);}to{-ms-transform:translateX(0%);}}@-o-keyframes imgloop'+unique+'{from{-o-transform:translateX(-100%);}to{-o-transform:translateX(0%);}}@keyframes imgloop'+unique+'{from{transform:translateX(-100%);}to{transform:translateX(0%);}}';
			}else{
				script += '@-webkit-keyframes imgloop'+unique+'{from{-webkit-transform:translateX(0%);}to{-webkit-transform:translateX(-100%);}}@-moz-keyframes imgloop'+unique+'{from{-moz-transform:translateX(0%);}to{-moz-transform:translateX(-100%);}}@-ms-keyframes imgloop'+unique+'{from{-ms-transform:translateX(0%);}to{-ms-transform:translateX(-100%);}}@-o-keyframes imgloop'+unique+'{from{-o-transform:translateX(0%);}to{-o-transform:translateX(-100%);}}@keyframes imgloop'+unique+'{from{transform:translateX(0%);}to{transform:translateX(-100%);}}';
			}

			var moveEle = $('<div></div>');
			$(element).append(moveEle);
			moveEle.append(imgE.clone()).append(imgE.clone()).append(imgE.clone());
			element.setAttribute('data-imgloop01', unique);

			if(Modernizr.touchevents){//タッチデバイスのとき
				if(option[1] && option[1] == 'right'){
					TweenMax.fromTo('[data-imgloop01="'+unique+'"] img', time, {x:'-100%'}, {x:'0%', ease:Power0.easeNone, repeat:-1});
				}else{
					TweenMax.fromTo('[data-imgloop01="'+unique+'"] img', time, {x:'0%'}, {x:'-100%', ease:Power0.easeNone, repeat:-1});
				}
			}else{
				$(element).append('<style type="text/css">'+script+'</style>');
			}
		});
	})();
}



//インスタグラム
if($('[data-instagram01]').length) {
	(function(){
		$('[data-instagram01]').each(function(index, element) {
			var instaArea = element,
				kazuhozon = 0,
				count = 20,
				instagramPHP = '/common/insta/insta_ajax2020.php',
				time = parseInt(100),
				w,
				h,
				s;
			$.ajax({
				type: "POST",
				url: instagramPHP,
				dataType: "json",
				success : function(data){
					var json = data.media.data;
					console.log(json);
					data = '';
					for(var i = 0; i < json.length; i++) {
						console.log(json[i]);
						if(json[i]['media_url']) {
							if(2 <= json[i]['media_url'].split('video').length) {//ビデオの場合
								var thumbnail_url = json[i]['thumbnail_url'];
								data += '<li><a href="' + json[i]['permalink'] + '" target="_blank"><video src="' + json[i]['media_url'] + '" preload loop autoplay muted playsinline poster="'+thumbnail_url+'" style="display:block!important;width:100%;height:100%;object-fit:cover;"></a></li>';
							} else {
								data += '<li><a href="' + json[i]['permalink'] + '" style="background-image:url(' + json[i]['media_url'] + ');" target="_blank"></a></li>';
							}
						} else {
							data += '<li><a href="' + json[i]['permalink'] + '" style="background-image:url(' + json[i]['thumbnail_url'] + ');" target="_blank"></a></li>';
						}
					}

					var unique = Math.floor(Math.random()*1000000);
					var ary = [],
						now = 0,
						index = 0;
					do{
						ary.push($(data).eq(index).clone());
						now++;
						index++;
						if($(data).length <= index) index = 0;
					}while(count > now);

					for(var i = 0; i < (count/2); i++){
						var c = ary[i].clone();
						// c.attr('style', 'left:'+10*i+'%; transition-delay:'+.1*i+'s;');
						c.attr('style', 'left:'+10*i+'%;');
						$(instaArea).find('.row01').find('.content').append(c);
					}
					var c2 = $(instaArea).find('.row01').find('.content');
					$(instaArea).find('.row01').append(c2.clone());
					$(instaArea).find('.row01').append(c2.clone());

					ary.reverse();
					for(var i = 0; i < (count/2); i++){
						var c = ary[i].clone();
						// c.attr('style', 'left:'+10*i+'%; transition-delay:'+.1*i+'s;');
						c.attr('style', 'left:'+10*i+'%; transition-delay:.1s;');
						$(instaArea).find('.row02').find('.content').append(c);
					}
					var c2 = $(instaArea).find('.row02').find('.content');
					$(instaArea).find('.row02').append(c2.clone());
					$(instaArea).find('.row02').append(c2.clone());

					var	script = '';
					script+='[data-instagram01="'+unique+'"] .contentWrap.row01 .content {';
					script+='	-webkit-animation:imgloop'+unique+'Left '+time+'s linear infinite;';
					script+='	-o-animation:imgloop'+unique+'Left '+time+'s linear infinite;';
					script+='	animation:imgloop'+unique+'Left '+time+'s linear infinite;';
					script+='}';
					script+='[data-instagram01="'+unique+'"] .contentWrap.row02 .content {';
					script+='	-webkit-animation:imgloop'+unique+'Right '+time+'s linear infinite;';
					script+='	-o-animation:imgloop'+unique+'Right '+time+'s linear infinite;';
					script+='	animation:imgloop'+unique+'Right '+time+'s linear infinite;';
					script+='}';
					script+='@media screen and (max-width:640px) {';
					script+='	[data-instagram01="'+unique+'"] .contentWrap .content{';
					script+='		-webkit-animation:none!important;';
					script+='		-o-animation:none!important;';
					script+='		animation:none!important;';
					script+='	}';
					script+='}';

					script += '@-webkit-keyframes imgloop'+unique+'Left{from{-webkit-transform:translateX(-100%);}to{-webkit-transform:translateX(0%);}}@-moz-keyframes imgloop'+unique+'Left{from{-moz-transform:translateX(-100%);}to{-moz-transform:translateX(0%);}}@-ms-keyframes imgloop'+unique+'Left{from{-ms-transform:translateX(-100%);}to{-ms-transform:translateX(0%);}}@-o-keyframes imgloop'+unique+'Left{from{-o-transform:translateX(-100%);}to{-o-transform:translateX(0%);}}@keyframes imgloop'+unique+'Left{from{transform:translateX(-100%);}to{transform:translateX(0%);}}';
					script += '@-webkit-keyframes imgloop'+unique+'Right{from{-webkit-transform:translateX(0%);}to{-webkit-transform:translateX(-100%);}}@-moz-keyframes imgloop'+unique+'Right{from{-moz-transform:translateX(0%);}to{-moz-transform:translateX(-100%);}}@-ms-keyframes imgloop'+unique+'Right{from{-ms-transform:translateX(0%);}to{-ms-transform:translateX(-100%);}}@-o-keyframes imgloop'+unique+'Right{from{-o-transform:translateX(0%);}to{-o-transform:translateX(-100%);}}@keyframes imgloop'+unique+'Right{from{transform:translateX(0%);}to{transform:translateX(-100%);}}';

					$(instaArea).append('<style type="text/css">'+script+'</style>');
					$(instaArea).attr('data-instagram01', unique);

					//画面サイズ変更イベント
					var oldWidth;
					$(window).on('resize.imgloop'+unique, function(){
						if($('html,body').scrollTop() !=0){
							s = $('html,body').scrollTop();
						}else{
							s = $(document).scrollTop();
						}
						w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
						h = $(window).height();


						//幅のみリサイズされたとき
						if(oldWidth != w){
							oldWidth = w;

							if(w <= 640){
								TweenMax.fromTo('[data-instagram01="'+unique+'"] .contentWrap.row01 .content', time, {x:'-100%'}, {x:'0%', ease:Power0.easeNone, repeat:-1});
								TweenMax.fromTo('[data-instagram01="'+unique+'"] .contentWrap.row02 .content', time, {x:'0%'}, {x:'-100%', ease:Power0.easeNone, repeat:-1});
							}else{
								TweenMax.killTweensOf('[data-instagram01="'+unique+'"] .contentWrap .content');
								$('[data-instagram01="'+unique+'"] .contentWrap .content').removeAttr('style');
							}
						}
					}).trigger('resize.imgloop'+unique);
					$(instaArea).addClass('view');

					$(instaArea).find('video').each(function(){
						this.muted = true;
					});
				}
			});
		});
	})();
}