echelonrise.pro
光妙スタジオ ロゴ 光妙スタジオ

テーマ設定

サイトの見た目を選択します。

ログイン / 新規登録

ミニマルな白背景スタジオ

最小限で、最大の印象。

光妙スタジオは、光と余白で魅せる写真体験をデザインします。

プランを見る

ミニマルなライティング

肌や質感を丁寧に整える2~3灯の計算された光。後処理に頼らない設計。

日本語での緻密な対応

事前ヒアリングから納品まで、文化的背景に寄り添う分かりやすい進行。

SEO対応の画像最適化

構造化データ・代替テキスト・軽量化で検索と体験を両立。

主な撮影ジャンル

ポートレート撮影キャンペーン

春のポートレート キャンペーン

今だけレタッチ10枚分を追加。最小限の編集で、素肌感のある仕上がり。

  • 平日限定・先着順
  • スタジオ/ロケーション選択可

終了まで残り --:--:--

よくあるご質問

撮影スタイル診断

3つの質問に答えるだけ。あなたに合うプランをご提案します。

新規ご予約特典のビジュアル

新規ご予約 特典

48時間以内のご予約で、背景紙1色追加無料。ミニマルな世界観に彩りを。

終了まで --:--:--

今すぐ予約

クッキーについて

体験向上と分析のために最小限のクッキーを使用します。設定はいつでも変更できます。

'; } if(selector === 'footer'){ el.outerHTML = ''; const y = document.getElementById('yCopy'); if(y) y.textContent = new Date().getFullYear(); const btn = document.getElementById('open-cookie'); if(btn){ btn.addEventListener('click', ()=>document.getElementById('cookieDialog').showModal()); } } } } injectPartial('header','./header.html'); injectPartial('footer','./footer.html'); const themeToggle = document.getElementById('themeToggle'); themeToggle.addEventListener('click', ()=>{ const root = document.documentElement; const isDark = root.classList.toggle('dark'); localStorage.setItem('theme', isDark ? 'dark' : 'light'); }); const quizModal = document.getElementById('quizModal'); document.getElementById('open-quiz').addEventListener('click', ()=> quizModal.showModal()); const scores = {}; document.querySelectorAll('.quiz-btn').forEach(btn=>{ btn.addEventListener('click', ()=>{ const k = btn.dataset.score; scores[k] = (scores[k]||0)+1; btn.classList.toggle('bg-black'); btn.classList.toggle('text-white'); }); }); const resultLink = document.getElementById('quizResultLink'); resultLink.addEventListener('click', ()=>{ const params = new URLSearchParams(); if(scores.portrait) params.set('q','ポートレート'); if(scores.product) params.set('q','商品'); if(scores.minimal) params.set('tag','ミニマル'); if(scores.natural) params.set('tag','ナチュラル'); if(scores.bold) params.set('tag','ドラマティック'); if(scores.digital) params.set('category','データ'); if(scores.print) params.set('category','プリント'); if(scores.book) params.set('category','フォトブック'); if(Array.from(params.keys()).length>0){ resultLink.href = './catalog.html?'+params.toString(); } else { resultLink.href = './catalog.html'; } }); function getEndOfMonth(){ const now = new Date(); const end = new Date(now.getFullYear(), now.getMonth()+1, 0, 23, 59, 59); return end; } function fmt(t){ const d = Math.floor(t/86400000); const h = Math.floor((t%86400000)/3600000); const m = Math.floor((t%3600000)/60000); const s = Math.floor((t%60000)/1000); return (d>0? d+'日 ':'') + String(h).padStart(2,'0')+':'+String(m).padStart(2,'0')+':'+String(s).padStart(2,'0'); } const campEl = document.getElementById('campaignTimer'); (function campaignTimer(){ const update = ()=>{ const diff = getEndOfMonth()-Date.now(); campEl.textContent = diff>0 ? fmt(diff) : '00:00:00'; }; update(); setInterval(update, 1000); })(); const promoModal = document.getElementById('promoModal'); const promoKey = 'promo_seen_v1'; function promoDeadline48h(){ const saved = localStorage.getItem('promo_deadline'); if(saved){ return new Date(parseInt(saved,10)); } const d = new Date(Date.now()+1000*60*60*48); localStorage.setItem('promo_deadline', d.getTime().toString()); return d; } const promoTimerEl = document.getElementById('promoTimer'); function startPromoTimer(){ const end = promoDeadline48h(); const tick = ()=>{ const diff = end - Date.now(); promoTimerEl.textContent = diff>0 ? fmt(diff) : '00:00:00'; }; tick(); return setInterval(tick, 1000); } let promoInterval = null; function maybeShowPromo(){ if(localStorage.getItem(promoKey)==='1') return; setTimeout(()=>{ if(localStorage.getItem('cookie_consent')==='accepted' || !document.getElementById('cookieDialog').open){ promoModal.showModal(); promoInterval = startPromoTimer(); } }, 8000); } document.addEventListener('click', (e)=>{ if(e.target && e.target.getAttribute('data-close')==='promo'){ promoModal.close(); localStorage.setItem(promoKey,'1'); if(promoInterval) clearInterval(promoInterval); } }); promoModal.addEventListener('close', ()=>{ localStorage.setItem(promoKey,'1'); if(promoInterval) clearInterval(promoInterval); }); const cookieDialog = document.getElementById('cookieDialog'); const cookieAccept = document.getElementById('cookieAccept'); const cookieDecline = document.getElementById('cookieDecline'); const cookieKey = 'cookie_consent'; function openCookieIfNeeded(){ const v = localStorage.getItem(cookieKey); if(!v){ cookieDialog.showModal(); } } cookieAccept.addEventListener('click', ()=>{ localStorage.setItem(cookieKey, 'accepted'); cookieDialog.close(); maybeShowPromo(); }); cookieDecline.addEventListener('click', ()=>{ localStorage.setItem(cookieKey, 'declined'); cookieDialog.close(); }); document.addEventListener('keydown', (e)=>{ if(e.key === 'Escape'){ if(quizModal.open) quizModal.close(); if(promoModal.open) promoModal.close(); if(cookieDialog.open) cookieDialog.close(); } }); window.addEventListener('load', ()=>{ openCookieIfNeeded(); maybeShowPromo(); });