Thank you
Thank you so much for your order! We are delighted to let you know that we have begun preparing it with care.
Processing Time: Your package will be shipped within 3 business days.
Tracking Information: As soon as your order has been dispatched, we will send you your tracking number so you can follow its journey.
We truly appreciate your support and cannot wait for you to receive your package!
IchikaOkashi | Rare Japanese Snacks, KitKat & Gachapon Mystery Boxes (function() { "use strict"; /* ========================================================= πͺ SNACK IMAGES ========================================================= */ var snacks = [ "https://ichikaokashi.com/assets/images/image21.png?v=e7ef58a6", "https://ichikaokashi.com/assets/images/image22.png?v=e7ef58a6", "https://ichikaokashi.com/assets/images/image23.png?v=e7ef58a6", "https://ichikaokashi.com/assets/images/image24.png?v=e7ef58a6", "https://ichikaokashi.com/assets/images/image25.png?v=e7ef58a6", "https://ichikaokashi.com/assets/images/image26.png?v=e7ef58a6", "https://ichikaokashi.com/assets/images/image27.png?v=d7675441", "https://ichikaokashi.com/assets/images/image28.png?v=d7675441", "https://ichikaokashi.com/assets/images/image29.png?v=d7675441", "https://ichikaokashi.com/assets/images/image30.png?v=d7675441", "https://ichikaokashi.com/assets/images/image31.png?v=d7675441", "https://ichikaokashi.com/assets/images/image32.png?v=d7675441", "https://ichikaokashi.com/assets/images/image33.png?v=d7675441", /* image34 intentionally omitted */ "https://ichikaokashi.com/assets/images/image35.png?v=d7675441", "https://ichikaokashi.com/assets/images/image36.png?v=d7675441", "https://ichikaokashi.com/assets/images/image37.png?v=d7675441", "https://ichikaokashi.com/assets/images/image38.png?v=d7675441", "https://ichikaokashi.com/assets/images/image39.png?v=d7675441", "https://ichikaokashi.com/assets/images/image40.png?v=d7675441", "https://ichikaokashi.com/assets/images/image41.png?v=d7675441", "https://ichikaokashi.com/assets/images/image42.png?v=d7675441", "https://ichikaokashi.com/assets/images/image43.png?v=d7675441", "https://ichikaokashi.com/assets/images/image44.png?v=d7675441", "https://ichikaokashi.com/assets/images/image45.png?v=d7675441", "https://ichikaokashi.com/assets/images/image46.png?v=d7675441", "https://ichikaokashi.com/assets/images/image47.png?v=d7675441", "https://ichikaokashi.com/assets/images/image48.png?v=d7675441", "https://ichikaokashi.com/assets/images/image49.png?v=d7675441", "https://ichikaokashi.com/assets/images/image50.png?v=d7675441" ]; /* ========================================================= πΈ SETTINGS ========================================================= */ /* CHANGE THIS IF YOU WANT THE SNACKS TO START LOWER OR HIGHER RELATIVE TO THE SCREEN. 0 = top of screen 0.5 = middle 1 = bottom */ var START_HEIGHT = 0.35; /* TIME BETWEEN EACH SNACK */ var DELAY = 120; /* ANIMATION SPEED */ var DURATION = 4200; /* ========================================================= πΈ START ANIMATION ========================================================= */ function launchSnacks() { /* --------------------------------------------------------- CREATE LAYER --------------------------------------------------------- */ var layer = document.createElement("div"); layer.id = "ichika-snack-fly-layer"; document.body.appendChild(layer); /* --------------------------------------------------------- SCREEN SIZE --------------------------------------------------------- */ var screenWidth = window.innerWidth; var screenHeight = window.innerHeight; /* --------------------------------------------------------- STARTING AREA The snacks emerge from around the center of the page where your banner is normally located. --------------------------------------------------------- */ var centerX = screenWidth / 2; var startY = screenHeight * START_HEIGHT; /* ========================================================= πͺ CREATE EACH SNACK ========================================================= */ snacks.forEach( function(url, index) { setTimeout( function() { var snack = document.createElement("img"); snack.className = "ichika-snack-fly"; snack.src = url; snack.alt = ""; /* ------------------------------------------------------- RANDOM START POSITION ------------------------------------------------------- */ var startX = centerX + ( Math.random() - 0.5 ) * ( Math.min(screenWidth * .75, 700) ); /* ------------------------------------------------------- JUMP DIRECTION ------------------------------------------------------- */ var direction = Math.random() < .5 ? -1 : 1; /* ------------------------------------------------------- JUMP HEIGHT ------------------------------------------------------- */ var jump = 90 + Math.random() * 130; /* ------------------------------------------------------- SIDE MOVEMENT ------------------------------------------------------- */ var sideMove = direction * ( 50 + Math.random() * 150 ); /* ------------------------------------------------------- FINAL HORIZONTAL POSITION ------------------------------------------------------- */ var finalX = ( Math.random() * screenWidth ); /* ------------------------------------------------------- ROTATION ------------------------------------------------------- */ var r1 = direction * ( 8 + Math.random() * 15 ); var r2 = direction * ( 20 + Math.random() * 30 ); var r3 = direction * ( 50 + Math.random() * 70 ); /* ------------------------------------------------------- POSITION ------------------------------------------------------- */ snack.style.left = startX + "px"; snack.style.top = startY + "px"; layer.appendChild( snack ); /* ===================================================== β¨ ANIMATION ===================================================== */ var animation = snack.animate( [ /* ===================================================== 0% Hidden ===================================================== */ { transform: "translate(-50%, 20px) " + "scale(.25) " + "rotate(0deg)", opacity: 0 }, /* ===================================================== 12% POP OUT ===================================================== */ { transform: "translate(" + (-50 + sideMove * .25) + "px, " + (-jump * .55) + "px) " + "scale(1.15) " + "rotate(" + r1 + "deg)", opacity: 1 }, /* ===================================================== 27% HIGH JUMP ===================================================== */ { transform: "translate(" + (-50 + sideMove) + "px, " + (-jump) + "px) " + "scale(1) " + "rotate(" + r2 + "deg)", opacity: 1 }, /* ===================================================== 43% FLOAT ===================================================== */ { transform: "translate(" + (-50 + sideMove * 1.4) + "px, " + (-jump * .35) + "px) " + "scale(.98) " + "rotate(" + (r2 * -0.5) + "deg)", opacity: 1 }, /* ===================================================== 70% FALL ===================================================== */ { transform: "translate(" + (finalX - startX) + "px, " + (screenHeight * .65) + "px) " + "scale(.88) " + "rotate(" + r3 + "deg)", opacity: .8 }, /* ===================================================== 88% NEAR BOTTOM ===================================================== */ { transform: "translate(" + (finalX - startX) + "px, " + (screenHeight - 20) + "px) " + "scale(.72) " + "rotate(" + (r3 + 20) + "deg)", opacity: .35 }, /* ===================================================== 100% DISAPPEAR ===================================================== */ { transform: "translate(" + (finalX - startX) + "px, " + (screenHeight + 100) + "px) " + "scale(.48) " + "rotate(" + (r3 + 40) + "deg)", opacity: 0 } ], { duration: DURATION + Math.random() * 800, easing: "cubic-bezier(.16,.72,.25,1)", fill: "forwards" } ); /* ------------------------------------------------------- REMOVE AFTER ANIMATION ------------------------------------------------------- */ animation.finished.then( function() { if (snack.parentNode) { snack.parentNode.removeChild( snack ); } } ).catch( function() { if (snack.parentNode) { snack.parentNode.removeChild( snack ); } } ); }, index * DELAY ); }); /* ========================================================= π§Ή REMOVE LAYER ========================================================= */ setTimeout( function() { if (layer.parentNode) { layer.parentNode.removeChild( layer ); } }, snacks.length * DELAY + DURATION + 1500 ); } /* ========================================================= π START ========================================================= */ setTimeout( launchSnacks, 1500 ); })();