Ginzan Onsen Book Nook  (Motion Scene)
Ginzan Onsen Book Nook  (Motion Scene)
Ginzan Onsen Book Nook  (Motion Scene)
Ginzan Onsen Book Nook  (Motion Scene)
Ginzan Onsen Book Nook  (Motion Scene)
Ginzan Onsen Book Nook  (Motion Scene)
Ginzan Onsen Book Nook  (Motion Scene)
Ginzan Onsen Book Nook  (Motion Scene)
Ginzan Onsen Book Nook  (Motion Scene)
Ginzan Onsen Book Nook  (Motion Scene)
Ginzan Onsen Book Nook  (Motion Scene)
Ginzan Onsen Book Nook  (Motion Scene)

Ginzan Onsen Book Nook (Motion Scene)

Price

$179.00 $21.88
Save 88%

offer

Please select a offer

Quantity

/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1539149753700').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);

Experience the charm of Japan's Edo period with our Ginzan Onsen miniature collection. Each piece, from ryokan with traditional sliding doors and tatami floors to the glow of tōrō and andon lanterns, captures the essence of classic Japanese living. Centered around a main building for kaiseki-ryōri dining, flanked by serene onsen baths, our miniatures feature diners and kimono-clad waitresses in an enchanting setup. Highlighting the beauty of traditional attire and a nostalgic water pump system, this collection is a tribute to the enduring elegance of Japanese culture and innovation.



What's included in this experience?

  • Unlimited amount of fun and tinkering
  • Therapeutic, calming crafting activity
  • A sense of accomplishment
  • Impress friends and display it as a collectible
  • Great bonding activity with friends & family
  • Keeps you busy and engaged - thoughtful & stimulating gifts for seniors
  • Perfect as a gift (mentioned by Goop & Atlas Obscura)