h3[id]::before {
  content: "";
  display: block;
  height: 100px; /* ヘッダーの高さ */
  margin-top: -100px;
}

        .faq-item {
            margin-bottom: 15px;
            border: 1px solid #c4b17f;
            border-radius: 5px;
            overflow: hidden;
        }

        .faq-question {
            background-color: #ffffff;
            padding: 20px;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            transition: background-color 0.3s ease;
            border-left: 4px solid #c4b17f;
        }

        .faq-question:hover {
            background-color: #f9f7f3;
        }

        .faq-question.active {
            background-color: #c4b17f;
            color: #ffffff;
        }

        .question-text {
            font-weight: 600;
            font-size: 16px;
            flex: 1;
            padding-right: 15px;
        }

        .toggle-icon {
            font-size: 24px;
            font-weight: bold;
            color: #c4b17f;
            transition: transform 0.3s ease;
        }

        .faq-question.active .toggle-icon {
            transform: rotate(45deg);
            color: #ffffff;
        }

        .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.4s ease;
            background-color: #ffffff;
        }

        .faq-answer.active {
            max-height: 1000px;
        }

        .answer-content {
            padding: 20px;
            color: #3d3d4e;
            line-height: 1.9;
            font-size: 15px;
        }

        .answer-content p {
            margin-bottom: 12px;
        }

        .answer-content ul {
            margin-left: 20px;
            margin-bottom: 12px;
        }

        .answer-content li {
            margin-bottom: 8px;
        }

        .note {
            background-color: #f9f7f3;
            padding: 15px;
            border-radius: 4px;
            margin-top: 15px;
            font-size: 14px;
            border-left: 3px solid #c4b17f;
        }

        .contact-info {
            margin-top: 40px;
            padding: 25px;
            background-color: #f9f7f3;
            border-radius: 5px;
            border: 1px solid #c4b17f;
            text-align: center;
        }

        .contact-info h2 {
            color: #3d3d4e;
            margin-bottom: 15px;
            font-size: 18px;
        }

        .contact-info p {
            margin-bottom: 8px;
        }

        @media (max-width: 600px) {
            .container {
                padding: 20px;
            }

            .question-text {
                font-size: 14px;
            }

            .answer-content {
                font-size: 14px;
            }

            .qr-container {
                flex-direction: column;
                align-items: center;
            }

            .qr-container img {
                margin-top: 15px;
            }
        }