logo
  • NEWS
  • ON AIR
  • STAFF&CAST
  • STORY
  • CHARACTER
  • Blu-ray&DVD
  • MUSIC
  • MOVIE
  • BOOKS
  • SPECIAL
SHARE
  • X
  • Facebook
  • LINE
2025年10月TVアニメ放送開始!

INFORMATION

NEWS

VIEW ALL

2025/10/17
第3話の先行カット&あらすじを公開!
2025/10/10
第2話の先行カット&あらすじを公開!
2025/10/07
マチ★アソビ Vol.29にてステージイベント開催決定
2025/10/06
全国のアニメイトにてキャラクターポスタージャック&予約キャンペーン開催決定!全国のアニメイト5店舗にてスタンディ&パネルの展示と店舗限定のプレゼントキャンペーン開催!
2025/10/03
第1話の先行カット&あらすじを公開!

OfficialX Official TikTok

SHARE
  • X
  • Facebook
  • LINE
logo

©裕夢/小学館/チラムネ製作委員会

'+ ''+ '
', patterns: { youtube: { src: '//www.youtube.com/embed/%id%?autoplay=1&rel=0' } } }, disableOn: 0, type: "iframe", mainClass: 'mfp-fade', removalDelay: 500, preloader: false, fixedContentPos: false }); /* ========================================== ニュースの記号変更 yyyy.mm.dd ========================================== */ function dayTag(origin){ const _origin = origin.text(); const _origins = _origin.split('/'); let dayTag = ''+_origins[0]+''; dayTag += ''+_origins[1]+'.'+_origins[2]+'' return dayTag; }; const newsList = $('.newsList') const newsListTr = newsList.find('tr') newsListTr.each(function(){ const $this = $(this); const thisLinkTag = $this.find('a'); const thisTitle = $this.find('.title'); const $thisNew = $this.find('.new_ic'); //thisTitle.append(thisLinkTag.innerHTML) let newsListLine = ''; if(thisLinkTag.length){ newsListLine = thisLinkTag; }else{ newsListLine = thisTitle; $thisNew.removeClass('new_ic') } newsListLine.addClass('newsListLine') let titleClass = "newsListLine__title"; if($thisNew.length){ titleClass += " new_ic" } newsListLine.wrapInner('
') const newsListLineDay = $('
'); const day = $('
'); day.append(dayTag($this.find('.day'))); newsListLineDay.append(day) newsListLine.prepend(newsListLineDay) newsList.append(newsListLine) }) newsList.find('table').remove() }); /* ========================================== * * WAVE * ========================================== */ /** * Init function. * * Initialize variables and begin the animation. */ let canvasUpdate = []; const bgBubble = new Image(); bgBubble.src = 'core_sys/images/main/particle/waveBubble.png'; function init() { const alpha = 1, zoom = 4, delay = 0, speedN = 1.0, unit = (window.innerWidth/4>200)?200:window.innerWidth/4, // brend = "hard-light", waveHeight = (window.innerWidth/8>100)?100:window.innerWidth/8; let targetScrollOffset = 0; // 目標スクロール位置 let currentScrollOffset = 0; // イージング適用後のスクロール位置 let easingFactor = 0.05; // イージングの強さ(0.1がスムーズ) const canvases = document.getElementsByClassName("bgWave"); let imgW = bgBubble.width,imgH = bgBubble.height; for(let i=0;i canvas.width*3){ const aspectRatio = imgW/imgH; imgW = canvas.width*3; imgH = imgW/aspectRatio; } currentScrollOffset += (targetScrollOffset - currentScrollOffset) * easingFactor; let startX = Math.floor((canvas.width - imgW) / 2); if(startX > 0){ startX = startX + Math.ceil(startX / imgW) * imgW * -1; } const startY = Math.floor((canvas.height - imgH) / 2 / imgH) * imgH + currentScrollOffset % imgH; for (let x = startX; x < canvas.width; x += imgW) { for (let y = startY - imgH; y < canvas.height; y += imgH) { context.drawImage(bgBubble, x, y, imgW, imgH); } } } context.restore() } function drawSine(t) { // var xAxis = Math.floor(canvas.height/2); var xAxis = waveHeight/2; var yAxis = 0; // Set the initial x and y, starting at 0,0 and translating to the origin on // the canvas. var x = t; //時間を横の位置とする var y = Math.sin(x)/zoom; if(info.top){ context.moveTo(yAxis, unit*y+xAxis); //スタート位置にパスを置く // Loop to draw segments (横幅の分、波を描画) for (i = yAxis; i <= canvas.width + 10; i += 10) { x = t+(-yAxis+i)/unit/zoom; y = Math.sin(x - info.delay)/5; context.lineTo(i, unit*y+xAxis); } }else{ context.moveTo(-10, 0); //スタート位置にパスを置く context.lineTo(canvas.width + 10 , 0) } if(info.bottom){ xAxis = canvas.height - waveHeight/2; context.lineTo(i, canvas.height - waveHeight/2); for (let z = i; z >= -10; z -= 10) { x = t+(-yAxis+z)/unit/zoom; y = Math.sin(x - info.delay)/7; context.lineTo(z, unit*y+xAxis); } }else{ context.lineTo(canvas.width+10, canvas.height); context.lineTo(-10, canvas.height); } } } } window.addEventListener('DOMContentLoaded', function(){ init(); }) window.addEventListener('load', function(){ init(); }) window.addEventListener('resize', function(){ init(); });
'+ ''+ '
', patterns: { youtube: { src: '//www.youtube.com/embed/%id%?autoplay=1&rel=0' } } }, disableOn: 0, type: type, mainClass: 'mfp-fade', removalDelay: 500, preloader: false, // fixedContentPos: false, callbacks: { open: function() { if(callbackOpen){ callbackOpen(); } }, beforeClose: function() { if(callbackClose){ callbackClose(); } } } }); } // ロード時自動モーダル = 画像または動画 if( modalOption["autoPopup"] ) { if( modalOption["type"] === "youtube" ) { mfpSetting('#js-autoModal', mfpIframeSrc, 'iframe', "", showCont); } else if ( modalOption["type"] === "img" ){ mfpSetting('#js-autoModal', modalOption["imgSrc"], 'image', "", showCont); if(modalOption['imgLink']){ $(document).on('click','.mfp-img',function(){ window.location.href = modalOption['imgLinkUrl']; }) } } } // クリックでモーダル = 動画 mfpSetting('.js-clickYouTubeModal', mfpIframeSrc, 'iframe', "", ""); /* ========================================== * * ローディング * ========================================== */ // アニメーション時間 let animationTime = 500; const $body = $('body'); // コンテンツ表示 function showCont(){ $("body").addClass("is-loaded"); $("#loading").fadeOut(1000,"easeInOutQuint"); } // ローディング function loading(){ if ( MAVJS.checkReferer() ) { // 同一ドメインからのリンクの場合 kvSlider(); showCont(); return; } // ダイレクト、または別サイトからの流入の場合 $body.css({ overflow: 'hidden' }) const $loading = $('.loading'); setTimeout(function(){ $loading.css({ opacity: 1, transition: "1s ease", }) }, animationTime ); animationTime += 2000; setTimeout(function(){ // 自動モーダル設定なし $body.css({ overflow: '' }) kvSlider(); showCont(); if( modalOption["autoPopup"] ) { // 自動モーダル設定あり $('#js-autoModal').trigger("click"); return; } }, animationTime ); } loading(); });