/*
Theme Name: Antique Custom
*/

:root {
    --font-jp: 'Noto Serif JP', serif;
    --font-en: 'Didot LP', 'Didot', serif;
}

body {
    margin: 0;
    font-family: var(--font-jp);
    background-color: #fcfcfc;
    color: #333;
}

/* Header - 黒帯を削除し透過に */
.site-header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100;
    background: transparent;
    padding: 20px 30px;
    box-sizing: border-box;
    transition: background 0.3s;
}

.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 30px;
}

.header-menu li a {
    color: #fff;
    text-decoration: none;
    font-family: var(--font-en);
    letter-spacing: 2px;
    font-size: 14px;
    text-transform: uppercase;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.8); /* 透過背景でも読めるようにシャドウ追加 */
}

.header-social a {
    color: #fff;
    font-size: 22px;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.8);
}

/* Hamburger Button (Mobile) */
.hamburger {
    display: none;
    background: transparent;
    border: none;
    cursor: pointer;
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 20px;
    padding: 0;
    z-index: 999; /* メニューより上に配置 */
    position: relative;
}

.hamburger span {
    display: block;
    width: 100%;
    height: 2px;
    background: #fff;
    transition: all 0.3s ease-in-out;
    box-shadow: 0 1px 2px rgba(0,0,0,0.5);
}

/* Hamburger Active Animation */
.hamburger.is-active span:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
    box-shadow: none;
}
.hamburger.is-active span:nth-child(2) {
    opacity: 0;
}
.hamburger.is-active span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
    box-shadow: none;
}

/* Mobile Menu Overlay */
.mobile-menu {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.95);
    z-index: 900;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mobile-menu.active {
    opacity: 1;
    visibility: visible;
}

.mobile-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: center;
}

.mobile-nav-list li {
    margin: 25px 0;
    transform: translateY(20px);
    opacity: 0;
    transition: all 0.4s ease;
}

.mobile-menu.active .mobile-nav-list li {
    transform: translateY(0);
    opacity: 1;
}

/* 順番にフワッと出るアニメーション */
.mobile-menu.active .mobile-nav-list li:nth-child(1) { transition-delay: 0.1s; }
.mobile-menu.active .mobile-nav-list li:nth-child(2) { transition-delay: 0.2s; }
.mobile-menu.active .mobile-nav-list li:nth-child(3) { transition-delay: 0.3s; }
.mobile-menu.active .mobile-nav-list li:nth-child(4) { transition-delay: 0.4s; }
.mobile-menu.active .mobile-nav-list li:nth-child(5) { transition-delay: 0.5s; }

.mobile-nav-list li a {
    color: #d4af37; /* ゴールド系の色でおしゃれに */
    font-family: var(--font-en);
    font-size: 24px;
    text-decoration: none;
    letter-spacing: 3px;
    text-transform: uppercase;
}

@media (max-width: 768px) {
    .desktop-nav { display: none; }
    .hamburger { display: flex; }
    .site-header { padding: 15px 20px; }
}

/* FV Section - Ken Burns Animation (Zoom + Fade) */
.hero-section { position: relative; overflow: hidden; background: #000; }
.hero-bg-slider { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.hero-slide { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center; opacity: 0; animation: fadeZoom 18s infinite; }
.hero-slide:nth-child(1) { animation-delay: 0s; }
.hero-slide:nth-child(2) { animation-delay: 6s; }
.hero-slide:nth-child(3) { animation-delay: 12s; }

@keyframes fadeZoom {
    0%   { opacity: 0; transform: scale(1); }
    10%  { opacity: 1; }
    33%  { opacity: 1; }
    43%  { opacity: 0; }
    100% { opacity: 0; transform: scale(1.15); }
}

.hero-content { text-align: center; color: #fff; }
.hero-logo { margin-bottom: 30px; }
.hero-text { text-shadow: 1px 1px 4px rgba(0,0,0,0.8); }

/* Departments Section */
.departments-section { padding: 80px 0; background: #fcfcfc; }
.dept-container { display: flex; justify-content: center; gap: 5px; }
.dept-box { position: relative; flex: 1; max-width: 33.333%; overflow: hidden; }
.dept-box img { width: 100%; height: auto; display: block; transition: transform 0.5s; }
.dept-box:hover img { transform: scale(1.05); }
.dept-info { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; color: #fff; text-shadow: 1px 1px 5px rgba(0,0,0,0.8); width: 90%; }
.dept-title { font-family: var(--font-en); font-size: 32px; margin: 0; font-weight: normal; letter-spacing: 1px; }
.dept-sub { font-family: var(--font-jp); font-size: 13px; margin: 10px 0 0; letter-spacing: 2px; }

@media (max-width: 768px) {
    .dept-container { flex-direction: column; }
    .dept-box { max-width: 100%; margin-bottom: 5px; }
}

/* Shop Images (Exterior / Interior) */
.shop-images-section { background-color: #000; padding: 60px 0; display: flex; flex-direction: column; align-items: center; gap: 30px; }
.shop-image-wrapper img { max-width: 1000px; width: 90vw; height: auto; display: block; border: 1px solid rgba(255,255,255,0.1); }

/* Footer */
.site-footer { background-color: #000; color: #fff; padding: 80px 20px; text-align: center; font-family: var(--font-en); border-top: 1px solid rgba(255,255,255,0.1); }
.footer-inner { max-width: 600px; margin: 0 auto; display: flex; justify-content: space-around; align-items: center; }
.footer-address h4 { margin: 0 0 15px; font-size: 20px; letter-spacing: 3px; font-weight: normal; }
.footer-address p { margin: 0; line-height: 2; font-size: 14px; font-family: var(--font-jp); letter-spacing: 1px; color: #ccc; }
.footer-social a { color: #fff; font-size: 26px; text-decoration: none; transition: opacity 0.3s; }
.footer-social a:hover { opacity: 0.7; }