/*
Theme Name: RICHWIN Theme 2026
Author: RICHWIN
Version: 1.0
Description: リッチウィンLP専用のオリジナルテーマ。
*/

:root {
    --primary: #d7ae33;
    --navy-deep: #0a0f1d;
    --navy-card: #161f32;
}

html { 
    scroll-behavior: smooth; 
    overflow-x: hidden; /* 横スクロールの発生を防止 */
}

body { 
    background-color: var(--navy-deep); 
    font-family: "Noto Serif JP", serif;
    font-weight: 300;
    letter-spacing: 0.08em;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden; /* bodyでも念のため横スクロール防止 */
    margin: 0;
}

/* main { overflow-x: hidden; } */

/* --- Navigation --- */
#main-header.scrolled { 
    background: rgba(10, 15, 29, 0.95); 
    padding-top: 1rem; padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
}
.nav-link { 
    font-size: 0.7rem; font-weight: 700; color: rgba(255, 255, 255, 0.4); 
    letter-spacing: 0.3em; transition: 0.4s; position: relative;
}
.nav-link::after {
    content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 1px;
    background: var(--primary); transition: 0.4s;
}
.nav-link:hover { color: #fff; }
.nav-link:hover::after { width: 100%; }

.menu-trigger {
    width: 3rem; height: 3rem; display: flex; align-items: center; justify-content: center;
    border: 1px solid rgba(255,255,255,0.1); transition: 0.3s;
    background: transparent;
}
.menu-trigger:hover { background: var(--primary); color: var(--navy-deep); }

/* --- Components --- */
.slider-ctrl-btn {
    width: 4rem; height: 4rem; display: flex; align-items: center; justify-content: center;
    border: 1px solid rgba(255,255,255,0.05); color: rgba(255,255,255,0.3); transition: 0.4s;
}
.slider-ctrl-btn:hover { color: var(--primary); border-color: var(--primary); }

/* --- Info Table --- */
.info-row { display: grid; grid-template-columns: 140px 1fr; padding: 1.25rem 0; border-bottom: 1px solid rgba(255,255,255,0.05); }
.info-label { font-size: 0.65rem; font-weight: 800; letter-spacing: 0.3em; color: var(--primary); }
.info-value { color: rgba(255,255,255,0.6); line-height: 1.8; }

/* --- Works Animation --- */
.animate-infinite-scroll { 
    display: flex;
	animation: infiniteScroll 3s linear infinite; 
    width: max-content;
}
@keyframes infiniteScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* 画像サイズを元の120x160に復元 */
.work-card { 
    flex-shrink: 0; 
    width: 120px; 
    height: 160px; 
    margin-right: 0.75rem; 
    transition: 0.4s; 
    border: 1px solid rgba(255,255,255,0.05);
    background: #000;
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .work-card { width: 100px; height: 140px; }
}
.work-card:hover { transform: scale(1.05); z-index: 10; }

/* 画像の縦横比・位置を復元 */
.work-img { 
    width: 100%; height: 100%; object-fit: cover; 
    object-position: 0 5%; 
}

/* --- Section Slide Reveal --- */
.reveal {
    opacity: 0;
    transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.8s ease-out;
    will-change: transform, opacity;
}

/* スライド起点：ブラウザ検知のためvwを使用 */
.reveal-up { transform: translateY(100px); }
.reveal-left { transform: translateX(-30vw); }
.reveal-right { transform: translateX(30vw); }

.reveal.is-visible {
    opacity: 1;
    transform: translate(0, 0) !important;
}

.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }

@media screen and (min-width: 1024px){
    #services .mx-auto{ margin-left:0; }
    #services .lg\:px-8{ padding-left:0; }
}

#home .via-navy-deep\/80{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(10 15 29 / 0.8) var(--tw-gradient-via-position), rgb(10 15 29 / 0.8);
}