$(function(){
  isMobile();
  var userAgent = window.navigator.userAgent.toLowerCase();
  posi = $(window).scrollTop();
  var jobsearchTop_flag = true;
  // 画面判定
  if ($('#jobsearch_detail').length == 0 && $('#jobsearch').length == 0) {
    jobsearchTop_flag = false;
  }
  if (IS_MOBILE) {
  // SP =========================================================================================================
    if ($('#corpsearch_detail').length !== 0) {
      jobsearchTop_flag = true;
    }
    // モーダル
    var modal;
    $(".js-modalOpen").click(function(){
      $(".footerFixArea__box").css("display","none");
      modal = $(this).attr('data-name');
      $(".searchDetailModalWrap").css({"display":"block", "top":$(window).scrollTop(), "opacity":1, "visibility":"visible"});
      $(".searchDetailModalBg").css("display","block");
      if (modal == "modalOccupationDetail") {
        $(".searchDetailModalDetail--occupation").css("display","block");
        posi = $(window).scrollTop();
        $('html').css({
          position: 'fixed',
          top: -1 * posi
        });
      } else if (modal == "modalLocationDetail") {
        $(".searchDetailModalDetail--location").css("display","block");
        posi = $(window).scrollTop();
        $('html').css({
          position: 'fixed',
          top: -1 * posi
        });
      } else if (modal == "modalIndustryDetail") {
        $(".searchDetailModalDetail--industry").css("display","block");
        posi = $(window).scrollTop();
        $('html').css({
          position: 'fixed',
          top: -1 * posi
        });
      } else if (modal == "modalIncomeDetail") {
        $(".searchDetailModalDetail--income").css("display","block");
        posi = $(window).scrollTop();
        $('html').css({
          position: 'fixed',
          top: -1 * posi
        });
      } else if (modal == "modalOvertimeDetail") {
        $(".searchDetailModalDetail--overtime").css("display","block");
        posi = $(window).scrollTop();
        $('html').css({
          position: 'fixed',
          top: -1 * posi
        });
      } else if (modal == "modalSkillDetail") {
        $(".searchDetailModalDetail--skill").css("display","block");
        posi = $(window).scrollTop();
        $('html').css({
          position: 'fixed',
          top: -1 * posi
        });
      }
    });

    //モーダル閉じる
    $(".searchDetailModalBg,.searchDetailModal__close,.searchDetailModalDetail__close,.searchDetailModalDetail__submit").click(function(){
      $(this).parents(".searchDetailModalDetail").find('input').prop('checked', false);
      $(this).parents(".searchDetailModalDetail").find(".searchDetailModalDetail__item--large").removeClass("selected");
      $(".searchDetailModalWrap").css("display","none");
      $(".searchDetailModalBg").css("display","none");
      $(".searchDetailModalDetail").css("display","none");
      $(".searchDetailModal").css("display","none");
      $(".footerFixArea__box").css("display","flex");
      $('html').removeAttr('style');
      $('html').prop({scrollTop: posi});
    });


    // チェックボックスの動作
    $(".searchDetailModalDetail__item--middle .searchDetailModalDetail__checkboxInput").change(function(e){//大カテゴリを押したとき
      e.stopPropagation();
      var $parent = $(this).closest(".searchDetailModalDetail__itemWrap");
      if ($(this).val() == '00') { // 全国
        $parent = $(this).closest(".searchDetailModalDetail__list");
        if($(this).prop('checked')) {
          $parent.find('.searchDetailModalDetail__item--large').not(":last").addClass("selected");
        } else {
          $parent.find('.searchDetailModalDetail__item--large').not(":last").removeClass("selected");
        }
      }
      var items = $parent.find('input:not(:disabled):not([value="99"])');
      if($(this).prop('checked')) { 
        $(items).prop('checked', true);
        $parent.find('.searchDetailModalDetail__item--small').addClass("selected");
      } else { 
        $(items).prop('checked', false);
        $parent.find('.searchDetailModalDetail__item--small').removeClass("selected");
      }
    });
    $(".searchDetailModalDetail__item--small .searchDetailModalDetail__checkboxInput").change(function(e){//中カテゴリを押したとき
      e.stopPropagation();
      var items = $(this).closest(".searchDetailModalDetail__item--small").next(".searchDetailModalDetail__itemWrap3").find('input:not(:disabled)');
      if($(this).prop('checked')) { 
        $(items).prop('checked', true);
        $(this).closest('.searchDetailModalDetail__item--small').addClass("selected");
      } else { 
        $(items).prop('checked', false);
        $(this).closest('.searchDetailModalDetail__item--small').removeClass("selected");
      }
      //大カテゴリ以外のチェックが外れた時
      var item = $(this).closest('.searchDetailModalDetail__itemWrap').find('input:not(:disabled)').not(".searchDetailModalDetail__item--middle .searchDetailModalDetail__checkboxInput").length;
      var itemChecked = $(this).closest('.searchDetailModalDetail__itemWrap').find('input:checked').not(".searchDetailModalDetail__item--middle .searchDetailModalDetail__checkboxInput").length;
      if ( item == itemChecked ) {
        $(this).closest('.searchDetailModalDetail__itemWrap').find('.searchDetailModalDetail__item--middle .searchDetailModalDetail__checkboxInput').prop('checked', true);
      } else {
        $(this).closest('.searchDetailModalDetail__itemWrap').find('.searchDetailModalDetail__item--middle .searchDetailModalDetail__checkboxInput').prop('checked', false);
      }
    });
    $(".searchDetailModalDetail__item--tiny .searchDetailModalDetail__checkboxInput").change(function(e){//小カテゴリを押したとき
      e.stopPropagation();
      //大カテゴリをのぞく中カテゴリ以外のチェックが外れた時
      var item = $(this).closest('.searchDetailModalDetail__itemWrap3').find('input:not(:disabled)').length;
      var itemChecked = $(this).closest('.searchDetailModalDetail__itemWrap3').find('input:checked').length;
      if ( item == itemChecked ) {
        $(this).closest('.searchDetailModalDetail__itemWrap3').prev().find("input:not(:disabled)").prop('checked', true);
      } else {
        $(this).closest('.searchDetailModalDetail__itemWrap3').prev().find("input:not(:disabled)").prop('checked', false);
      }
      // 中カテゴリの「設定中」アイコンを切り替え
      if ( itemChecked ) {
        $(this).closest('.searchDetailModalDetail__itemWrap3').prev().addClass("selected");
      } else {
        $(this).closest('.searchDetailModalDetail__itemWrap3').prev().removeClass("selected");
      }
      //大カテゴリ以外のチェックが外れた時
      var item = $(this).closest('.searchDetailModalDetail__itemWrap').find('input:not(:disabled)').not(".searchDetailModalDetail__item--middle .searchDetailModalDetail__checkboxInput").length;
      var itemChecked = $(this).closest('.searchDetailModalDetail__itemWrap').find('input:checked').not(".searchDetailModalDetail__item--middle .searchDetailModalDetail__checkboxInput").length;
      if ( item == itemChecked ) {
        $(this).closest('.searchDetailModalDetail__itemWrap').find('.searchDetailModalDetail__item--middle .searchDetailModalDetail__checkboxInput').prop('checked', true);
      } else {
        $(this).closest('.searchDetailModalDetail__itemWrap').find('.searchDetailModalDetail__item--middle .searchDetailModalDetail__checkboxInput').prop('checked', false);
      }
    });
    $(".searchDetailModalDetail__checkboxInput").change(function(e){//チェックボックスを押したとき
      e.stopPropagation();
      //大カテゴリ以外のチェックが外れた時
      var itemChecked = $(this).closest('.searchDetailModalDetail__itemWrap').find('input:checked').not("searchDetailModalDetail__item--middle input").length;
      if ( itemChecked ) {
        $(this).closest('.searchDetailModalDetail__itemWrap').prev().addClass("selected");
      } else {
        $(this).closest('.searchDetailModalDetail__itemWrap').prev().removeClass("selected");
      }
      // 全国チェック
      var $modal_category = $(this).closest(".searchDetailModalDetail");
      if ($modal_category.hasClass('searchDetailModalDetail--location')) {
        var largeItem = $modal_category.find(".searchDetailModalDetail__item--middle .searchDetailModalDetail__checkboxInput:not([value='00']):not([value='99'])").length;
        var largeItemChecked = $modal_category.find(".searchDetailModalDetail__item--middle .searchDetailModalDetail__checkboxInput:not([value='00']):not([value='99']):checked").length;
        var $target = $modal_category.find(".searchDetailModalDetail__item--middle .searchDetailModalDetail__checkboxInput[value='00']");
        if (largeItem == largeItemChecked) {
          $target.prop('checked', true);
          $target.closest('.searchDetailModalDetail__itemWrap').prev().addClass("selected");
        } else {
          $target.prop('checked', false);
          $target.closest('.searchDetailModalDetail__itemWrap').prev().removeClass("selected");
        }
      }
    });

    //チェックした選択肢を挿入
    $(".searchDetailModalDetail--income .searchDetailModal__item").click(function() {
      var ic_html = '';
      var $ic_data = $(this).find('input');
      ic_html += '<li class="searchDetail__selectItem"><label class="searchDetail__checkbox">';
      ic_html += '  <label class="searchDetail__checkbox">';
      ic_html += '    <input class="searchDetail__checkboxInput" checked type="checkbox" name="'+ $ic_data.attr('name') +'" value="'+  $ic_data.val() +'" />';
      ic_html += '    <span class="searchDetail__checkboxText">';
      ic_html +=        $(this).text();
      ic_html += '    </span>';
      ic_html += '  </label>';
      ic_html += '</li>';
      $(".js-insertArea-income").html(ic_html);
      $(".searchDetailModalWrap").css("display","none");
      $(".searchDetailModalBg").css("display","none");
      $(".searchDetailModal").css("display","none");
      $('html').removeAttr('style');
      $('html').prop({scrollTop: posi});
    });
    $(".searchDetailModalDetail--overtime .searchDetailModal__item").click(function() {
      var ot_html = '';
      var ot_data = $(this).find('input');
      ot_html += '<li class="searchDetail__selectItem"><label class="searchDetail__checkbox">';
      ot_html += '  <label class="searchDetail__checkbox">';
      ot_html += '    <input class="searchDetail__checkboxInput" checked type="checkbox" name="'+ ot_data.attr('name') +'" value="'+  ot_data.val() +'" />';
      ot_html += '    <span class="searchDetail__checkboxText">';
      ot_html +=        $(this).text();
      ot_html += '    </span>';
      ot_html += '  </label>';
      ot_html += '</li>';
      $(".js-insertArea-overtime").html(ot_html);
      $(".searchDetailModalWrap").css("display","none");
      $(".searchDetailModalBg").css("display","none");
      $(".searchDetailModal").css("display","none");
      $('html').removeAttr('style');
      $('html').prop({scrollTop: posi});
    });

    $(".searchDetailModalDetail__button").click(function() {
      var list = [];
      var $modal_category = $(this).closest(".searchDetailModalDetail");
      if ($modal_category.hasClass("searchDetailModalDetail--occupation")) {
        // 職種
        var $largeInput = $modal_category.find(".searchDetailModalDetail__item--large.selected");
        $largeInput.each(function(index, element){
          var category = $(element).text().replace("設定中","");
          var middleText = $(element).next().find(".searchDetailModalDetail__item--middle .searchDetailModalDetail__checkboxText").text();

          var $middleInput = $(element).next().find(".searchDetailModalDetail__item--middle input");
          if($middleInput.prop("checked")){

            // 「〇〇職 すべて」
            var tmpText = middleText;

            // 企業別求人一覧のみ 下層項目1件の場合の対応
            if (isCorpdetail()) {
              // 職種に中項目が1件のみの場合
              var $smalls = $(element).next().find('.searchDetailModalDetail__item--small');
              if ($smalls.length == 1) {

                // 小項目が複数の場合 は 「〇〇職 - [中項目名]」の表示
                tmpText = category + " - " + $smalls.find('.searchDetailModalDetail__checkboxText').text();

                // 小項目が1件のみの場合 は 「〇〇職 - [中項目名] - [小項目名]」の表示
                var $tinies = $(element).next().find('.searchDetailModalDetail__item--tiny');
                if ($tinies.length == 1) {
                  tmpText += " - " + $tinies.find('.searchDetailModalDetail__checkboxText').text();
                }

              }
            }

            list.push({text: tmpText, name: $middleInput.attr("name"), value: $middleInput.attr("value")});
          } else {
            $(element).next().find(".searchDetailModalDetail__item--small input").each(function(index, element2){
              if ($(element2).prop("checked")) {

                // 「〇〇職 - [中項目名]」の表示
                var tmpText = category + " - " + $(element2).next().text();

                // 企業別求人一覧のみ 下層項目1件の場合の対応
                if (isCorpdetail()) {
                  // 小項目が1件の場合は「〇〇職 - [中項目名] - [小項目名]」の表示
                  var $tinies = $(element2).closest(".searchDetailModalDetail__item--small").next().find(".searchDetailModalDetail__item--tiny input:not(:disabled)");
                  if ($tinies.length === 1) {
                    tmpText += " - " + $tinies.next().text();
                  }
                }

                list.push({text: tmpText, name: $(element2).attr("name"), value: $(element2).attr("value")});
              } else {
                var small = " - " + $(element2).next().text();
                $(element2).closest(".searchDetailModalDetail__item--small").next().find(".searchDetailModalDetail__item--tiny input:checked").each(function(index, element3){
                  var tinyText = " - " + $(element3).next().text();
                  list.push({text: category + small + tinyText, name: $(element3).attr("name"), value: $(element3).attr("value")});
                })
              }
            })
          }
        })
      } else if ($modal_category.hasClass("searchDetailModalDetail--location")) {
        // 勤務地
        var $largeInput = $modal_category.find(".searchDetailModalDetail__item--large.selected");
        if ($modal_category.find('.searchDetailModalDetail__item--middle .searchDetailModalDetail__checkboxInput[value="00"]:checked').length) {
          // 全国が選択されている場合は「全国」と「海外」のみを判定する
          $largeInput = $modal_category.find('.searchDetailModalDetail__item--middle .searchDetailModalDetail__checkboxInput[value="00"], .searchDetailModalDetail__item--middle .searchDetailModalDetail__checkboxInput[value="99"]').closest(".searchDetailModalDetail__itemWrap").prev();
        }
        $largeInput.each(function(index, element){
          var category = $(element).text().replace("設定中","");
          var middleText = $(element).next().find(".searchDetailModalDetail__item--middle .searchDetailModalDetail__checkboxText").text();
          var $middleInput = $(element).next().find(".searchDetailModalDetail__item--middle input");
          var $modal = $(element).closest('.searchDetailModalDetail--location');
  
          if($middleInput.prop("checked")){

            var tmpText = middleText;

            // 全国が設定されている場合
            if ($middleInput.prop('name') === 'arc[]' && $middleInput.val() === '00') {

              // 都道府県
              var $prefInputs = $modal.find(".searchDetailModalDetail__item--small input:not(:disabled)")
                .not('[name="arc[]"][value="00"]')  // 全国を除く
                .not('[name="ar[]"][value="99"]');  // 海外を除く
              // 市区町村
              var $cityInputs = $modal.find(".searchDetailModalDetail__item--tiny input:not(:disabled)");

              // 都道府県が1件の場合 
              if ($prefInputs.length === 1) {

                category = $prefInputs.closest('.searchDetailModalDetail__itemWrap').prev().text().replace("設定中","").trim();
                var smallText = $prefInputs.next().text();

                // 市区町村が複数もしくは0件の場合 「〇〇エリア - [都道府県]」表記
                tmpText = category + " - " + smallText;

                // 市区町村が1件の場合 「〇〇エリア - [都道府県] - [市区町村]」表記
                if ($cityInputs.length === 1) {
                  tmpText += " - " + $cityInputs.next().text();
                }

              }

            } else {
              // エリアに都道府県が1件
              var $smalls = $(element).next().find('.searchDetailModalDetail__item--small');
              if ($smalls.length == 1) {

                // 市区町村が複数もしくは0件の場合 は 「〇〇エリア - [都道府県]」の表示
                tmpText = category + " - " + $smalls.first().find('.searchDetailModalDetail__checkboxText').text();

                // 市区町村が1件のみの場合 は 「〇〇エリア - [都道府県] - [市区町村]」の表示
                var $tinies = $(element).next().find('.searchDetailModalDetail__item--tiny');
                if ($tinies.length == 1) {
                  tmpText += " - " + $tinies.first().find('.searchDetailModalDetail__checkboxText').text();
                }

              }
            }

            list.push({text: tmpText, name: $middleInput.attr("name"), value: $middleInput.attr("value")});
          } else {
            $(element).next().find(".searchDetailModalDetail__item--small input").each(function(index, element2){
              if ($(element2).prop("checked")) {

                // 「[エリア] - [都道府県]」の表示
                var tmpText = category + " - " + $(element2).next().text();

                // 市区町村が1件の場合は「[エリア] - [都道府県] - [市区町村]」の表示
                var $tinies = $(element2).closest(".searchDetailModalDetail__item--small").next().find(".searchDetailModalDetail__item--tiny input:not(:disabled)");
                if ($tinies.length === 1) {
                  tmpText += " - " + $tinies.next().text();
                }

                list.push({text: tmpText, name: $(element2).attr("name"), value: $(element2).attr("value")});
              } else {
                var small = " - " + $(element2).next().text();
                $(element2).closest(".searchDetailModalDetail__item--small").next().find(".searchDetailModalDetail__item--tiny input:checked").each(function(index, element3){
                  var tinyText = " - " + $(element3).next().text();
                  list.push({text: category + small + tinyText, name: $(element3).attr("name"), value: $(element3).attr("value")});
                })
              }
            })
          }
        })
      } else if ($modal_category.hasClass("searchDetailModalDetail--skill")) {
        // スキル・経験・資格
        $modal_category.find(".searchDetailModalDetail__item--large.selected").each(function(index, element) {
          var large = $(element).text().replace("設定中","");

          $(element).next().find(".searchDetailModalDetail__item--small").each(function(index, element2) {
            var middle = " - " + $(element2).find(".searchDetailModalDetail__checkbox").text();
            $(element2).next().find(".searchDetailModalDetail__item--tiny input:checked").each(function(index, element3) {
              var small = " - " + $(element3).next().text();
              list.push({text: large + middle + small, name: $(element3).attr("name"), value: $(element3).attr("value")});
            })
          })
        })
      } else {
        // 業種
        $modal_category.find(".searchDetailModalDetail__item--large.selected").each(function(index, element){
          var category = $(element).text().replace("設定中","");
          var middleText = $(element).next().find(".searchDetailModalDetail__item--middle .searchDetailModalDetail__checkboxText").text();
          var $middleInput = $(element).next().find(".searchDetailModalDetail__item--middle input");
          if ($middleInput.prop("checked")) {
            list.push({text: middleText, name: $middleInput.attr("name"), value: $middleInput.attr("value")});
          } else {
            $(element).next().find(".searchDetailModalDetail__item--small input").each(function(index, element2){
              if ($(element2).prop("checked")) {
                var smallText = " - " + $(element2).next().html();
                list.push({text: category + smallText, name: $(element2).attr("name"), value: $(element2).attr("value")});
              }
            })
          }
        })
      }

      var inputItem = [];
      var cnt = 0;
      $.each(list, function(index, val) {
        if (cnt < 5 || jobsearchTop_flag == true) {
          inputItem.push('<li class="searchDetail__selectItem"><label class="searchDetail__checkbox"><input class="searchDetail__checkboxInput" checked="" type="checkbox" name="'+val.name+'" value="'+val.value+'"><span class="searchDetail__checkboxText">' + val.text + "</span></label></li>");
        } else {
          inputItem.push('<li class="searchDetail__selectItem"><input class="searchDetail__checkboxInput" checked="" type="checkbox" name="'+val.name+'" value="'+val.value+'"></li>');
        }
        cnt++;
      });
      if (cnt == 0) {
        inputItem.push('<li class="searchDetail__selectItem">特に指定しない</li>');
      } else if (cnt >= 5 && jobsearchTop_flag == false) {
        inputItem.push('<li class="searchDetail__selectItem">他</li>');
      }

      if ($modal_category.hasClass("searchDetailModalDetail--occupation")) {
        // 職種
        if ($(this).hasClass('temporary')) {
          // 企業別求人一覧ページの「条件を変更する」モーダルから当該モーダルを開いた場合
          // 設定した条件を「条件を変更する」モーダル内のみに反映させる
          $(".js-insertArea-occupation.js-insertTemporary").html(inputItem);
        } else {
          $(".js-insertArea-occupation").html(inputItem);
        }
      } else if ($modal_category.hasClass("searchDetailModalDetail--location")) {
        // 勤務地
        if ($(this).hasClass('temporary')) {
          // 企業別求人一覧ページの「条件を変更する」モーダルから当該モーダルを開いた場合
          // 設定した条件を「条件を変更する」モーダル内のみに反映させる
          $(".js-insertArea-location.js-insertTemporary").html(inputItem);
        } else {
          $(".js-insertArea-location").html(inputItem);
        }
      } else if ($modal_category.hasClass("searchDetailModalDetail--industry")) {
        // 業種
        $(".js-insertArea-industry").html(inputItem);
      } else if ($modal_category.hasClass("searchDetailModalDetail--skill")) {
        // スキル・経験・資格
        $(".js-insertArea-skill").html(inputItem);
      }

      $('html').removeAttr('style');
      $('html').prop({scrollTop: posi});

      $(".searchDetailModalWrap").css("display","none");
      $(".searchDetailModalBg").css("display","none");
      $(".searchDetailModal").css("display","none");
      $(".footerFixArea__box").css("display","flex");
    });

    // チェックリセット
    $(".searchDetailModalDetail__clear").click(function() {
      $(this).closest(".searchDetailModalDetail").find('input').prop('checked', false);
      $(this).closest(".searchDetailModalDetail").find(".searchDetailModalDetail__item--large").removeClass("selected");
      $(this).closest(".searchDetailModalDetail").find(".searchDetailModalDetail__item--small").removeClass("selected");
    });
  }
  else {
  // PC =========================================================================================================

    $(".searchDetailModalWrap").css("display","none");
    $(".searchDetailModal").css("display","none");
    var modal;
    $(".js-modalOpen").click(function(){
      modal = $(this).attr('data-name');
      $(".searchDetailModalWrap").css({"display":"block", "top":$(window).scrollTop(), "opacity":1, "visibility":"visible"});
      $(".searchDetailModalBg").css("display","block");
      $(".searchDetailModalDetail--occupation").css("display","block");
      var userAgent = window.navigator.userAgent.toLowerCase();
      if(userAgent.indexOf('msie') != -1 || userAgent.indexOf('trident') != -1) {
        posi = $(window).scrollTop();
        $('html').css({
          position: 'fixed',
          top: -1 * posi,
          width: '100%'
        });
      } else if(userAgent.indexOf('edge') != -1) {
        posi = $(window).scrollTop();
        $('body').css({
          position: 'fixed',
          top: -1 * posi,
          width: '100%'
        });
      } else if(userAgent.indexOf('chrome') != -1) {
        posi = $(window).scrollTop();
        $('html').css({
          position: 'fixed',
          top: -1 * posi,
          width: '100%'
        });
      } else {
        //その他のブラウザは何もしない
      }
      if (modal == "modalOccupationDetail") {
        $(".searchDetailModal--occupation").css("display","block");
      } else if (modal == "modalLocationDetail") {
        $(".searchDetailModal--location").css("display","block");
      } else if (modal == "modalIndustryDetail") {
        $(".searchDetailModal--industry").css("display","block");
      } else if (modal == "modalSkillDetail") {
        $(".searchDetailModal--skill").css("display","block");
      }
    });

    $(".searchDetailModal__close,.searchDetailModalBg").click(function(){
      $(this).closest(".searchDetailModal").find('input').prop('checked', false);
      $(this).closest(".searchDetailModal").find(".searchDetailModal__largeCategoryItem").removeClass("selected");
      $(".searchDetailModalWrap").css("display","none");
      $(".searchDetailModalBg").css("display","none");
      $(".searchDetailModal").css("display","none");
      if(userAgent.indexOf('msie') != -1 || userAgent.indexOf('trident') != -1) {
          $('html').removeAttr('style');
          $('html').prop({scrollTop: posi});
      } else if(userAgent.indexOf('edge') != -1) {
          $('body').removeAttr('style');
          $('body').prop({scrollTop: posi});
      } else if(userAgent.indexOf('chrome') != -1) {
          $('html').removeAttr('style');
          $('html').prop({scrollTop: posi});
      } else {
        //その他のブラウザは何もしない
      }
    });

    $(".searchDetailModalBg").click(function(){
      $(this).next(".searchDetailModalWrap").find('input').prop('checked', false);
      $(this).next(".searchDetailModalWrap").find(".searchDetailModal__largeCategoryItem").removeClass("selected");
    });

    // モーダルタブ切り替え
    var tabNum;
    $(".searchDetailModal__checkboxWrap").css("display","none");
    $(".searchDetailModal__checkboxWrap--1").addClass("active");
    // 職種
    $(".searchDetailModal--occupation .searchDetailModal__largeCategoryItem").click(function(){
      $(".searchDetailModal--occupation .searchDetailModal__largeCategoryItem").removeClass("active");
      $(this).addClass("active");
      tabNum = ($(this).data('name'));
      $(".searchDetailModal--occupation .searchDetailModal__checkboxWrap").removeClass("active");
      $(".searchDetailModal--occupation .searchDetailModal__checkboxWrap--" + tabNum).addClass("active");
    });
    // 勤務地
    $(".searchDetailModal--location .searchDetailModal__largeCategoryItem").click(function(){
      $(".searchDetailModal--location .searchDetailModal__largeCategoryItem").removeClass("active");
      $(this).addClass("active");
      tabNum = ($(this).data('name'));
      $(".searchDetailModal--location .searchDetailModal__checkboxWrap").removeClass("active");
      $(".searchDetailModal--location .searchDetailModal__checkboxWrap--" + tabNum).addClass("active");
    });
    // 業種
    $(".searchDetailModal--industry .searchDetailModal__largeCategoryItem").click(function(){
      $(".searchDetailModal--industry .searchDetailModal__largeCategoryItem").removeClass("active");
      $(this).addClass("active");
      tabNum = ($(this).data('name'));
      $(".searchDetailModal--industry .searchDetailModal__checkboxWrap").removeClass("active");
      $(".searchDetailModal--industry .searchDetailModal__checkboxWrap--" + tabNum).addClass("active");
    });
    // スキル・経験・資格
    $(".searchDetailModal--skill .searchDetailModal__largeCategoryItem").click(function(){
      $(".searchDetailModal--skill .searchDetailModal__largeCategoryItem").removeClass("active");
      $(this).addClass("active");
      tabNum = ($(this).data('name'));
      $(".searchDetailModal--skill .searchDetailModal__checkboxWrap").removeClass("active");
      $(".searchDetailModal--skill .searchDetailModal__checkboxWrap--" + tabNum).addClass("active");
    });

    //モーダル選択肢挿入、チェックボックスリセット
    //チェックリセット
    $(".searchDetailModal__clear").click(function() {
      $(this).closest(".searchDetailModal").find('input').prop('checked', false);
      $(this).closest(".searchDetailModal").find(".searchDetailModal__largeCategoryItem").removeClass("selected");
      $(this).closest(".searchDetailModal").find(".searchDetailModal__pref").removeClass("selected");
    });
    //チェックした選択肢を挿入
    $(".searchDetailModal__button").click(function() { //「指定する」ボタンクリック
      var list = [];
      if ($(this).closest(".searchDetailModal").hasClass("searchDetailModal--occupation")) {
        // 職種
        var $largeCategoryItem = $(this).closest(".searchDetailModal").find(".searchDetailModal__largeCategoryItem.selected");
        $largeCategoryItem.each(function(index, element){
          var parent = ".searchDetailModal--occupation";
          var category = $(element).text().replace("設定中","").trim();
          var large = $(parent + " .searchDetailModal__checkboxWrap--" + $(this).data("name") + " " + ".searchDetailModal__checkbox--large .searchDetailModal__checkboxText").html();
          var $largeInput = $(parent + " .searchDetailModal__checkboxWrap--" + $(this).data("name") + " " + ".searchDetailModal__checkbox--large input");

          if($largeInput.prop("checked")){

            var tmpText = large;

            // 企業別求人一覧のみ 下層項目1件の場合の対応
            if (isCorpdetail()) {
              // 職種に中項目が1件のみの場合
              var $middles = $largeInput.closest(".searchDetailModal__checkboxWrapInner").find('.searchDetailModal__checkbox--middle');
              if ($middles.length == 1) {

                // 小項目が複数の場合 は 「〇〇職 [中項目名]」の表示
                tmpText = category + " " + $middles.first().find('.searchDetailModal__checkboxText').text();

                // 小項目が1件のみの場合 は 「〇〇職 [中項目名] - [小項目名]」の表示
                var $smalls = $largeInput.closest(".searchDetailModal__checkboxWrapInner").find('.searchDetailModal__checkbox--small');
                if ($smalls.length == 1) {
                  tmpText += " - " + $smalls.first().find('.searchDetailModal__checkboxText').text();
                }

              }
            }

            list.push({text: tmpText, name: $largeInput.attr("name"), value: $largeInput.attr("value")});
            return;
          } else{
            var $middleInput = $(parent + " .searchDetailModal__checkboxWrap--" + $(this).data("name") + " " + ".searchDetailModal__checkbox--middle input");
            if ($middleInput) {
              $middleInput.each(function(index, element){
                var middleText = $(element).next().text();
                if ($(element).prop("checked")) {

                  // 「〇〇職 [中項目名]」の表示
                  var tmpText = category + " " + middleText;

                  // 企業別求人一覧のみ 下層項目1件の場合の対応
                  if (isCorpdetail()) {
                    // 小項目が1件の場合は「〇〇職 [中項目名] - [小項目名]」の表示
                    var $smalls = $(element).closest(".searchDetailModal__checkboxWrap--sub").find(".searchDetailModal__checkbox--small input:not(:disabled)");
                    if ($smalls.length === 1) {
                      tmpText += " - " + $smalls.next().text();
                    }
                  }

                  list.push({text: tmpText, name: $(element).attr("name"), value: $(element).attr("value")});
                } else {
                  $(element).closest(".searchDetailModal__checkboxWrap--sub").find(".searchDetailModal__checkbox--small input:checked").each(function(index, element2){
                    var smallText = " - " +$(element2).next().text();
                    list.push({text: category + " " + middleText + smallText, name: $(element2).attr("name"), value: $(element2).attr("value")});
                  });
                }
              });
            } else {
              $(parent + " .searchDetailModal__checkboxWrap--" + $(this).data("name") + " " + ".searchDetailModal__checkbox--small input:checked").each(function(index, element2){
                var smallText = " - " + $(element2).next().text();
                list.push({text: category + smallText, name: $(element2).attr("name"), value: $(element2).attr("value")});
              });
            }
          }
        });
      } else if ($(this).closest(".searchDetailModal").hasClass("searchDetailModal--location")) {
        // 勤務地
        var $largeCategoryItem = $(this).closest(".searchDetailModal").find(".searchDetailModal__largeCategoryItem.selected");
        if ($(this).closest(".searchDetailModal").find('.searchDetailModal__checkboxInput[value="00"]:checked').length) {
          // 全国の場合
          var $largeCategoryItem = $(this).closest(".searchDetailModal").find(".searchDetailModal__largeCategoryItem").slice(-2).filter('.selected');
        }
        $largeCategoryItem.each(function(index, element){
          var parent = ".searchDetailModal--location";
          var category = $(element).text().replace("設定中","").trim();
          var large = $(parent + " .searchDetailModal__checkboxWrap--" + $(this).data("name") + " " + ".searchDetailModal__checkbox--large .searchDetailModal__checkboxText").html();
          var $largeInput = $(parent + " .searchDetailModal__checkboxWrap--" + $(this).data("name") + " " + ".searchDetailModal__checkbox--large input");

          if($largeInput.prop("checked")){

            var tmpText = large;

            // 全国が設定されている場合
            if ($largeInput.prop('name') === 'arc[]' && $largeInput.val() === '00') {

              // 都道府県
              var $prefInputs = $(parent + " .searchDetailModal__checkbox--middle input:not(:disabled)")
                .not('[name="arc[]"][value="00"]')  // 全国を除く
                .not('[name="ar[]"][value="99"]');  // 海外を除く
              // 市区町村
              var $cityInputs = $(parent + " .searchDetailModal__checkbox--small input:not(:disabled)");

              // 都道府県が1件の場合 
              if ($prefInputs.length === 1) {
                var rightnum = $prefInputs.closest('.searchDetailModal__checkboxWrap').data('rightnum');

                category = $(parent + ' .searchDetailModal__largeCategoryItem[data-name="' + rightnum + '"]').text().replace("設定中","").trim();
                var middleText = $prefInputs.next().text();

                // 市区町村が複数もしくは0件の場合 「〇〇エリア [都道府県]」表記
                tmpText = category + " " + middleText;

                // 市区町村が1件の場合 「〇〇エリア [都道府県] - [市区町村]」表記
                if ($cityInputs.length === 1) {
                  tmpText += " - " + $cityInputs.next().text();
                }

              }

            } else {

              // エリアに都道府県が1件
              var $middles = $largeInput.closest(".searchDetailModal__checkboxWrapInner").find('.searchDetailModal__checkbox--middle');
              if ($middles.length == 1) {

                // 市区町村が複数もしくは0件の場合 は 「〇〇エリア [都道府県]」の表示
                tmpText = category + " " + $middles.first().find('.searchDetailModal__checkboxText').text();
  
                // 市区町村が1件のみの場合 は 「〇〇エリア [都道府県] - [市区町村]」の表示
                var $smalls = $largeInput.closest(".searchDetailModal__checkboxWrapInner").find('.searchDetailModal__checkbox--small');
                if ($smalls.length == 1) {
                  tmpText += " - " + $smalls.first().find('.searchDetailModal__checkboxText').text();
                }

              }

            }

            list.push({text: tmpText, name: $largeInput.attr("name"), value: $largeInput.attr("value")});
            return;
          } else{
            var $middleInput = $(parent + " .searchDetailModal__checkboxWrap--" + $(this).data("name") + " " + ".searchDetailModal__checkbox--middle input");
            if ($middleInput) {
              $middleInput.each(function(index, element){
                var middleText = $(element).next().text();
                if ($(element).prop("checked")) {

                  // 「[エリア] - [都道府県]」の表示
                  var tmpText = category + " " + middleText;

                  // 市区町村が1件の場合は「[エリア] - [都道府県] - [市区町村]」の表示
                  var $smalls = $(element).closest(".searchDetailModal__checkboxWrap--acd").find(".searchDetailModal__checkbox--small input:not(:disabled)");
                  if ($smalls.length === 1) {
                    tmpText += " - " + $smalls.next().text();
                  }

                  list.push({text: tmpText, name: $(element).attr("name"), value: $(element).attr("value")});
                } else {
                  $(element).closest(".searchDetailModal__checkboxWrap--acd").find(".searchDetailModal__checkbox--small input:checked").each(function(index, element2){
                    var smallText = " - " +$(element2).next().text();
                    list.push({text: category + " " + middleText + smallText, name: $(element2).attr("name"), value: $(element2).attr("value")});
                  });
                }
              });
            } else {
              $(parent + " .searchDetailModal__checkboxWrap--" + $(this).data("name") + " " + ".searchDetailModal__checkbox--small input:checked").each(function(index, element2){
                var smallText = " - " + $(element2).next().text();
                list.push({text: category + smallText, name: $(element2).attr("name"), value: $(element2).attr("value")});
              });
            }
          }
        });
      } else if ($(this).closest(".searchDetailModal").hasClass("searchDetailModal--skill")) {
        // スキル・経験・資格
        $(this).closest(".searchDetailModal").find(".searchDetailModal__largeCategoryItem.selected").each(function(index, element) {
          var large = $(element).text().replace("設定中","");

          $(".searchDetailModal--skill .searchDetailModal__checkboxWrap--" + $(this).data("name") + " .searchDetailModal__middleCategory").each(function(index, element2) {
            var middle = " " + $(element2).text();
            $(element2).closest(".searchDetailModal__checkboxWrap--sub, .searchDetailModal__checkboxWrap--acd").find(".searchDetailModal__checkbox--small input:checked").each(function(index, element3) {
              var small = " - " + $(element3).next().text();
              list.push({text: large + middle + small, name: $(element3).attr("name"), value: $(element3).attr("value")});
            });
          });
        });
      } else {
        // 業種
        $(this).closest(".searchDetailModal").find(".searchDetailModal__largeCategoryItem.selected").each(function(index, element){
          var category = $(element).text().replace("設定中","");
          var large = $(this).closest(".searchDetailModal").find((".searchDetailModal__checkboxWrap--" + $(this).data("name") + " " + ".searchDetailModal__checkbox--large .searchDetailModal__checkboxText")).html();

          var $largeInput = $(this).closest(".searchDetailModal").find((".searchDetailModal__checkboxWrap--" + $(this).data("name") + " " + ".searchDetailModal__checkbox--large input"));
          if($largeInput.prop("checked")){
            list.push({text: large, name: $largeInput.attr("name"), value: $largeInput.attr("value")});
            return;
          } else{
            $(this).closest(".searchDetailModal").find((".searchDetailModal__checkboxWrap--" + $(this).data("name") + " " + ".searchDetailModal__checkbox--small input:checked")).each(function(index, element2){
              var smallText = " - " + $(element2).next().html();
              list.push({text: category + smallText, name: $(element2).attr("name"), value: $(element2).attr("value")});
            });
          }
        });
      }

      var inputItem = [];
      var cnt = 0;
      $.each(list, function(index, val) {
        if (cnt < 5 || jobsearchTop_flag == true) {
          inputItem.push('<li class="searchDetail__selectItem"><label class="searchDetail__checkbox"><input class="searchDetail__checkboxInput" checked="" type="checkbox" name="'+val.name+'" value="'+val.value+'"><span class="searchDetail__checkboxText">' + val.text + "</span></label></li>");
        } else {
          inputItem.push('<li class="searchDetail__selectItem"><input class="searchDetail__checkboxInput" checked="" type="checkbox" name="'+val.name+'" value="'+val.value+'"></li>');
        }
        cnt++;
      });

      if (cnt == 0) {
        if (jobsearchTop_flag) {
          inputItem.push('<li class="searchDetail__selectItem">特に指定しない</li>');
        } else {
          inputItem.push('<li class="unspecified">指定なし</li>');
        }
      } else if (cnt >= 5 && jobsearchTop_flag == false) {
        inputItem.push('<li class="searchDetail__selectItem">他</li>');
      }

      var modal_id = "modal";
      if ($(this).closest(".searchDetailModal").hasClass("searchDetailModal--occupation")) {
        // 職種
        $(".js-insertArea-occupation").html(inputItem);
        modal_id += "01";
      } else if ($(this).closest(".searchDetailModal").hasClass("searchDetailModal--location")) {
        // 勤務地
        $(".js-insertArea-location").html(inputItem);
        modal_id += "02";
      } else if ($(this).closest(".searchDetailModal").hasClass("searchDetailModal--industry")) {
        // 業種
        $(".js-insertArea-industry").html(inputItem);
        modal_id += "03";
      } else if ($(this).closest(".searchDetailModal").hasClass("searchDetailModal--skill")) {
        // スキル・経験・資格
        $(".js-insertArea-skill").html(inputItem);
        modal_id += "04";
      }

      $(".searchDetailModalWrap").css("display","none");
      $(".searchDetailModalBg").css("display","none");
      $(".searchDetailModal").css("display","none");
      if (userAgent.indexOf('msie') != -1 || userAgent.indexOf('trident') != -1) {
        $('html').removeAttr('style');
        $('html').prop({scrollTop: posi});
      } else if (userAgent.indexOf('edge') != -1) {
        $('body').removeAttr('style');
        $('body').prop({scrollTop: posi});
      } else if (userAgent.indexOf('chrome') != -1) {
        $('html').removeAttr('style');
        $('html').prop({scrollTop: posi});
      } else {
        // その他のブラウザは何もしない
      }

      if ( !jobsearchTop_flag ) {

        // 親画面ボタン文言
        var button_span = $('a[href=#' + modal_id + ']');
        var listBox = button_span.parent().prevAll('ul')
        var change_text = '変更・追加';
        var normal_text = '選択';

        // 結果一覧画面
        var type = button_span.parent().prevAll('.contTit').text();
        change_text = type.replace(/\s+/g, "") + 'を' + change_text;
        normal_text = type.replace(/\s+/g, "") + 'を' + normal_text;

        if ( listBox.find('li:not(.unspecified)').length > 0 ) {
          // 1つ以上選択
          button_span.text(change_text);
        } else {
          // 未選択
          button_span.text(normal_text);
        }

        // 設定中アイコン表示制御
        var icon = button_span.closest('div.ssBox').children('.acdTriggre').children('span');

        if (modal_id == "modal04") {
          var list = button_span.closest('div.ssBox').find('input:checked');
        } else {
          var list = $('#baseCondition').next().find('.choseList li:not(.unspecified)');
        }

        if (list.length > 0) {
          icon.fadeIn('normal');
        } else {
          icon.fadeOut('normal');
        }
      }
    });

    // チェックボックスの動作
    $(".searchDetailModal__checkbox--large .searchDetailModal__checkboxInput").change(function(e){//大カテゴリを押したとき
      e.stopPropagation();
      var items = $(this).parent().parent().find('input:not(:disabled)');
      if ($(this).val() == '00') {
        items = $(this).closest(".searchDetailModal").find('input:not(:disabled):not([value="99"])');
        if ($(this).prop('checked')) {
            $(items).each(function() {
                var rightnum = $(this).closest('.searchDetailModal__checkboxWrap').data('rightnum');
                $(this).closest('.searchDetailModal__category').find('.searchDetailModal__largeCategoryItem[data-name="' + rightnum + '"]').addClass("selected");
            });
        } else {
          $(this).closest('.searchDetailModal__category').find('.searchDetailModal__largeCategoryItem:not(:last-child)').removeClass("selected");
        }
      }
      if($(this).prop('checked')) {
        $(items).prop('checked', true);
        $(items).closest('.searchDetailModal__checkboxWrapInner').find('.searchDetailModal__pref').addClass('selected');
      } else {
        $(items).prop('checked', false);
        $(items).closest('.searchDetailModal__checkboxWrapInner').find('.searchDetailModal__pref').removeClass('selected');
      }
    });
    $(".searchDetailModal__checkbox--middle .searchDetailModal__checkboxInput").change(function(e){//中カテゴリを押したとき
      e.stopPropagation();
      var items = $(this).closest('.searchDetailModal__checkboxWrap--sub, .searchDetailModal__checkboxWrap--acd').find('input:not(:disabled)');
      if($(this).prop('checked')) {
        $(items).prop('checked', true);
        $(this).closest('.searchDetailModal__pref').addClass('selected');
      } else {
        $(items).prop('checked', false);
        $(this).closest('.searchDetailModal__pref').removeClass('selected');
      }
      //大カテゴリ以外のチェックが外れた時
      var item = $(this).closest('.searchDetailModal__checkboxWrapInner').find('input:not(:disabled)').not(".searchDetailModal__checkbox--large input:not(:disabled)").length;
      var itemChecked = $(this).closest('.searchDetailModal__checkboxWrapInner').find('input:checked').not(".searchDetailModal__checkbox--large input").length;
      if ( item == itemChecked ) {
        $(this).closest('.searchDetailModal__checkboxWrapInner').find('.searchDetailModal__checkbox--large input').prop('checked', true);
      } else {
        $(this).closest('.searchDetailModal__checkboxWrapInner').find('.searchDetailModal__checkbox--large input').prop('checked', false);
      }
    });
    $(".searchDetailModal__checkbox--small .searchDetailModal__checkboxInput").change(function(e){//小カテゴリを押したとき
      e.stopPropagation();
      //大カテゴリをのぞく中カテゴリ以外のチェックが外れた時
      var item = $(this).closest('.searchDetailModal__checkboxWrap--sub, .searchDetailModal__checkboxWrap--acd').find('input:not(:disabled)').not(".searchDetailModal__checkbox--middle input:not(:disabled)").length;
      var itemChecked = $(this).closest('.searchDetailModal__checkboxWrap--sub, .searchDetailModal__checkboxWrap--acd').find('input:checked').not(".searchDetailModal__checkbox--middle input").length;
      if ( item == itemChecked ) {
        $(this).closest('.searchDetailModal__checkboxWrap--sub, .searchDetailModal__checkboxWrap--acd').find('.searchDetailModal__checkbox--middle input').prop('checked', true);
      } else {
        $(this).closest('.searchDetailModal__checkboxWrap--sub, .searchDetailModal__checkboxWrap--acd').find('.searchDetailModal__checkbox--middle input').prop('checked', false);
      }
      if ( itemChecked ) {
          $(this).closest('.searchDetailModal__checkboxWrap--acd').find('.searchDetailModal__pref').addClass('selected');
      } else {
        $(this).closest('.searchDetailModal__checkboxWrap--acd').find('.searchDetailModal__pref').removeClass('selected');
      }
      //大カテゴリ以外のチェックが外れた時
      var item = $(this).closest('.searchDetailModal__checkboxWrapInner').find('input:not(:disabled)').not(".searchDetailModal__checkbox--large input:not(:disabled)").length;
      var itemChecked = $(this).closest('.searchDetailModal__checkboxWrapInner').find('input:checked').not(".searchDetailModal__checkbox--large input").length;
      if ( item == itemChecked ) {
        $(this).closest('.searchDetailModal__checkboxWrapInner').find('.searchDetailModal__checkbox--large input').prop('checked', true);
      } else {
        $(this).closest('.searchDetailModal__checkboxWrapInner').find('.searchDetailModal__checkbox--large input').prop('checked', false);
      }
    });
    $(".searchDetailModal__checkboxInput").change(function(e){//チェックボックスを押したとき
      e.stopPropagation();
      //大カテゴリ以外のチェックが外れた時
      var item = $(this).closest('.searchDetailModal__checkboxWrapInner').find('input:not(:disabled)').not(".searchDetailModal__checkbox--large input:not(:disabled)").length;
      var itemChecked = $(this).closest('.searchDetailModal__checkboxWrapInner').find('input:checked').not(".searchDetailModal__checkbox--large input").length;

      if (item == 0) {
        itemChecked = $(this).closest('.searchDetailModal__checkboxWrapInner').find('input:checked').length;
      }
      if ( itemChecked ) {
        $(this).closest('.searchDetailModal__category').find('.searchDetailModal__largeCategoryItem.active').addClass("selected");
      } else {
        $(this).closest('.searchDetailModal__category').find('.searchDetailModal__largeCategoryItem.active').removeClass("selected");
      }
      // 全国チェック
      var $modal_category = $(this).closest('.searchDetailModal');
      if ($modal_category.hasClass('searchDetailModal--location')) {
        var largeItem = $modal_category.find('.searchDetailModal__checkbox--large .searchDetailModal__checkboxInput:not(:disabled):not([value="00"]):not([value="99"])').length;
        var largeItemChecked = $modal_category.find('.searchDetailModal__checkbox--large .searchDetailModal__checkboxInput:not(:disabled):not([value="00"]):not([value="99"]):checked').length;
        var $target = $modal_category.find(".searchDetailModal__checkbox--large .searchDetailModal__checkboxInput[value='00']");
        var rightnum = $target.closest('.searchDetailModal__checkboxWrap').data('rightnum');
        if (largeItem !== 0 && largeItem == largeItemChecked) {
          $target.prop('checked', true);
          $modal_category.find('.searchDetailModal__largeCategoryItem[data-name="' + rightnum + '"]').addClass("selected");
        } else {
          $target.prop('checked', false);
          $modal_category.find('.searchDetailModal__largeCategoryItem[data-name="' + rightnum + '"]').removeClass("selected");
        }
      }
    });
  }

  // spモーダルクローズ時 全非表示
  $('.searchDetailModal__item, .searchDetailModalDetail__button').click(function(){
    $(".searchDetailModalWrap").css("display","none");
    $(".searchDetailModalBg").css("display","none");
    $(".searchDetailModalDetail").css("display","none");
    $(".searchDetailModal").css("display","none");
    $(".footerFixArea__box").css("display","flex");
  });

  // モーダル開いたときの チェック,「設定中」付け直し
  $(document).on('click', '.js-modalOpen', function(){
    var $this = $(this);
    var is_pc = (window.innerWidth >= 768) ? true : false;
    var device_selector = (is_pc) ? '.pc' : '.sp';
    var $modal = $('.searchDetailModalWrap'+device_selector);

    // モーダルをクリア
    $modal.find('input').prop('checked', false);
    // 「設定中」アイコン（PC）
    $modal.find('.searchDetailModal__largeCategoryItem').removeClass('selected');
    $modal.find('.searchDetailModal__pref').removeClass('selected');
    // 「設定中」アイコン（SP）
    $modal.find('.searchDetailModalDetail__item--large').removeClass('selected');
    $modal.find('.searchDetailModalDetail__item--small').removeClass('selected');

    //input再チェック
    var $parent;
    if ($('#corpsearch_detail').length !== 0) {
      if ($this.hasClass('filterSetting__button')) {
        // 企業別求人一覧ページSP版の「条件を変更する」モーダル経由の場合、「条件を変更する」モーダル側に保持されている情報から復元する
        $parent = $this.closest('li');
      } else if ($this.data('name') == 'modalOccupationDetail') {
        $parent = $('.choseList.js-insertArea-occupation');
      } else {
        $parent = $('.choseList.js-insertArea-location');
      }
    } else if (jobsearchTop_flag) {
      $parent = $this.closest('.searchDetail__item');
    } else {
      $parent = $this.closest('li');
    }
    $parent.find('input:checked').each(function(){
      var $this = $(this);
      var $target = $modal.find('input[type="checkbox"][name="'+$this.attr('name')+'"][value="'+$this.attr('value')+'"]');
      $target.prop('checked', true).change();
    });

    //「設定中」付け直し
    $('.searchDetailModal__largeCategoryItem').removeClass('selected'); //pc
    $('.searchDetailModalDetail__itemWrap.modal-acd-target').prev('li').removeClass('selected');  //sp
    $modal.find('input:checked').each(function(){
      var $this = $(this);
      var $wrapper_right = (is_pc) ? $this.closest('.searchDetailModal__checkboxWrap') : $this.closest('.searchDetailModalDetail__itemWrap.modal-acd-target');
      var $middle_acd = (is_pc) ? $this.closest('.searchDetailModal__checkboxWrap--acd').find('.searchDetailModal__pref') : $this.closest('.searchDetailModalDetail__itemWrap3').prev();
      var $category = (is_pc) ? $wrapper_right.closest('.searchDetailModal__category').find('.searchDetailModal__largeCategoryItem[data-name="'+$wrapper_right.data('rightnum')+'"]') : $wrapper_right.prev('li');
      $category.addClass('selected');
      $middle_acd.addClass('selected');
    });

    // アコーディオンを閉じる制御について
    if (IS_MOBILE) {

      // 条件がクリアされている場合は、すべてアコーディオンを閉じる
      if ($parent.find('input[type="checkbox"]').length == 0) {
        var $target = $modal.find('.modal-acd-btn:not(.disabled).open');
        $target.removeClass('open');
        $target.next('.modal-acd-target').stop().hide();
      }

      $parent.find('input:not(:checked)').each(function(){
        // 通常
        var $input = $(this);
        var $target = $modal.find('input[type="checkbox"][name="'+$input.attr('name')+'"][value="'+$input.attr('value')+'"]');

        // .modal-acd-target 要素の アコーディオンを閉じる関数
        const closeAcdTarget = ($actTarget) => {
          $actTarget.stop().hide();
          $actTarget.prev('.modal-acd-btn:not(.disabled).open').removeClass('open');
        };

        // 条件が外された項目はアコーディオンを閉じる
        closeAcdTarget($target.closest('.modal-acd-btn:not(.disabled).open').next('.modal-acd-target'));

        // 子要素のアコーディオンをすべて閉じる
        var $children = $();
        if ($target.closest('.modal-acd-btn').length > 0) {
          $children = $target.closest('.modal-acd-btn').next('.modal-acd-target');
        } else if ($target.closest('.modal-acd-target').find('.modal-acd-target').length > 0) {
          $children = $target.closest('.modal-acd-target').find('.modal-acd-target');
        }
        for (let i = 1; i <= 2; i++) {
          if ($children.length == 0) {
            break;
          }
          closeAcdTarget($children);
          $children = $children.find('.modal-acd-target');
        }

        // 親要素のアコーディオン閉じる
        var $parent = $target.parent().closest('.modal-acd-target');
        for (let i = 1; i <= 2; i++) {
          if ($parent.length == 0) {
            break;
          }

          if ($parent.find('.modal-acd-target').length == 0) {
            // 最下層は、チェックが無ければその親を閉じる
            if ($parent.find('input:checked').length == 0) {
              closeAcdTarget($parent);
            }
          } else {
            // 上位層の場合は、下層にチェックが無く、開いているアコーディオンが無ければ閉じる
            if (
              $parent.find('input:checked').length == 0
              && $parent.find('.modal-acd-btn:not(.disabled).open').length == 0
            ) {
              closeAcdTarget($parent);
            }
          }

          $parent = $parent.parent().closest('.modal-acd-target');
        }

        // 勤務地 全国 のチェックがハズれた場合に 海外以外すべてアコーディオン閉じる
        if (
          $this.data('name') === 'modalLocationDetail'                      // 勤務地
          && $input.attr('name') === 'arc[]' && $input.attr('value') === '00' // 全国
        ) {
          var $overseas = $modal.find('input[type="checkbox"][name="ar[]"][value="99"]').closest('.modal-acd-target'); // 海外
          closeAcdTarget($modal.find('.modal-acd-target').not($overseas));
        }
      });
    }
  });

  // アコーディオン (無効ボタンを除く)
  $('.modal-acd-btn:not(.disabled)').click(function(){
    var $this = $(this);
    var $target = $this.next(".modal-acd-target");
    if ($this.hasClass("buttonSelect")) {//セレクトボックス用
      $this.toggleClass('open');
      $target.stop().slideToggle(0);
      $target.css("opacity",1);
      return;
    }
    $this.toggleClass('open');
    $target.stop().slideToggle();
  });

  function isMobile() {
    var ua = navigator.userAgent;
    if (ua.indexOf('iPhone') > 0 || (ua.indexOf('Android') > 0 && ua.indexOf('Mobile') > 0)) {
      // SP
      IS_MOBILE = true;
    } else if (ua.indexOf('iPad') > 0 || ua.indexOf('Android') > 0) {
      // タブレット
      IS_MOBILE = false;
    } else {
      // PC
      IS_MOBILE = false;
    }
  }

  function isCorpdetail() {
    return document.URL.match("/corpdetail/") !== null;
  }
});