        @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&family=Shippori+Mincho:wght@700;800&display=swap');

        .menu-wrapper {
            font-family: 'Noto Sans JP', sans-serif;
            background-color: #1a1a1a;
            color: white;
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 10px;
            gap: 20px;
        }

        .menu-card {
            background-color: #000;
            box-sizing: border-box;
            width: 100%;
            max-width: 680px;
            padding: 15px 20px;
            border-radius: 8px;
            border: 1px solid #333;
        }

        .header-area {
            margin-bottom: 5px;
        }

        .brush-title {
            color: #e63946;
            font-size: 2rem;
            font-weight: 900;
            letter-spacing: 0.05em;
            margin: 0;
            line-height: 1.1;
            font-family: 'Shippori Mincho', serif;
        }

        .sub-header {
            font-size: 13px;
            font-weight: 700;
            border-bottom: 1px solid #444;
            padding-bottom: 6px;
            margin-bottom: 15px;
            color: #bbb;
        }

        /* プラン見出し（びっくりコース用） */
        .plan-label {
            font-size: 17px;
            font-weight: 700;
            margin: 15px 0 8px 0;
            display: flex;
            align-items: center;
            gap: 8px;
            color: #fff;
        }
        .plan-label::before {
            content: "";
            display: inline-block;
            width: 4px;
            height: 1.2em;
            background-color: #e63946;
        }

        /* 金額と時間の列レイアウト */
        .info-row {
            display: flex;
            flex-direction: column;
            gap: 8px;
            margin-bottom: 15px;
        }

        @media (min-width: 500px) {
            .info-row {
                flex-direction: row;
                gap: 10px;
            }
            .price-section, .time-info-compact {
                flex: 1;
            }
        }

        /* デザイン統一：左ボーダーと背景 */
        .price-section, .time-info-compact {
            background: linear-gradient(90deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0) 100%);
            padding: 10px 12px;
            border-left: 4px solid #e63946;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .price-main, .time-main-display {
            font-weight: 900;
            display: flex;
            align-items: baseline;
            gap: 4px;
            margin-bottom: 3px;
        }

        .label-small { font-size: 13px; color: #eee; }
        .amount-large { font-size: 2rem; line-height: 1; }
        .unit-small { font-size: 13px; }

        .price-sub, .lo-text {
            display: flex;
            gap: 12px;
            font-size: 13px;
            font-weight: 700;
            color: #ccc;
        }

        .price-sub .val {
            color: #fff;
            margin-left: 2px;
        }

        /* メニューグリッド */
        .menu-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 6px 12px;
            margin-top: 10px;
        }

        @media (min-width: 600px) {
            .menu-grid {
                grid-template-columns: repeat(3, 1fr);
            }
        }

        .menu-item {
            display: flex;
            flex-direction: column;
            border-bottom: 1px solid #222;
            padding-bottom: 2px;
            font-size: 14px;
            font-weight: 700;
        }

        .limit-text {
            font-size: 11px;
            font-weight: 400;
            color: #ffb86c;
            margin-top: 1px;
        }

        .tax-note {
            text-align: right;
            font-size: 11px;
            color: #888;
            margin-top: 10px;
        }