import React, { useState, useEffect, useMemo } from 'react';
import { motion, AnimatePresence } from 'framer-motion';
import { Menu, X, Instagram, MessageCircle, MapPin, Clock, Smartphone, Sparkles, ChevronRight, Map, ExternalLink } from 'lucide-react';
// --- Global CSS & Utilities ---
const styleTag = document.createElement('style');
styleTag.innerHTML = `
html {
scroll-behavior: smooth;
}
body {
overflow-x: hidden;
background-color: #020617; /* slate-950 */
color: #f0f9ff; /* cyan-50 */
font-family: 'Noto Sans JP', sans-serif;
}
.no-scrollbar::-webkit-scrollbar {
display: none;
}
.no-scrollbar {
-ms-overflow-style: none;
scrollbar-width: none;
}
.text-justify-jp {
text-align: justify;
text-justify: inter-character;
}
`;
document.head.appendChild(styleTag);
// --- Google Fonts ---
const fontLink = document.createElement('link');
fontLink.href = 'https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Noto+Sans+JP:wght@300;400&display=swap';
fontLink.rel = 'stylesheet';
document.head.appendChild(fontLink);
const INSTAGRAM_URL = "https://www.instagram.com/loved_ooo/";
const LINE_URL = "https://line.me/R/ti/p/@YOUR_LINE_ID";
const ADDRESS_TEXT = "東京都豊島区東池袋1-12-11 OGSビル LOVED";
// --- Utility Functions ---
const handleScrollTo = (e, href, callback) => {
e.preventDefault();
const targetId = href.replace('#', '');
const element = document.getElementById(targetId);
if (element) {
const offset = 80;
const bodyRect = document.body.getBoundingClientRect().top;
const elementRect = element.getBoundingClientRect().top;
const elementPosition = elementRect - bodyRect;
const offsetPosition = elementPosition - offset;
window.scrollTo({
top: offsetPosition,
behavior: 'smooth'
});
}
if (callback) callback();
};
// --- Sub-Components ---
const Navbar = () => {
const [isOpen, setIsOpen] = useState(false);
const [scrolled, setScrolled] = useState(false);
useEffect(() => {
const handleScroll = () => setScrolled(window.scrollY > 50);
window.addEventListener('scroll', handleScroll);
return () => window.removeEventListener('scroll', handleScroll);
}, []);
useEffect(() => {
document.body.style.overflow = isOpen ? 'hidden' : 'unset';
}, [isOpen]);
const navLinks = [
{ name: 'CONCEPT', href: '#concept' },
{ name: 'MENU', href: '#menu' },
{ name: 'INSTAGRAM', href: '#gallery' },
{ name: 'ACCESS', href: '#access' },
];
return (
<>
>
);
};
const Hero = () => {
const bubbles = useMemo(() => [...Array(15)].map(() => ({ x: Math.random() * 100, delay: Math.random() * 5, duration: 15 + Math.random() * 15 })), []);
return (
ただ長さを出すだけでなく 最高級の毛質と 鏡を見るのが、もっと楽しくなる あなただけのCONCEPT
理想を、超えていく。
質感、馴染み、シルエット
そのすべてに妥協しない
磨き抜かれた技術で
地毛のような指通りを
特別な美しさを
ここからACCESS