        body {
            background-color: #161616; /* 背景色：黒 */
            color: #F4F1EA; /* 基本の文字色：オフホワイト */
            font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif; /* 丁寧なフォント指定を採用 */
            line-height: 1.6; /* 行間を少し広くして読みやすく */
            margin: 0;
            padding: 0;
            overflow-x: hidden; /* 左右の揺れを封じ込める */
            width: 100%;
        }

        /* ヘッダー */
        header {
            text-align: center;
            font-size: 1.1em;
            color: #F4F1EA;
            padding: 20px 0;
            margin-bottom: 0px;
            margin-top: 0px; /* ★ここを追加！メニューボタンを避けるための余白です */
        }

        h1 {
            margin: 0; 
            color: #F4F1EA;
            letter-spacing: 0px; 
            font-size: 1.5em;
        }

        /* フッターの設定 */
        footer {
            text-align: center; 
            padding: 30px 20px; 
            font-size: 0.8em; 
            color: #777; 
            margin-top: 40px; 
            border-top: 1px solid #333; 
        }
        
        .container {
            width: 100%;       /* スマホなどの狭い画面では横幅いっぱいに広げる */
            max-width: 800px;  /* パソコンなどの広い画面でも、最大800pxで止める */
            margin: 0 auto;    /* 画面の真ん中に寄せる */
            padding: 20px;     /* 左右に少し余白を作って、文字が画面端に張り付くのを防ぐ */
            box-sizing: border-box; /* 余白（padding）を含めて800pxにするためのお守り */        
        }

        .back-to-top {
            display: inline-block;
            padding: 12px 24px;
            background-color: #333333;
            color: #F4F1EA !important;
            text-decoration: none;
            border-radius: 5px;
            font-weight: 400;
            margin-bottom: 0px
        }

    /* ============================================================
    　2. サイドメニュー
       ============================================================ */
        /* メニューボタン（黄色いプラグ） */
        .menu-btn {
            cursor: pointer;
            z-index: 1001;
            position: fixed;
            top: 10px;
            right: 10px;
            background: transparent;
        }
        .plug-icon {
            width: 53px;
            height: auto;
            display: block;
            transition: transform 0.2s;
        }

        .menu-btn:hover .plug-icon {
            transform: scale(1.05);
        }

        /* Googleフォトへのリンクボタン */
        .side-extra {
            text-align: center;
            padding: 20px 10px;
        }

        .extra-btn {
            display: inline-block !important;
            background-color: #B23A3A; /* Googleっぽい赤色 */
            color: white !important;
            padding: 3px 16px !important;
            border-radius: 4px;
            border-bottom: none !important; /* 下線を消す */
            margin-bottom: 5px !important;
        }

        .extra-desc {
            color: #aaa;
            font-size: 11px;
            margin: 0;
        }
        
        /* サイドメニュー本体の設定 */
        .side-menu {
            position: fixed;
            top: 0;
            right: -195px;
            width: 195px;
            height: 100%;
            background: #333;
            transition: 0.3s;
            z-index: 999;
            padding-top: 60px;
            display: flex;
            flex-direction: column;
            box-shadow: -5px 0 20px rgba(0,0,0,0.8);
        }

        .side-menu.open {
            right: 0;
        }

        .side-menu a {
            display: block;
            color: white;
            padding: 12px 20px;
            text-decoration: none;
            border-bottom: 1px solid #444;
            font-size: 14px;
        }