/* --- 全体の設定 --- */
body {
    margin: 0; padding: 0;
    background-color: #000000; color: #ffffff;
    font-family: 'Arial', sans-serif;
    display: flex; justify-content: center; align-items: flex-start;
    min-height: 100vh; overflow-x: hidden; overflow-y: auto;
    padding: 15vh 20px; box-sizing: border-box;
}

.container { width: 100%; max-width: 800px; margin: 0 auto; text-align: center; }

/* --- メニューボタン --- */
.menu-trigger {
    position: fixed; top: 30px; right: 30px;
    display: flex; align-items: center; gap: 12px;
    cursor: pointer; z-index: 1000;
}
.menu-text { color: #fff; font-size: 11px; letter-spacing: 0.15em; font-weight: 300; }
.hamburger { position: relative; width: 24px; height: 14px; display: flex; flex-direction: column; justify-content: space-between; }
.hamburger span { display: block; width: 100%; height: 1px; background-color: #fff; transition: all 0.4s ease; }
.menu-trigger.active .hamburger span:nth-child(1) { transform: translateY(6.5px) rotate(-45deg); }
.menu-trigger.active .hamburger span:nth-child(2) { opacity: 0; }
.menu-trigger.active .hamburger span:nth-child(3) { transform: translateY(-6.5px) rotate(45deg); }

/* --- オーバーレイメニュー --- */
.overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.95); display: flex; justify-content: center; align-items: center;
    opacity: 0; visibility: hidden; transition: all 0.5s ease; z-index: 999;
}
.overlay.open { opacity: 1; visibility: visible; }
.overlay-list { display: flex; flex-direction: column; gap: 40px; text-align: center; }
.btn-effect { color: #ffffff; text-decoration: none; font-size: 18px; font-weight: 300; letter-spacing: 0.2em; background: none; border: none; cursor: pointer; transition: opacity 0.3s ease; }
.btn-effect:hover { opacity: 0.5; }

/* --- Aboutセクション用 --- */
.about-text { font-family: "Hiragino Mincho ProN", serif; line-height: 2.8; font-size: 0.95rem; color: #cccccc; }
.about-text strong, .highlight { font-weight: bold; color: #ffffff; }
.slogan { margin-top: 80px; }
.footer-logo { font-family: 'Arial', sans-serif; font-size: 2.5rem; letter-spacing: 0.4rem; display: block; color: #ffffff; }