1/** 2 * top 3 */ 4 5/** 6 * functions by top 7 */ 8const TOP = { 9 // ãããã¼ã®é«ããåå¾ 10 headerHeight: 0, 11 // ãããã¼ã®é«ããåå¾ããå ´åã®ããµã¤ãºã¤ãã³ãã¿ã¤ãã¼ 12 headerHeightTimer: false, 13 // ãããã¼ã®é«ããåå¾ 14 setHeaderHeight: function(){ 15 TOP.headerHeight = $('.header').height(); 16 }, 17 // ãããã¼ã®é«ãããªãµã¤ãºæã«åå¾ 18 setResizeHeaderHeight: function(){ 19 if (TOP.headerHeightTimer !== false) { 20 clearTimeout(TOP.headerHeightTimer); 21 } 22 // ãªãµã¤ãºçµãã 0.1ç§ã§å¦ç 23 TOP.headerHeightTimer = setTimeout(function(){ 24 TOP.setHeaderHeight(); 25 }, 100); 26 }, 27 28 /** 29 * facility ã¢ãã¡ã¼ã·ã§ã³ããªã¬ã¼å¦ç 30 */ 31 // ãã¼ãæã®ä½ç½® 32 facilityLoad: false, 33 // ã¹ã¯ãã¼ã«ã¤ãã³ãã®åæ° 34 facilityScroll: 0, 35 // ã¹ã¯ãã¼ã«ãæ¢ããå¤å® 36 facilityScrollStop: true, 37 // ã¹ã¯ãã¼ã«ã¤ãã³ãã§facilityãè¶ ãããã©ããå¤å® 38 facilityAnimationTrigger: function($type){ 39 if(TOP.facilityScrollStop){ 40 if($type === 'load'){ 41 TOP.facilityLoad = true; 42 } 43 if($type === 'scroll'){ 44 TOP.facilityScroll++; 45 } 46 const facilityScrollStopLine = $('.facility-txt').offset().top - TOP.headerHeight; 47 if($(window).scrollTop() >= facilityScrollStopLine){ 48 // facilityã®è¦ç´ ãè¶ ãã¦ãªãã¼ãããã¨ã¹ã¯ãã¼ã«ã¤ãã³ãããªã«ã触ããã¨ã2åçºçãã 49 // headerã®ä¸é¨ä½ç½®ãfacilityä¸é¨ä½ç½®ãè¶ ããæç¹ã§ã¹ã¯ãã¼ã«ã¤ãã³ãåæ°ã3以ä¸ããã°ç»é¢ã忢ãã 50 if(TOP.facilityLoad && TOP.facilityScroll > 2){ 51 lenis.stop(); 52 window.scroll({ 53 top: facilityScrollStopLine, 54 behavior: "auto" 55 }); 56 } 57 TOP.facilityAnimation(); 58 } 59 } 60 }, 61 62 /**
63 * facility ã¢ãã¡ã¼ã·ã§ã³æ¬ä½ 64 * @returns 65 */ 66 facilityAnimation: function(){ 67 const $facility = $('.facility'); 68 69 // ä¸åã ã 70 if($facility.data('animated')) return; 71 72 // ä¸åã ãã®ãã©ã°è¨å® 73 $facility.data('animated', true); 74 let $txtBox = $facility.find('.facility-txt-box'); 75 let $topList = $facility.find('#link-list .facility-top-list'); 76 let $bottomList = $facility.find('#link-list .facility-bottom-list'); 77 78 // ãã§ã¼ãã¤ã³ 79 $txtBox.fadeIn(0, function(){ 80 // 1ç§è¡¨ç¤ºå¾ã«å·¦ã«é£ã°ã 81 TOP.facilityScrollStop = false; 82 // setTimeout(function(){ 83 // $txtBox.animate({top:'12vw'}, 500); 84 // }, 1500); 85 86 // setTimeout(function(){ 87 // $txtBox.animate({left:'0'}, 500); 88 // }, 200); 89 $txtBox.animate({left:'0'}, 500); 90 }); 91 92 if ($(window).width() > 767) { 93 // --- PCæã®åãï¼å¾æ¥éãï¼ --- 94 $topList.animate({left:'0'}, 500); 95 96 setTimeout(function(){ 97 $bottomList.animate({left:'0'}, 500, function(){ 98 setTimeout(function(){ 99 lenis.start(); 100 }, 500); 101 102 }); 103 }, 100); 104 105 } else { 106 // --- SPæã®åã --- 107 setTimeout(function(){ 108 // ã¢ãã¡ã¼ã·ã§ã³ããã¿ã¤ãã³ã°ã§åãã 109 lenis.start(); 110 // ã¾ã facility-top-list ãé çªã«è¡¨ç¤º 111 let topChildren = $topList.children(); 112 let bottomChildren = $bottomList.children(); 113 let delay = 0; 114 let interval = 200; // åè¦ç´ ãã¨ã®éé 115 116 topChildren.each(function(i){ 117 $(this).delay(delay).animate({left: '0'}, 400); 118 delay += interval; 119 }); 120 121 // top-list ã®æå¾ã®ã¢ãã¡ã¼ã·ã§ã³ãçµããã¿ã¤ãã³ã°ã§ bottom-list éå§ 122 let totalDelay = delay; // top-listå ¨ä½ã®çµäºã¿ã¤ãã³ã° 123 bottomChildren.each(function(i){ 124 $(this).delay(totalDelay + i * interval).animate({left: '0'}, 400); 125 }); 126 127 }, 1000); 128 } 129 }, 130 131 /** 132 * brand ã¢ãã¡ã¼ã·ã§ã³ããªã¬ã¼å¦ç 133 */ 134 // ãã¼ãæã®ä½ç½® 135 brandLoad: false, 136 // ã¹ã¯ãã¼ã«ã¤ãã³ãã®åæ° 137 brandScroll: 0, 138 // ã¹ã¯ãã¼ã«ãæ¢ããå¤å® 139 brandScrollStop: true, 140 // ãã©ã³ãã¢ãã¡ã¼ã·ã§ã³ 141 hasAnimated: false, 142 // ã¹ã¯ãã¼ã«ã¤ãã³ãã§brandãè¶ ãããã©ããå¤å® 143 brandAnimationTrigger: function($type){ 144 if (TOP.hasAnimated) return; 145 146 // åºããã¢ãã¡ã¼ã·ã§ã³ 147 let $img = $('.scroll-scale'); 148 let $parent = $('.original-brand'); 149 let scrollTop = $(window).scrollTop(); 150 let windowHeight = $(window).height(); 151 let parentTop = $parent.offset().top; 152 // ç»é¢ä¸20%ã«å ¥ã£ãã¿ã¤ãã³ã°ã§ç»åæ¡å¤§éå§ 153 if (scrollTop + windowHeight > parentTop) { 154 let minWidth = 60 * parseFloat(getComputedStyle(document.documentElement).fontSize); 155 let maxWidth = $(window).width(); 156 let ratio = Math.min((scrollTop + windowHeight - parentTop) / (windowHeight / 2), 1); 157 let newWidth = minWidth + (maxWidth - minWidth) * ratio; 158 $img.css('width', newWidth + 'px'); 159 } 160 161 if(TOP.brandScrollStop){ 162 if($type === 'load'){ 163 TOP.brandLoad = true; 164 } 165 if($type === 'scroll'){ 166 TOP.brandScroll++; 167 } 168 const brandScrollStopLine = $('.original-brand').offset().top - TOP.headerHeight; 169 if($(window).scrollTop() >= brandScrollStopLine){ 170 // facilityã®è¦ç´ ãè¶ ãã¦ãªãã¼ãããã¨ã¹ã¯ãã¼ã«ã¤ãã³ãããªã«ã触ããã¨ã2åçºçãã 171 // headerã®ä¸é¨ä½ç½®ãfacilityä¸é¨ä½ç½®ãè¶ ããæç¹ã§ã¹ã¯ãã¼ã«ã¤ãã³ãåæ°ã3以ä¸ããã°ç»é¢ã忢ãã 172 if(TOP.brandLoad && TOP.brandScroll > 2){ 173 lenis.stop(); 174 window.scroll({ 175 top: brandScrollStopLine, 176 behavior: "auto" 177 }); 178 } 179 setTimeout(function(){ TOP.brandAnimation(); }, 500); 180 } 181 } 182 }, 183 184 /** 185 * brand ã¢ãã¡ã¼ã·ã§ã³æ¬ä½ 186 * @returns 187 */ 188 brandAnimation: function(){ 189 if (TOP.hasAnimated) return; 190 191 let $img = $('.scroll-scale'); 192 let $parent = $('.original-brand'); 193 let $title = $parent.find('.brand-title'); 194 let $slide = $parent.find('.brand-slide-wrap'); 195 196 TOP.hasAnimated = true; 197 TOP.facilityScrollStop = false;
198 199 // ç»åãåºå®100vw 200 $img.css('width', '100%'); 201 202 // å°ãéãç½®ãã¦ã¿ã¤ãã«ããã§ã¼ãã¤ã³ 203 setTimeout(function() { 204 $title.css({ 205 'transition': 'opacity 1s', 206 'opacity': 1 207 }); 208 209 // ã¿ã¤ãã«ããã§ã¼ãã¤ã³ããå¾ãtopä½ç½®ã¨transformã¢ãã¡ã¼ã·ã§ã³ 210 setTimeout(function() { 211 var topValue = window.innerWidth >= 768 ? '6vw' : '25rem'; 212 $title.css({ 213 'transition': 'top 1s, transform 1s', 214 'top': topValue, 215 'transform': 'translate(-50%, 0)' 216 }); 217 }, 500); // ã¿ã¤ãã«ãã§ã¼ãã¤ã³å®äºå¾ã«ã¢ãã¡ã¼ã·ã§ã³ 218 }, 0); // ç»å100%ã«ãªã£ãå¾0.5ç§å¾ æ© 219 220 // ã¿ã¤ãã«ã¢ãã¡ã¼ã·ã§ã³çµäºå¾ã«ã¹ã©ã¤ãããã£ãããã§ã¼ãã¤ã³ 221 setTimeout(function() { 222 $slide.css({ 223 'transition': 'opacity 2s', 224 'opacity': 1 225 }); 226 227 // å ¨ã¢ãã¡ã¼ã·ã§ã³çµäºå¾ã«ã¹ã¯ãã¼ã«è§£é¤ 228 setTimeout(function() { 229 lenis.start(); 230 }, 1000); // ã¹ã©ã¤ããã§ã¼ãã¤ã³çµäºå¾ã«è§£é¤ 231 }, 1000); // 0.5ç§ + 1ç§ + 1ç§ç®å® 232 }, 233} 234 235/** 236 * window events 237 */ 238$(window) 239 .on('load',function(){ 240 TOP.setHeaderHeight(); 241 TOP.facilityAnimationTrigger('load'); 242 TOP.brandAnimationTrigger('load'); 243 }) 244 .on('scroll',function(){ 245 TOP.facilityAnimationTrigger('scroll'); 246 TOP.brandAnimationTrigger('scroll'); 247 }) 248 .on('resize', function(){ 249 TOP.setResizeHeaderHeight(); 250 }); 251 252 253jQuery(function($){ 254 $('.slide-category').each(function(){ 255 var $parent = $(this); 256 var $img = $parent.find('img'); // åã®imgãåå¾ 257 258 var srcWhite = $img.attr('src'); 259 var srcsetWhite = $img.attr('srcset'); 260 261 var srcBlack = srcWhite.replace('-white', '-black'); 262 var srcsetBlack = srcsetWhite ? srcsetWhite.replace(/-white/g, '-black') : ''; 263 264 $parent.hover( 265 function(){ // mouseenter 266 $img.attr('src', srcBlack); 267 if(srcsetBlack) $img.attr('srcset', srcsetBlack); 268 }, 269 function(){ // mouseleave 270 $img.attr('src', srcWhite); 271 if(srcsetWhite) $img.attr('srcset', srcsetWhite); 272 } 273 ); 274 }); 275}); 276 277 278 279$(document).ready(function() { 280 // å ã®è¦ç´ ãåå¾ãã¦ã¯ãã¼ã³ 281 let bg_top = $('.scroll-loop.top .bg-top').clone(true); 282 let bg_bottom = $('.scroll-loop.bottom .bg-bottom').clone(true); 283 284 // å ã®è¦ç´ ã®å¾ãã«è¿½å 285 $('.scroll-loop.top .bg-top').last().after(bg_top); 286 $('.scroll-loop.bottom .bg-bottom').last().after(bg_bottom); 287}); 288 289 290//æ £æ§ã¹ã¯ãã¼ã« 291const lenis = new Lenis(); 292 293function raf(time) { 294 lenis.raf(time); 295 requestAnimationFrame(raf); 296} 297 298requestAnimationFrame(raf); 299 300 301 302//ONLINE SHOPãã¿ã¤ãã«ã¢ãã¡ã¼ã·ã§ã³ 303document.addEventListener("DOMContentLoaded", () => { 304 const sections = document.querySelectorAll(".section-ttl"); 305 306 sections.forEach(section => { 307 const icon = section.querySelector("i"); 308 const h2Inner = section.querySelector("h2 span.enfont") || section.querySelector("h2"); 309 const p = section.querySelector("p"); 310 311 // æåã1æåãã¤<span>ã§å ã颿° 312 function wrapText(el) { 313 if (!el) return; 314 const text = el.textContent.trim(); 315 el.textContent = ""; 316 [...text].forEach(char => { 317 const span = document.createElement("span"); 318 span.textContent = char; 319 el.appendChild(span); 320 }); 321 } 322 323 wrapText(h2Inner); 324 wrapText(p); 325 326 const h2Chars = h2Inner ? h2Inner.querySelectorAll("span") : []; 327 const pChars = p ? p.querySelectorAll("span") : []; 328 329 const observer = new IntersectionObserver(entries => { 330 entries.forEach(entry => { 331 if (entry.isIntersecting) { 332 const tl = gsap.timeline({ defaults: { ease: "power3.out" } }); 333 334 // â ã¢ã¤ã³ã³ 335 tl.fromTo(icon, 336 { x: -40, opacity: 0 }, 337 { x: 0, opacity: 1, duration: 0.6 } 338 ); 339 340 // â¡ h2 341 tl.fromTo(h2Chars, 342 { y: 15, opacity: 0 }, 343 { y: 0, opacity: 1, duration: 0.05, stagger: 0.05 } 344 ); 345 346 // ⢠h2ãçµãã£ããpéå§ 347 tl.fromTo(pChars, 348 { y: 15, opacity: 0 }, 349 { y: 0, opacity: 1, duration: 0.04, stagger: 0.04 } 350 ); 351 352 observer.unobserve(section); 353 } 354 }); 355 }, { threshold: 0.3 }); 356 357 observer.observe(section); 358 }); 359}); 360 361 362 363document.addEventListener('DOMContentLoaded', function() { 364 const slider = document.querySelector('#mv-info-banner'); 365 if (!slider) return; 366 367 new Swiper(slider, { 368 loop: true, 369 slidesPerView: 5, 370 spaceBetween: 10, 371 pagination: { 372 el: slider.querySelector('.swiper-pagination'), 373 clickable: true 374 }, 375 navigation: false, 376 breakpoints: { 377 0: { slidesPerView: 2, spaceBetween: 10 }, 378 1024: { slidesPerView: 5, spaceBetween: 10 } 379 } 380 }); 381});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.