/* =========================================
   A-RISE Group - Custom Styles
   ========================================= */

/* Base */
body { overflow-x: hidden; }

/* Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #0E172A; }
::-webkit-scrollbar-thumb { background: #145cad; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #00bfff; }

/* Utility */
.glass { background: rgba(14, 23, 42, 0.95); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.dot-pattern { background-image: radial-gradient(rgba(255,255,255,0.1) 1px, transparent 1px); background-size: 32px 32px; opacity: 0.5; }
.section-title-en { font-size: 0.75rem; letter-spacing: 0.5em; color: #00bfff; font-weight: 700; text-transform: uppercase; }

/* GSAP初期非表示（アニメーション対象） */
.gs-reveal,
.hero-text-line,
.hero-cards a,
.stagger-text p,
.stagger-cards .card-item,
.stagger-values .value-card,
.stagger-list .gs-list-item { visibility: hidden; }

/* Image Zoom */
.zoom-image { transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.group:hover .zoom-image { transform: scale(1.05); }

/* Ken Burns Animation */
@keyframes kenburns { 0% { transform: scale(1); } 100% { transform: scale(1.1); } }
.animate-kenburns { animation: kenburns 20s ease-out infinite alternate; }

/* Float Animation */
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
.hover-float { animation: float 6s ease-in-out infinite; }

/* View Section */
.view-section { position: relative; width: 100%; }

/* Hero Slideshow */
#hero-slide-1,
#hero-slide-2 { transition: opacity 1.5s ease-in-out; }

/* Form */
input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea { transition: all 0.3s ease; }

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
select:focus,
textarea:focus {
    outline: none;
    border-color: #145cad;
    box-shadow: 0 0 0 3px rgba(20, 92, 173, 0.1);
}
