/* --- 背景の設定 --- */
body {
    background-image: url("images/33.jpg");
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-color: #0a0a0a;
}

/* --- コンテナ --- */
.site-container {
    max-width: 1280px;
    margin: 0 auto;
    background-color: #0a0a0a;
    box-shadow: 0 0 100px rgba(0, 0, 0, 0.9);
    position: relative;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAGFBMVEUAAADExMTCwsK6urq0tLSvr6+2traZmZmSkpLAAAAH3ElEQVQ4y2NgwA0YGHADHmYmAmYmAmYmAQAASwBLAAsAA00AAAAASUVORK5CYII='); /* 和紙パターンの例 */
}

/* --- 特殊装飾 --- */
.writing-vertical {
    writing-mode: vertical-rl;
    text-orientation: mixed;
}

.bg-gold-leaf {
    background: linear-gradient(135deg, #8E6E36 0%, #C5A059 50%, #F1E5AC 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.hero-overlay {
    background: linear-gradient(to right, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.6) 40%, rgba(0, 0, 0, 0.2) 100%);
}

.mizuhiki-line {
    height: 1px;
    background: linear-gradient(to right, transparent, #C5A059, transparent);
    width: 100%;
}

/* --- アニメーション --- */
@keyframes fadeInVertical {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.animate-vertical {
    animation: fadeInVertical 1.5s ease-out forwards;
}