        /* ヘッダー/フッターを横幅いっぱいに表示するため body と header/footer の 768px 制限を解除
           （コンテンツは従来どおり main { max-width:768px } で中央寄せ） */
        body {
            max-width: none;
            /* コンテンツが短いページでもフッターを最下部まで伸ばす（sticky footer） */
            min-height: 100vh;
            display: flex;
            flex-direction: column;
        }

        main {
            flex: 1 0 auto;
            width: 100%;
        }

        header, footer {
            max-width: none;
            /* style.css の margin:auto は flex 化した body 上で「中央寄せ縮小」になるためリセット */
            margin: 0;
            width: 100%;
        }

        footer {
            margin-top: auto;
            /* style.css の max-height:300px を解除（中身があふれて背景外に表示されるのを防ぐ） */
            max-height: none;
        }

        /* コンテンツ背景は白にせず、各ページの背景を透過表示する */
        main {
            background: transparent;
        }

        /* --- Header --- */
        header {
            background: linear-gradient(135deg, #ffe4f2, #ffd6eb);
        }

        header .container {
            max-width: 100%;
            background: transparent;
        }

        header .header-holder {
            height: 60px;
            background: transparent;
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 0 18px;
        }

        header .header-left img {
            height: 40px;
        }

        header .header-right {
            display: flex;
            align-items: center;
            gap: 12px;
            justify-content: flex-end;
            text-align: right;
        }

        /* ログインボタンとメニューボタンは同サイズに揃える（画像アスペクト比もほぼ同一） */
        header .login-image-btn img {
            width: 110px;
        }

        header .mypage {
            background: linear-gradient(135deg, #ff4fa3, #b46bff);
            color: #fff;
            padding: 9px 18px;
            border-radius: 999px;
            text-decoration: none;
            font-weight: bold;
            position: relative;
            white-space: nowrap;
        }

        header .mypage:hover {
            color: #fff;
            opacity: 0.9;
        }

        header .mypage .new-msg-top {
            position: absolute;
            top: -8px;
            right: -6px;
            /* style.css の left:-25% / bottom:-1em を打ち消す */
            left: auto;
            bottom: auto;
            background: #fff;
            color: #ff4fa3;
            border-radius: 999px;
            padding: 1px 7px;
            font-size: 11px;
            line-height: 1.6;
        }

        header .displayPoint {
            background: #fff;
            color: #ff4fa3;
            padding: 7px 14px;
            border-radius: 999px;
            font-weight: bold;
            margin-right: 0;
            white-space: nowrap;
        }

        /* 納品画像は横長の「メニュー」ピルボタン（2104x809）のため実用幅を確保 */
        header .main-menu-btn img {
            width: 110px;
            margin: 0;
        }

        /* --- Slide menu (開閉機構は style.css / custom.js を維持し、見た目は menu_bar.html 準拠) --- */
        .main-menu {
            background: linear-gradient(180deg, #fff1f7 0%, #f5ecff 100%);
            border-radius: 0 0 0 24px;
            box-shadow: -8px 0 24px rgba(120, 80, 140, 0.18);
            width: min(320px, 86vw);
            padding: 64px 22px 28px;
            box-sizing: border-box;
        }

        .main-menu ul li a {
            color: #6b4a68;
            font-weight: 600;
            font-size: 20px;
            padding: 18px 8px;
            border-bottom: 1px solid rgba(180, 120, 180, 0.25);
        }

        .main-menu ul li:last-child a {
            border-bottom: none;
        }

        .main-menu ul li a:hover {
            color: #ff4fa3;
        }

        /* menu_bar.html 準拠：アイコンは表示しない */
        .main-menu ul li a svg {
            display: none;
        }

        .main-menu ul li a span {
            margin-right: 0;
        }

        .main-menu ul li > img {
            display: none;
        }

        .close-menu {
            top: 16px;
            right: 22px;
        }

        .close-menu svg {
            width: 26px;
            height: 26px;
        }

        .close-menu svg path {
            fill: #ff6fa3;
        }

        /* --- Footer --- */
        footer {
            padding: 40px 20px;
            line-height: 1.7;
            background: #ffe4f2;
            text-align: center;
        }

        footer .footer-logo {
            height: 50px;
            margin-bottom: 18px;
        }

        footer .contact-btn {
            display: inline-block;
            background: linear-gradient(135deg, #ff4fa3, #b46bff);
            color: #fff;
            padding: 16px 34px;
            border-radius: 999px;
            font-size: 20px;
            font-weight: bold;
            text-decoration: none;
            margin: 20px 0;
        }

        footer .contact-btn:hover {
            color: #fff;
            opacity: 0.9;
        }

        footer .footer-recruit a {
            color: #ff4fa3;
            text-decoration: none;
            display: block;
            margin: 6px 0;
        }

        footer .footer-legal-links {
            margin: 24px 0;
            font-size: 13px;
        }

        footer .footer-legal-links a {
            color: #666;
            text-decoration: none;
            margin: 0 8px;
        }

        @media (max-width: 768px) {
            header .header-holder {
                padding: 0 12px;
            }

            header .login-image-btn img {
                width: 92px;
            }

            header .main-menu-btn img {
                width: 92px;
            }
        }
    

/* base.html のフッター等インラインを移設 */
.main-fill {
    min-height: 100%;
}

footer .footer-hours {
    font-size: 12px;
    margin-bottom: 18px;
}

footer .footer-recruit {
    font-size: 14px;
    line-height: 2;
}

footer .footer-recruit strong {
    color: #ff4fa3;
}

footer .footer-copyright {
    font-size: 10px;
    color: #aaa;
}
