﻿var $ = jQuery;

/*=====================================================================
//「※印」は案件に応じて変更して下さい。
=====================================================================*/

/*=====================================================================
//トップページと中ページのメインコンテンツをレスポンシブにする
var scale = 1;
$(function(){
    //スライダーの時
    var target = "#jquery_slider_pc .viewer";
    var target_img = "#jquery_slider_pc .viewer img";
    //ティザーの時
    if($("#main_teaser").length){
        target = "#main_teaser";
        target_img = "#main_teaser img";
    }
    //動画の時
    if($("#video_teaser").length){
        target = "#video_teaser";
        target_img = "#video_teaser video";
    }
    //要素が見つからない時は処理しない
    if(!$(target).length) return;
    //レスポンシブ処理
    var respo = function(h){
        //※JSでレスポンシブする場合はコメントアウト外す
        //$(target).css({"height": h+"px"});
        //$("#branding_box").css({"height": h+"px"});

        //※ロゴリンクやナビをレスポンシブする場合はコメントアウト外す
        scale = $(target_img).width()/($(target_img)[0].naturalWidth ? $(target_img)[0].naturalWidth : $(target_img)[0].videoWidth );
        //$("#header_information").css({"transform": "scale("+scale+")"});
        //$("#access").css({"transform": "scale("+scale+")"});
    };
    //画像か動画の判定
    var src = (-1 < target_img.indexOf("video") ? "poster" : "src" );
    src = $(target_img).attr(src);
    //画像の存在チェック
    if(src){
        //メイン画像読込イベント
        var imageObj = new Image();
        imageObj.onload = function(){
            var s = $(target).width()/imageObj.width;
            var h = Math.round(imageObj.height*s);
            respo(h);
        };
        imageObj.src = src;
        //ロードとリサイズイベント
        $(window).bind("load resize", function(){
            //※JSでレスポンシブする場合はコメントアウト外す
            //$(target_img).css({"width": "100%", "height": "auto", "left": 0});
            var h = $(target_img).height();
            respo(h);
        });
    }
});
=====================================================================*/

/*=====================================================================

//全体にフェードインアニメーションを付ける為のクラス「moved」を付与する ※CSS側も要編集
$(function () {
    $(window).bind("load resize scroll", function () {
        //通常時
        $(".easys_content_inner, .design_block").each(function () {
            if (($(window).scrollTop() + $(window).height() * 0.5 >= $(this).offset().top + $(this).outerHeight(true) * 0) ||
                ($(window).scrollTop() + $(window).height() >= $(this).offset().top + $(this).outerHeight(true)) ||
                ($(window).scrollTop() + $(window).height() >= $("body").height())) {
                $(this).addClass("moved");
            }
            else { $(this).removeClass("moved"); }
        });

        //スケールアニメーションあるとき
        // $(".add_image").each(function () {
        //     if (($(window).scrollTop() + $(window).height() * 0.5 >= $(this).offset().top + $(this).outerHeight(true) * 0) ||
        //         ($(window).scrollTop() + $(window).height() >= $(this).offset().top + $(this).outerHeight(true)) ||
        //         ($(window).scrollTop() + $(window).height() >= $("body").height())) {
        //         $(this).addClass("moved_in");
        //     }
        //     else { $(this).removeClass("moved_in"); }
        // });
    });
});

=====================================================================*/

//パララックスが好ましくない端末はパララックスを止める
$(function () {
    var ua = navigator.userAgent.toLowerCase();
    //除外リスト(スマホ・タブレット・IEなど)
    var list = [
        "ipad",
        "iphone",
        "android",
        "kindle",
        "silk",
        "msie",
        "trident"
    ];
    var ipad = (-1 < ua.indexOf("macintosh") && "ontouchend" in document);
    var search = function (ary) { for (var i in ary) { if (-1 < ua.indexOf(ary[i])) { return true; } } return false; };
    if (search(list) || ipad) $("div").css({ "background-attachment": "scroll" });
});

//ナビを上部に固定する為のクラス「fixed」を付与/削除する ※CSS側も要編集
$(function () {
    var nav = $("#access");     //※この要素までスクロールしたら発動
    var group = $("#access");   //※この要素にクラスを付与する
    $(window).bind("load resize scroll", function () {
        //「fixed」前の位置を取得
        group.removeClass("fixed");
        var offset = nav.offset().top;
        //「fixed」するか判定
        if ($(window).scrollTop() > offset) group.addClass("fixed");
    });
});

//ターゲット要素に動画を追加する ※CSS側も要編集
$(function () {
    $(window).load(function () {
        if ($('#wg7jfdj55gwcp23wliel').length) {
            $('#wg7jfdj55gwcp23wliel').append('<div id="design_video01"><video src="/files/bnr_contact_movie.mp4" poster="/files/bnr_contact_movie.jpg" preload="metadata" muted autoplay loop playsinline></video></div>');
            $("#design_video01 video").get(0).play();
        }
    });
});

/*=====================================================================
//PCハンバーガーメニュー用の処理 ※CSS側も要編集
$(function(){
    //ナビボタンをブランディングボックスに生成する ※<button>タグは任意で変更して下さい
    if(!$("#menuTrigger").length) $("#branding_box").append("<div id='menuTrigger' onclick='ThisOnClickEvent(this);'><button><span></span><span></span><span></span></button></div>");
    //ページ内リンクをクリックしてもメニューを閉じる
    $("#access .menu-item a").bind("click", function(){
        if($("#access").hasClass("opened")){
            $("#menuTrigger").triggerHandler("click");
        }
    });
});
//ナビボタンを押した時にクラス「opened」を付与/削除する ※CSS側も要編集
function ThisOnClickEvent(target){
    if($(target).attr("id") == "menuTrigger"){
        if(!$(target).hasClass("opened")){
            //クラス「opened」を付与する
            $(target).addClass("opened");       //ナビボタン
            $("#access").addClass("opened");    //ナビ
        }else{
            //クラス「opened」を削除する
            $(target).removeClass("opened");    //ナビボタン
            $("#access").removeClass("opened"); //ナビ
        }
    }
}
=====================================================================*/

/*=====================================================================
//要素を移動する
$(function(){
    //※移動元→移動先
    $("#移動元").prependTo("#移動先");//先頭に追加
    //$("#移動元").appendTo("#移動先");//最後尾に追加
});
=====================================================================*/

/*=====================================================================
//要素をコピーする
$(function(){
    //※コピー元→コピー先
    $("#コピー元").clone().prependTo("#コピー先");//先頭に追加
    //$("#コピー元").clone().appendTo("#コピー先");//最後尾に追加
});
=====================================================================*/

//要素を追加する
$(function () {
    //※追加先←HTML
    // $("#追加先").prepend("<div id='add1'></div>");//先頭に追加
    $("#branding_box").append("<div class='scroll_down'><a href='#outer_block'>Scroll down</a></div>");//最後尾に追加
});

/*=====================================================================
//ターゲット要素が画面内に収まっている時にクラス「scroll_in」を付与/削除する ※CSS側も要編集
$(function(){$(window).bind("load resize scroll", function(){
    //※ターゲットを指定する・複数指定可
    $("#ターゲット1, #ターゲット2").each(function(){
        if($(this).length){
            var wy = $(window).scrollTop();
            var wh = window.innerHeight;
            var ty = $(this).offset().top;
            var th = $(this).height();
            //if(wy < (ty+th) && ty < (wy+wh)){//画面内に少しでも入っている時
            if(wy < ty && (ty+th) < (wy+wh)){//画面内に完全に収まっている時
                $(this).addClass("scroll_in");
            }else{
                $(this).removeClass("scroll_in");
            }
        }
    });
});});
=====================================================================*/

/*=====================================================================
//見出しブロックのリンクをブログブロックにも追加する ※CSS側も要編集
$(function(){
    //処理
    var func = function(from_id, to_id){
        //見出しブロックのリンクを取得する
        var from = $(from_id+" .easys_content_inner .entry_title .read_more_btn a");
        if(!from.length) return;
        var href = from.attr("href");
        var target = from.attr("target");
        //記事ブロックと同じHTML構造に変換する
        var html = "<p class='main_btn'><a href='"+href+"' target='"+target+"'>MORE</a></p>";
        //ブログブロックへ追加する
        $(to_id).append(html);
    };
    //※ターゲットを指定する
    //func("#見出しブロックID", "#ブログブロックID");
    func("#c81jcnspb12x4yh60eat", "#mcjm4i1sgutqg0x0egdd");
});
=====================================================================*/

/*=====================================================================
//見出しブロックを他ブロックと合体する
$(function(){
    //処理
    var func = function(from_id, to_id){
        //見出しブロックを取得して削除
        var html = $(from_id).html();
        $(from_id).remove();
        //ブログブロックと合体する
        $(to_id).prepend(html);
    };
    //※ターゲットを指定する
    //func("#見出しブロックID", "#合体先ブロックID");
    func("#c81jcnspb12x4yh60eat", "#mcjm4i1sgutqg0x0egdd");
});
=====================================================================*/

/*=====================================================================
//全ページにローディングを表示する
$(".black-screen").remove();
$("body").prepend("<div class='black-screen'><div class='inner'></div></div>");
$(function(){$(window).bind("load", function(){$(".black-screen").remove();});});
=====================================================================*/

/*=====================================================================
//ギャラリーブロックをセカンドメイン用のHTML構造に変換する
$(function(){
    //ブロックIDを指定する・複数指定可
    var block_id = [
        "#ブロックID1",
        "#ブロックID2"
    ];
    //処理開始
    for(var i in block_id){
        if($(block_id[i]).length){
            var html = "";
            $(block_id[i]).find(".easys_content_inner .img_display > div:has(img)").each(function(){
                var href = $(this).find("a").attr("href");
                var target = $(this).find("a").attr("target");
                if(!target) target = "_self";
                var src = $(this).find("img").attr("src");
                if(!src) src = "/files/bnr_sample.jpg";
                //console.log([href, target, src]);
                if(!href || href == src){
                    html += "<div><img src='"+src+"' width='100%'></div>";
                }else{
                    html += "<div><a href='"+href+"' target='"+target+"' style='display:block;'><img src='"+src+"' width='100%'></a></div>";
                }
            });
            $(block_id[i]).html(html);
        }
    }
});
=====================================================================*/

/*=====================================================================
//メインや動画などの「position:fixed;」を使ったパララックス以外を塗りつぶし[JS]
$(function(){
    //※ターゲットを指定する
    var target = $("#ターゲット");
    if(target.length){
        var html = $("html");//PC
        //var html = $("#Wrap");//SP
        html.css("position","relative");
        html.append("<div id='top_cover'></div><div id='bottom_cover'></div>");
        $(window).bind("load resize scroll", function(){
            var html_h = html.height();
            var t_y = target.offset().top;
            var t_h = target.height();
            //console.log([html_h,t_y,t_h]);
            $("#top_cover").css("height",t_y+"px");
            $("#bottom_cover").css("height",(html_h-t_y-t_h)+"px");
        });
    }
});
//以下のCSSを「files_xx.css」へ張り付けて使用して下さい。
#top_cover,
#bottom_cover {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 50%;
  background-color: #ffffff;
}
#top_cover {
  top: 0;
}
#bottom_cover {
  bottom: 0;
}
=====================================================================*/

/*=====================================================================
//ターゲットをスクロール量に応じて変化させる
$(function(){
    //処理
    var func = function(id, attr, start, end, s_range, e_range){
        if($(id).length){
            var wy = $(window).scrollTop();
            var wh = window.innerHeight;
            var ty = $(id).offset().top;
            var th = $(id).height();
            //範囲
            if(s_range == "top")    s_range = wy;
            if(s_range == "center") s_range = wy+(wh/2);
            if(s_range == "bottom") s_range = wy+wh;
            if(e_range == "top")    e_range = wy;
            if(e_range == "center") e_range = wy+(wh/2);
            if(e_range == "bottom") e_range = wy+wh;
            //console.log([wy,wh,ty,th]);
            var gauge = (s_range-ty)/((s_range-e_range)+th);
            //開始値～終了値まで均等に変化させる
            var atai = start+((end-start)*gauge);
            atai = Math.round(atai*1000)/1000;
            if(start < end){
                if(atai < start) atai = start;
                if(end < atai) atai = end;
            }else{
                if(atai > start) atai = start;
                if(end > atai) atai = end;
            }
            //console.log(atai);
            //属性
            $(id).css("cssText", attr.split("?").join(atai));
        }
    };
    $(window).bind("load resize scroll", function(){
        //※ターゲットを指定する
        //func("#ターゲット", "属性", 開始値, 終了値, "開始範囲", "終了範囲");
        //開始範囲=top   ：ターゲット上辺と画面上辺～／終了範囲=top   ：～ターゲット下辺と画面上辺
        //開始範囲=center：ターゲット上辺と画面中央～／終了範囲=center：～ターゲット下辺と画面中央
        //開始範囲=bottom：ターゲット上辺と画面下辺～／終了範囲=bottom：～ターゲット下辺と画面下辺
        //func("#pxwf0wresaswy7wwu5la", "width:?% !important", 50, 120, "bottom", "top");
        //func("#pxwf0wresaswy7wwu5la", "opacity:?", 0, 1, "center", "top");
        //func("#zoo6nrvdd96tpwkirgrf", "background-color:rgb(?,255,?)", 255, 0, "bottom", "bottom");
        func("#pxwf0wresaswy7wwu5la", "transform:scale(?)", 0.1, 1, "bottom", "center");
    });
});
=====================================================================*/

/*=====================================================================*/
//スムーススクロールのズレを修正する
$(function () {
    //ページを開いた時に実行
    if (window.location.hash) SmoothScrollMisalignmentCorrection(window.location.hash);
    //アンカーリンクを押した時に実行
    $("a[href^='#']").bind("click", function () { if (this.hash) SmoothScrollMisalignmentCorrection(this.hash); });
});
function SmoothScrollMisalignmentCorrection(anchor_link) {
    //ターゲット
    var target = $(anchor_link);
    //スクロール位置①
    var position1 = Math.floor(target.offset().top);
    //移動済の場合は何もしない
    var scroll_top = Math.floor($(window).scrollTop());
    if (scroll_top == position1) return;
    //スクロールの監視
    var scroll_timer = null;
    $(window).bind("scroll.anchor", function () {
        //スクロール中はクリア
        if (scroll_timer != null) clearTimeout(scroll_timer);
        //スクロール後の処理
        scroll_timer = setTimeout(function () {
            //スクロールの監視終了
            $(window).unbind("scroll.anchor");
            //スクロール位置②
            var position2 = Math.floor(target.offset().top);
            //ズレが発生した時
            if (position1 != position2) {
                //アンカーリンク再指定してズレを修正する
                window.location.hash = "";
                window.location.hash = anchor_link;
            }
        }, 500);
    });
}

/*=====================================================================
//ギャラリーブロックをスティッキー＆横スクロールさせる
$(function(){
    //SP判定
    var sp = $("#Side_wrap").length;
    //スクロールイベント
    $(window).bind("load resize scroll", function(){
        var sticky = $(".sticky_parent");
        if(sticky.length){
            var wy = $(window).scrollTop();
            var wh = $(window).height();
            sticky.each(function(){
                var ty = $(this).offset().top;
                var tx = $(this).offset().left;
                var th = $(this).height();
                var atai = (wy-ty)/(th-wh);
                atai = Math.round(atai*1000)/1000;
                if(atai < 0.001) atai = 0;
                if(atai > 0.999) atai = 1;
                var sc = $(this).find(".sticky_child");
                var sc_w = sc.width();
                var img_cnt = sc.find("div").length;
                var sc_x = ((sc_w-(sc_w/img_cnt))*atai);
                sc.css("transform","translateX(-"+sc_x+"px)");
                //追加縮小エフェクト
                var ss = sc.find("div.sticky_scale");
                if(ss.length){
                    ss.each(function(){
                        $(this).css("transform","");
                        var scd_x = $(this).offset().left-tx;
                        var scd_w = $(this).width();
                        var atai2 = (-1*scd_x)/scd_w;
                        atai2 = Math.round(atai2*1000)/1000;
                        if(atai2 < 0.001) atai2 = 0;
                        if(atai2 > 0.999) atai2 = 1;
                        $(this).css("transform","translateX("+(atai2*scd_w)+"px) scale("+(1-atai2)+")");
                    });
                }
            });
        }
    });
    //処理
    var func = function(id, scale_flg){
        if($(id).length){
            //ギャラリーブロックの構造をスティッキー用に変更する
            var html = "";
            var scale_class = (scale_flg ? " class='sticky_scale'" : "");
            var content = (sp ? ".content_area" : ".easys_content_inner");
            var imgs = $(id).find(content+" .img_display > div:has(img)");
            imgs.each(function(){
                var href = $(this).find("a").attr("href");
                var target = $(this).find("a").attr("target");
                if(!target) target = "_self";
                var src = $(this).find("img").attr("src");
                if(!src) src = "/files/bnr_sample.jpg";
                //console.log([href, target, src]);
                if(!href || href == src){
                    html += "<div"+scale_class+"><img src='"+src+"' width='100%'></div>";
                }else{
                    html += "<div"+scale_class+"><a href='"+href+"' target='"+target+"' style='display:block;'><img src='"+src+"' width='100%'></a></div>";
                }
            });
            $(id).html("<div class='sticky_child'>"+html+"</div>");
            //スティッキー用のCSSを適用する
            $(id).addClass("sticky_parent");
            $(id).css("height",((imgs.length-1)*100)+(sp ? "vh" : "vw"));
            $(id).find(".sticky_child").css("width",(imgs.length*100)+"%");
        }
    };
    //※ターゲットを指定する
    //func("#ギャラリーブロックID", "縮小エフェクトフラグ");
    func("#zwq1wufjqy7i17j86utj", false);
    func("#pyo9it2i4nhxjtljvcaf", true);
});
//以下のCSSを「files_xx.css」へ張り付けて使用して下さい。
#main {
  overflow: clip;
}
.sticky_parent {
  position: relative;
  padding: 0 !important;
  width: 100%;
  height: 100vh;
}
.sticky_child {
  position: sticky;
  top: 0;
  left: 0;
  display: flex;
  overflow: hidden;
  width: 100%;
  height: 100vh;

  place-content: center;
  place-items: center;
}
.sticky_child > div {
  width: 100%;
}
=====================================================================*/
/*=====================================================================*/

//ハンバーガー
// jQuery(function ($) {
//     $('#header_information').append('<div id="menu_btn"></div>');
//     $('#access').addClass('close');
//     $('#menu_btn').on('click', function () {
//         $('body').toggleClass('open');
//         if ($('#access').hasClass('close')) {
//             $('#access').removeClass('close').addClass('open');
//         } else {
//             $('#access').removeClass('open').addClass('close');
//         }
//     });
// });

/*=====================================================================*/

/*=====================================================================*/

//サイドボタン変更時
$(window).scroll(function () {
    if ($(window).scrollTop() > 100) {
        $('.fixed_btn,#fixed_btn_contact').addClass('first_view');
    } else {
        $('.fixed_btn,#fixed_btn_contact').removeClass('first_view');
    }
});

/*=====================================================================*/

/*=====================================================================*/
$(function () {
    var func = function (name, target) {
        target = target.join(",");
        if ($(target).length) $(target).addClass(name);
    };
    func("db_block", [
        "#d4j4rcojh7okznv4xuyb",
    ]);

    func("outer_top", [
        "#page_6",
    ]);

    // func("bnr_block", [
    //バナー
    // "#aq87c8ft0o5cp1bumlmc",
    // "#wg7jfdj55gwcp23wliel",
    // //その他
    // "#igcywsom8ddm9tcsqt1d"
    // ]);

});

//マージン不要なブロックにクラス「no_margin」を付与する ※CSS側も要編集
$(function () {
    //※ブロックIDを指定する・複数指定可
    var block_id = [
        //DB
        "#d4j4rcojh7okznv4xuyb",
        //セカンドメイン
        "#xmv3kkr8hfwkdlljtc3r",
        //バナー
        "#aq87c8ft0o5cp1bumlmc",
        "#wg7jfdj55gwcp23wliel",
        "#plhyejhbsynwfkj6js6v",
        //その他
        "#igcywsom8ddm9tcsqt1d",
        "#mcjm4i1sgutqg0x0egdd",
        "#g1tti3n35c1cf5py6q2a",
    ];
    $(block_id.join(",")).addClass("no_margin");
});

/*=====================================================================*/


//メインパララックス背景塗りつぶし
$(window).on("load resize", function () {
    if ($("#page_6").length) {
        var h = 0;
        var second_main = $("#xmv3kkr8hfwkdlljtc3r");//塗りつぶさないブロックID
        if (second_main.length) h = second_main.height();
        $("#inner_block").css("background", "linear-gradient(to bottom,transparent 0%,transparent " + h + "px,#fff " + h + "px, #fff 100%");//塗りつぶす色「#fff」
    }
});
// セカンドメインを通り過ぎたら固定している動画を消す
$(function () {
    $(window).bind("load resize scroll", function () {
        var target = $("#page_6 #branding_box");
        var that = $("#video_teaser");
        if (target.length) {
            var wy = $(window).scrollTop();
            var th = target.height();
            var th2 = $("#xmv3kkr8hfwkdlljtc3r").height() * 2;
            if (th + th2 < wy) {
                that.css("visibility", "hidden");
            } else {
                that.css("visibility", "");
            }
        }
    });
});
