
/* 事例ページでは装飾サークルを非表示 */
.decoration-circle {
    display: none !important;
}
/* ===== 事例ページ共通CSS ===== */

            .footer-inner {
                max-width: 1200px;
                margin: 0 auto;
                padding: 60px 40px 40px;
                position: relative;
                z-index: 1;
            }

            .footer-top {
                display: grid;
                grid-template-columns: 280px 1fr;
                gap: 60px;
                padding-bottom: 48px;
                border-bottom: 1px solid rgba(255, 255, 255, 0.2);
                margin-bottom: 40px;
                align-items: start;
            }

            .footer-brand {
                display: flex;
                flex-direction: column;
                gap: 20px;
            }

            .footer-logo {
                font-size: 20px;
                font-weight: 900;
                color: #fff;
                letter-spacing: -0.02em;
                display: flex;
                align-items: center;
                gap: 10px;
            }

            .footer-address {
                font-size: 13px;
                color: rgba(255, 255, 255, 0.75);
                line-height: 1.7;
                display: flex;
                align-items: flex-start;
                gap: 6px;
                margin: 0;
            }

            .footer-icon {
                width: 15px;
                height: 15px;
                flex-shrink: 0;
                margin-top: 2px;
                color: #fff;
            }

            .footer-tel {
                display: flex;
                align-items: center;
                gap: 14px;
                text-decoration: none;
                color: #fff;
                font-size: 18px;
                font-weight: 700;
                letter-spacing: 0.04em;
                transition: opacity 0.2s;
            }

            .footer-tel:hover {
                opacity: 0.7;
            }

            .footer-tel-circle {
                width: 40px;
                height: 40px;
                border-radius: 50%;
                border: 1.5px solid rgba(255, 255, 255, 0.8);
                display: flex;
                align-items: center;
                justify-content: center;
                flex-shrink: 0;
                color: #fff;
            }

            .footer-tel-circle svg {
                width: 18px;
                height: 18px;
            }

            .footer-nav-grid {
                display: grid;
                grid-template-columns: repeat(2, 1fr);
                gap: 32px;
            }

            .footer-nav-group-title {
                font-size: 10px;
                font-weight: 700;
                letter-spacing: 0.22em;
                color: rgba(255, 255, 255, 0.6);
                text-transform: uppercase;
                margin-bottom: 16px;
                display: flex;
                align-items: center;
                gap: 8px;
            }

            .footer-nav-group-title::before {
                content: "";
                display: inline-block;
                width: 16px;
                height: 2px;
                background: rgba(255, 255, 255, 0.5);
                border-radius: 2px;
            }

            .footer-bottom {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 20px;
                flex-wrap: wrap;
            }

            .copyright {
                font-size: 12px;
                color: rgba(255, 255, 255, 0.5);
            }

            .hamburger {
                display: none;
                flex-direction: column;
                justify-content: space-between;
                width: 28px;
                height: 20px;
                cursor: pointer;
                background: none;
                border: none;
                padding: 0;
                z-index: 200;
            }

            .hamburger span {
                display: block;
                width: 100%;
                height: 2.5px;
                background-color: #2d3748;
                border-radius: 2px;
                transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
                transform-origin: center;
            }

            .hamburger.open span:nth-child(1) {
                transform: translateY(8.75px) rotate(45deg);
            }

            .hamburger.open span:nth-child(2) {
                opacity: 0;
                transform: scaleX(0);
            }

            .hamburger.open span:nth-child(3) {
                transform: translateY(-8.75px) rotate(-45deg);
            }
