:root{--primary: #8a2be2;--primary-glow: rgba(138, 43, 226, .6);--secondary: #ff1493;--accent: #ffd700;--bg-dark: #0f0c29;--bg-gradient: linear-gradient(to right, #24243e, #302b63, #0f0c29);--text-main: #333333;--text-light: #f5f5f5;--glass-bg: rgba(255, 255, 255, .1);--glass-border: rgba(255, 255, 255, .2);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37);--font-base: "Noto Sans JP", sans-serif;--font-en: "Outfit", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-base);color:var(--text-main);line-height:1.6;background-color:#fcfcfc;overflow-x:hidden}a{text-decoration:none;color:inherit}ul{list-style:none}.text-center{text-align:center}.text-white{color:var(--text-light)}.text-muted{color:#aaa}.mb-4{margin-bottom:2rem}h1,h2,h3{line-height:1.3}.section{padding:80px 20px}.section-title{font-size:2.2rem;font-weight:900;margin-bottom:3rem;position:relative;display:inline-block}.section-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:4px;background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:2px}.container{max-width:1000px;margin:0 auto}.bg-dark{background:var(--bg-gradient);color:var(--text-light)}.bg-dark .section-title:after{background:linear-gradient(90deg,var(--accent),var(--secondary))}.btn{display:inline-block;padding:12px 30px;border-radius:50px;font-weight:700;transition:all .3s ease;cursor:pointer;border:none;text-align:center}.btn-sm{padding:8px 20px;font-size:.9rem}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;box-shadow:0 4px 15px var(--primary-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff149399}.btn-large{padding:18px 40px;font-size:1.2rem;background:linear-gradient(135deg,var(--secondary),var(--primary));color:#fff;border-radius:50px;position:relative;overflow:hidden;z-index:1}.btn-glow{box-shadow:0 0 20px var(--primary-glow),0 0 40px #ff149366}.btn-glow:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--primary),var(--secondary));z-index:-1;transition:opacity .3s ease;opacity:0}.btn-glow:hover:before{opacity:1}.btn-glow:hover{transform:scale(1.05);box-shadow:0 0 30px #ff1493cc}.pulse-animation{animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05);box-shadow:0 0 30px #ff1493cc}to{transform:scale(1)}}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:20px;padding:30px}.header{position:fixed;top:0;left:0;right:0;padding:15px 20px;z-index:100;transition:all .3s ease;background:#0f0c29cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-container{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}.logo{font-family:var(--font-en);font-size:1.5rem;font-weight:700;color:var(--text-light);letter-spacing:1px}.hero{height:100vh;min-height:600px;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:0 20px;overflow:hidden}.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--bg-dark);background-image:url(https://images.unsplash.com/photo-1533038590840-1cbea434938a?q=80&w=2670&auto=format&fit=crop);background-size:cover;background-position:center;z-index:-2;transition:background-image .5s ease}.hero:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,rgba(15,12,41,.7),rgba(15,12,41,.4),var(--bg-dark));z-index:-1}.hero-content{max-width:800px;animation:fadeIn 1s ease-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-subtitle{font-size:1.2rem;font-weight:700;color:var(--accent);margin-bottom:15px;letter-spacing:2px}.hero-title{font-size:3.5rem;font-weight:900;margin-bottom:25px;line-height:1.2}.hero-title .highlight{color:transparent;background-clip:text;-webkit-background-clip:text;background-image:linear-gradient(90deg,var(--accent),#ffaa00)}.hero-desc{font-size:1.1rem;margin-bottom:40px;opacity:.9}.scroll-indicator{position:absolute;bottom:30px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;color:#ffffffb3;font-family:var(--font-en);font-size:.8rem;text-transform:uppercase;letter-spacing:2px}.mouse{width:24px;height:36px;border:2px solid rgba(255,255,255,.7);border-radius:12px;margin-top:10px;position:relative}.mouse:before{content:"";position:absolute;top:6px;left:50%;transform:translate(-50%);width:4px;height:4px;background:#ffffffb3;border-radius:50%;animation:scroll 1.5s infinite}@keyframes scroll{0%{transform:translate(-50%);opacity:1}to{transform:translate(-50%,15px);opacity:0}}.worry-list{display:flex;flex-direction:column;gap:15px;margin-bottom:40px;max-width:600px;margin-left:auto;margin-right:auto;text-align:left}.worry-list li{background:#fff;border-radius:10px;box-shadow:0 4px 10px #0000000d;position:relative;padding:15px 20px 15px 50px;font-weight:500}.worry-list li:before{content:"?";position:absolute;left:15px;top:50%;transform:translateY(-50%);background:var(--text-muted);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.solution-box{background:linear-gradient(135deg,#8a2be21a,#ff14931a);border-color:#8a2be24d;color:var(--text-main);box-shadow:0 10px 30px #8a2be21a;margin-top:30px}.solution-box h3{font-size:1.5rem;margin-bottom:15px}.solution-box h3 span{color:var(--primary);font-size:1.8rem}.tour-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:30px}.tour-card{text-align:center;border:1px solid rgba(138,43,226,.2);transition:transform .3s ease;padding:30px}.tour-card:hover{transform:translateY(-5px);border-color:var(--secondary)}.tour-icon{font-size:3.5rem;margin-bottom:15px}.tour-card h3{font-size:1.2rem;color:var(--primary);margin-bottom:15px}.tour-arrow{margin-top:50px;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:40px}.review-card{text-align:left;transition:transform .3s ease}.review-card:hover{transform:translateY(-5px)}.stars{color:var(--accent);font-size:1.2rem;margin-bottom:10px}.review-text{font-size:.95rem;opacity:.9;line-height:1.6}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin-top:30px}.gallery-item{border-radius:15px;overflow:hidden;aspect-ratio:4 / 3;position:relative;box-shadow:0 5px 15px #0000001a}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-item:hover img{transform:scale(1.1)}.system-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}.system-cards .card{background:#fff;border:1px solid #eee;box-shadow:0 10px 30px #0000000d}.system-cards h3{color:var(--primary);font-size:1.4rem;margin-bottom:20px;border-bottom:2px dashed #eee;padding-bottom:15px}.price{font-size:1.1rem;margin-bottom:10px}.price span{font-size:1.8rem;font-weight:800;color:var(--text-main);margin-left:10px}.note{font-size:.8rem;color:var(--text-muted);margin-top:15px}.menu-list{text-align:left;display:inline-block}.menu-list li{margin-bottom:10px;padding-left:25px;position:relative}.menu-list li:before{content:"✨";position:absolute;left:0;top:0}.access-content{display:flex;flex-direction:column;gap:30px}@media (min-width: 768px){.access-content{flex-direction:row;align-items:center}.map-container,.access-info{flex:1}}.map-container iframe{border-radius:10px}.access-info h3{font-size:1.5rem;margin-bottom:15px;color:var(--accent)}.access-info p{margin-bottom:10px;opacity:.9}.footer{background:#050410;color:#ffffff80;padding:30px 20px;font-size:.9rem}@media (max-width: 768px){.hero-title{font-size:2.2rem}.hero-subtitle{font-size:1rem}.section{padding:60px 15px}.section-title{font-size:1.8rem}}
