* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
/* MENU */
header {
	padding: 2rem; 
}
header .img-header{
	width: 80%;
	max-width: 600px;
	margin: 0 auto;
}
.header-nav-content {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    padding: 12px 24px;
    max-width: 560px;
    margin: 20px auto;
    z-index: 1000;
}
.site-logo {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 24px 0 10px;
    position: relative;
    z-index: 1010;
}
.site-logo img {
    height: 40px;
    width: auto;
}
/* スクロール後に黒へ */
body.is-scrolled .header-nav-content.pc ul li a {
    color: #191919;
}
/* 背景要素（opacity:0→1） */
.nav-bg {
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 99px;
    z-index: -1;
    opacity: 0;
    transition: opacity 0.3s ease;
}
body.is-scrolled .header-nav-content {
    position: fixed;
    top: 0;
}
body.is-scrolled .nav-bg {
    opacity: 1;
}
.header-nav-content ul {
    display: flex;
    justify-content: center;
    list-style: none;
}
.header-nav-content li a {
    font-family: "Marcellus", serif;
    text-decoration: none;
    color: #000;
    font-weight: 500;
    font-size: 1rem;
    letter-spacing: 0.08rem;
}
/* ハンバーガー */
.hamburger {
    position: fixed;
    top: 1.8rem;
    right: 1.8rem;
    width: 40px;
    height: 32px;
    z-index: 2000;
    cursor: pointer;
}
.hamburger span {
    display: block;
    height: 2px;
    background: #000;
    margin: 6px 0;
    transition: 0.4s;
}
/* 開いてる状態の変化 */
.hamburger.open span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}
.hamburger.open span:nth-child(2) {
    opacity: 0;
}
.hamburger.open span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}
/* メニュー本体 */
.sp-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 1000;
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.sp-nav ul {
    list-style: none;
    padding: 10rem 5rem;
}
.sp-nav ul li {
    margin: 0;
    list-style: none;
}
.sp-nav a {
    font-family: "Marcellus", serif;
    font-size: 1.6rem;
    color: #000;
    letter-spacing: 0.1em;
    display: flex;
    align-items: center;
    justify-content: space-between; /* 左：テキスト / 右：矢印 */
    width: 100%; /* aタグをliいっぱいに広げる */
    padding: 0.7em 0; /* 上下余白は調整 */
    text-decoration: none;
}
.sp-nav .menu-arrow {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}
@media screen and (min-width: 992px) {
    .site-logo {
        padding: 40px 0 0;
    }
    .hamburger, .sp-nav {
        display: none !important;
    }
    /* ===== PCナビゲーション（初期状態は白） ===== */
    #top .pc-nav li {
        color: #fff; /* 文字＆ドットの色（currentColorで共通） */
    }
    /* スクロール後（.is-scrolledが付いたら黒に） */
    #top.is-scrolled .pc-nav li {
        color: #222;
    }
    /* ナビ全体のレイアウト */
    .pc-nav {
        display: flex;
        align-items: center;
    }
    .pc-nav li {
        display: flex;
        align-items: center;
    } /* 区切りドット（最後のliには付けない） */
    .pc-nav li:not(:last-child)::after {
        content: "";
        display: inline-block;
        width: 4px;
        height: 4px;
        border-radius: 50%;
        background: currentColor;
        margin: 0 24px; /* ← 左右均等なスペース */
    } /* リンクの当たり判定 */
    .pc-nav a {
        display: inline-block;
        text-decoration: none;
        color: inherit; /* liの色を継承 */
        padding: 10px 0;
		transition: opacity 0.6s ease;
    }
    .pc-nav a:hover {
		opacity: 0.4;
    }
}
@media (max-width: 991.98px) {
    .site-logo {
        position: absolute;
        top: 0;
        left: 1.5rem;
        width: auto;
        z-index: 2001; /* hamburger より上にしたいときはこれより大きく */
    }
    .site-logo img {
        height: 30px;
        width: auto;
    }
}