{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/js/app.js","webpack:///./src/js/modules sync \\.js$","webpack:///./src/js/modules/base/focus-visible.js","webpack:///./src/js/modules/base/is-scrolled.js","webpack:///./src/js/modules/base/lazyload.js","webpack:///./src/js/modules/base/object-fit-images.js","webpack:///./src/js/modules/base/svg4everybody.js","webpack:///./src/js/modules/base/userAgent.js","webpack:///./src/js/modules/common/accordion.js","webpack:///./src/js/modules/common/animation.js","webpack:///./src/js/modules/common/autoHeightItem.js","webpack:///./src/js/modules/common/cursor.js","webpack:///./src/js/modules/common/datepicker.js","webpack:///./src/js/modules/common/form.js","webpack:///./src/js/modules/common/fullScreenMenu.js","webpack:///./src/js/modules/common/highlight.js","webpack:///./src/js/modules/common/imageGuard.js","webpack:///./src/js/modules/common/loader.js","webpack:///./src/js/modules/common/megamenu.js","webpack:///./src/js/modules/common/multiEventLister.js","webpack:///./src/js/modules/common/projectModal.js","webpack:///./src/js/modules/common/screenWidth.js","webpack:///./src/js/modules/common/scroll.js","webpack:///./src/js/modules/common/smoothScroll.js","webpack:///./src/js/modules/common/tab.js","webpack:///./src/js/modules/common/tablefix.js","webpack:///./src/js/modules/common/tel.js","webpack:///./src/js/modules/top/langChange.js","webpack:///./src/js/modules/top/modal.js","webpack:///./src/js/modules/top/top.js","webpack:///./src/js/plugins/accordion.js","webpack:///./src/js/plugins/cursor.js","webpack:///./src/js/plugins/is-mobile.js","webpack:///./src/js/plugins/jquery.tablefix_1.0.1.js","webpack:///./src/js/plugins/simplemodal.js","webpack:///./src/js/plugins/tab.js","webpack:///./src/js/plugins/userAgent.js","webpack:///./src/js/polyfill/closest.js","webpack:///./src/ts/app.ts","webpack:///./src/ts/modules sync \\.ts$","webpack:///./src/ts/modules/common/hoge.ts"],"names":["common","context","keys","forEach","require","window","addEventListener","scrollY","document","querySelector","classList","add","remove","images","querySelectorAll","lazyload","rootMargin","$","ajaxSuccess","event","xhr","settings","objectFitImages","svg4everybody","ua","init","elements","element","accordion2","Accordion","defaultOpenPanels","multipleOpen","onOpen","test","onClose","fuga","trigger","panel","fadeAnime","each","addClass","fadeAnime2","fadeAnime3","EachTextAnimeControl_span","text","textbox","split","t","i","n","html","EachTextAnimeControl","elemPos","offset","top","scroll","scrollTop","windowHeight","height","on","options","autoHeightParentsClass","autoHeightClass","column","breakpoints","fetch","response","holidays","json","holidayOriginal","map","v","reg","RegExp","replace","console","log","promiseDatepicker","getHoliday","dateFormat","datepicker","setDefaults","closeText","prevText","nextText","currentText","monthNames","monthNamesShort","dayNames","dayNamesShort","dayNamesMin","weekHeader","firstDay","isRTL","showMonthAfterYear","yearSuffix","showOtherMonths","showButtonPanel","minDate","maxDate","beforeShow","input","inst","date","Date","width","append","ScrTop","setTimeout","outerHeight","beforeShowDay","holiday","formatDate","indexOf","dateText","fadeOut","targets","textarea","resizeTextarea","textareaHeight","getTextareaHeight","value","textareaMaxHeight","dataset","maxHeight","style","minHeight","overflowY","textareaClassName","getAttribute","ghostElement","createElement","className","setAttribute","textContent","parentNode","appendChild","cssText","offsetHeight","removeChild","getValue","target","inputs","checked","push","addEvent","buttons","button","p","postElement","inputValue","firstChild","length","join","nameElement","insertBefore","innerHTML","files","name","fullScreenMenu","Simplemodal","clickOutSideClose","highlightingResolve","highlightingAsync","hljs","registerLanguage","javascript","css","scss","xml","Promise","resolve","initHighlighting","then","code_lang","attr","undefined","splice","before","imageGuard","selector","guard_selector","e","preventDefault","guard_style","Object","a","MegaMenu","body","autoClose","attachEvent","toggle","contains","isMobile","addEventListenerMultiType","nextElementSibling","lastElementChild","zIndex","previousElementSibling","removeAttribute","toggleSP","megaMenu","types","listener","useCapture","trim","len","modal","backFixed","triggers","click","w","outerWidth","controller","ScrollMagic","Controller","scene_hero","Scene","triggerElement","triggerHook","addTo","headerHeight","links","hash","location","hashSp","position","getBoundingClientRect","scrollTo","behavior","href","includes","link","Tab","defaultOpenPanel","disasterSlide","matchMedia","matches","triggerOffset","tablefix","fixCols","contents","unwrap","getDevice","toJaLink","toEnLink","jaUrl","enUrl","openModalButtons","closeModalButtons","modals","modalTarget","showModal","closest","close","topIndexInit","topIndex","topSpIndex","heroNav","allHeight","Math","max","scrollHeight","documentElement","clientHeight","mostBottom","innerHeight","bottom","lowerIndex","lowerIndexTopIndexLink","headings","Array","from","heading","root","threshold","callback","entries","object","entry","isIntersecting","id","observer","IntersectionObserver","observe","currentPage","pageName","headerItem","accordion","rootElement","accordionRootElement","convertElement","defaultOptions","panels","easing","duration","mergeOptions","initialized","triggerEvent","windowResizeEvent","transitionendEvent","expanded","Set","setUpAttribute","removeEvents","registerTriggerEvent","registerResizeEvent","register","index","triggerClick","bind","windowResizePanelHeightRecalculation","removeEvent","assign","randomId","random","toString","slice","pinpointOpen","pinpointClose","boxSizing","overflow","hasAttribute","pinpointOpenPanel","pinpointClosePanel","panelOpen","panelClose","has","getItemIndex","otherPanelClose","notTransition","getPanelHeight","visibility","transition","delete","ghostPanel","cloneNode","ghostPanelHeight","resizedHeight","type","removeEventListener","obj","HTMLElement","jQuery","cursor","Cursor","el","insertAdjacentHTML","wrap_el","main_el","option_el","mouseX","mouseY","currentX","currentY","eventStatus","hover","tween","clientX","clientY","MutationObserver","childList","TweenMax","to","repeat","onRepeat","set","x","y","scale","breakpoint","fn","opts","extend","baseTable","baseWidth","withWidth","withHeight","wrap","div","parent","crossTable","rowTable","clone","colTable","bodyTable","crossDiv","rowDiv","colDiv","bodyDiv","fixRows","offsetX","offsetY","find","indexY","indexX","cell","left","bodyWidth","bodyHeight","marginLeft","marginRight","marginTop","marginBottom","scrollLeft","simplemodal","FOCUSABLE_ELEMENTS","onKeydown","clickOutSideCloseEvent","content","popoverUpdateReizeEvent","popoverUpdateScrollEvent","getElementById","currentTarget","prevent","modalOpen","modalClose","closeAllModal","popover","setPopoverPosition","popoverUpdateScrollevent","triggerWidth","triggerHeight","triggerLeft","triggerRight","innerWidth","right","triggerTop","popoverOffset","Number","scrollPosition","getScrollY","contentWidth","rightOffScreenContent","leftOffScreenContent","pop","keyCode","focus","retainFocus","focusableNodes","getFocusableNodes","focusedItemIndex","activeElement","shiftKey","nodes","fixed","scrollElement","scrollingElement","parseInt","styles","key","modalID","pageYOffset","doc","compatMode","tab","tabRootElement","tabWrapper","tabs","panelWrapper","tabEvent","mergedOptions","switchContent","display","hideContents","showContent","UAParser","UA","uaParser","setUA","browser","toLowerCase","device","type_result","model","os","getBrowser","getModel","getOS","Element","prototype","msMatchesSelector","webkitMatchesSelector","s","parentElement","nodeType"],"mappings":";QAAA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA,QAAQ,oBAAoB;QAC5B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA,iBAAiB,4BAA4B;QAC7C;QACA;QACA,kBAAkB,2BAA2B;QAC7C;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;QAEA;QACA;QACA;QACA;QACA,gBAAgB,uBAAuB;QACvC;;;QAGA;QACA;QACA;QACA;;;;;;;;;;;;ACvJA,SAASA,MAAT,CAAgBC,OAAhB,EAAyB;AACvBA,UAAQC,IAAR,GAAeC,OAAf,CAAuBF,OAAvB;AACD;;AAEDD,OAAOI,6DAAP,E;;;;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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","file":"main.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"main\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"vendor\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","function common(context) {\r\n context.keys().forEach(context)\r\n}\r\n\r\ncommon(require.context('./modules/', true, /\\.js$/))","var map = {\n\t\"./base/focus-visible.js\": \"./src/js/modules/base/focus-visible.js\",\n\t\"./base/is-scrolled.js\": \"./src/js/modules/base/is-scrolled.js\",\n\t\"./base/lazyload.js\": \"./src/js/modules/base/lazyload.js\",\n\t\"./base/object-fit-images.js\": \"./src/js/modules/base/object-fit-images.js\",\n\t\"./base/svg4everybody.js\": \"./src/js/modules/base/svg4everybody.js\",\n\t\"./base/userAgent.js\": \"./src/js/modules/base/userAgent.js\",\n\t\"./common/accordion.js\": \"./src/js/modules/common/accordion.js\",\n\t\"./common/animation.js\": \"./src/js/modules/common/animation.js\",\n\t\"./common/autoHeightItem.js\": \"./src/js/modules/common/autoHeightItem.js\",\n\t\"./common/cursor.js\": \"./src/js/modules/common/cursor.js\",\n\t\"./common/datepicker.js\": \"./src/js/modules/common/datepicker.js\",\n\t\"./common/form.js\": \"./src/js/modules/common/form.js\",\n\t\"./common/fullScreenMenu.js\": \"./src/js/modules/common/fullScreenMenu.js\",\n\t\"./common/highlight.js\": \"./src/js/modules/common/highlight.js\",\n\t\"./common/imageGuard.js\": \"./src/js/modules/common/imageGuard.js\",\n\t\"./common/loader.js\": \"./src/js/modules/common/loader.js\",\n\t\"./common/megamenu.js\": \"./src/js/modules/common/megamenu.js\",\n\t\"./common/multiEventLister.js\": \"./src/js/modules/common/multiEventLister.js\",\n\t\"./common/projectModal.js\": \"./src/js/modules/common/projectModal.js\",\n\t\"./common/screenWidth.js\": \"./src/js/modules/common/screenWidth.js\",\n\t\"./common/scroll.js\": \"./src/js/modules/common/scroll.js\",\n\t\"./common/smoothScroll.js\": \"./src/js/modules/common/smoothScroll.js\",\n\t\"./common/tab.js\": \"./src/js/modules/common/tab.js\",\n\t\"./common/tablefix.js\": \"./src/js/modules/common/tablefix.js\",\n\t\"./common/tel.js\": \"./src/js/modules/common/tel.js\",\n\t\"./top/langChange.js\": \"./src/js/modules/top/langChange.js\",\n\t\"./top/modal.js\": \"./src/js/modules/top/modal.js\",\n\t\"./top/top.js\": \"./src/js/modules/top/top.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./src/js/modules sync recursive \\\\.js$\";","import focusVisible from \"focus-visible\";","// import '../../plugins/jquery.hasClasses.js';\n\n//スクロールしたらbodyにis-scrolledを付与\nwindow.addEventListener(\"scroll\", () => {\n if(window.scrollY >= 1) {\n document.querySelector('body').classList.add(\"is-scrolled\");\n\n // console.log($(window).scrollTop());\n } else {\n document.querySelector('body').classList.remove(\"is-scrolled\");\n // setTimeout(function() {\n // // if(!$('body').hasClass('is-open')) {\n // // $('body').removeClass(\"is-scrolled\");\n // // }\n // if(!$('body').hasClasses(['is-open', 'is-searchContent--showPage'], true)) {\n // $('body').removeClass(\"is-scrolled\");\n // }\n\n // }, 100);\n }\n \n})\n\n\n// $(window).scroll(function() {\n// if($(window).scrollTop() >= 1) {\n\n// $('body').addClass(\"is-scrolled\");\n// // console.log($(window).scrollTop());\n// } else {\n// // setTimeout(function() {\n// // // if(!$('body').hasClass('is-open')) {\n// // // $('body').removeClass(\"is-scrolled\");\n// // // }\n// // if(!$('body').hasClasses(['is-open', 'is-searchContent--showPage'], true)) {\n// // $('body').removeClass(\"is-scrolled\");\n// // }\n\n// // }, 100);\n// $('body').removeClass(\"is-scrolled\");\n// }\n// });\n\n\n","// import 'nodelist-foreach-polyfill';\r\nimport 'lazyload';\r\n\r\nlet images = document.querySelectorAll(\".lazyload\");\r\nlazyload(images, {\r\n rootMargin: \"300px\"\r\n});\r\n\r\n//ajax後に実行\r\n$(document).ajaxSuccess(function (event, xhr, settings) {\r\n let images = document.querySelectorAll(\".lazyload\");\r\n lazyload(images, {\r\n rootMargin: \"300px\"\r\n });\r\n});","import objectFitImages from 'object-fit-images';\r\nobjectFitImages();//object-fitのie対応","import svg4everybody from 'svg4everybody';\r\nsvg4everybody();//svgをieで表示","import ua from '../../plugins/userAgent.js';\r\n\r\nua.init();\r\n","import Accordion from '../../plugins/accordion.js';\r\nconst elements = document.querySelectorAll(\".js-accordion\");\r\nfor (const element of elements) {\r\n let accordion2 = new Accordion(element, {\r\n defaultOpenPanels: [],\r\n multipleOpen: true,\r\n onOpen: test,\r\n onClose: fuga\r\n });\r\n}\r\n\r\n\r\n// let accordion = new Accordion(\".js-accordion2\", {\r\n// defaultOpenPanels: [0],\r\n// onOpen: hoge,\r\n// onClose: fuga\r\n// });\r\n\r\nfunction test(trigger, panel){\r\n // trigger.style.color = '#f00'\r\n}\r\nfunction fuga(trigger, panel){\r\n // trigger.style.color = '#000'\r\n \r\n}\r\n\r\n// accordion.destroy()\r\n// accordion.init()\r\n","\r\n\r\n\r\n\r\nfunction fadeAnime(){\r\n // シャッ(背景色が伸びて出現) 左から右\r\n $('.bgLRextendTrigger').each(function(){ //bgLRextendTriggerというクラス名が\r\n // var elemPos = $(this).offset().top + 10;//要素より、10px上の\r\n // var scroll = $(window).scrollTop();\r\n // var windowHeight = $(window).height();\r\n // if (scroll >= elemPos - windowHeight){\r\n // $(this).addClass('bgLRextend');// 画面内に入ったらbgLRextendというクラス名を追記\r\n // }else{\r\n // $(this).removeClass('bgLRextend');// 画面外に出たらbgLRextendというクラス名を外す\r\n // }\r\n\r\n $(this).addClass('bgLRextend');\r\n }); \r\n}\r\n\r\n\r\n\r\nfunction fadeAnime2(){\r\n // シャッ(背景色が伸びて出現) 右から左\r\n $('.bgRLextendTrigger').each(function(){ //bgLRextendTriggerというクラス名が\r\n // var elemPos = $(this).offset().top + 10;//要素より、10px上の\r\n // var scroll = $(window).scrollTop();\r\n // var windowHeight = $(window).height();\r\n // if (scroll >= elemPos - windowHeight){\r\n // $(this).addClass('bgRLextend');// 画面内に入ったらbgLRextendというクラス名を追記\r\n // }else{\r\n // $(this).removeClass('bgRLextend');// 画面外に出たらbgLRextendというクラス名を外す\r\n // }\r\n\r\n $(this).addClass('bgRLextend');\r\n }); \r\n}\r\n\r\n\r\nfunction fadeAnime3(){\r\n // じわっ\r\n $('.blurTrigger').each(function(){ //blurTriggerというクラス名が\r\n // var elemPos = $(this).offset().top + 10;//要素より、10px上の\r\n // var scroll = $(window).scrollTop();\r\n // var windowHeight = $(window).height();\r\n // if (scroll >= elemPos - windowHeight){\r\n // $(this).addClass('blur');// 画面内に入ったらblurというクラス名を追記\r\n // }else{\r\n // $(this).removeClass('blur');// 画面外に出たらblurというクラス名を外す\r\n // }\r\n\r\n $(this).addClass('blur');\r\n });\r\n}\r\n\r\n\r\n\r\n\r\n\r\nfunction EachTextAnimeControl_span() {\r\n //spanタグを追加する\r\n var element = $(\".text-anime01\");\r\n element.each(function () {\r\n var text = $(this).text();\r\n var textbox = \"\";\r\n text.split('').forEach(function (t, i) {\r\n if (t !== \" \") {\r\n if (i < 10) {\r\n textbox += '' + t + '';\r\n } else {\r\n var n = i / 10;\r\n textbox += '' + t + '';\r\n }\r\n } else {\r\n textbox += t;\r\n }\r\n });\r\n $(this).html(textbox);\r\n });\r\n}\r\n\r\nfunction EachTextAnimeControl() {\r\n $('.text-anime01').each(function () {\r\n var elemPos = $(this).offset().top + 10;\r\n var scroll = $(window).scrollTop();\r\n var windowHeight = $(window).height();\r\n if (scroll >= elemPos - windowHeight) {\r\n $(this).addClass(\"appeartext\");\r\n }\r\n // else {\r\n // $(this).removeClass(\"appeartext\");\r\n // }\r\n //$(this).addClass(\"appeartext\");\r\n });\r\n}\r\n\r\n\r\n\r\n/*--------------------------------------\r\n実行\r\n----------------------------------------*/\r\n\r\n\r\n //画面が読み込まれたらすぐに動かしたい場合の記述\r\n $(window).on('load', function () {\r\n fadeAnime();\r\n fadeAnime2();\r\n fadeAnime3();\r\n //EachTextAnimeControl();\r\n EachTextAnimeControl_span();\r\n });\r\n\r\n // 画面をスクロールをしたら動かしたい場合はこっちに\r\n $(window).scroll(function (){\r\n // fadeAnime();\r\n // fadeAnime2();\r\n // fadeAnime3();\r\n EachTextAnimeControl();\r\n });\r\n","//import autoHeightItem from '../../plugins/autoHeightItem.js';\n\n/*\n autoHeightItem\n 高さ揃え(レスポンシブ対応)のプラグインです\n\n autoHeightParentsClass 高さを揃えたい要素が全て内包されている親のユニークなclass名\n autoHeightClass 高さを揃えたい要素のユニークなclass名\n column デフォルトで揃えたい数\n breakpoints 設定したポイントで揃えたいカラム数を再指定\n\n ※カラム数を1以下に設定した場合は高さ揃えは行われません。\n ※1を設定しない限り高さ揃えは行われるので注意してください。\n*/\n\n\nlet options = [\n {\n autoHeightParentsClass: \"c-card-list\",\n autoHeightClass: \"c-card-list__item-box-title\",\n column: 3,\n breakpoints: {\n // breakPoint1\n 768: {\n column: 2\n },\n // breakPoint2\n 375: {\n column: 1\n }\n }\n },\n {\n autoHeightParentsClass: \"c-card-list2\",\n autoHeightClass: \"c-card-list__item-box-title2\",\n column: 4,\n breakpoints: {\n // breakPoint1\n 768: {\n column: 3\n },\n // breakPoint2\n 375: {\n column: 2\n }\n }\n }\n];\n\n// window.addEventListener('load', function() {\n// autoHeightItem.init(\n// options\n// );\n// })\n\n\n/* \n デフォルト \n js-autoHeightItem-parents 高さを揃えたい要素が全て内包されている親につける\n js-autoHeightItem 揃えたい要素につける\n 768px以上はカラム数2、以下(スマホ時)は高さ揃えなし\n*/\n// window.addEventListener('load', function() {\n// autoHeightItem.init({});\n// })\n","import cursor from '../../plugins/cursor.js';\r\n\r\n// cursor.init();","import 'whatwg-fetch';\nrequire('jquery-ui/ui/widgets/datepicker');\n\n\nvar dateFormat = 'yy/mm/dd';\n// var holidays = [];\n\nasync function getHoliday() {\n const response = await fetch('https://holidays-jp.github.io/api/v1/date.json')\n\n var holidays = []\n try {\n const holidayOriginal = await response.json() // パース\n\n // 日付のみにして / 区切り\n holidays = $.map( holidayOriginal, function(v, i){\n var reg = new RegExp(\"-\", \"g\");\n return i.replace(reg, '/');\n });\n // console.log(holidays)\n } catch (e) {\n console.log(\"Holidays are not found.\")\n }\n\n await promiseDatepicker(holidays)\n}\n\ngetHoliday();\n\n\n\nfunction promiseDatepicker(holidays) {\n $.datepicker.setDefaults({\n // 日本語へローカライズ\n // Cf. //jquery.nj-clucker.com/jquery-ui-datepicker/\n closeText: '閉じる',\n prevText: '',\n nextText: '',\n currentText: '今日',\n monthNames: ['1月','2月','3月','4月','5月','6月',\n '7月','8月','9月','10月','11月','12月'],\n monthNamesShort: ['1月','2月','3月','4月','5月','6月',\n '7月','8月','9月','10月','11月','12月'],\n dayNames: ['日曜日','月曜日','火曜日','水曜日','木曜日','金曜日','土曜日'],\n dayNamesShort: ['日','月','火','水','木','金','土'],\n dayNamesMin: ['日','月','火','水','木','金','土'],\n weekHeader: '週',\n dateFormat: 'yy/mm/dd',\n firstDay: 0,\n isRTL: false,\n showMonthAfterYear: true,\n yearSuffix: '年'\n });\n $(\".js-datepicker\").datepicker({\n showOtherMonths: true,\n showButtonPanel: true,\n minDate: '+3d',\n maxDate: '+6m',\n // dateFormat: 'yy/mm/dd',\n beforeShow: function(input, inst) {\n var date = new Date();\n // debugger\n // GCalHolidays.datepicker(date.getFullYear(), date.getMonth() + 1, inst);\n // console.log(input);\n // debugger\n if($(window).width() <= 640) {\n $(\"body\").append('
');\n var ScrTop = $(document).scrollTop();\n setTimeout(function() {\n $(\"#ui-datepicker-div\").offset( { top : ScrTop + ($(window).height() / 2) - ($(\"#ui-datepicker-div\").outerHeight() /2 )} );\n // console.log($(\"#ui-datepicker-div\").outerHeight());\n }, 1);\n\n // $(\"#ui-datepicker-div\").offset( { top : ScrTop + ($(window).height() / 2) - 170} );\n }\n },\n beforeShowDay: function(date) {\n var holiday = $.datepicker.formatDate(dateFormat, date);\n // console.log(holidays.indexOf(holiday) == -1);\n return [( holidays.indexOf(holiday) ), (holidays.indexOf(holiday) == -1 ? \"\" : \"gcal-holiday\")];\n // var holidayList = [\"20171114\", \"20171128\", \"20171212\", \"20171226\", \"20171229\", \"20171230\", \"20171231\"];\n // var result;\n // var dtDay = $.format.date( day, \"yyyyMMdd\" );\n // if( $.inArray( dtDay, holidayList ) != -1 ){\n // \tresult = [false];\n // } else {\n // \tresult = [true];\n // }\n // return result;\n // // 日曜日\n // if (date.getDay() == 0) {\n // return [true, 'gcal-sunday'];\n // }\n // // 土曜日\n // if (date.getDay() == 6) {\n // return [true, 'gcal-saturday'];\n // }\n // // 火曜日\n // if (date.getDay() == 2) {\n // var holidays = GCalHolidays.get(2017, 3)\n // // debugger\n // return [false, ''];\n // }\n // // 平日\n // return [true, ''];\n\n },\n onClose: function(dateText) {\n $('.js-datepicker-overlay').fadeOut(\"500\",function(){\n $('.js-datepicker-overlay').remove();\n });\n }\n });\n\n}\n","//テキストエリア自動サイズ変更\n(() => {\n\n const targets = [...document.querySelectorAll(\".js-autoResize-textarea\")];\n\n if(!targets) return\n \n targets.forEach(textarea => {\n textarea.addEventListener(\"input\", (event) => {\n resizeTextarea(textarea)\n });\n })\n \n window.addEventListener(\"resize\", (event) => {\n targets.forEach(textarea => {\n resizeTextarea(textarea)\n })\n });\n \n function resizeTextarea(textarea) {\n const textareaHeight = getTextareaHeight(textarea, textarea.value)\n const textareaMaxHeight = textarea.dataset.maxHeight\n if(textareaMaxHeight) {\n if(textareaMaxHeight <= textareaHeight) {\n textarea.style.minHeight = textareaMaxHeight + \"px\"\n textarea.style.overflowY = \"scroll\"\n } else {\n textarea.style.minHeight = textareaHeight + \"px\"\n textarea.style.overflowY = \"\"\n }\n\n } else {\n textarea.style.minHeight = textareaHeight + \"px\"\n }\n }\n \n function getTextareaHeight(textarea, input) {\n const textareaClassName = textarea.getAttribute(\"class\")\n const ghostElement = document.createElement(\"div\");\n ghostElement.className = textareaClassName;\n ghostElement.setAttribute(\"aria-hidden\", true);\n ghostElement.textContent = input;\n \n // パネルの親ノードに挿入\n textarea.parentNode.appendChild(ghostElement);\n // ひとまずみえなくする\n ghostElement.style.cssText = \"display:block; height:auto; visibility: hidden; white-space: pre-wrap;\";\n // コピーの高さを調べる\n var textareaHeight = ghostElement.offsetHeight;\n // コピーした要素を削除する\n textarea.parentNode.removeChild(ghostElement);\n // console.log(textareaHeight)\n return textareaHeight\n }\n\n})();\n\n\n//モーダル内のチェックボックス、ラジオのvalueを取得して表示\n(() => {\n const targets = [...document.querySelectorAll(\".js-getCheckValue\")];\n \n if(!targets) return\n \n function getValue(target) {\n const value = [];\n let inputs = target.querySelectorAll(\"input\");\n \n inputs.forEach((input) => {\n if(input.checked) {\n value.push(input.value)\n }\n })\n return value;\n \n }\n \n function addEvent() {\n targets.forEach((target) => {\n let buttons = target.querySelectorAll('[data-simplemodal-trigger]');\n \n buttons.forEach((button) => {\n button.addEventListener('click', function(){\n const p = document.createElement(\"p\");\n let postElement = target.parentNode.querySelector('.js-postCheckValue');\n let inputValue = getValue(target)\n \n while( postElement.firstChild ){\n postElement.removeChild( postElement.firstChild );\n }\n \n if(inputValue.length > 0) {\n p.textContent = inputValue.join(',');\n postElement.appendChild(p);\n }\n \n // console.log(getValue(target))\n });\n })\n \n \n });\n \n }\n \n addEvent();\n})();\n\n\n//ファイル名を出力\n(() => {\n const targets = [...document.querySelectorAll(\".js-flie-output-fileName\")];\n\n if(!targets) return\n\n targets.forEach((target) => {\n const input = target.querySelector('input[type=\"file\"]');\n const nameElement = document.createElement(\"p\");\n nameElement.className = \"__js-fileName\";\n \n input.addEventListener(\"input\", (event) => {\n target.insertBefore(nameElement, null);\n nameElement.innerHTML = event.target.files[0].name;\n });\n\n })\n})();\n","import Simplemodal from '../../plugins/simplemodal.js';\n\nconst fullScreenMenu = new Simplemodal({\n trigger : \"data-fullScreenMenu-trigger\",\n clickOutSideClose : true\n})","import hljs from \"highlight.js/lib/highlight\";\n\nimport javascript from \"highlight.js/lib/languages/javascript\";\nimport css from \"highlight.js/lib/languages/css\";\nimport scss from \"highlight.js/lib/languages/scss\";\nimport xml from \"highlight.js/lib/languages/xml\";\n\nhljs.registerLanguage(\"javascript\", javascript);\nhljs.registerLanguage(\"css\", css);\nhljs.registerLanguage(\"scss\", scss);\nhljs.registerLanguage(\"xml\", xml);\n\n\n\n// highlightingResolve()をawaitしているため、Promiseの結果が返されるまで処理が一時停止される\n\nfunction highlightingResolve() {\n return new Promise(resolve => {\n resolve(hljs.initHighlighting());\n // setTimeout(() => {\n // }, 2000);\n })\n}\n\n async function highlightingAsync() {\n await highlightingResolve();\n }\n\n\nhighlightingAsync().then(abc => {\n // console.log(abc)\n $('code.hljs').each(function() {\n var code_lang = $(this).attr('data-lang') != undefined ? $(this).attr('data-lang') : $(this).attr(\"class\").split(' ').splice(1, 1)\n // var code_lang = $(this).attr(\"class\").split(' ').splice(1, 1)\n // console.log(code_lang)\n $(this).before('
' + code_lang + '
')\n })\n});\n\n\n// hljs.initHighlighting();\n// $('code.hljs').each(function() {\n// var code_lang = $(this).attr('data-lang') != undefined ? $(this).attr('data-lang') : $(this).attr(\"class\").split(' ').splice(1, 1)\n// // var code_lang = $(this).attr(\"class\").split(' ').splice(1, 1)\n// // console.log(code_lang)\n// $(this).before('
' + code_lang + '
')\n// })\n","function imageGuard(selector){\n\n var guard_selector = document.querySelectorAll(selector);\n\n for(var n = 0; n < guard_selector.length; n++){\n guard_selector[n].addEventListener(\"contextmenu\", function(e){\n e.preventDefault();\n }, false);\n }\n\n var guard_style = {\n 'pointer-events':'none',\n '-webkit-touch-callout':'none',\n '-moz-touch-callout':'none',\n 'touch-callout':'none',\n '-webkit-user-select':'none',\n '-moz-user-select':'none',\n 'user-select':'none'\n }\n\n Object.keys(guard_style).forEach(function(v, i, a){\n for(var n = 0; n < guard_selector.length; n++){\n guard_selector[n].style[v] = guard_style[v];\n }\n });\n\n}\n\n//実行\n// document.addEventListener(\"DOMContentLoaded\", function() {\n// imageGuard('img');\n// });\n\n\n\n// var selector = [\n// '.photo-layout',//写真詳細\n// '.articleDetail-content'//記事詳細\n// ]\n\n//特定のclassがあれば右クリック禁止\n// selector.map(function(v) {\n// if($(v).length) {\n// imgGuard('img');\n// }\n// });\n","// import loader from '../../plugins/loader.js';\r\n// loader.init();\r\n\r\n//上のコメントを外すとローディングが有効になります。\r\n\r\n\r\n\r\n//その後HTMLに以下を追記(どこでもOK)\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
","import isMobile from '../../plugins/is-mobile.js';\nimport addEventListenerMultiType from './multiEventLister.js';\n\nclass MegaMenu {\n constructor(options) {\n this.body = document.querySelector('body');\n this.targets = document.querySelectorAll('.megamenu-wrapper');\n this.autoClose = options.autoClose;\n }\n \n init() {\n this.attachEvent();\n }\n\n toggle(target) {\n target.classList.toggle('is-megaMenu--show');\n this.body.classList.add('is-megaMenu--showPage');\n }\n toggleSP(target) {\n if(target.classList.contains('is-megaMenu--show')) {\n target.classList.remove('is-megaMenu--show');\n } else {\n if(this.autoClose) {\n for (let target of this.targets) {\n target.classList.remove('is-megaMenu--show');\n }\n }\n target.classList.add('is-megaMenu--show');\n }\n }\n\n attachEvent() {\n for (let target of this.targets) {\n if(!isMobile(768)){\n addEventListenerMultiType(target,'mouseenter touchstart', () => {\n this.toggle(target);\n target.nextElementSibling.lastElementChild.style.zIndex = '500';\n target.previousElementSibling.lastElementChild.style.zIndex = '500';\n },\n false);\n addEventListenerMultiType(target,'mouseleave touchend', () => {\n this.toggle(target);\n this.body.classList.remove('is-megaMenu--showPage');\n target.nextElementSibling.lastElementChild.removeAttribute('style');\n target.previousElementSibling.lastElementChild.removeAttribute('style');\n },\n false);\n } else {\n addEventListenerMultiType(target,'click', (e) => {\n this.toggleSP(target);\n if((e.target.classList.contains(\"megamenu-main-link\"))) {\n e.preventDefault()\n }\n },\n false);\n }\n }\n }\n}\n\nconst options = {\n 'autoClose': 1\n}\nconst megaMenu = new MegaMenu(options);\nmegaMenu.init();\n\n","export default function addEventListenerMultiType (element, types, listener, useCapture) {\n for (var i = 0, types = types.trim().split(/\\s+/), len = types.length; i < len; ++i) {\n element.addEventListener(types[i], listener, useCapture);\n }\n}","import Simplemodal from '../../plugins/simplemodal.js'\n\nconst modal = new Simplemodal({\n trigger: 'data-simplemodal-trigger',\n clickOutSideClose: true,\n backFixed: false,\n})\n\nmodal.options.triggers.forEach((trigger) => {\n trigger.addEventListener('mouseover', (e) => {\n e.target.click();\n })\n})\n","$(window).on(\"resize\", function(){\n var w = $(window).width();\n $(\".js-screenWidth\").each(function(){\n $(this).css({\n 'margin-right': (-(w - $(this).outerWidth(true)) / 2) + 'px',\n 'margin-left': (-(w - $(this).outerWidth(true)) / 2) + 'px'\n })\n })\n}).trigger(\"resize\");\n","// import {TweenMax} from \"gsap/TweenMax\";\r\nimport ScrollMagic from \"scrollmagic\";\r\n// import 'imports-loader?define=>false!scrollmagic/scrollmagic/uncompressed/plugins/animation.gsap';\r\nimport 'imports-loader?define=>false!scrollmagic/scrollmagic/uncompressed/plugins/debug.addIndicators.js';\r\n\r\n\r\nvar controller = new ScrollMagic.Controller();\r\n\r\nvar scene_hero = new ScrollMagic.Scene({\r\n triggerElement: \"body\" ,\r\n triggerHook: 'onEnter',\r\n // duration: 800,\r\n offset :0\r\n})\r\n// .addIndicators()\r\n.addTo(controller);\r\n\r\nscene_hero.on('enter', ()=>{\r\n//triggerElementを過ぎたとき\r\n});\r\nscene_hero.on('leave', ()=>{\r\n//triggerElementを抜けたとき\r\n});\r\n","let headerHeight = document.querySelector('header').offsetHeight\r\nlet links = document.querySelectorAll('a[href^=\"#\"]')\r\n\r\nconst hash = location.hash\r\n/* hashからクエリ文字列を排除 */\r\nconst hashSp = hash.split('?')[0];\r\nif (hashSp) {\r\n const target = document.querySelector(hashSp)\r\n if (target) {\r\n // console.log(target)\r\n let position = window.scrollY + target.getBoundingClientRect().top - headerHeight\r\n window.scrollTo({\r\n top: position,\r\n behavior: 'smooth',\r\n })\r\n }\r\n} else if (location.href.includes('#')) {\r\n const target = document.querySelector('body')\r\n let position = window.scrollY + target.getBoundingClientRect().top - headerHeight\r\n window.scrollTo({\r\n top: position,\r\n behavior: 'smooth',\r\n })\r\n}\r\n\r\nlinks.forEach(function (link) {\r\n link.addEventListener('click', function (e) {\r\n e.preventDefault()\r\n\r\n let href = this.getAttribute('href')\r\n if (href === '#') {\r\n href = 'body'\r\n location.hash = ''\r\n }\r\n let target = document.querySelector(href)\r\n\r\n if (target) {\r\n let position = window.scrollY + target.getBoundingClientRect().top - headerHeight\r\n window.scrollTo({\r\n top: position,\r\n behavior: 'smooth',\r\n })\r\n }\r\n })\r\n})\r\n\r\n// let hash = location.hash;\r\n\r\n// if ($(hash).length > 0) {\r\n// $(window).scrollTop(0);\r\n// setTimeout(function () {\r\n// scroll.animateScroll(document.querySelector(target), options);\r\n// }, 700);\r\n// }\r\n","import Tab from '../../plugins/tab.js'\r\nimport Accordion from '../../plugins/accordion.js'\r\n\r\nconst elements = document.querySelectorAll('.js-tab')\r\nfor (const element of elements) {\r\n new Tab(element, {\r\n defaultOpenPanel: 0,\r\n })\r\n}\r\n\r\nconst disasterSlide = document.querySelectorAll('.js-disaster-tab')\r\nif (window.matchMedia('(min-width: 1024px)').matches) {\r\n for (const element of disasterSlide) {\r\n new Tab(element, {\r\n defaultOpenPanel: 0,\r\n })\r\n }\r\n} else {\r\n for (const element of disasterSlide) {\r\n let accordion2 = new Accordion(element, {\r\n defaultOpenPanels: [0],\r\n multipleOpen: true,\r\n onOpen: function (trigger, panel) {\r\n let headerHeight = document.querySelector('header').offsetHeight\r\n const triggerOffset = window.scrollY + trigger.getBoundingClientRect().top - headerHeight\r\n window.scrollTo({\r\n top: triggerOffset,\r\n behavior: 'smooth',\r\n })\r\n },\r\n })\r\n }\r\n}\r\n","import '../../plugins/jquery.tablefix_1.0.1.js';\nimport isMobile from '../../plugins/is-mobile.js';\n\n\n$(window).on(\"resize\", function(){\n if(!$(\".js-tablefix\").length && isMobile(768)) {\n $('.js-fixedTable').tablefix({width: $(\".js-fixedTable-wrap\").width(), fixCols: 1});\n } else if(!isMobile(768)) {\n $(\".js-tablefix\").contents().unwrap();\n $(\".js-tablefix-data\").remove();\n }\n}).trigger(\"resize\");\n\n//使い方html\n//tableタグを.js-fixedTable-wrapで囲む\n//tableタグに.js-fixedTableを付与\n","import ua from '../../plugins/userAgent.js';\r\n\r\n//電話番号スマホのみ掛ける\r\n// document.querySelector(\"a[href*='tel:']\")\r\n\r\n// $(\"a[href*='tel:']\").on(\"click\", function(e){\r\n// if(ua.getDevice() == 'pc'){\r\n// e.preventDefault();\r\n// }\r\n// });\r\n\r\nconst targets = document.querySelectorAll(\"a[href*='tel:']\");\r\n\r\nfor(let target of targets) {\r\n target.addEventListener(\"click\", (e) => {\r\n if(ua.getDevice() == 'pc'){\r\n e.preventDefault();\r\n }\r\n });\r\n}\r\n","const toJaLink = document.querySelectorAll('.l-header-sub__link.--lang-ja, .l-header-sub-sp__link.--lang-ja')\nconst toEnLink = document.querySelectorAll('.l-header-sub__link.--lang-en, .l-header-sub-sp__link.--lang-en')\n\nconst jaUrl = document.body.dataset.jaUrl\nconst enUrl = document.body.dataset.enUrl\n\ntoJaLink.forEach((link) => {\n if (jaUrl) {\n link.setAttribute('href', jaUrl)\n }\n})\n\ntoEnLink.forEach((link) => {\n if (enUrl) {\n link.setAttribute('href', enUrl)\n }\n})\n","const openModalButtons = document.querySelectorAll('.open-modal-button');\nconst closeModalButtons = document.querySelectorAll('.close-modal-button');\nconst modals = document.querySelectorAll('.modal');\nconst body = document.querySelector('body');\n\nopenModalButtons.forEach((button) => {\n button.addEventListener('click', () => {\n const target = document.querySelector(button.dataset.modalTarget);\n target.showModal();\n body.classList.add('modal-open');\n });\n});\n\ncloseModalButtons.forEach((button) => {\n button.addEventListener('click', () => {\n const modal = button.closest('.modal');\n modal.close();\n body.classList.remove('modal-open');\n });\n});\n\nmodals.forEach((modal) => {\n modal.addEventListener('click', (event) => {\n if (event.target === modal) {\n modal.close();\n body.classList.remove('modal-open');\n }\n });\n});","const top = document.querySelector('.top-mv')\n\nif (top) {\n const topIndexInit = () => {\n const topIndex = document.querySelector('.top-index')\n if (window.matchMedia('not all and (min-width: 1024px)').matches) {\n topIndex.classList.remove('is-visible')\n return\n }\n }\n\n // topIndexInit()\n\n // window.addEventListener('resize', () => {\n // topIndexInit()\n // })\n}\n\n// if (top && window.matchMedia('not all and (min-width: 1024px)').matches) {\n// // 関東大震災から100年\n// const root = document.querySelector('.top-since')\n// const slider = document.querySelector('.top-since-bg__slide-img')\n// const options = {\n// root: null,\n// rootMargin: '0px',\n// threshold: 0.5,\n// }\n// const callback = (entries, object) => {\n// entries.forEach((entry) => {\n// if (entry.isIntersecting) {\n// slider.classList.add('--is-slide')\n// object.unobserve(entry.target)\n// }\n// })\n// }\n// const observer = new IntersectionObserver(callback, options)\n// observer.observe(root)\n// }\n\nconst topSpIndex = document.querySelector('.top-sp-index')\nif (topSpIndex) {\n const topSpIndex = () => {\n const topSpIndex = document.querySelector('.top-sp-index')\n const heroNav = topSpIndex.querySelector('.c-lower-hero-nav')\n const offset = topSpIndex.getBoundingClientRect()\n\n const allHeight = Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.offsetHeight,\n document.body.clientHeight,\n document.documentElement.clientHeight\n )\n const mostBottom = allHeight - window.innerHeight\n const scrollTop = window.scrollY || document.documentElement.scrollTop\n\n if (offset.bottom + 24 < 0 && scrollTop < mostBottom && window.matchMedia('not all and (min-width: 1024px)').matches) {\n heroNav.classList.add('--is-fixed')\n topSpIndex.style.height = `${offset.height}px`\n } else {\n heroNav.classList.remove('--is-fixed')\n }\n }\n\n window.addEventListener('scroll', topSpIndex)\n window.addEventListener('load', topSpIndex)\n}\n\nconst lowerIndex = document.querySelector('.top-index.is-lower')\n\nif (lowerIndex) {\n const lowerIndexTopIndexLink = lowerIndex.querySelectorAll('.top-index-link')\n const headings = Array.from(lowerIndexTopIndexLink).map((link) => {\n const href = link.getAttribute('href')\n const heading = document.querySelector(href)\n return heading\n })\n\n const options = {\n root: null,\n rootMargin: '0px',\n threshold: 0.5,\n }\n const callback = (entries, object) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n const target = entry.target\n const href = `#${target.id}`\n const link = document.querySelector(`.top-index-link[href=\"${href}\"]`)\n const links = document.querySelectorAll('.top-index-link')\n links.forEach((link) => {\n link.classList.remove('is-active')\n })\n link.classList.add('is-active')\n }\n })\n }\n\n headings.forEach((heading) => {\n const observer = new IntersectionObserver(callback, options)\n observer.observe(heading)\n })\n}\n\n/* header用処理 */\nconst currentPage = document.querySelector('.l-main[data-current-page]');\nif(currentPage) {\n const pageName = currentPage.dataset.currentPage;\n const headerItem = document.querySelector(`.l-header-nav-list__item[data-page-type=\"${pageName}\"]`);\n\n if(headerItem) {\n headerItem.classList.add('is-current');\n }\n}\n","/**\n * @usage\n * Accordion\n * アコーディオンプラグインです。\n *\n * 読み込み\n * import Accordion from '../../plugins/accordion.js';\n *\n * 実行\n * const accordion = new Accordion(\".js-accordion\", {options}); //アコーディオン全体を囲ってる枠を指定\n *\n * -options\n * trigger: \".js-accordion-trigger\", //トリガー\n * panel: \".js-accordion-panel\", //パネル\n * easing: \"ease-out\", //イージング(CSS)\n * duration: '.3s', //パネルが開く時間(CSS)\n * multipleOpen: true, //パネルを複数開くことができるかどうか\n * defaultOpenPanels: [0,1], //デフォルトで開きたいパネルをindexで指定\n * onOpen: function, パネルを開いたときの処理\n * onClose: function パネルを閉じたときの処理\n *\n * 最初から開く\n * js-accordion-panelにdata-accordion-default-openを付与\n *\n * 最初から閉じる\n * js-accordion-panelにdata-accordion-default-closeを付与\n *\n * 破棄\n * accordion.destroy()\n * \n * \n * @template\n *
\n *
\n *
\n * \n *
\n *
\n * アコーディオンの中身\n *
\n *
\n *
\n *
\n * \n *
\n *
\n * アコーディオンの中身\n *
\n *
\n *
\n*/\n\nconst accordion = (() => {\n return class Accordion {\n /**\n * Creates an instance of Accordion.\n * @param {string} [rootElement=\".js-accordion\"]\n * @param {*} options\n */\n constructor(\n rootElement = \".js-accordion\",\n options\n ) {\n\n this.accordionRootElement = convertElement(rootElement);\n //アコーディオンの親要素がない場合は終了\n if (!this.accordionRootElement) return;\n\n const defaultOptions = {\n triggers: [],\n panels: [],\n trigger: \".js-accordion-trigger\",\n panel: \".js-accordion-panel\",\n easing: \"ease-out\",\n duration: '.3s',\n multipleOpen: true,\n defaultOpenPanels: [],\n onOpen: () => { },\n onClose: () => { }\n }\n\n this.options = this.mergeOptions(defaultOptions, options)\n\n this.initialized = false;\n\n this.triggerEvent = [];\n this.windowResizeEvent = null;\n\n this.transitionendEvent = null\n\n this.expanded = new Set(); //開いてるパネルのindexを格納\n\n this.init()\n }\n\n init() {\n if(this.initialized) return\n //トリガーとパネルに属性を付与\n this.setUpAttribute(this.options.triggers, this.options.panels)\n\n this.removeEvents()\n\n this.triggerEvent = this.registerTriggerEvent();\n this.windowResizeEvent = this.registerResizeEvent();\n\n this.initialized = true;\n }\n\n registerTriggerEvent() {\n //トリガーをクリックしたときのイベント設定\n let register = [];\n this.options.triggers.forEach((trigger, index) => {\n register.push(this.attachEvent(trigger, 'click', this.triggerClick.bind(this, trigger)))\n register[index].addEvent();\n });\n return register;\n }\n\n registerResizeEvent() {\n //リサイズ時パネル再計算イベント設定\n let register = \"\";\n register = this.attachEvent(window, 'resize', this.windowResizePanelHeightRecalculation.bind(this))\n register.addEvent();\n return register;\n }\n\n removeEvents() {\n\n if (!this.triggerEvent.length || !this.windowResizeEvent) return\n\n this.triggerEvent.forEach((trigger) => {\n trigger.removeEvent();\n });\n this.windowResizeEvent.removeEvent();\n\n this.triggerEvent = []\n this.windowResizeEvent = null\n\n }\n\n mergeOptions(defaultOptions, options) {\n const mergeOptions = Object.assign(defaultOptions, options || {});\n mergeOptions.triggers = [...this.accordionRootElement.querySelectorAll(mergeOptions.trigger)]\n mergeOptions.panels = [...this.accordionRootElement.querySelectorAll(mergeOptions.panel)]\n\n return mergeOptions\n }\n\n setUpAttribute(triggers, panels) {\n const randomId = Math.random().toString(36).slice(2);\n const pinpointOpen = [];\n const pinpointClose = [];\n triggers.forEach((trigger, index) => {\n trigger.setAttribute('id', `accordion-trigger-${randomId}-${index}`);\n trigger.setAttribute('aria-expanded', \"false\");\n trigger.setAttribute('aria-controls', `accordion-panel-${randomId}-${index}`);\n });\n panels.forEach((panel, index) => {\n panel.setAttribute('id', `accordion-panel-${randomId}-${index}`);\n panel.setAttribute('aria-hidden', \"true\");\n panel.style.boxSizing = 'border-box';\n panel.style.overflow = 'hidden';\n panel.style.height = '0px';\n if (panel.hasAttribute(\"data-accordion-default-open\")) {\n pinpointOpen.push(index)\n }\n if (panel.hasAttribute(\"data-accordion-default-close\")) {\n pinpointClose.push(index)\n }\n });\n //最初に開きたいパネルがあれば開く\n this.options.defaultOpenPanels.forEach((index) => {\n this.defaultOpenPanel(index, false)\n });\n\n pinpointOpen.forEach((index) => {\n this.pinpointOpenPanel(index)\n });\n pinpointClose.forEach((index) => {\n this.pinpointClosePanel(index)\n });\n\n }\n\n defaultOpenPanel(index) {\n const trigger = this.options.triggers[index];\n const panel = this.options.panels[index]\n this.panelOpen(trigger, panel);\n }\n\n pinpointOpenPanel(index) {\n const trigger = this.options.triggers[index];\n const panel = this.options.panels[index]\n this.panelOpen(trigger, panel);\n }\n pinpointClosePanel(index) {\n const trigger = this.options.triggers[index];\n const panel = this.options.panels[index]\n this.panelClose(trigger, panel);\n }\n\n triggerClick(trigger, e) {\n e.preventDefault();\n // const trigger = e.target;\n const panel = document.querySelector(`#${trigger.getAttribute('aria-controls')}`);\n\n\n if (!this.options.multipleOpen) {\n this.expanded.forEach((index) => {\n if (!this.expanded.has(this.getItemIndex(trigger))) {\n this.otherPanelClose(index)\n }\n });\n }\n\n if (trigger.getAttribute('aria-expanded') == \"false\") {\n this.panelOpen(trigger, panel, true, e);\n } else {\n this.panelClose(trigger, panel, e);\n }\n }\n\n panelOpen(trigger, panel, notTransition, event) {\n trigger.setAttribute('aria-expanded', \"true\");\n panel.setAttribute('aria-hidden', \"false\");\n panel.style.height = `${this.getPanelHeight(panel)}px`;\n panel.style.visibility = `visible`;\n panel.style.transition = notTransition ? `height ${this.options.easing} ${this.options.duration}, visibility ${this.options.duration}` : \"\";\n this.expanded.add(this.getItemIndex(trigger))\n\n if (event) {\n if (this.options.duration == 0) {\n this.onOpen(trigger, panel)\n } else {\n this.transitionendEvent = this.attachEvent(panel, 'transitionend', this.onOpen.bind(this, trigger, panel))\n this.transitionendEvent.addEvent()\n }\n }\n }\n\n onOpen(trigger, panel) {\n this.options.onOpen(trigger, panel)\n if (!(this.options.duration == 0)) {\n this.transitionendEvent.removeEvent()\n }\n }\n\n\n panelClose(trigger, panel, event) {\n trigger.setAttribute('aria-expanded', \"false\");\n panel.setAttribute('aria-hidden', \"true\");\n panel.style.height = \"0px\";\n panel.style.visibility = `hidden`;\n panel.style.transition = `height ${this.options.easing} ${this.options.duration}, visibility ${this.options.duration}`;\n this.expanded.delete(this.getItemIndex(trigger))\n\n if (event) {\n if (this.options.duration == 0) {\n this.onClose(trigger, panel)\n } else {\n this.transitionendEvent = this.attachEvent(panel, 'transitionend', this.onClose.bind(this, trigger, panel))\n this.transitionendEvent.addEvent()\n }\n }\n }\n\n onClose(trigger, panel) {\n this.options.onClose(trigger, panel)\n if (!(this.options.duration == 0)) {\n this.transitionendEvent.removeEvent()\n }\n }\n\n otherPanelClose(index) {\n const trigger = this.options.triggers[index];\n const panel = this.options.panels[index]\n this.panelClose(trigger, panel);\n }\n\n getItemIndex(trigger) {\n return this.options.triggers.indexOf(trigger);\n }\n\n\n getPanelHeight(panel) {\n // パネルのコピーを作る\n let ghostPanel = panel.cloneNode(true);\n // パネルの親ノードに挿入\n panel.parentNode.appendChild(ghostPanel);\n // ひとまずみえなくする\n ghostPanel.style.cssText = \"display:block; height:auto; visibility:hidden;\";\n // コピーの高さを調べる\n var ghostPanelHeight = ghostPanel.offsetHeight;\n // コピーした要素を削除する\n panel.parentNode.removeChild(ghostPanel);\n // console.log(ghostPanelHeight)\n return ghostPanelHeight\n }\n\n windowResizePanelHeightRecalculation() {\n this.expanded.forEach((index) => {\n const panel = this.options.panels[index];\n const resizedHeight = this.getPanelHeight(panel);\n panel.style.height = resizedHeight + 'px';\n });\n }\n\n destroy() {\n if (this.initialized) {\n for (let trigger of this.triggerEvent) {\n trigger.removeEvent();\n }\n this.triggerEvent = [];\n this.windowResizeEvent.removeEvent();\n this.windowResizeEvent = null\n\n this.options.triggers.forEach((v, i) => {\n const trigger = this.options.triggers[i];\n const panel = this.options.panels[i];\n this.panelOpen(trigger, panel, false)\n panel.removeAttribute(\"style\");\n });\n // this.options.triggers = \"\"\n // this.options.panels = \"\"\n this.expanded = new Set();\n this.initialized = false\n }\n }\n\n attachEvent(element, type, listener, options) {\n return {\n addEvent() {\n element.addEventListener(type, listener, options);\n },\n removeEvent() {\n element.removeEventListener(type, listener);\n }\n }\n }\n\n }\n\n function convertElement(obj) {\n if (obj instanceof HTMLElement) {\n return obj\n }\n if (obj instanceof jQuery) {\n return obj[0]\n }\n return document.querySelector(obj);\n }\n\n\n})();\n\nexport default accordion;","import { TweenMax } from \"gsap/TweenMax\";\r\n\r\nconst cursor = (() => {\r\n\r\n class Cursor {\r\n\r\n constructor() {\r\n\r\n const el = `\r\n
\r\n
\r\n
\r\n
`\r\n document.body.insertAdjacentHTML('beforeend', el);\r\n\r\n this.wrap_el = document.querySelector('.js-cursor');\r\n this.main_el = document.querySelector('.js-cursor__main');\r\n this.option_el = document.querySelector('.js-cursor__option');\r\n\r\n this.position = {\r\n mouseX: 0,\r\n mouseY: 0,\r\n currentX: 0,\r\n currentY: 0\r\n }\r\n this.eventStatus = {\r\n click: false,\r\n hover: false\r\n }\r\n\r\n }\r\n\r\n init() {\r\n this.attachEvent();\r\n this.tween();\r\n }\r\n\r\n // setup(options) {\r\n // this.settings = Object.assign({\r\n // target: this.settings.target,\r\n // addClassName: this.settings.addClassName,\r\n // triggerHook: this.settings.triggerHook,\r\n // offset: this.settings.offset\r\n // }, options || {});\r\n // }\r\n\r\n attachEvent() {\r\n //カーソルの位置を取得\r\n document.addEventListener('mousemove', (e) => {\r\n this.position.mouseX = e.clientX;\r\n this.position.mouseY = e.clientY;\r\n this.wrap_el.classList.add('is-moved');\r\n });\r\n\r\n //画面外判定\r\n document.body.addEventListener(\"mouseleave\", () => {\r\n this.wrap_el.classList.add('is-outside');\r\n }, false);\r\n document.body.addEventListener(\"mouseenter\", () => {\r\n this.wrap_el.classList.remove('is-outside');\r\n }, false);\r\n\r\n //クリック判定\r\n document.addEventListener('mousedown', (e) => {\r\n this.eventStatus.click = true;\r\n })\r\n document.addEventListener('mouseup', (e) => {\r\n this.eventStatus.click = false;\r\n })\r\n\r\n // aタグホバー判定\r\n // 監視ターゲットの取得\r\n const body = document.body;\r\n // オブザーバーの作成\r\n const observer = new MutationObserver(records => {\r\n let link = document.querySelectorAll('a');\r\n for (const target of link) {\r\n target.addEventListener('mouseenter', (e) => {\r\n this.eventStatus.hover = true;\r\n this.wrap_el.classList.add('is-hover');\r\n })\r\n target.addEventListener('mouseleave', (e) => {\r\n this.eventStatus.hover = false;\r\n this.wrap_el.classList.remove('is-hover');\r\n })\r\n }\r\n // 変化が発生したときの処理を記述\r\n })\r\n // 監視の開始\r\n observer.observe(body, {\r\n childList: true\r\n })\r\n\r\n }\r\n\r\n tween() {\r\n TweenMax.to({}, .001, {\r\n repeat: -1,\r\n onRepeat: () => {\r\n\r\n //減速処理\r\n this.position.currentX += (this.position.mouseX - this.position.currentX) * 0.5;\r\n this.position.currentY += (this.position.mouseY - this.position.currentY) * 0.5;\r\n\r\n TweenMax.set(this.main_el,\r\n {\r\n css: {\r\n x: this.position.currentX - 5,\r\n y: this.position.currentY - 5\r\n }\r\n });\r\n TweenMax.to(this.option_el, 0.3,\r\n {\r\n css: {\r\n x: this.position.currentX - 20,\r\n y: this.position.currentY - 20,\r\n scale: this.scale(this.eventStatus)\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n scale(v) {\r\n if (v.hover == true && v.click == false) {\r\n return 1.6\r\n } else if (v.hover == false && v.click == true) {\r\n return 0.6\r\n } else if (v.hover == true && v.click == true) {\r\n return 0.6\r\n } else {\r\n return 1\r\n }\r\n }\r\n\r\n }\r\n\r\n return new Cursor();\r\n\r\n})();\r\n\r\nexport default cursor;\r\n","export default function isMobile(breakpoint) {\r\n return $(window).width() <= breakpoint ? true : false\r\n}\r\n","/*\r\n * jQuery TableFix plugin ver 1.0.1\r\n * Copyright (c) 2010 Otchy\r\n * This source file is subject to the MIT license.\r\n * http://www.otchy.net\r\n */\r\n(function($){\r\n\t$.fn.tablefix = function(options) {\r\n\t\treturn this.each(function(index){\r\n\t\t\t// 処理継続の判定\r\n\t\t\tvar opts = $.extend({}, options);\r\n\t\t\tvar baseTable = $(this);\r\n\t\t\tvar baseWidth = opts.width;\r\n\r\n\t\t\tvar withWidth = (baseWidth > 0);\r\n\t\t\tvar withHeight = (opts.height > 0);\r\n\t\t\tif (withWidth) {\r\n\t\t\t\twithWidth = (baseWidth < baseTable.width());\r\n\t\t\t} else {\r\n\t\t\t\tbaseWidth = baseTable.width();\r\n\t\t\t}\r\n\t\t\tif (withHeight) {\r\n\t\t\t\twithHeight = (opts.height < baseTable.height());\r\n\t\t\t} else {\r\n\t\t\t\topts.height = baseTable.height();\r\n\t\t\t}\r\n\t\t\tif (withWidth || withHeight) {\r\n\t\t\t\tif (withWidth && withHeight) {\r\n\t\t\t\t\tbaseWidth -= 40;\r\n\t\t\t\t\topts.height -= 40;\r\n\t\t\t\t} else if (withWidth) {\r\n\t\t\t\t\tbaseWidth -= 20;\r\n\t\t\t\t} else {\r\n\t\t\t\t\topts.height -= 20;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t// 外部 div の設定\r\n\t\t\tbaseTable.wrap('
');\r\n\t\t\tvar div = baseTable.parent();\r\n\t\t\tdiv.css({position: \"relative\"});\r\n\r\n\r\n\t\t\t// テーブルの分割と初期化\r\n\t\t\tvar crossTable = baseTable.wrap('
');\r\n\t\t\tvar rowTable = baseTable.clone().wrap('
');\r\n\t\t\tvar colTable = baseTable.clone().wrap('
');\r\n\t\t\tvar bodyTable = baseTable.clone().wrap('
');\r\n\t\t\tvar crossDiv = crossTable.parent().css({position: \"absolute\", overflow: \"hidden\"});\r\n\t\t\tvar rowDiv = rowTable.parent().css({position: \"absolute\", overflow: \"hidden\"});\r\n\t\t\tvar colDiv = colTable.parent().css({position: \"absolute\", overflow: \"hidden\", \"z-index\": \"1000\"});\r\n\t\t\tvar bodyDiv = bodyTable.parent().css({position: \"absolute\", overflow: \"auto\"});\r\n\t\t\tdiv.append(rowDiv).append(colDiv).append(bodyDiv);\r\n\r\n\r\n\t\t\t$(window).on(\"resize\", function(){\r\n\t\t\t\t// スクロール部オフセットの取得\r\n\t\t\t\tvar fixRows = (opts.fixRows > 0) ? opts.fixRows : 0;\r\n\t\t\t\tvar fixCols = (opts.fixCols > 0) ? opts.fixCols : 0;\r\n\t\t\t\tvar offsetX = 0;\r\n\t\t\t\tvar offsetY = 0;\r\n\t\t\t\tbaseTable.find('tr').each(function(indexY) {\r\n\t\t\t\t\t$(this).find('td,th').each(function(indexX){\r\n\t\t\t\t\t\tif (indexY == fixRows && indexX == fixCols) {\r\n\t\t\t\t\t\t\tvar cell = $(this);\r\n\t\t\t\t\t\t\toffsetX = cell.position().left;\r\n\t\t\t\t\t\t\toffsetY = cell.parent('tr').position().top;\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (indexY == fixRows) {\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\tbaseWidth = $(\".js-fixedTable-wrap\").width();\r\n\t\t\t\t// クリップ領域の設定\r\n\t\t\t\tvar bodyWidth = baseWidth - offsetX;\r\n\t\t\t\tvar bodyHeight = opts.height - offsetY;\r\n\t\t\t\tcrossDiv.width(offsetX).height(offsetY);\r\n\t\t\t\trowDiv\r\n\t\t\t\t.width(bodyWidth + (withWidth ? 20 : 0) + (withHeight ? 20 : 0))\r\n\t\t\t\t.height(offsetY)\r\n\t\t\t\t.css({left: offsetX + 'px'});\r\n\t\t\t\trowTable.css({\r\n\t\t\t\t\tmarginLeft: -offsetX + 'px',\r\n\t\t\t\t\tmarginRight: (withWidth ? 20 : 0) + (withHeight ? 20 : 0) + 'px'\r\n\t\t\t\t})\r\n\t\t\t\t.addClass(\"js-tablefix-data\");\r\n\t\t\t\tcolDiv\r\n\t\t\t\t.width(offsetX + 2)\r\n\t\t\t\t.height(bodyHeight + (withWidth ? 20 : 0) + (withHeight ? 20 : 0))\r\n\t\t\t\t.css({top: offsetY + 'px'});\r\n\t\t\t\tcolTable.css({\r\n\t\t\t\t\tmarginTop: -offsetY + 'px',\r\n\t\t\t\t\tmarginBottom: (withWidth ? 20 : 0) + (withHeight ? 20 : 0) + 'px'\r\n\t\t\t\t})\r\n\t\t\t\t.addClass(\"js-tablefix-data\");\r\n\t\t\t\tbodyDiv\r\n\t\t\t\t.width(bodyWidth + (withWidth ? 0 : 0) + (withHeight ? 20 : 0) + offsetX)\r\n\t\t\t\t.height(bodyHeight + (withWidth ? 20 : 0) + (withHeight ? 20 : 0))\r\n\t\t\t\t.css({left: '0px', top: offsetY + 'px'});\r\n\t\t\t\tbodyTable.css({\r\n\t\t\t\t\tmarginLeft: '0px',\r\n\t\t\t\t\tmarginTop: -offsetY + 'px',\r\n\t\t\t\t\tmarginRight: (withWidth ? 20 : 0) + 'px',\r\n\t\t\t\t\tmarginBottom: (withHeight ? 20 : 0) + 'px'\r\n\t\t\t\t})\r\n\t\t\t\t.addClass(\"js-tablefix-data\");\r\n\t\t\t\tif (withHeight) {\r\n\t\t\t\t\trowTable.width(bodyTable.width());\r\n\t\t\t\t}\r\n\t\t\t}).trigger(\"resize\");\r\n\r\n\t\t\t// スクロール連動\r\n\t\t\tbodyDiv.scroll(function() {\r\n\t\t\t\trowDiv.scrollLeft(bodyDiv.scrollLeft());\r\n\t\t\t\tcolDiv.scrollTop(bodyDiv.scrollTop());\r\n\t\t\t});\r\n\t\t\t// 外部 div の設定\r\n\t\t\tdiv\r\n\t\t\t.width(baseWidth + (withWidth ? 0 : 0) + (withHeight ? 20 : 0))\r\n\t\t\t.height(opts.height + (withWidth ? 20 : 0) + (withHeight ? 20 : 0));\r\n\t\t});\r\n\t}\r\n})(jQuery);\r\n","/*\n Simplemodal\n モーダルプラグインです\n HTMLの属性を切り替えるだけです。モーダル表示・非表示はCSSで行う\n ※CSSは自分で書いてください\n\n 読み込み\n import Simplemodal from '../../plugins/simplemodal.js';\n\n HTML\n \n\n
\n モーダルの中身\n
\n\n 実行\n default\n const simplemodal = new Simplemodal();\n\n custom Example\n const simplemodal = new Simplemodal(\".hoge\",{\n trigger: \"data-hoge-trigger\",\n backFixed: false,\n });\n*/\n\nconst simplemodal = (() => {\n //https://gist.github.com/ark-tds/cf5e0ecbf9311043823c869defa70b28\n const FOCUSABLE_ELEMENTS = [\n 'a[href]',\n 'area[href]',\n 'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\n 'select:not([disabled]):not([aria-hidden])',\n 'textarea:not([disabled]):not([aria-hidden])',\n 'button:not([disabled]):not([aria-hidden])',\n 'iframe',\n 'object',\n 'embed',\n '[contenteditable]',\n '[tabindex]:not([tabindex^=\"-\"])'\n ]\n\n return class Simplemodal {\n constructor(options) {\n\n const defaultOptions = {\n triggers: [],\n trigger: \"data-simplemodal-trigger\",\n backFixed: true,\n multipleOpen: false,\n clickOutSideClose: false,\n onOpen: () => { },\n onClose: () => { }\n }\n\n this.options = this.mergeOptions(defaultOptions, options)\n\n this.initialized = false;\n\n this.triggerEvent = [];\n this.windowResizeEvent = null;\n this.onKeydown = this.onKeydown.bind(this)\n\n this.transitionendEvent = null\n\n this.clickOutSideCloseEvent = null\n\n this.expanded = {\n trigger: [],\n content: []\n }\n\n this.popoverUpdateReizeEvent = null\n this.popoverUpdateScrollEvent = null\n\n this.init()\n }\n\n init() {\n //トリガーとパネルに属性を付与\n this.setUpAttribute(this.options.triggers);\n\n this.triggerEvent = [];\n this.triggerEvent = this.registerTriggerEvent();\n\n this.initialized = true;\n }\n\n mergeOptions(defaultOptions, options) {\n const mergeOptions = Object.assign(defaultOptions, options || {});\n mergeOptions.triggers = [...document.querySelectorAll(`[${mergeOptions.trigger}]`)]\n\n return mergeOptions\n }\n\n setUpAttribute(triggers) {\n triggers.forEach((trigger, index) => {\n let id = trigger.getAttribute(this.options.trigger);\n let content = document.getElementById(id);\n if (!id || !content) return\n trigger.setAttribute('aria-expanded', \"false\");\n trigger.setAttribute('aria-controls', id);\n content.setAttribute('aria-hidden', \"true\");\n });\n }\n\n registerTriggerEvent() {\n //トリガーをクリックしたときのイベント設定\n let register = [];\n this.options.triggers.forEach((trigger, index) => {\n register.push(this.attachEvent(trigger, 'click', this.triggerClick.bind(this, trigger)))\n register[index].addEvent();\n });\n return register;\n }\n\n triggerClick(trigger, event) {\n //defaultのクリックイベントを無効にするか\n if(!event.currentTarget.dataset.prevent) {\n event.preventDefault();\n }\n // const trigger = event.target;\n const content = document.querySelector(`#${trigger.getAttribute('aria-controls')}`)\n\n if (trigger.getAttribute('aria-expanded') == \"false\") {\n this.modalOpen(trigger, content, event);\n } else {\n this.modalClose(trigger, content, event);\n }\n\n }\n\n modalOpen(trigger, content, event) {\n\n //複数モーダルを開かない場合は全てのモーダルを閉じる\n if (!this.options.multipleOpen) this.closeAllModal();\n\n this.attachEvent(document, \"keydown\", this.onKeydown).addEvent();\n\n if(event) {\n if(event.currentTarget.dataset.popover) this.popover(true, trigger, content, event);\n }\n\n //モーダル外側クリック時のイベント登録\n if (this.options.clickOutSideClose) {\n this.clickOutSideCloseEvent = this.attachEvent(document, \"click\", this.clickOutSideClose.bind(this, trigger, content))\n this.clickOutSideCloseEvent.addEvent();\n }\n\n this.options.triggers.forEach((t, index) => {\n if (t.getAttribute('aria-controls') == trigger.getAttribute('aria-controls')) {\n t.setAttribute('aria-expanded', \"true\");\n t.classList.remove(\"is-close\");\n t.classList.add(\"is-open\");\n }\n });\n content.setAttribute('aria-hidden', \"false\");\n content.classList.remove(\"is-close\");\n content.classList.add(\"is-open\");\n\n if (this.options.backFixed) this.backFixed(true);\n\n\n this.expanded.trigger.push(trigger);\n this.expanded.content.push(content);\n\n this.options.onOpen(trigger, content)\n\n }\n\n popover(popover, trigger, content, event) {\n\n if(popover) {\n\n content.style.position = \"absolute\"\n // content.style.zIndex = \"1000\"\n // content.style.width = \"200px\"\n\n this.setPopoverPosition(trigger, content)\n \n // `${event.currentTarget.getBoundingClientRect().left + event.currentTarget.clientWidth - content.getBoundingClientRect().width + 1}px`\n this.popoverUpdateReizeEvent = this.attachEvent(window, \"resize\", this.setPopoverPosition.bind(this, trigger, content))\n this.popoverUpdateScrollevent = this.attachEvent(window, \"scroll\", this.setPopoverPosition.bind(this, trigger, content))\n\n this.popoverUpdateReizeEvent.addEvent()\n this.popoverUpdateScrollevent.addEvent()\n\n } else {\n if(this.popoverUpdateReizeEvent) this.popoverUpdateReizeEvent.removeEvent()\n if(this.popoverUpdateScrollevent) this.popoverUpdateScrollevent.removeEvent()\n content.style.position = \"\"\n content.style.top = \"\"\n content.style.left = \"\"\n }\n \n\n }\n\n setPopoverPosition(trigger, content) {\n // console.log(event.currentTarget.clientHeight + this.getScrollY())\n const triggerWidth = trigger.getBoundingClientRect().width\n const triggerHeight = trigger.getBoundingClientRect().height\n const triggerLeft = trigger.getBoundingClientRect().left\n const triggerRight = window.innerWidth - trigger.getBoundingClientRect().right\n const triggerTop = trigger.getBoundingClientRect().top\n\n const offset = trigger.dataset.popoverOffset ? Number(trigger.dataset.popoverOffset) : 0\n\n \n const scrollPosition = this.getScrollY()\n \n const contentWidth = content.getBoundingClientRect().width\n\n\n //画面外にはみ出た分のモーダル(popover)の長さ\n const rightOffScreenContent = (contentWidth / 2) - (triggerRight + triggerWidth / 2) >= 0\n ? (contentWidth / 2) - (triggerRight + triggerWidth / 2)\n : 0\n const leftOffScreenContent = (contentWidth / 2) - (triggerLeft + triggerWidth / 2) >= 0\n ? (contentWidth / 2) - (triggerLeft + triggerWidth / 2)\n : 0\n\n // console.log(rightOffScreenContent)\n // console.log(leftOffScreenContent)\n\n content.style.top = triggerTop + triggerHeight + scrollPosition + offset + \"px\"\n content.style.left = triggerLeft + triggerWidth - (triggerWidth / 2 + contentWidth / 2) - rightOffScreenContent + leftOffScreenContent + \"px\"\n\n }\n\n\n modalClose(trigger, content, event) {\n\n this.options.triggers.forEach((t, index) => {\n if (t.getAttribute('aria-controls') == trigger.getAttribute('aria-controls')) {\n t.setAttribute('aria-expanded', \"false\");\n t.classList.remove(\"is-open\");\n t.classList.add(\"is-close\");\n }\n });\n\n content.setAttribute('aria-hidden', \"true\");\n content.classList.remove(\"is-open\");\n content.classList.add(\"is-close\");\n\n if (this.options.backFixed) this.backFixed();\n\n this.expanded.trigger.pop();\n this.expanded.content.pop();\n\n if (!this.expanded.content.length) {\n this.attachEvent(document, \"keydown\", this.onKeydown).removeEvent();\n }\n\n //モーダル外側クリック時のイベント削除\n if (this.options.clickOutSideClose) {\n this.clickOutSideCloseEvent.removeEvent();\n }\n\n this.popover(false, trigger, content, event);\n\n this.options.onClose(trigger, content)\n }\n\n\n\n closeAllModal() {\n // console.log(this.expanded.trigger.length)\n if (this.expanded.trigger.length) {\n this.expanded.trigger.forEach((trigger) => {\n const content = document.querySelector(`#${trigger.getAttribute('aria-controls')}`)\n this.modalClose(trigger, content);\n })\n }\n }\n\n onKeydown(event) {\n // esc\n if (event.keyCode === 27) {\n // console.log(this.expanded.content[this.expanded.content.length - 1])\n this.expanded.trigger[this.expanded.trigger.length - 1].focus()\n this.modalClose(this.expanded.trigger[this.expanded.trigger.length - 1], this.expanded.content[this.expanded.content.length - 1], event)\n }\n //tab\n if (event.keyCode === 9) {\n this.retainFocus(event)\n }\n }\n\n retainFocus(event) {\n let focusableNodes = this.getFocusableNodes()\n\n if (focusableNodes.length === 0) return\n\n const focusedItemIndex = focusableNodes.indexOf(document.activeElement)\n\n //外側にフォーカスしている場合は強制的にモーダルの最初の要素をフォーカス\n if (focusedItemIndex === -1) {\n focusableNodes[0].focus()\n event.preventDefault()\n }\n\n if (event.shiftKey && focusedItemIndex === 0) {\n focusableNodes[focusableNodes.length - 1].focus()\n event.preventDefault()\n }\n\n if (!event.shiftKey && focusableNodes.length > 0 && focusedItemIndex === focusableNodes.length - 1) {\n focusableNodes[0].focus()\n event.preventDefault()\n }\n\n }\n\n getFocusableNodes() {\n const nodes = this.expanded.content[this.expanded.content.length - 1].querySelectorAll(FOCUSABLE_ELEMENTS)\n return [...nodes]\n }\n\n backFixed(fixed) {\n\n //固定するスクロール要素を取得(htmlもしくはbody)\n /**\n * @see {@link https://canonono.com/web/js/scrolling-element}\n */\n const scrollElement = 'scrollingElement' in document\n ? document.scrollingElement\n : document.documentElement;\n\n //現在のスクロール量をセット、すでに固定されている場合はscrollElementにセットされているtopの値を使用\n const scrollY = fixed\n ? this.getScrollY()\n : parseInt(scrollElement.style.top);\n\n //固定用CSS\n const styles = {\n position: 'fixed',\n top: `${scrollY * -1}px`,\n width: '100%',\n height: '100%',\n overflow: 'hidden',\n };\n\n //scrollElementに固定用CSSを反映\n for (const key in styles) {\n scrollElement.style[key] = fixed\n ? styles[key]\n : '';\n }\n\n !fixed ? scrollElement.classList.remove(\"is-backFixed\") : scrollElement.classList.add(\"is-backFixed\");\n\n //固定解除で元の位置にスクロール\n if (!fixed) window.scrollTo(0, scrollY * -1);\n };\n\n\n \n open(modalID, options) {\n if (!document.querySelector(`[${this.options.trigger}=\"${modalID}\"]`)) return\n // console.log(document.querySelector(`[${this.options.trigger}=\"${modalID}\"]`))\n const trigger = document.querySelector(`[${this.options.trigger}=\"${modalID}\"]`)\n const content = document.querySelector(`#${trigger.getAttribute('aria-controls')}`)\n // console.log(this.options);\n this.options = this.mergeOptions(this.options, options)\n this.modalOpen(trigger, content)\n }\n \n close(modalID, options) {\n if (!document.querySelector(`[${this.options.trigger}=\"${modalID}\"]`)) return\n // console.log(document.querySelector(`[${this.options.trigger}=\"${modalID}\"]`))\n const trigger = document.querySelector(`[${this.options.trigger}=\"${modalID}\"]`)\n const content = document.querySelector(`#${trigger.getAttribute('aria-controls')}`)\n // console.log(this.options);\n this.options = this.mergeOptions(this.options, options)\n this.modalClose(trigger, content)\n }\n\n updateOptions(modalID, options) {\n if (!document.querySelector(`[${this.options.trigger}=\"${modalID}\"]`)) return\n this.options = this.mergeOptions(this.options, options)\n }\n\n clickOutSideClose(trigger, content, e) {\n\n const id = trigger.getAttribute(this.options.trigger)\n\n if (!e.target.closest(`#${id}`) && !e.target.closest(`[${this.options.trigger}]`)) {\n\n if (!this.expanded.content.includes(content)) return\n\n this.modalClose(trigger, content)\n }\n }\n\n\n\n /**\n * @see {@link https://gist.github.com/think49/4431f6909b31b0c154c2054f94c546c0}\n */\n getScrollY() {\n if ('scrollY' in window) return window.scrollY;\n if ('pageYOffset' in window) return window.pageYOffset;\n\n const doc = window.document;\n\n return doc.compatMode === 'CSS1Compat' ? doc.documentElement.scrollTop : doc.body.scrollTop;\n }\n\n\n\n attachEvent(element, type, listener, options) {\n return {\n addEvent() {\n element.addEventListener(type, listener, options);\n },\n removeEvent() {\n element.removeEventListener(type, listener);\n }\n }\n }\n\n }\n\n function convertElement(obj) {\n if (obj instanceof HTMLElement) {\n return obj\n }\n if (obj instanceof jQuery) {\n return obj[0]\n }\n return document.querySelector(obj);\n }\n\n})();\n\nexport default simplemodal;\n\n\n// const simplemodal = new Simplemodal()\n// window.simplemodal = simplemodal\n\n\n// const simplepopover = new Simplemodal({\n// trigger : \"data-popover-trigger\",\n// clickOutSideClose : true,\n// backFixed : false\n// })\n\n// const fullScreenMenu = new Simplemodal({\n// trigger : \"data-fullScreenMenu-trigger\",\n// clickOutSideClose : true\n// })\n\n// const sideFixedMenuButtons = new Simplemodal({\n// trigger : \"data-sideFixedMenuButtons-trigger\",\n// clickOutSideClose : true,\n// backFixed : false\n// })\n","const tab = (() => {\r\n return class Tab {\r\n constructor(rootElement = \".js-tab\", options) {\r\n // console.log(isElement(rootElement[0]))\r\n this.tabRootElement = convertElement(rootElement);\r\n this.options = {\r\n tabWrapper: \".js-tab-list\",\r\n tabs: \".js-tab-button\",\r\n panelWrapper: \".js-tab-panel-wrapper\",\r\n panels: \".js-tab-panel\",\r\n defaultOpenPanel: 0\r\n }\r\n this.tabEvent = [];\r\n\r\n this.initialized = false;\r\n\r\n //外部から入力された設定をマージ\r\n this.mergedOptions(options);\r\n\r\n //タブの親要素がない場合は終了\r\n if(!this.tabRootElement) return;\r\n\r\n this.init()\r\n\r\n }\r\n\r\n init() {\r\n this.options.tabWrapper = this.tabRootElement.querySelector(this.options.tabWrapper);\r\n this.options.tabs = [...this.tabRootElement.querySelectorAll(this.options.tabs)];\r\n this.options.panelWrapper = this.tabRootElement.querySelector(this.options.panelWrapper);\r\n this.options.panels = [...this.tabRootElement.querySelectorAll(this.options.panels)];\r\n\r\n //トリガーとパネルに属性を付与\r\n this.setUpAttribute(this.options.tabs, this.options.panels)\r\n\r\n if (!(this.tabEvent.length == this.options.tabs.length)) {\r\n //トリガーをクリックしたときのイベント設定\r\n this.options.tabs.forEach((tab, index) => {\r\n this.tabEvent.push(this.attachEvent(tab, 'click', this.switchContent.bind(this)))\r\n this.tabEvent[index].addEvent();\r\n });\r\n }\r\n\r\n this.initialized = true;\r\n }\r\n\r\n mergedOptions(options) {\r\n this.options = Object.assign(this.options, options || {});\r\n }\r\n\r\n setUpAttribute(tabs, panels) {\r\n const randomId = Math.random().toString(36).slice(2);\r\n this.options.tabWrapper.setAttribute(\"role\", \"tab-list\")\r\n tabs.forEach((tab, index) => {\r\n tab.setAttribute(\"id\", `tab-button-${randomId}-${index}`);\r\n tab.setAttribute(\"role\", \"tab\");\r\n tab.setAttribute(\"aria-controls\", `tab-panel-${randomId}-${index}`);\r\n tab.setAttribute(\"aria-selected\", \"false\");\r\n });\r\n panels.forEach((panel, index) => {\r\n panel.setAttribute(\"id\", `tab-panel-${randomId}-${index}`);\r\n panel.setAttribute(\"role\", \"tab-panel\");\r\n panel.setAttribute(\"aria-hidden\", \"true\");\r\n panel.style.display = \"none\";\r\n });\r\n //最初に開きたいパネルを開く\r\n this.defaultOpenPanel(this.options.defaultOpenPanel)\r\n }\r\n\r\n switchContent(e) {\r\n e.preventDefault();\r\n const tab = e.target;\r\n const panel = document.querySelector(`#${e.target.getAttribute('aria-controls')}`)\r\n\r\n if (tab.getAttribute('aria-selected') == \"false\") {\r\n this.hideContents();\r\n this.showContent(tab, panel);\r\n }\r\n\r\n }\r\n\r\n showContent(tab, panel) {\r\n tab.setAttribute(\"aria-selected\", \"true\");\r\n panel.setAttribute(\"aria-hidden\", \"false\");\r\n panel.style.display = \"\";\r\n }\r\n\r\n hideContents() {\r\n this.options.tabs.forEach((tab, index) => {\r\n tab.setAttribute(\"aria-selected\", \"false\");\r\n });\r\n this.options.panels.forEach((panel, index) => {\r\n panel.setAttribute(\"aria-hidden\", \"true\");\r\n panel.style.display = \"none\";\r\n });\r\n }\r\n\r\n defaultOpenPanel(index) {\r\n const tab = this.options.tabs[index];\r\n const panel = this.options.panels[index]\r\n this.showContent(tab, panel);\r\n }\r\n\r\n attachEvent(element, type, listener, options) {\r\n return {\r\n addEvent() {\r\n element.addEventListener(type, listener, options);\r\n },\r\n removeEvent() {\r\n element.removeEventListener(type, listener);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function convertElement(obj) {\r\n if(obj instanceof HTMLElement) {\r\n return obj\r\n }\r\n if(obj instanceof jQuery) {\r\n return obj[0]\r\n }\r\n return document.querySelector(obj);\r\n }\r\n\r\n})();\r\n\r\nexport default tab;\r\n","const UAParser = require('ua-parser-js');\r\n\r\nconst ua = (() => {\r\n \r\n class UA {\r\n constructor() {\r\n this.uaParser = UAParser();\r\n this.body = document.querySelector('body');\r\n }\r\n\r\n init() {\r\n this.setUA();\r\n }\r\n\r\n getBrowser() {\r\n return this.uaParser.browser.name.replace(/\\s+/g, \"\").toLowerCase();\r\n }\r\n\r\n getDevice() {\r\n const type = this.uaParser.device.type;\r\n let type_result = \"\";\r\n if (type == 'mobile') {\r\n type_result = 'sp';\r\n } else if (type == 'tablet') {\r\n type_result = 'tb';\r\n } else {\r\n type_result = 'pc';\r\n }\r\n return type_result;\r\n }\r\n\r\n getModel() {\r\n return this.uaParser.device.model ? this.uaParser.device.model.replace(/\\s+/g, \"\").toLowerCase() : \"\";\r\n }\r\n\r\n getOS() {\r\n return this.uaParser.os.name.replace(/\\s+/g, \"\").toLowerCase();\r\n }\r\n\r\n setUA() {\r\n this.body.classList.add(`ua-${this.getBrowser()}`);\r\n this.body.classList.add(`ua-${this.getDevice()}`);\r\n if (this.getModel()) {\r\n this.body.classList.add(`ua-${this.getModel()}`);\r\n }\r\n this.body.classList.add(`ua-${this.getOS()}`);\r\n }\r\n\r\n }\r\n return new UA();\r\n\r\n})();\r\n\r\nexport default ua;\r\n\r\n\r\n//使い方\r\n// import ua from '../../plugins/userAgent.js';\r\n// ua.init();\r\n\r\n\r\n\r\n// var result = UAParser();\r\n// console.log(result)\r\n// console.log(result.browser.name.replace(/\\s+/g, \"\").toLowerCase())\r\n\r\n\r\n// var bs = result.browser.name.replace(/\\s+/g, \"\").toLowerCase();\r\n// var ua_type = function () {\r\n// var type = result.device.type;\r\n// var type_result = \"\";\r\n// if (type == 'mobile') {\r\n// type_result = 'sp';\r\n// } else if (type == 'tablet') {\r\n// type_result = 'tb';\r\n// } else {\r\n// type_result = 'pc';\r\n// }\r\n// return type_result;\r\n// }\r\n// var ua_model = result.device.model ? result.device.model.replace(/\\s+/g, \"\").toLowerCase() : \"\";\r\n// var ua_os = result.os.name.replace(/\\s+/g, \"\").toLowerCase();\r\n\r\n// $(\"body\").addClass(\"ua-\" + bs);\r\n// $(\"body\").addClass(\"ua-\" + ua_type());\r\n// if (ua_model) {\r\n// $(\"body\").addClass(\"ua-\" + ua_model);\r\n// }\r\n// $(\"body\").addClass(\"ua-\" + ua_os);\r\n\r\n","//https://developer.mozilla.org/ja/docs/Web/API/Element/closest#Polyfill\nif (!Element.prototype.matches) {\n Element.prototype.matches = Element.prototype.msMatchesSelector || \n Element.prototype.webkitMatchesSelector;\n}\n\nif (!Element.prototype.closest) {\n Element.prototype.closest = function(s) {\n var el = this;\n\n do {\n if (el.matches(s)) return el;\n el = el.parentElement || el.parentNode;\n } while (el !== null && el.nodeType === 1);\n return null;\n };\n}","function common(context: any) {\r\n context.keys().forEach(context)\r\n}\r\n\r\ncommon(require.context('./modules/', true, /\\.ts$/))\r\n\r\n\r\n\r\n","var map = {\n\t\"./common/hoge.ts\": \"./src/ts/modules/common/hoge.ts\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./src/ts/modules sync recursive \\\\.ts$\";","// import pagePositionNav from '../../plugins/pagePositionNav';\r\n// pagePositionNav.init();\r\n// class Hoge {\r\n\r\n// aaaa;\r\n// b: string;\r\n\r\n// constructor() {\r\n// this.aaaa = document.querySelectorAll(\".js-scrollNav-section\")\r\n// this.b = \"3\"\r\n// }\r\n\r\n// init() {\r\n// console.log(this.b)\r\n// }\r\n// }\r\n\r\n// let ccc = new Hoge;\r\n// ccc.init();\r\n\r\n// type Coin = 10 | 50 | 100 | 500;\r\n// type Bill = 1000;\r\n// type Money = Coin | Bill;\r\n\r\n// function insertMoney (money: Money) { \r\n\r\n// console.log(money);\r\n// }\r\n\r\n// insertMoney(1000);"],"sourceRoot":""}