{"version":3,"file":"main.js","mappings":"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","sources":["webpack:///webpack/runtime/chunk loaded","webpack:///../html/assets/es6/top/common/modal.es6","webpack:///../html/assets/es6/top/common/movie.es6","webpack:///../html/assets/es6/top/common/ui.es6","webpack:///../html/assets/es6/top/gl/vector.es6","webpack:///../html/assets/es6/top/gl/particle.es6","webpack:///../html/assets/es6/top/gl/mask.es6","webpack:///../html/assets/es6/top/gl/logo.es6","webpack:///../html/assets/es6/top/gl/canvas.es6","webpack:///../html/assets/es6/top/gl_bg/vector.es6","webpack:///../html/assets/es6/top/gl_bg/particle.es6","webpack:///../html/assets/es6/top/gl_bg/canvas.es6","webpack:///../html/assets/es6/top/game/main.es6","webpack:///../html/assets/es6/top/history/main.es6","webpack:///../html/assets/es6/top/news/main.es6","webpack:///../html/assets/es6/top/campagin/main.es6","webpack:///../html/assets/es6/top/common/scrollfunc.es6","webpack:///../html/assets/es6/top/main.es6","webpack:///../html/assets/es6/main.es6","webpack:///../html/assets/es6/top/common/setvariables.es6","webpack:///../html/assets/es6/top/common/debug.es6","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/node module decorator","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","export default class Modal {\n constructor() {\n this.init();\n }\n\n init() {\n this.eventBind();\n }\n\n resetEvent() {\n this.eventBind(\"reset\");\n }\n\n eventBind(resetOption) {\n const openbuttons = [...document.querySelectorAll(\".js-modal_open\")];\n const closebuttons = [...document.querySelectorAll(\".js-modal_close\")];\n const modals = [...document.querySelectorAll(\".js-modal\")];\n\n const handleOpen = (e) => {\n e.preventDefault();\n const modalID = e.currentTarget.getAttribute(\"data-modalID\");\n const tgtmodal = document.querySelector(`.js-modal[data-modalID=${modalID}]`);\n document.body.classList.add(\"-lock\");\n tgtmodal && tgtmodal.classList.add(\"-active\");\n };\n\n const handleClose = (e) => {\n document.body.classList.remove(\"-lock\");\n const closetgt = e.currentTarget.getAttribute(\"data-closetgt\");\n if (closetgt) {\n document.querySelector(`.js-modal[data-modalID=${closetgt}]`).classList.remove(\"-active\");\n } else {\n modals.forEach((el) => el.classList.remove(\"-active\"));\n }\n };\n\n openbuttons.forEach((el) => {\n resetOption && el.removeEventListener(\"click\", handleOpen);\n el.addEventListener(\"click\", handleOpen);\n });\n\n closebuttons.forEach((el) => {\n resetOption && el.removeEventListener(\"click\", handleClose);\n el.addEventListener(\"click\", handleClose);\n });\n }\n}\n","export default class Movie {\n constructor() {\n this.player = null;\n this.init();\n }\n\n init() {\n const $modalbtn = document.querySelector(\".js-moviemodal_open\");\n\n if ($modalbtn !== null) {\n this.setup();\n this.eventBind();\n }\n }\n\n resetEvent() {\n this.eventBind(\"reset\");\n }\n\n setup() {\n const tag = document.createElement(\"script\");\n const firstBtn = document.querySelectorAll(\".js-moviemodal_open\")[0];\n const videoID = firstBtn.getAttribute(\"data-videoID\");\n const navbtn = [...document.querySelectorAll(\".js-modal_movie_change\")];\n\n tag.src = \"https://www.youtube.com/iframe_api\";\n const firstScriptTag = document.getElementsByTagName(\"script\")[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n\n window.onYouTubeIframeAPIReady = () => {\n this.player = new YT.Player(\"player\", {\n height: \"360\",\n width: \"640\",\n videoId: videoID, //デフォルト\n events: {\n onStateChange: this.onStateChange.bind(this),\n onError: this.onError,\n },\n });\n };\n\n //ナビの初期化\n navbtn.forEach((el, index) => {\n if (index === 0) {\n el.classList.add(\"-active\");\n }\n });\n }\n\n onError(e) {\n console.log(e);\n }\n\n onStateChange(e) {\n //プレミア公開も考慮してバッファリング(3)のタイミングに変更。そしてsetTimeoutさせる。\n if (e.data === 3) {\n setTimeout(() => {\n document.querySelector(\".c-modal_movie__iframewrap\").style.opacity = 1;\n }, 200);\n }\n }\n\n eventBind(resetOption) {\n const openbuttons = [...document.querySelectorAll(\".js-moviemodal_open\")];\n const closebuttons = [...document.querySelectorAll(\".js-moviemodal_close\")];\n const videowrap = document.querySelector(\".c-modal_movie__iframewrap\");\n const changebtn = [...document.querySelectorAll(\".js-modal_movie_change\")];\n\n const handleClose = () => {\n this.player.stopVideo();\n videowrap.style.opacity = 0; //クローズ時に非表示に。\n };\n\n const handleOpen = (e) => {\n const videoID = e.currentTarget.getAttribute(\"data-videoID\");\n this.loadVideo(videoID);\n\n //navActive\n changebtn.forEach((el) => {\n el.classList.remove(\"-active\");\n\n if (el.getAttribute(\"data-videoID\") === videoID) {\n el.classList.add(\"-active\");\n }\n });\n };\n\n changebtn.forEach((el) => {\n el.addEventListener(\"click\", handleOpen);\n });\n\n openbuttons.forEach((el) => {\n resetOption && el.removeEventListener(\"click\", handleOpen);\n el.addEventListener(\"click\", handleOpen);\n });\n\n closebuttons.forEach((el) => {\n resetOption && el.removeEventListener(\"click\", handleClose);\n el.addEventListener(\"click\", handleClose);\n });\n }\n\n loadVideo(id) {\n //デフォルトでautoplayされる。\n this.player.loadVideoById({ videoId: id });\n }\n}\n","export default class UI {\n constructor() {\n this.init();\n }\n\n init() {\n this.acc();\n this.campaignSerifLoop();\n }\n\n acc() {\n //アコーディオン\n const $triggers = document.querySelectorAll(\".js-acc_trigger\");\n\n $triggers.forEach((el) => {\n el.addEventListener(\"click\", (e) => {\n const parent = el.closest(\".js-acc\");\n const wrapper = el.nextElementSibling;\n const height = wrapper.querySelector(\".js-acc_cont\").offsetHeight;\n\n el.classList.toggle(\"-active\");\n\n if (getComputedStyle(wrapper, null).getPropertyValue(\"height\") === \"0px\") {\n wrapper.style.height = `${height}px`;\n\n if (parent !== null) {\n //高さを足していく\n parent.style.height = `${parent.offsetHeight + height}px`;\n }\n } else {\n wrapper.style.height = 0;\n if (parent !== null) {\n //高さを引いていく\n parent.style.height = `${parent.offsetHeight - height}px`;\n }\n }\n });\n });\n }\n\n campaignSerifLoop() {\n const serifs = document.querySelectorAll(\".js-cserif\");\n const cobj = document.querySelector(\".js-cobj\");\n let count = 0;\n\n const loop = () => {\n serifs.forEach((el) => el.classList.remove(\"-active\"));\n setTimeout(() => {\n serifs[count].classList.add(\"-active\");\n }, 1);\n\n setTimeout(() => {\n if (count == 0) {\n cobj.classList.add(\"-anim1\");\n }\n if (count == 1) {\n cobj.classList.add(\"-anim2\");\n }\n }, 1);\n\n setTimeout(() => {\n cobj.classList.remove(\"-anim1\");\n cobj.classList.remove(\"-anim2\");\n }, 3000);\n\n count++;\n\n if (count > serifs.length - 1) {\n count = 0;\n }\n\n setTimeout(loop, 4000);\n };\n\n loop();\n }\n}\n","export default function Vector(x, y, z) {\n this.x = x || 0;\n this.y = y || 0;\n this.z = z || 0;\n}\n\nVector.prototype = {\n negative: function () {\n return new Vector(-this.x, -this.y, -this.z);\n },\n add: function (v) {\n if (v instanceof Vector) return new Vector(this.x + v.x, this.y + v.y, this.z + v.z);\n else return new Vector(this.x + v, this.y + v, this.z + v);\n },\n subtract: function (v) {\n if (v instanceof Vector) return new Vector(this.x - v.x, this.y - v.y, this.z - v.z);\n else return new Vector(this.x - v, this.y - v, this.z - v);\n },\n multiply: function (v) {\n if (v instanceof Vector) return new Vector(this.x * v.x, this.y * v.y, this.z * v.z);\n else return new Vector(this.x * v, this.y * v, this.z * v);\n },\n divide: function (v) {\n if (v instanceof Vector) return new Vector(this.x / v.x, this.y / v.y, this.z / v.z);\n else return new Vector(this.x / v, this.y / v, this.z / v);\n },\n equals: function (v) {\n return this.x == v.x && this.y == v.y && this.z == v.z;\n },\n dot: function (v) {\n return this.x * v.x + this.y * v.y + this.z * v.z;\n },\n cross: function (v) {\n return new Vector(this.y * v.z - this.z * v.y, this.z * v.x - this.x * v.z, this.x * v.y - this.y * v.x);\n },\n length: function () {\n return Math.sqrt(this.dot(this));\n },\n unit: function () {\n return this.divide(this.length());\n },\n min: function () {\n return Math.min(Math.min(this.x, this.y), this.z);\n },\n max: function () {\n return Math.max(Math.max(this.x, this.y), this.z);\n },\n toAngles: function () {\n return {\n theta: Math.atan2(this.z, this.x),\n phi: Math.asin(this.y / this.length()),\n };\n },\n angleTo: function (a) {\n return Math.acos(this.dot(a) / (this.length() * a.length()));\n },\n toArray: function (n) {\n return [this.x, this.y, this.z].slice(0, n || 3);\n },\n clone: function () {\n return new Vector(this.x, this.y, this.z);\n },\n limit: function (max) {\n if (this.dot(this) > max * max) {\n this.unit();\n this.multiply(max);\n return this.unit().multiply(max);\n }\n return this;\n },\n init: function (x, y, z) {\n this.x = x;\n this.y = y;\n this.z = z;\n return this;\n },\n};\n\nVector.negative = function (a, b) {\n b.x = -a.x;\n b.y = -a.y;\n b.z = -a.z;\n return b;\n};\nVector.add = function (a, b, c) {\n if (b instanceof Vector) {\n c.x = a.x + b.x;\n c.y = a.y + b.y;\n c.z = a.z + b.z;\n } else {\n c.x = a.x + b;\n c.y = a.y + b;\n c.z = a.z + b;\n }\n return c;\n};\nVector.subtract = function (a, b, c) {\n if (b instanceof Vector) {\n c.x = a.x - b.x;\n c.y = a.y - b.y;\n c.z = a.z - b.z;\n } else {\n c.x = a.x - b;\n c.y = a.y - b;\n c.z = a.z - b;\n }\n return c;\n};\nVector.multiply = function (a, b, c) {\n if (b instanceof Vector) {\n c.x = a.x * b.x;\n c.y = a.y * b.y;\n c.z = a.z * b.z;\n } else {\n c.x = a.x * b;\n c.y = a.y * b;\n c.z = a.z * b;\n }\n return c;\n};\nVector.divide = function (a, b, c) {\n if (b instanceof Vector) {\n c.x = a.x / b.x;\n c.y = a.y / b.y;\n c.z = a.z / b.z;\n } else {\n c.x = a.x / b;\n c.y = a.y / b;\n c.z = a.z / b;\n }\n return c;\n};\nVector.cross = function (a, b, c) {\n c.x = a.y * b.z - a.z * b.y;\n c.y = a.z * b.x - a.x * b.z;\n c.z = a.x * b.y - a.y * b.x;\n return c;\n};\nVector.unit = function (a, b) {\n var length = a.length();\n b.x = a.x / length;\n b.y = a.y / length;\n b.z = a.z / length;\n return b;\n};\nVector.fromAngles = function (theta, phi) {\n return new Vector(Math.cos(theta) * Math.cos(phi), Math.sin(phi), Math.sin(theta) * Math.cos(phi));\n};\nVector.randomDirection = function () {\n return Vector.fromAngles(Math.random() * Math.PI * 2, Math.asin(Math.random() * 2 - 1));\n};\nVector.min = function (a, b) {\n return new Vector(Math.min(a.x, b.x), Math.min(a.y, b.y), Math.min(a.z, b.z));\n};\nVector.max = function (a, b) {\n return new Vector(Math.max(a.x, b.x), Math.max(a.y, b.y), Math.max(a.z, b.z));\n};\nVector.lerp = function (a, b, fraction) {\n return b.subtract(a).multiply(fraction).add(a);\n};\nVector.fromArray = function (a) {\n return new Vector(a[0], a[1], a[2]);\n};\nVector.angleBetween = function (a, b) {\n return a.angleTo(b);\n};\n","import * as PIXI from \"pixi.js\";\nimport { gsap } from \"gsap\";\nimport Vector from \"./vector\";\n\nimport gameData from \"../data/gamedata.json\";\n\nexport default class Particle {\n constructor(options) {\n //base\n this.position = new Vector(0, 0);\n this.outerRadius = options.outerRadius;\n this.radius = 0;\n this.rad = 0;\n this.radSpeed = 0.002;\n this.alpha = 0;\n this.amount = options.amount;\n this.g = new PIXI.Container();\n\n //indexまわり\n this.i = options.index;\n this.group = options.group;\n this.gameIndex = this.getGameIndex();\n this.data = gameData[this.gameIndex];\n\n //video\n this.video = null;\n this.videoSprite = null;\n this.videoStart = 0;\n this.videoEnd = 3;\n this.offset = {\n x: 0,\n y: 0,\n };\n\n //mask\n this.mask = new PIXI.Graphics();\n\n //curtain\n this.curtain = new PIXI.Graphics();\n this.curtainSize = { w: 0, h: 0 };\n this.curtainOffset = { x: 0 };\n this.curtainEnd = false;\n\n //custom event\n this.maskStartEvent = options.maskStartEvent;\n\n //animationEnd\n this.animationEnd = false;\n\n //init\n this.init();\n }\n\n init() {\n this.factory();\n this.setPosition();\n }\n\n getGameIndex() {\n const devideIndex = this.i >= 12 ? this.i - 12 : this.i;\n return devideIndex + 12 * this.group;\n }\n\n setPosition() {\n const center = { x: window.innerWidth / 2, y: window.innerHeight / 2 };\n const radius = this.outerRadius;\n\n if (!this.rad) {\n const degree = (360 / this.amount) * this.i;\n const rad = (degree * Math.PI) / 180;\n this.rad = rad;\n }\n\n //円周上の点に配置する\n this.position.x = center.x + Math.cos(this.rad) * radius;\n this.position.y = center.y + Math.sin(this.rad) * radius;\n }\n\n getOffset() {\n //円形マスクでどこを切り取るか4x4マスの中で決定するためのオフセット\n const offsetTable = this.data.offset;\n return { x: offsetTable[0] * this.radius, y: offsetTable[1] * this.radius };\n }\n\n randLimit(min, max) {\n return Math.random() * (max - min) + min;\n }\n\n radiusAnim() {\n //非表示→表示\n this.alpha = 1;\n\n gsap.fromTo(\n this,\n { radSpeed: 0.05, outerRadius: this.outerRadius * 0.75, radius: 0 },\n { outerRadius: this.outerRadius, radius: this.radius, radSpeed: this.radSpeed, duration: 2, delay: this.group * 0.4, ease: \"power3.inOut\" }\n );\n gsap.fromTo(\n this.curtainOffset,\n { x: 0 },\n {\n x: -this.curtainSize.w,\n duration: 1,\n delay: 2.5,\n ease: \"power3.inOut\",\n onComplete: () => {\n this.curtainEnd = true;\n this.eventBind();\n },\n }\n );\n }\n\n update(t) {\n this.rad += this.radSpeed;\n this.setPosition();\n\n const mask = this.mask;\n const curtain = this.curtain;\n\n mask.clear();\n mask.beginFill();\n mask.arc(this.position.x, this.position.y, this.radius, 0, Math.PI * 2);\n mask.endFill();\n\n //手前のカーテン要素\n if (!this.curtainEnd) {\n curtain.clear();\n curtain.beginFill(`0x${this.data.color}`);\n curtain.drawRect(this.position.x - this.curtainSize.w / 2 + this.curtainOffset.x, this.position.y - this.curtainSize.h / 2, this.curtainSize.w, this.curtainSize.h);\n curtain.endFill();\n } else {\n curtain.clear();\n curtain.mask = null;\n }\n }\n\n interactAnimation() {\n const baseRadius = this.radius;\n\n gsap.to(this, { radius: baseRadius * 1.15, duration: 0.5, ease: \"back.out(2)\" });\n gsap.to(this.g.scale, { x: 1.15, y: 1.15, duration: 0.5, ease: \"back.out(2)\" });\n gsap.to(this, { radius: baseRadius, duration: 0.5, delay: 0.5, ease: \"back.out(2)\" });\n gsap.to(this.g.scale, { x: 1, y: 1, duration: 0.5, delay: 0.5, ease: \"back.out(2)\" });\n }\n\n setInteractAnimation() {\n const delay = 2000;\n\n const loop = () => {\n this.interactAnimation();\n\n if (!this.animationEnd) {\n setTimeout(loop, delay * 3);\n }\n };\n\n loop();\n }\n\n radSpeedChange() {\n const baseSpeed = 0.002;\n\n gsap.to(this, { radSpeed: baseSpeed * 3, duration: 0.5 });\n gsap.to(this, { radSpeed: baseSpeed, duration: 0.5, delay: 4 });\n }\n\n eventBind() {\n //イベントバインド\n this.g.interactive = true;\n this.g.buttonMode = true;\n this.g.defaultCursor = \"pointer\";\n\n const onClick = () => {\n this.maskStartEvent.detail.position.x = this.position.x;\n this.maskStartEvent.detail.position.y = this.position.y;\n this.maskStartEvent.detail.id = this.data.id;\n window.dispatchEvent(this.maskStartEvent);\n };\n\n this.g.on(\"click\", onClick);\n this.g.on(\"touchstart\", onClick);\n\n const baseRadius = this.radius;\n\n this.g.on(\"mouseover\", () => {\n gsap.to(this, { radius: baseRadius * 1.2, duration: 0.3, ease: \"circ.Out\" });\n gsap.to(this.g.scale, { x: 1.2, y: 1.2, duration: 0.3, ease: \"circ.Out\" });\n });\n\n this.g.on(\"mouseout\", () => {\n gsap.to(this, { radius: baseRadius, duration: 0.3, ease: \"circ.Out\" });\n gsap.to(this.g.scale, { x: 1, y: 1, duration: 0.3, ease: \"circ.Out\" });\n });\n }\n\n factory() {\n //video生成\n const videoSprite = PIXI.Sprite.from(`./assets/img/top/canvas/games_${this.group + 1}.mp4`, {\n resourceOptions: {\n autoPlay: false,\n updateFPS: 30,\n },\n });\n\n const unit = window.innerWidth < 834 ? window.innerHeight * 0.105 : window.innerHeight * 0.15;\n\n videoSprite.width = unit * 4;\n videoSprite.height = unit * 4;\n\n this.radius = unit / 2;\n this.curtainSize = { w: unit, h: unit };\n\n this.videoSprite = videoSprite;\n this.g.addChild(videoSprite);\n\n const videoElm = videoSprite.texture.baseTexture.resource.source;\n videoElm.muted = true;\n videoElm.playsinline = true;\n videoElm.loop = true;\n videoElm.play();\n this.video = videoElm;\n\n this.offset = this.getOffset();\n\n //pivotの値を分割するoffsetにする\n this.g.pivot.x = this.g.width / 2 + this.offset.x;\n this.g.pivot.y = this.g.height / 2 + this.offset.y;\n\n this.videoSprite.mask = this.mask;\n this.curtain.mask = this.mask;\n }\n\n display() {\n this.g.position.x = this.position.x;\n this.g.position.y = this.position.y;\n\n //透明度\n this.g.alpha = this.alpha;\n this.curtain.alpha = this.alpha;\n }\n\n destroy() {\n this.video.pause();\n this.videoSprite.destroy();\n this.animationEnd = true;\n }\n\n remap() {}\n}\n","import * as PIXI from \"pixi.js\";\nimport Vector from \"./vector.es6\";\nimport { gsap } from \"gsap\";\n\nexport default class Mask {\n constructor() {\n this.position = new Vector(window.innerWidth / 2, window.innerHeight / 2);\n this.radius = 0;\n this.g = new PIXI.Graphics();\n this.g.blendMode = PIXI.BLEND_MODES.DST_OUT;\n }\n\n draw() {\n const g = this.g;\n g.clear();\n g.beginFill(0xffffff);\n g.arc(this.position.x, this.position.y, this.radius, 0, Math.PI * 2);\n g.endFill();\n }\n\n toOverScreen(position) {\n if (position) {\n this.position = position;\n }\n const size = window.innerWidth < 834 ? window.innerHeight : window.innerWidth;\n gsap.fromTo(this, { radius: 0 }, { radius: size, duration: 1, ease: \"circ.inOut\" });\n }\n\n update() {\n this.draw();\n }\n}\n","import * as PIXI from \"pixi.js\";\nimport { gsap } from \"gsap\";\nimport Vector from \"./vector\";\n\nexport default class Logo {\n constructor(assetsLoadedEvent, maskStartEvent) {\n //base\n this.g = new PIXI.Container();\n this.position = new Vector(0, 0);\n this.assetsLoadedEvent = assetsLoadedEvent;\n this.maskStartEvent = maskStartEvent;\n\n //video\n this.videoSprite = null;\n this.video = null;\n\n //btn\n this.btnSprite = null;\n this.tl = null;\n\n //firesprite\n this.fs = null;\n\n //init\n this.init();\n }\n\n init() {\n this.factory();\n this.setPosition();\n this.eventBind();\n }\n\n setPosition() {\n const center = { x: window.innerWidth / 2, y: window.innerHeight / 2 };\n this.position.x = center.x;\n this.position.y = center.y;\n }\n\n update(t) {\n this.setPosition();\n this.display();\n }\n\n factory() {\n //video生成\n const videoSprite = PIXI.Sprite.from(\"./assets/img/top/canvas/logo.mp4\", {\n resourceOptions: {\n autoPlay: false,\n updateFPS: 30,\n },\n });\n\n const size = window.innerWidth < 835 ? window.innerHeight * 0.35 : window.innerHeight * 0.45;\n videoSprite.width = size;\n videoSprite.height = size;\n\n this.videoSprite = videoSprite;\n this.g.addChild(videoSprite);\n\n const videoElm = videoSprite.texture.baseTexture.resource.source;\n videoElm.muted = true;\n videoElm.autoplay = false;\n videoElm.playsinline = true;\n videoElm.currentTime = 0;\n\n this.video = videoElm;\n\n videoElm.addEventListener(\"canplaythrough\", () => {\n window.dispatchEvent(this.assetsLoadedEvent);\n });\n\n //PRESS STARTボタン\n const btnSprite = PIXI.Sprite.from(\"./assets/img/top/canvas/txt_start.png\");\n\n btnSprite.width = videoSprite.width * 0.5;\n btnSprite.height = btnSprite.width * 0.09893;\n btnSprite.x = videoSprite.width / 2 - btnSprite.width / 2;\n btnSprite.y = videoSprite.height * 0.85;\n btnSprite.alpha = 0;\n this.btnSprite = btnSprite;\n\n this.g.addChild(btnSprite);\n\n //炎スプライト\n const loader = new PIXI.Loader();\n loader.add(\"fire\", \"./assets/img/top/canvas/firesprite.json\");\n\n loader.load((loader, resources) => {\n const textures = resources.fire.textures;\n const textureArray = Object.keys(textures).map((e) => textures[e]);\n const sprite = new PIXI.AnimatedSprite(textureArray);\n\n sprite.width = videoSprite.width / 5;\n sprite.height = videoSprite.height / 5;\n sprite.x = videoSprite.width * 0.42;\n sprite.y = videoSprite.height * 0.35;\n\n this.g.addChild(sprite);\n sprite.animationSpeed = 1;\n sprite.play();\n sprite.alpha = 0;\n\n this.fs = sprite;\n });\n\n //pivotの値を分割するoffsetにする\n this.g.pivot.x = this.g.width / 2;\n this.g.pivot.y = this.g.height / 2;\n }\n\n eventBind() {\n //イベントバインド\n this.btnSprite.interactive = true;\n this.btnSprite.buttonMode = true;\n this.btnSprite.defaultCursor = \"pointer\";\n\n const onClick = () => {\n this.maskStartEvent.detail.position.x = window.innerWidth / 2;\n this.maskStartEvent.detail.position.y = window.innerHeight / 2;\n this.maskStartEvent.detail.id = \"tsumtsum\";\n window.dispatchEvent(this.maskStartEvent);\n };\n\n this.btnSprite.on(\"click\", onClick);\n this.btnSprite.on(\"touchstart\", onClick);\n }\n\n btnAnim() {\n this.tl = gsap.timeline({ repeat: -1 });\n this.tl.to(this.btnSprite, { alpha: 1, duration: 0.2 });\n this.tl.to(this.btnSprite, { alpha: 0, duration: 0.2 }, 0.2);\n }\n\n fireanim() {\n gsap.fromTo(this.fs, { alpha: 0, x: this.fs.x - 10 }, { x: this.fs.x, alpha: 1, duration: 0.6 });\n }\n\n display() {\n this.g.position.x = this.position.x;\n this.g.position.y = this.position.y;\n }\n\n destroy() {\n this.tl.kill();\n this.video.pause();\n this.videoSprite.destroy();\n this.btnSprite.destroy();\n this.fs.destroy();\n }\n}\n","import * as PIXI from \"pixi.js\";\nimport Particle from \"./particle\";\nimport Mask from \"./mask\";\nimport Logo from \"./logo\";\n\nexport default class Canvas {\n constructor(instances) {\n this.app = null;\n this.containers = [];\n this.particles = [];\n this.resizeTimer = null;\n\n //TickerFlag\n this.animationEnd = false;\n\n //Gameインスタンス\n this.game = instances.game;\n\n //scrollFuncインスタンス\n this.scrollFunc = instances.scrollFunc;\n\n //historyFuncインスタンス\n this.history = instances.history;\n\n //bgCanvasインスタンス\n this.bgCanvas = instances.bgCanvas;\n\n this.init();\n }\n\n init() {\n this.setupPixi();\n this.eventBind();\n }\n\n setupPixi() {\n this.app = new PIXI.Application({\n width: window.innerWidth,\n height: window.innerHeight,\n view: document.querySelector(\".js-canvas\"),\n resolution: window.innerWidth < 835 ? window.devicePixelRatio || 1 : 1, //要検討\n backgroundColor: 0xffffff,\n autoResize: true,\n autoDensity: true,\n antialias: true,\n });\n\n this.setupCanvas();\n }\n\n setupCanvas() {\n const ce = new CustomEvent(\"maskanimstart\", { detail: { position: { x: 0, y: 0 }, id: null } });\n const assetsLoadedEvent = new CustomEvent(\"assetsLoaded\");\n\n //logoElements\n const logo = new Logo(assetsLoadedEvent, ce);\n this.app.stage.addChild(logo.g);\n\n //Particles\n const particles = this.particles;\n for (let k = 0; k < 2; k++) {\n let amount = 12 + k * 7;\n const outerRadiusArray =\n window.innerWidth < 834\n ? [window.innerHeight * 0.25, window.innerHeight * 0.4, window.innerHeight * 0.55]\n : [window.innerHeight * 0.4, window.innerHeight * 0.65, window.innerHeight * 0.9];\n this.containers.push(new PIXI.Container());\n\n for (let i = 0; i < amount; i++) {\n const options = {\n index: i,\n group: k,\n outerRadius: outerRadiusArray[k],\n maskStartEvent: ce,\n amount: amount,\n };\n const particle = new Particle(options);\n particles.push(particle);\n this.containers[k].addChild(particle.g);\n this.containers[k].addChild(particle.curtain);\n }\n\n this.app.stage.addChild(this.containers[k]);\n }\n\n //maskElements\n const mask = new Mask();\n this.app.stage.addChild(mask.g);\n\n //マスクオーバーイベント\n window.addEventListener(\"maskanimstart\", (e) => {\n document.querySelector(\".l-container__body\").classList.remove(\"-intro\");\n mask.toOverScreen(e.detail.position);\n this.game.onMaskOver(e.detail.id);\n this.scrollFunc.init();\n this.history.init();\n\n //スマホでは実行しない\n if (window.innerWidth >= 664) {\n this.bgCanvas.init();\n }\n\n setTimeout(() => {\n this.animationEnd = true;\n document.body.classList.remove(\"-lock\");\n\n //CSS Variablesの更新\n const content = document.querySelector(\".l-bg_contents\");\n if (content) {\n document.documentElement.style.setProperty(\"--footerWidth\", `${(document.body.clientWidth - content.offsetWidth) / 2}px`);\n }\n }, 1000);\n });\n\n const switchRadSpeed = () => {\n this.particles.forEach((el, index) => {\n if (index < 12) {\n el.radSpeedChange();\n } else {\n setTimeout(() => {\n el.radSpeedChange();\n }, 4000);\n }\n });\n };\n\n //イントロ発動\n window.addEventListener(\"assetsLoaded\", (e) => {\n document.querySelector(\".l-container__body\").classList.add(\"-intro\");\n document.querySelector(\".l-loader\").classList.add(\"-loaded\");\n\n setTimeout(() => {\n logo.video.play();\n }, 500);\n\n setTimeout(() => {\n logo.fireanim();\n this.particles.forEach((el) => el.radiusAnim());\n }, 2000);\n\n setTimeout(() => {\n logo.btnAnim();\n this.particles.forEach((el) => el.setInteractAnimation());\n }, 5500);\n\n const switchLoop = () => {\n if (this.animationEnd) {\n return;\n }\n switchRadSpeed();\n setTimeout(switchLoop, 10000);\n };\n\n setTimeout(switchLoop, 7500);\n });\n\n //Loop\n const fps = 60;\n let now = performance.now();\n let start = 0;\n\n let animate = (timestamp) => {\n if (this.animationEnd) {\n //全面canvasのdestory\n particles.forEach((particle) => particle.destroy());\n logo.destroy();\n this.app.destroy(document.querySelector(\".js-canvas\"));\n //console.log(\"introCanvas destroy\");\n return;\n }\n\n let delta = Math.floor(timestamp - now);\n\n if (start === 0) {\n start = timestamp;\n }\n\n let elapsed = (timestamp - start) / 1000;\n\n if (window.innerWidth >= 664) {\n while (delta >= 0) {\n particles.forEach((particle) => particle.update(elapsed));\n delta -= 1000.0 / fps;\n }\n } else {\n particles.forEach((particle) => particle.update(elapsed));\n }\n\n //フレームスキップした結果を描画\n particles.forEach((particle) => particle.display());\n mask.update();\n logo.update();\n now = timestamp;\n requestAnimationFrame(animate);\n };\n\n animate(performance.now());\n }\n\n eventBind() {\n window.addEventListener(\"resize\", this.setFullscreenCanvas.bind(this));\n }\n\n setFullscreenCanvas() {\n //リサイズイベントがスクロールで連続で発生しないようにする\n clearTimeout(this.resizeTimer);\n const particles = this.particles;\n\n this.resizeTimer = setTimeout(() => {\n //ratio,canvasサイズ、描画領域を再計算\n this.app.renderer.resize(window.innerWidth, window.innerHeight);\n particles.forEach((particle) => particle.remap());\n }, 100);\n }\n}\n","export default function Vector(x, y, z) {\n this.x = x || 0;\n this.y = y || 0;\n this.z = z || 0;\n}\n\nVector.prototype = {\n negative: function () {\n return new Vector(-this.x, -this.y, -this.z);\n },\n add: function (v) {\n if (v instanceof Vector) return new Vector(this.x + v.x, this.y + v.y, this.z + v.z);\n else return new Vector(this.x + v, this.y + v, this.z + v);\n },\n subtract: function (v) {\n if (v instanceof Vector) return new Vector(this.x - v.x, this.y - v.y, this.z - v.z);\n else return new Vector(this.x - v, this.y - v, this.z - v);\n },\n multiply: function (v) {\n if (v instanceof Vector) return new Vector(this.x * v.x, this.y * v.y, this.z * v.z);\n else return new Vector(this.x * v, this.y * v, this.z * v);\n },\n divide: function (v) {\n if (v instanceof Vector) return new Vector(this.x / v.x, this.y / v.y, this.z / v.z);\n else return new Vector(this.x / v, this.y / v, this.z / v);\n },\n equals: function (v) {\n return this.x == v.x && this.y == v.y && this.z == v.z;\n },\n dot: function (v) {\n return this.x * v.x + this.y * v.y + this.z * v.z;\n },\n cross: function (v) {\n return new Vector(this.y * v.z - this.z * v.y, this.z * v.x - this.x * v.z, this.x * v.y - this.y * v.x);\n },\n length: function () {\n return Math.sqrt(this.dot(this));\n },\n unit: function () {\n return this.divide(this.length());\n },\n min: function () {\n return Math.min(Math.min(this.x, this.y), this.z);\n },\n max: function () {\n return Math.max(Math.max(this.x, this.y), this.z);\n },\n toAngles: function () {\n return {\n theta: Math.atan2(this.z, this.x),\n phi: Math.asin(this.y / this.length()),\n };\n },\n angleTo: function (a) {\n return Math.acos(this.dot(a) / (this.length() * a.length()));\n },\n toArray: function (n) {\n return [this.x, this.y, this.z].slice(0, n || 3);\n },\n clone: function () {\n return new Vector(this.x, this.y, this.z);\n },\n limit: function (max) {\n if (this.dot(this) > max * max) {\n this.unit();\n this.multiply(max);\n return this.unit().multiply(max);\n }\n return this;\n },\n init: function (x, y, z) {\n this.x = x;\n this.y = y;\n this.z = z;\n return this;\n },\n};\n\nVector.negative = function (a, b) {\n b.x = -a.x;\n b.y = -a.y;\n b.z = -a.z;\n return b;\n};\nVector.add = function (a, b, c) {\n if (b instanceof Vector) {\n c.x = a.x + b.x;\n c.y = a.y + b.y;\n c.z = a.z + b.z;\n } else {\n c.x = a.x + b;\n c.y = a.y + b;\n c.z = a.z + b;\n }\n return c;\n};\nVector.subtract = function (a, b, c) {\n if (b instanceof Vector) {\n c.x = a.x - b.x;\n c.y = a.y - b.y;\n c.z = a.z - b.z;\n } else {\n c.x = a.x - b;\n c.y = a.y - b;\n c.z = a.z - b;\n }\n return c;\n};\nVector.multiply = function (a, b, c) {\n if (b instanceof Vector) {\n c.x = a.x * b.x;\n c.y = a.y * b.y;\n c.z = a.z * b.z;\n } else {\n c.x = a.x * b;\n c.y = a.y * b;\n c.z = a.z * b;\n }\n return c;\n};\nVector.divide = function (a, b, c) {\n if (b instanceof Vector) {\n c.x = a.x / b.x;\n c.y = a.y / b.y;\n c.z = a.z / b.z;\n } else {\n c.x = a.x / b;\n c.y = a.y / b;\n c.z = a.z / b;\n }\n return c;\n};\nVector.cross = function (a, b, c) {\n c.x = a.y * b.z - a.z * b.y;\n c.y = a.z * b.x - a.x * b.z;\n c.z = a.x * b.y - a.y * b.x;\n return c;\n};\nVector.unit = function (a, b) {\n var length = a.length();\n b.x = a.x / length;\n b.y = a.y / length;\n b.z = a.z / length;\n return b;\n};\nVector.fromAngles = function (theta, phi) {\n return new Vector(Math.cos(theta) * Math.cos(phi), Math.sin(phi), Math.sin(theta) * Math.cos(phi));\n};\nVector.randomDirection = function () {\n return Vector.fromAngles(Math.random() * Math.PI * 2, Math.asin(Math.random() * 2 - 1));\n};\nVector.min = function (a, b) {\n return new Vector(Math.min(a.x, b.x), Math.min(a.y, b.y), Math.min(a.z, b.z));\n};\nVector.max = function (a, b) {\n return new Vector(Math.max(a.x, b.x), Math.max(a.y, b.y), Math.max(a.z, b.z));\n};\nVector.lerp = function (a, b, fraction) {\n return b.subtract(a).multiply(fraction).add(a);\n};\nVector.fromArray = function (a) {\n return new Vector(a[0], a[1], a[2]);\n};\nVector.angleBetween = function (a, b) {\n return a.angleTo(b);\n};\n","import * as PIXI from \"pixi.js\";\nimport { gsap } from \"gsap\";\nimport Vector from \"./vector\";\n\nexport default class Particle {\n constructor(options) {\n this.amount = options.amount;\n this.i = options.index;\n this.radius = window.innerWidth >= 835 ? 80 * (window.innerWidth / 1920) : window.innerHeight / 10;\n this.alpha = 0.5;\n this.position = this.getPosition();\n this.v = this.getV();\n this.g = new PIXI.Container();\n\n //init\n this.init();\n }\n\n init() {\n this.factory();\n }\n\n getV() {\n let x = 0;\n let y = 0;\n\n while (x === 0) {\n x = this.randRange(-2, 2);\n }\n\n while (y === 0) {\n y = this.randRange(-2, 2);\n }\n\n return new Vector(x, y);\n }\n\n randRange(min, max) {\n return Math.random() * (max - min + 1) + min;\n }\n\n getPosition() {\n let x = 0;\n let y = 0;\n\n while (x < this.radius || x > window.innerWidth - this.radius) {\n x = window.innerWidth * Math.random();\n }\n while (y < this.radius || y > window.innerHeight - this.radius) {\n y = window.innerHeight * Math.random();\n }\n\n return new Vector(x, y);\n }\n\n edgeCheck() {\n if (this.position.x - this.radius < 0 || this.position.x + this.radius > window.innerWidth) {\n this.v.x *= -1;\n }\n\n if (this.position.y - this.radius < 0 || this.position.y + this.radius > window.innerHeight) {\n this.v.y *= -1;\n }\n }\n\n update(t) {\n this.position = this.position.add(this.v);\n this.edgeCheck();\n }\n\n factory() {\n // const g = new PIXI.Graphics();\n // g.beginFill(0xffffff);\n // g.drawCircle(0, 0, this.radius);\n // g.endFill();\n\n // this.g.addChild(g);\n\n const sprite = PIXI.Sprite.from(\"./assets/img/top/bg/ph_dot.png\");\n\n sprite.width = this.radius * 2;\n sprite.height = this.radius * 2;\n sprite.x = -sprite.width / 2;\n sprite.y = -sprite.height / 2;\n\n this.g.addChild(sprite);\n\n //this.g.pivot.x = this.radius;\n //this.g.pivot.y = this.radius;\n }\n\n display() {\n this.g.position.x = this.position.x;\n this.g.position.y = this.position.y;\n\n //透明度\n this.g.alpha = this.alpha;\n }\n\n destroy() {\n this.animationEnd = true;\n }\n\n remap() {}\n}\n","import * as PIXI from \"pixi.js\";\nimport Particle from \"./particle\";\n\nexport default class Canvas {\n constructor() {\n this.app = null;\n this.particles = [];\n this.resizeTimer = null;\n\n //TickerFlag\n this.animationEnd = false;\n\n //this.init();\n }\n\n init() {\n if (document.querySelector(\".js-bg_canvas\")) {\n this.setupPixi();\n this.eventBind();\n }\n }\n\n setupPixi() {\n this.app = new PIXI.Application({\n width: window.innerWidth,\n height: window.innerHeight,\n view: document.querySelector(\".js-bg_canvas\"),\n resolution: window.devicePixelRatio,\n backgroundColor: 0x000000,\n backgroundAlpha: 0,\n autoResize: true,\n autoDensity: true,\n antialias: true,\n });\n\n this.setupCanvas();\n }\n\n setupCanvas() {\n //Particles\n const particles = this.particles;\n\n let amount = 12 * (window.innerWidth / 1920);\n\n for (let i = 0; i < amount; i++) {\n const options = {\n index: i,\n amount: amount,\n };\n const particle = new Particle(options);\n particles.push(particle);\n this.app.stage.addChild(particle.g);\n }\n\n //Loop\n const fps = 60;\n let now = performance.now();\n let start = 0;\n\n let animate = (timestamp) => {\n if (this.animationEnd) {\n //console.log(\"destroy\");\n particles.forEach((particle) => particle.destroy());\n this.app.destroy(document.querySelector(\".js-bg_canvas\"));\n return;\n }\n\n let delta = Math.floor(timestamp - now);\n\n if (start === 0) {\n start = timestamp;\n }\n\n let elapsed = (timestamp - start) / 1000;\n\n if (window.innerWidth >= 664) {\n while (delta >= 0) {\n particles.forEach((particle) => particle.update(elapsed));\n delta -= 1000.0 / fps;\n }\n } else {\n particles.forEach((particle) => particle.update(elapsed));\n }\n\n //フレームスキップした結果を描画\n particles.forEach((particle) => particle.display());\n now = timestamp;\n requestAnimationFrame(animate);\n };\n\n animate(performance.now());\n }\n\n eventBind() {\n window.addEventListener(\"resize\", this.setFullscreenCanvas.bind(this));\n }\n\n setFullscreenCanvas() {\n //リサイズイベントがスクロールで連続で発生しないようにする\n clearTimeout(this.resizeTimer);\n const particles = this.particles;\n\n this.resizeTimer = setTimeout(() => {\n //ratio,canvasサイズ、描画領域を再計算\n this.app.renderer.resize(window.innerWidth, window.innerHeight);\n particles.forEach((particle) => particle.remap());\n }, 100);\n }\n}\n","import gameData from \"../data/gamedata.json\";\n\nimport Swiper from \"swiper\";\nimport \"swiper/css\";\n\nimport gsap from \"gsap\";\nimport { ScrollToPlugin } from \"gsap/all\";\ngsap.registerPlugin(ScrollToPlugin);\n\nexport default class Main {\n constructor(debugmode) {\n this.doms = {\n game: document.querySelector(\".game\"),\n game_inner: document.querySelector(\".game__inner\"),\n game_touchinner: document.querySelector(\".game__touchinner\"),\n game_nextbg: document.querySelector(\".game__nextbg\"),\n game_prevbg: document.querySelector(\".game__prevbg\"),\n ttl: document.querySelector(\".game__ttl\"),\n release: document.querySelector(\".game__releasetxt\"),\n copy: document.querySelector(\".game__info__copy\"),\n bgtxt: document.querySelector(\".game__bgnametxt\"),\n video: document.querySelector(\".game__video\"),\n screen: document.querySelector(\".game__screen\"),\n commentwrapper: document.querySelector(\".game__comment\"),\n lmain: document.querySelector(\".l-main\"),\n curtains: [...document.querySelectorAll(\".pv__curtain .obj\")],\n };\n this.data = gameData;\n this.currentIndex = 0;\n this.swiperElm = null;\n this.timers = [];\n this.maskEnd = debugmode;\n this.debugmode = debugmode;\n\n this.init();\n }\n\n init() {\n if (this.doms.game) {\n this.eventBind();\n this.setSwiper();\n this.setScroller();\n }\n }\n\n destroy() {\n //console.log(\"game destroy\");\n //非表示時はdestoryする\n this.clearTimer();\n this.doms.video.setAttribute(\"src\", \"\");\n this.doms.game.style.display = \"none\";\n }\n\n reset() {\n //再度TOPに戻ってきた際に動画やタイマーを復活\n this.doms.game.style.display = \"block\";\n this.setInfo();\n this.timers.push(\n setTimeout(() => {\n this.commentLoop();\n }, 1500)\n );\n }\n\n clearTimer() {\n this.timers.forEach((id) => {\n clearTimeout(id);\n });\n\n this.timers = [];\n }\n\n onMaskOver(id) {\n this.data.forEach((el, index) => {\n if (el.id === id) {\n this.currentIndex = index;\n this.maskEnd = true;\n this.swiperElm.slideToLoop(this.currentIndex); //slideToではなくslideToLoopを使うのがミソ\n //console.log(\"mask End\");\n }\n });\n }\n\n setScroller() {\n const loop = () => {\n document.querySelector(\".game__scroll\").classList.toggle(\"-active\");\n setTimeout(loop, 2000);\n };\n\n loop();\n }\n\n setSwiper() {\n // init Swiper:\n this.swiperElm = new Swiper(\".swiper\", {\n loop: true,\n slidesPerView: \"auto\",\n centerMode: true,\n centeredSlides: true,\n spaceBetween: 5,\n initialSlide: -1,\n breakpoints: {\n 664: {\n spaceBetween: 10,\n },\n },\n\n on: {\n slideChange: (e) => {\n //情報の書き換えはswiperをベースにする\n this.currentIndex = e.realIndex;\n this.setInfo();\n this.clearTimer();\n this.timers.push(\n setTimeout(() => {\n this.commentLoop();\n }, 1500)\n );\n this.setAnimation();\n //console.log(\"swiper slideChange\");\n },\n },\n });\n }\n\n commentLoop() {\n const loop = () => {\n const items = [...document.querySelectorAll(\".game__comment .item\")];\n items.forEach((el, index) => {\n el.classList.remove(\"-anim\");\n\n setTimeout(() => {\n el.classList.add(\"-anim\");\n }, 1000 * index);\n });\n\n this.timers.push(\n setTimeout(() => {\n loop();\n }, items.length * 1000 + 4000)\n );\n };\n\n loop();\n }\n\n setAnimation(timeout = 1) {\n this.doms.game.classList.remove(\"-changeanim\");\n\n setTimeout(() => {\n this.doms.game.classList.add(\"-changeanim\");\n }, timeout);\n }\n\n setInfo() {\n const ttl = this.doms.ttl;\n const release = this.doms.release;\n const copy = this.doms.copy;\n const bgtxt = this.doms.bgtxt;\n const video = this.doms.video;\n const commentwrapper = this.doms.commentwrapper;\n const lmain = this.doms.lmain;\n const game = this.doms.game;\n const curtains = this.doms.curtains;\n const currentData = this.data[this.currentIndex];\n\n //animation\n game.classList.remove(\"-loaded\");\n\n //情報変更\n ttl.textContent = currentData.name_ja;\n release.textContent = currentData.release;\n bgtxt.innerHTML = currentData.name_tag\n ? `${currentData.name_tag} ${currentData.name_tag} ${currentData.name_tag} ${currentData.name_tag} ${currentData.name_tag}`\n : `${currentData.name} ${currentData.name} ${currentData.name} ${currentData.name} ${currentData.name}`;\n copy.textContent = currentData.copy ? currentData.copy : \"\";\n\n if (this.maskEnd) {\n //console.log(\"videoset\");\n video.poster = `./assets/img/top/game/video/${currentData.id}.png`;\n video.src = `./assets/img/top/game/video/${currentData.id}.mp4`;\n }\n\n //コメント追加\n commentwrapper.innerHTML = \"\";\n\n currentData.comment.forEach((comment, index) => {\n const item = document.createElement(\"li\");\n item.classList.add(\"item\", `-c${index + 1}`);\n const obj = document.createElement(\"div\");\n obj.classList.add(\"obj\");\n obj.textContent = comment;\n item.appendChild(obj);\n commentwrapper.appendChild(item);\n });\n\n //背景色変更\n game.style.background = `#${currentData.color}`;\n game.setAttribute(\"data-color\", `#${currentData.color}`); //参照用にdata属性にも追加\n curtains.forEach((curtain) => (curtain.style.background = `#${currentData.color}`));\n if (window.innerWidth >= 664) {\n lmain.style.background = `#${currentData.color}`;\n //console.log(\"gameColorChange\");\n }\n\n const loadFunc = () => {\n setTimeout(() => {\n game.classList.add(\"-loaded\");\n game.setAttribute(\"data-screen\", currentData.screen);\n }, 100);\n };\n\n loadFunc();\n }\n\n eventBind() {\n const btn = [...document.querySelectorAll(\".game__nav__arw\")];\n btn.forEach((el) => {\n el.addEventListener(\"click\", () => {\n if (el.classList.contains(\"-prev\")) {\n //swiperを移動\n this.swiperElm.slidePrev();\n } else {\n //swiperを移動\n this.swiperElm.slideNext();\n }\n });\n });\n\n //ページネーション:スワイプ版\n let startX = 0;\n let startY = 0;\n let moveX = 0;\n let moveY = 0;\n const range = 50;\n let distanceX = 0;\n let distanceY = 0;\n let touchTimer = [];\n\n const resetPosition = () => {\n this.doms.game_prevbg.style.transition = \"none\";\n this.doms.game_prevbg.style.transform = \"translate(0,0)\";\n this.doms.game_nextbg.style.transition = \"none\";\n this.doms.game_nextbg.style.transform = \"translate(0,0)\";\n };\n\n this.doms.game_touchinner.addEventListener(\n \"touchstart\",\n (e) => {\n startX = e.touches[0].pageX;\n startY = e.touches[0].pageY;\n\n //前後のデータを取得\n let nextIndex = this.currentIndex + 1;\n if (nextIndex > this.data.length - 1) {\n nextIndex = 0;\n }\n let prevIndex = this.currentIndex - 1;\n if (prevIndex < 0) {\n prevIndex = this.data.length - 1;\n }\n const prevData = this.data[prevIndex];\n const nextData = this.data[nextIndex];\n\n //色変更と初期化\n this.doms.game_prevbg.style.background = `#${prevData.color}`;\n this.doms.game_nextbg.style.background = `#${nextData.color}`;\n\n touchTimer.forEach((timer) => clearInterval(timer));\n touchTimer = [];\n resetPosition();\n },\n { passive: false }\n );\n\n this.doms.game_touchinner.addEventListener(\n \"touchmove\",\n (e) => {\n e.preventDefault();\n moveX = e.changedTouches[0].pageX;\n moveY = e.changedTouches[0].pageY;\n distanceX = moveX - startX;\n distanceY = moveY - startY;\n\n if (moveX !== 0 && Math.abs(distanceY) < range) {\n if (distanceX > 0) {\n this.doms.game_prevbg.style.transform = `translate(${distanceX / 2}px,0)`;\n } else {\n this.doms.game_nextbg.style.transform = `translate(${distanceX / 2}px,0)`;\n }\n }\n },\n { passive: false }\n );\n\n this.doms.game_touchinner.addEventListener(\n \"touchend\",\n (e) => {\n //縦スクロールか横スクロールかで判別\n if (distanceY < -1 * range) {\n resetPosition();\n //e.preventdefaultしているので、スクロールイベントは起こらない\n gsap.to(window, {\n scrollTo: { y: document.querySelector(\".pv\") },\n duration: 0.5,\n });\n } else {\n //タップのみとrange外はreturnする\n if (moveX === 0 || Math.abs(distanceX) < range) {\n resetPosition();\n return;\n }\n if (distanceX > 0) {\n this.doms.game_prevbg.style.transition = \"transform 0.4s 0s ease\";\n this.doms.game_prevbg.style.transform = \"translate(100%,0)\";\n this.swiperElm.slidePrev();\n } else {\n this.doms.game_nextbg.style.transition = \"transform 0.4s 0s ease\";\n this.doms.game_nextbg.style.transform = \"translate(-100%,0)\";\n this.swiperElm.slideNext();\n }\n\n touchTimer.push(\n setTimeout(() => {\n resetPosition();\n }, 1000)\n );\n }\n\n //END時に初期化\n startX = moveX = distanceX = 0;\n startY = moveY = distanceY = 0;\n },\n { passive: false }\n );\n }\n}\n","import gsap from \"gsap\";\nimport { ScrollTrigger, ScrollToPlugin } from \"gsap/all\";\ngsap.registerPlugin(ScrollTrigger, ScrollToPlugin);\nimport _ from \"lodash\";\n\nexport default class History {\n constructor() {\n this.wrapper = document.querySelector(\".historymap\");\n }\n\n init() {\n if (this.wrapper) {\n this.grabScroll();\n this.setScale();\n\n setTimeout(() => {\n this.onScroll();\n }, 1000);\n }\n }\n\n setScale() {\n const set = () => {\n document.documentElement.style.setProperty(\"--mapheight\", `${window.innerHeight * 0.704}px`);\n };\n\n if (window.innerWidth >= 664) {\n set();\n window.addEventListener(\"resize\", set);\n }\n }\n\n grabScroll() {\n let grabbing = false;\n let startX = 0;\n let diffX = 0;\n let scrolled = 0;\n\n this.wrapper.addEventListener(\"mousedown\", (e) => {\n grabbing = true;\n this.wrapper.classList.add(\"-grab\");\n startX = e.clientX;\n scrolled = this.wrapper.scrollLeft;\n });\n\n this.wrapper.addEventListener(\"mouseleave\", (e) => {\n grabbing = false;\n this.wrapper.classList.remove(\"-grab\");\n });\n\n this.wrapper.addEventListener(\"mousemove\", (e) => {\n if (!grabbing) {\n return;\n }\n e.preventDefault();\n diffX = startX - e.clientX;\n this.wrapper.scrollLeft = scrolled + diffX * 1.5; //ちょっと早める\n });\n\n this.wrapper.addEventListener(\"mouseup\", (e) => {\n grabbing = false;\n this.wrapper.classList.remove(\"-grab\");\n });\n }\n\n onScroll() {\n const year_1 = document.querySelector(\".year_1\");\n const year_10 = document.querySelector(\".year_10\");\n const routebg = document.querySelector(\".historymap__route_bg\");\n const outer = document.querySelector(\".historymap\");\n\n this.wrapper.addEventListener(\"scroll\", (e) => {\n let progress = this.wrapper.scrollLeft / (this.wrapper.scrollWidth - this.wrapper.offsetWidth);\n year_1.style.transform = `translate(0,${-90.909 + 90.909 * progress}%)`;\n\n if (progress <= 0.1) {\n progress = 0.1;\n }\n\n if (progress > 0.7) {\n let normalizeProgress = (progress - 0.7) / (0.8 - 0.7);\n if (normalizeProgress > 1) {\n normalizeProgress = 1;\n }\n year_10.style.transform = `translate(0,${-50 + 50 * normalizeProgress}%)`;\n } else {\n year_10.style.transform = `translate(0,${-50}%)`;\n }\n routebg.style.clipPath = `inset(0 ${100 * (1 - progress - 0.05)}% 0 0)`;\n\n if (progress >= 0.99) {\n outer.classList.add(\"-goal\");\n } else {\n outer.classList.remove(\"-goal\");\n }\n\n //console.log(progress);\n });\n\n const mainElement = [...document.querySelectorAll(\".js-historyreveal\")];\n\n mainElement.forEach((el) => {\n ScrollTrigger.create({\n scroller: \".historymap\",\n horizontal: true,\n trigger: el,\n start: \"center 70%\",\n end: \"center 70%\",\n //markers: true,\n onEnter: () => {\n el.classList.add(\"-reveal\", \"-reveal2\");\n },\n onEnterBack: () => {\n el.classList.remove(\"-reveal\", \"-reveal2\");\n },\n });\n });\n }\n}\n","import axios from \"axios\";\n\nexport default class Main {\n constructor() {\n this.newslist = null;\n this.page = 0;\n this.limit = 3;\n this.total = 0;\n this.init();\n }\n\n init() {\n if (document.querySelector(\".news\")) {\n this.getNews();\n }\n }\n\n getNews() {\n axios.get(\"./assets/data/news.json\").then((response) => {\n this.newslist = response.data;\n\n const pagelist = this.newslist.slice(this.page * this.limit, (this.page + 1) * this.limit);\n this.setNews(pagelist);\n this.setPaginate();\n this.activeIndex();\n });\n }\n\n activeIndex() {\n const items = [...document.querySelectorAll(\".news__nav__index li\")];\n\n items.forEach((el, index) => {\n el.classList.remove(\"-active\");\n\n if (index === this.page) {\n el.classList.add(\"-active\");\n }\n });\n }\n\n setPaginate() {\n const wrapper = document.querySelector(\".news__nav__index\");\n wrapper.innerHTML = \"\";\n\n const totalpage = Math.ceil(this.newslist.length / this.limit);\n this.total = totalpage;\n\n const setnewsfunc = (i) => {\n const pagelist = this.newslist.slice(i * this.limit, (i + 1) * this.limit);\n this.setNews(pagelist);\n this.activeIndex();\n };\n\n for (let i = 0; i < totalpage; i++) {\n const item = document.createElement(\"li\");\n item.textContent = i + 1;\n\n item.addEventListener(\"click\", () => {\n this.page = i;\n setnewsfunc(i);\n });\n\n wrapper.appendChild(item);\n }\n\n const arw = [...document.querySelectorAll(\".news__nav__arw\")];\n\n arw.forEach((el) => {\n el.addEventListener(\"click\", () => {\n const dir = el.getAttribute(\"data-dir\") === \"prev\" ? -1 : 1;\n\n this.page += dir;\n\n if (this.page < 0) {\n this.page = 0;\n }\n\n if (this.page > this.total - 1) {\n this.page = this.total - 1;\n }\n\n setnewsfunc(this.page);\n });\n });\n }\n\n setNews(data) {\n const wrapper = document.querySelector(\".js-newslist\");\n wrapper.innerHTML = \"\";\n\n data.forEach((el) => {\n const item = document.createElement(\"li\");\n item.classList.add(\"item\");\n const date = document.createElement(\"p\");\n date.classList.add(\"date\", \"c-sans\");\n date.textContent = el.date;\n let ttl = null;\n\n if (el.link) {\n ttl = document.createElement(\"a\");\n ttl.href = el.link;\n ttl.target = \"_blank\";\n } else {\n ttl = document.createElement(\"h4\");\n }\n\n ttl.classList.add(\"ttl\");\n ttl.textContent = el.title;\n item.appendChild(date);\n item.appendChild(ttl);\n\n wrapper.appendChild(item);\n });\n }\n}\n","export default class Campaign {\n constructor() {\n this.init();\n }\n\n init() {\n this.eventBind();\n }\n\n eventBind() {\n const open = [...document.querySelectorAll(\".js-rescomic_open\")];\n const close = [...document.querySelectorAll(\".js-rescomic_close\")];\n const wrapper = document.querySelector(\".resmodal__jsimg\");\n\n open.forEach((el) => {\n el.addEventListener(\"click\", () => {\n const src = el.getAttribute(\"data-src\");\n const img = new Image();\n img.src = src;\n wrapper.appendChild(img);\n });\n });\n\n close.forEach((el) => {\n el.addEventListener(\"click\", () => {\n wrapper.innerHTML = \"\";\n });\n });\n }\n}\n","import gsap from \"gsap\";\nimport { ScrollTrigger, ScrollToPlugin } from \"gsap/all\";\ngsap.registerPlugin(ScrollTrigger, ScrollToPlugin);\nimport _ from \"lodash\";\n\nexport default class ScrollFunc {\n constructor(debugmode, gameInstance) {\n this.debugmode = debugmode;\n this.game = gameInstance;\n //this.init();\n\n this.modalScroll();\n }\n\n init() {\n if (document.querySelector(\".l-main\")) {\n this.activeSection();\n this.sectionScroll();\n this.cmnReveal();\n this.bgScroll();\n }\n }\n\n bgScroll() {\n let timer = null;\n const bg = document.querySelector(\".l-bg\");\n\n const scrollfunc = () => {\n clearTimeout(timer);\n bg.classList.add(\"-bg_anim_active\");\n\n timer = setTimeout(() => {\n bg.classList.remove(\"-bg_anim_active\");\n }, 1000);\n };\n\n if (window.innerWidth >= 835) {\n window.addEventListener(\"scroll\", _.throttle(scrollfunc, 350));\n }\n }\n\n cmnReveal() {\n const revealelm = [...document.querySelectorAll(\".js-scrollreveal\")];\n\n revealelm.forEach((elm) => {\n ScrollTrigger.create({\n trigger: elm,\n start: \"top 70%\",\n end: \"top 70%\",\n //markers: true,\n onEnter: () => {\n elm.classList.add(\"-reveal\");\n },\n onEnterBack: () => {\n elm.classList.remove(\"-reveal\");\n },\n });\n });\n }\n\n modalScroll() {\n const revealelm = [...document.querySelectorAll(\".js-modalreveal\")];\n\n revealelm.forEach((elm) => {\n ScrollTrigger.create({\n trigger: elm,\n start: \"top 80%\",\n end: \"bottom 0\",\n scroller: \".twmodal\",\n //markers: true,\n onEnter: () => {\n elm.classList.add(\"-reveal\");\n },\n });\n });\n\n const modalclose = document.querySelector(\".js-twclose\");\n const twmodal = document.querySelector(\".twmodal\");\n\n modalclose.addEventListener(\"click\", () => {\n //revealelm.forEach((el) => el.classList.remove(\"-reveal\"));\n twmodal.scrollTo(0, 0);\n });\n\n const resrevealelm = [...document.querySelectorAll(\".js-resmodalreveal\")];\n\n resrevealelm.forEach((elm) => {\n ScrollTrigger.create({\n trigger: elm,\n start: \"top 80%\",\n end: \"bottom 0\",\n scroller: \".resmodal\",\n //markers: true,\n onEnter: () => {\n elm.classList.add(\"-reveal\");\n },\n });\n });\n\n const resmodalclose = document.querySelector(\".js-resclose\");\n const restwmodal = document.querySelector(\".resmodal\");\n\n modalclose.addEventListener(\"click\", () => {\n twmodal.scrollTo(0, 0);\n });\n }\n\n sectionScroll() {\n const btn = [...document.querySelectorAll(\".js-sectionscroll\")];\n\n btn.forEach((el) => {\n el.addEventListener(\"click\", (e) => {\n e.preventDefault();\n let tgt = document.querySelector(`.js-section[data-section='${el.getAttribute(\"data-section\")}']`);\n\n if (tgt.getAttribute(\"data-section\") === \"top\") {\n tgt = 0;\n }\n\n gsap.to(window, {\n scrollTo: { y: tgt },\n duration: 1,\n });\n });\n });\n }\n\n activeSection() {\n const section = [...document.querySelectorAll(\".js-section\")];\n const pvcurtain = document.querySelector(\".pv__curtain\");\n const lmain = document.querySelector(\".l-main\");\n\n const colorMap = {\n pv: \"#d1ffc4\",\n campaign: \"#9dedff\",\n history: \"#fff0a6\",\n news: \"#ffe1d4\",\n footer: \"#ffe1d4\",\n };\n\n let timers = [];\n\n const setCurrentSection = (sec) => {\n const secID = sec.getAttribute(\"data-section\");\n document.body.setAttribute(\"data-currentsection\", secID);\n\n if (secID === \"top\") {\n const gameColor = document.querySelector(\".game\").getAttribute(\"data-color\");\n lmain.style.background = gameColor;\n //console.log(\"secColorChange\");\n } else {\n lmain.style.background = colorMap[secID];\n }\n };\n\n section.forEach((sec) => {\n ScrollTrigger.create({\n trigger: sec,\n start: \"top 50%\",\n end: \"bottom 50%\",\n //markers: true,\n onEnter: () => {\n setCurrentSection(sec);\n },\n onEnterBack: () => {\n setCurrentSection(sec);\n },\n });\n });\n\n const classChange = () => {\n pvcurtain.classList.remove(\"-anim\");\n\n timers.forEach((timer) => clearTimeout(timer));\n timers = [];\n\n timers.push(\n setTimeout(() => {\n pvcurtain.classList.add(\"-anim\");\n }, 1)\n );\n };\n\n const firstLook = () => {\n const pvSec = document.querySelector(\".pv\");\n const topSec = document.querySelector(\".game\");\n const pvelm = document.querySelector(\".pv__video\");\n let enterFlag = false;\n let enterFlag2 = false;\n\n //top→pvのみのトリガー\n ScrollTrigger.create({\n trigger: pvSec,\n start: \"top 90%\",\n onEnter: () => {\n if (enterFlag) {\n return;\n }\n classChange();\n this.game.destroy();\n pvelm.setAttribute(\"src\", \"./assets/img/top/pv/pv.mp4\");\n enterFlag = true;\n gsap.to(window, {\n scrollTo: { y: pvSec },\n duration: 0.5,\n onComplete: () => {\n enterFlag = false;\n },\n });\n },\n });\n ScrollTrigger.create({\n trigger: topSec,\n onEnterBack: () => {\n if (enterFlag2) {\n return;\n }\n classChange();\n this.game.reset();\n pvelm.setAttribute(\"src\", \"\");\n enterFlag2 = true;\n gsap.to(window, {\n scrollTo: { y: 0 },\n duration: 0.5,\n onComplete: () => {\n enterFlag2 = false;\n },\n });\n },\n });\n };\n\n if (!this.debugmode) {\n firstLook();\n }\n }\n}\n","import gsap from \"gsap\";\nimport { ScrollToPlugin } from \"gsap/all\";\ngsap.registerPlugin(ScrollToPlugin);\n\nimport Modal from \"./common/modal.es6\";\nimport Movie from \"./common/movie.es6\";\nimport UI from \"./common/ui.es6\";\n\nimport Canvas from \"./gl/canvas.es6\";\nimport BgCanvas from \"./gl_bg/canvas.es6\";\nimport Game from \"./game/main.es6\";\nimport History from \"./history/main.es6\";\nimport News from \"./news/main.es6\";\nimport Campaign from \"./campagin/main.es6\";\n\nimport ScrollFunc from \"./common/scrollfunc.es6\";\nimport { setVariables } from \"./common/setvariables.es6\";\nimport { debug } from \"./common/debug.es6\";\n\nexport default class Main {\n constructor() {\n this.init();\n }\n\n init() {\n //common functions\n setVariables();\n const debugMode = debug();\n\n this.game = new Game(debugMode);\n this.scrollfunc = new ScrollFunc(debugMode, this.game);\n this.modal = new Modal();\n this.movie = new Movie();\n this.ui = new UI();\n this.news = new News();\n this.history = new History();\n this.campaign = new Campaign();\n this.bgCanvas = new BgCanvas();\n\n if (!debugMode) {\n gsap.to(window, { scrollTo: { y: 0 }, duration: 0, delay: 1 }); //初期化\n this.canvas = new Canvas({ game: this.game, scrollFunc: this.scrollfunc, history: this.history, bgCanvas: this.bgCanvas });\n } else {\n document.body.classList.remove(\"-lock\");\n this.scrollfunc.init();\n this.history.init();\n }\n }\n}\n","import Main from \"./top/main.es6\";\n\nconst main = new Main();\n","export function setVariables() {\n const setHeight = () => {\n document.documentElement.style.setProperty(\"--screenHeight\", `${window.innerHeight}px`);\n document.documentElement.style.setProperty(\"--pageHeight\", `${document.body.clientHeight}px`);\n\n //footer幅\n const content = document.querySelector(\".l-bg_contents\");\n\n if (content) {\n //スクロールバーの幅を考慮してclientWidthを使う\n document.documentElement.style.setProperty(\"--footerWidth\", `${(document.body.clientWidth - content.offsetWidth) / 2}px`);\n }\n };\n\n //set Events\n setHeight();\n if (window.innerWidth >= 835) {\n window.addEventListener(\"resize\", setHeight);\n }\n}\n","export function debug() {\n const getParam = (name, url) => {\n if (!url) url = window.location.href;\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\n results = regex.exec(url);\n if (!results) return null;\n if (!results[2]) return \"\";\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\n };\n\n if (getParam(\"debugXXXX\")) {\n document.body.classList.add(\"-debug\");\n return true;\n } else {\n return false;\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkbuild\"] = self[\"webpackChunkbuild\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [736], function() { return __webpack_require__(133); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","Modal","constructor","this","init","eventBind","resetEvent","resetOption","openbuttons","document","querySelectorAll","closebuttons","modals","handleOpen","e","preventDefault","modalID","currentTarget","getAttribute","tgtmodal","querySelector","body","classList","add","handleClose","remove","closetgt","forEach","el","removeEventListener","addEventListener","Movie","player","setup","tag","createElement","videoID","navbtn","src","firstScriptTag","getElementsByTagName","parentNode","insertBefore","window","onYouTubeIframeAPIReady","YT","Player","height","width","videoId","events","onStateChange","bind","onError","index","console","log","data","setTimeout","style","opacity","videowrap","changebtn","stopVideo","loadVideo","id","loadVideoById","UI","acc","campaignSerifLoop","parent","closest","wrapper","nextElementSibling","offsetHeight","toggle","getComputedStyle","getPropertyValue","serifs","cobj","count","loop","length","Vector","x","y","z","prototype","negative","v","subtract","multiply","divide","equals","dot","cross","Math","sqrt","unit","min","max","toAngles","theta","atan2","phi","asin","angleTo","a","acos","toArray","n","slice","clone","limit","b","c","fromAngles","cos","sin","randomDirection","random","PI","lerp","fraction","fromArray","angleBetween","Particle","options","position","outerRadius","radius","rad","radSpeed","alpha","amount","g","i","group","gameIndex","getGameIndex","video","videoSprite","videoStart","videoEnd","offset","mask","curtain","curtainSize","w","h","curtainOffset","curtainEnd","maskStartEvent","animationEnd","factory","setPosition","center","innerWidth","innerHeight","getOffset","offsetTable","randLimit","radiusAnim","gsap","duration","delay","ease","onComplete","update","t","clear","beginFill","arc","endFill","color","drawRect","interactAnimation","baseRadius","scale","setInteractAnimation","radSpeedChange","baseSpeed","interactive","buttonMode","defaultCursor","onClick","detail","dispatchEvent","on","resourceOptions","autoPlay","updateFPS","addChild","videoElm","texture","baseTexture","resource","source","muted","playsinline","play","pivot","display","destroy","pause","remap","Mask","blendMode","draw","toOverScreen","size","Logo","assetsLoadedEvent","btnSprite","tl","fs","autoplay","currentTime","loader","load","resources","textures","fire","textureArray","Object","keys","map","sprite","animationSpeed","btnAnim","repeat","to","fireanim","kill","Canvas","instances","app","containers","particles","resizeTimer","game","scrollFunc","history","bgCanvas","setupPixi","view","resolution","devicePixelRatio","backgroundColor","autoResize","autoDensity","antialias","setupCanvas","ce","CustomEvent","logo","stage","k","outerRadiusArray","push","particle","onMaskOver","content","documentElement","setProperty","clientWidth","offsetWidth","switchRadSpeed","switchLoop","now","performance","start","animate","timestamp","delta","floor","elapsed","requestAnimationFrame","setFullscreenCanvas","clearTimeout","renderer","resize","getPosition","getV","randRange","edgeCheck","backgroundAlpha","ScrollToPlugin","debugmode","doms","game_inner","game_touchinner","game_nextbg","game_prevbg","ttl","release","copy","bgtxt","screen","commentwrapper","lmain","curtains","currentIndex","swiperElm","timers","maskEnd","setSwiper","setScroller","clearTimer","setAttribute","reset","setInfo","commentLoop","slideToLoop","slidesPerView","centerMode","centeredSlides","spaceBetween","initialSlide","breakpoints","slideChange","realIndex","setAnimation","items","timeout","currentData","textContent","name_ja","innerHTML","name_tag","name","poster","comment","item","obj","appendChild","background","contains","slidePrev","slideNext","startX","startY","moveX","moveY","distanceX","distanceY","touchTimer","resetPosition","transition","transform","touches","pageX","pageY","nextIndex","prevIndex","prevData","nextData","timer","clearInterval","passive","changedTouches","abs","scrollTo","ScrollTrigger","History","grabScroll","setScale","onScroll","set","grabbing","diffX","scrolled","clientX","scrollLeft","year_1","year_10","routebg","outer","progress","scrollWidth","normalizeProgress","clipPath","scroller","horizontal","trigger","end","onEnter","onEnterBack","newslist","page","total","getNews","axios","then","response","pagelist","setNews","setPaginate","activeIndex","totalpage","ceil","setnewsfunc","dir","date","link","href","target","title","Campaign","open","close","img","Image","ScrollFunc","gameInstance","modalScroll","activeSection","sectionScroll","cmnReveal","bgScroll","bg","elm","modalclose","twmodal","tgt","section","pvcurtain","colorMap","pv","campaign","news","footer","setCurrentSection","sec","secID","gameColor","classChange","pvSec","topSec","pvelm","enterFlag","enterFlag2","firstLook","setHeight","clientHeight","setVariables","debugMode","url","location","replace","results","RegExp","exec","decodeURIComponent","getParam","scrollfunc","modal","movie","ui","canvas","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","loaded","__webpack_modules__","call","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","key","splice","r","getter","__esModule","d","definition","o","defineProperty","enumerable","get","globalThis","Function","prop","hasOwnProperty","Symbol","toStringTag","value","nmd","paths","children","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}