/* tokyo/css/tokyo-style.css */
body {
    font-family: "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
    color: #333;
    min-height: 100vh;
    min-width: 100vw;
    margin: 0;
    background-image: url(../images/bg_kaneki_nami.svg), url(../../images/background_ppr.jpg);
    background-repeat: no-repeat, repeat;
    background-size: min(100vw, 1200px), auto;
    background-position: center min(132%, 17vw);
     background-attachment: fixed,scroll
}
.top-wrapper {
    position: relative;
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-direction: column;
}
.tokyo-page-container {
    width: 100%;
    max-width: 960px; /* 参考画像のコンテンツ幅に合わせた仮の最大幅 */
    background-color: rgba(255, 255, 255, 0.8); /* 背景が透けるように少し透明度を持たせるか、または不透明な白 */
    padding: 30px 40px;
    box-shadow: 0 0 15px rgba(0,0,0,0.1);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.tokyo-header {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 50px;
    position: fixed;
    top: 50px; /* 初期表示時に上部に50pxのマージン（実際にはtopプロパティで位置調整） */
    left: 0;
    z-index: 1000;
    transition: padding 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
    /* padding: 15px 0; */ /* 通常時のパディングは既存のスタイルに依存 */
    margin-top: 0; /* position:fixed のため margin-top は効果がないので0に */
}

.tokyo-logo {
    margin-bottom: 35px;
}

.tokyo-logo img {
    max-width: 100%;
    height: auto;
    max-height: 178px; /* ロゴの最大高さを指定 */
    transition: max-height 0.3s ease;
}

.tokyo-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap; /* 画面幅が狭い場合に折り返す */
    justify-content: center; /* 中央揃え */
    gap: 25px 100px; /* row-gap column-gap */
}

.tokyo-nav ul li a {
    text-decoration: none;
    color: #3E3E3E; /* common.css の --text-color-- を想定 */
    font-size: 1.1rem;
    font-weight: 500; /* common.css の .nav-link を参考に */
    padding: 8px 0;
    position: relative;
    transition: color 0.3s ease;
}

.tokyo-nav ul li a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background-color: #3E3E3E; /* common.css の --text-color-- を想定 */
    transition: width 0.3s ease;
}

.tokyo-nav ul li a:hover::after,
.tokyo-nav ul li a.active::after { /* activeクラスも考慮 */
    width: 100%;
}

.tokyo-nav ul li a:hover {
    color: #000;
}


.tokyo-main {
    width: 100%;
    min-height: 200px; /* 仮の高さ */
    margin-bottom: 50px;
    text-align: center; /* 仮のテキストを中央揃え */
    line-height: 1.7;
}

.tokyo-footer {
    width: 100%;
    display: flex;
    flex-wrap: wrap; /* 画面幅が狭い場合に折り返す */
    justify-content: space-between;
    align-items: flex-end;
    padding-top: 25px;
    border-top: 1px solid #ccc;
    font-size: 0.85rem;
    color: #444;
    gap: 20px;
}

.tokyo-footer-info {
    text-align: left;
}
.tokyo-footer-info .footer-org-name {
    font-weight: bold;
    font-size: 1rem;
    margin-bottom: 8px;
    color: #333;
}
.tokyo-footer-info p {
    margin: 4px 0;
}

.tokyo-footer-logo {
    margin-left: auto; /* 右寄せにする場合 */
}

.tokyo-footer-logo img {
    height: 45px;
    opacity: 0.85;
    transition: opacity 0.3s ease;
}
.tokyo-footer-logo a:hover img {
    opacity: 1;
}
/* Added for header scroll behavior */
.tokyo-header {
    position: fixed;
    top: 50px; /* 初期表示時に上部に50pxのマージン（実際にはtopプロパティで位置調整） */
    left: 0;
    width: 100%;
    /* background-color: rgba(255, 255, 255, 0.8); */ /* 背景色は既存のスタイルに依存するか、ここで上書き */
    z-index: 1000;
    transition: padding 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
    /* padding: 15px 0; */ /* 通常時のパディングは既存のスタイルに依存 */
    margin-top: 0; /* position:fixed のため margin-top は効果がないので0に */
}

.top-header{
    position: relative;
    margin-bottom: 9vw;

    .tokyo-logo img {
        max-height: 240px;
    }
}
.tokyo-header.scrolled {
    top: 0; /* スクロール後は上端に配置 */
    background-color: rgba(255, 255, 255, 0.95); /* スクロール後の背景色、既存の背景と合わせるか調整 */
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    padding-top: 8px; /* スクロール後のヘッダー上部パディング */
    padding-bottom: 8px; /* スクロール後のヘッダー下部パディング */
}

/* もし設定されていなければ追加: transition: max-height 0.3s ease; */
.tokyo-header.scrolled .tokyo-logo {
    margin-bottom: 10px; /* スクロール（縮小）時のロゴとメニューアイテム間のマージンを10pxに */
}

.tokyo-header.scrolled .tokyo-logo img {
    max-height: 50px; /* スクロール後のロゴの最大高さ */
}

/* Adjust body padding to prevent content from being hidden by fixed header */
body.tokyo-page-body {
    /* The padding-top value should be roughly the height of the un-scrolled header PLUS the initial top offset */
    /* e.g., if header is 120px tall and top is 50px: padding-top: 170px; */
    padding-top: 190px; /* 仮の値、実際のヘッダーの高さ + 50px に合わせて調整してください */
}
