.elementor-388 .elementor-element.elementor-element-1619f494 .elementor-button{background-color:#45973C;width:222px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:inline-flex;font-weight:700;letter-spacing:1.5px;border-radius:10px 10px 10px 10px;}.elementor-388 .elementor-element.elementor-element-1619f494{--ha-tfx-scale-x-hover:0.9;--ha-tfx-scale-y-hover:0.9;--ha-tfx-transition-duration:0.5s;}.elementor-388 .elementor-element.elementor-element-2fb69b27 .elementor-button{background-color:#1E50A2;width:222px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:inline-flex;font-weight:700;letter-spacing:0px;border-radius:10px 10px 10px 10px;}.elementor-388 .elementor-element.elementor-element-2fb69b27{--ha-tfx-scale-x-hover:0.9;--ha-tfx-scale-y-hover:0.9;--ha-tfx-transition-duration:0.5s;}.elementor-388 .elementor-element.elementor-element-7a5dc269 .elementor-repeater-item-4c0498b.elementor-social-icon{background-color:#1E50A2;}.elementor-388 .elementor-element.elementor-element-7a5dc269 .elementor-repeater-item-4c0498b.elementor-social-icon i{color:#F8F8F8;}.elementor-388 .elementor-element.elementor-element-7a5dc269 .elementor-repeater-item-4c0498b.elementor-social-icon svg{fill:#F8F8F8;}.elementor-388 .elementor-element.elementor-element-7a5dc269 .elementor-repeater-item-efed13e.elementor-social-icon{background-color:#FF0000;}.elementor-388 .elementor-element.elementor-element-7a5dc269{--grid-template-columns:repeat(2, auto);--icon-size:30px;--grid-column-gap:22px;--grid-row-gap:0px;}.elementor-388 .elementor-element.elementor-element-7a5dc269 .elementor-widget-container{text-align:center;}.elementor-388 .elementor-element.elementor-element-7a5dc269 .elementor-icon{border-radius:10px 10px 10px 10px;}.elementor-388 .elementor-element.elementor-element-49c93614 > .elementor-widget-container{margin:-5px 0px 0px 0px;}.elementor-388 .elementor-element.elementor-element-49c93614 .elementor-heading-title{line-height:21px;}.elementor-388 .elementor-element.elementor-element-7b5a3262 > .elementor-widget-container{margin:-5px 0px 0px 0px;}.elementor-388 .elementor-element.elementor-element-7b5a3262 .elementor-heading-title{line-height:21px;}.elementor-388 .elementor-element.elementor-element-7aec745b > .elementor-widget-container{margin:-5px 0px 0px 0px;}.elementor-388 .elementor-element.elementor-element-7aec745b .elementor-heading-title{line-height:21px;}.elementor-388 .elementor-element.elementor-element-7eed930 > .elementor-widget-container{margin:-5px 0px 0px 0px;}.elementor-388 .elementor-element.elementor-element-7eed930 .elementor-heading-title{line-height:21px;}.elementor-388 .elementor-element.elementor-element-7aa9995c > .elementor-widget-container{margin:-5px 0px 0px 0px;}.elementor-388 .elementor-element.elementor-element-7aa9995c .elementor-heading-title{line-height:21px;}.elementor-388 .elementor-element.elementor-element-4a7739b1 > .elementor-widget-container{margin:-5px 0px 0px 0px;}.elementor-388 .elementor-element.elementor-element-4a7739b1 .elementor-heading-title{line-height:21px;}.elementor-388 .elementor-element.elementor-element-578bd61d > .elementor-widget-container{margin:-5px 0px 0px 0px;}.elementor-388 .elementor-element.elementor-element-578bd61d .elementor-heading-title{line-height:21px;}.elementor-388 .elementor-element.elementor-element-c632284 > .elementor-widget-container{background-color:#C6B340;margin:-2px 0px 0px -14px;padding:10px 0px 10px 10px;}.elementor-388 .elementor-element.elementor-element-c632284.ha-has-bg-overlay:hover > .elementor-widget-container::before{transition:background 0.3s;}.elementor-388 .elementor-element.elementor-element-c632284 .elementor-heading-title{font-weight:700;}.elementor-388 .elementor-element.elementor-element-7ca8d5be{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-388 .elementor-element.elementor-element-7ca8d5be > .elementor-widget-container{margin:-5px 0px 0px 0px;padding:0px 0px 20px 0px;}.elementor-388 .elementor-element.elementor-element-7ca8d5be .elementor-heading-title{line-height:21px;}.elementor-388 .elementor-element.elementor-element-6d8f07a4{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-388 .elementor-element.elementor-element-6d8f07a4 > .elementor-widget-container{margin:-5px 0px 0px 0px;padding:0px 0px 20px 0px;}.elementor-388 .elementor-element.elementor-element-6d8f07a4 .elementor-heading-title{line-height:21px;}.elementor-388 .elementor-element.elementor-element-5adb1086{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-388 .elementor-element.elementor-element-5adb1086 > .elementor-widget-container{margin:-5px 0px 0px 0px;padding:0px 0px 20px 0px;}.elementor-388 .elementor-element.elementor-element-5adb1086 .elementor-heading-title{line-height:21px;}.elementor-388 .elementor-element.elementor-element-2c6cce78{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-388 .elementor-element.elementor-element-2c6cce78 > .elementor-widget-container{margin:-5px 0px 0px 0px;padding:0px 0px 20px 0px;}.elementor-388 .elementor-element.elementor-element-2c6cce78 .elementor-heading-title{line-height:21px;}.elementor-388 .elementor-element.elementor-element-3908da7f{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-388 .elementor-element.elementor-element-3908da7f > .elementor-widget-container{margin:-5px 0px 0px 0px;padding:0px 0px 20px 0px;}.elementor-388 .elementor-element.elementor-element-3908da7f .elementor-heading-title{line-height:21px;}.elementor-388 .elementor-element.elementor-element-791eed29{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-388 .elementor-element.elementor-element-791eed29 > .elementor-widget-container{margin:-5px 0px 0px 0px;padding:0px 0px 20px 0px;}.elementor-388 .elementor-element.elementor-element-791eed29 .elementor-heading-title{line-height:21px;}.elementor-388 .elementor-element.elementor-element-2366652f{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-388 .elementor-element.elementor-element-2366652f > .elementor-widget-container{margin:-5px 0px 0px 0px;padding:0px 0px 20px 0px;}.elementor-388 .elementor-element.elementor-element-2366652f .elementor-heading-title{line-height:21px;}.elementor-388 .elementor-element.elementor-element-584f9b75{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-388 .elementor-element.elementor-element-584f9b75 > .elementor-widget-container{margin:-5px 0px 0px 0px;padding:0px 0px 20px 0px;}.elementor-388 .elementor-element.elementor-element-584f9b75 .elementor-heading-title{line-height:21px;}.elementor-388 .elementor-element.elementor-element-63e76540{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-388 .elementor-element.elementor-element-63e76540 > .elementor-widget-container{margin:-5px 0px 0px 0px;padding:0px 0px 20px 0px;}.elementor-388 .elementor-element.elementor-element-63e76540 .elementor-heading-title{line-height:21px;}.elementor-388 .elementor-element.elementor-element-79c2a5d0{width:var( --container-widget-width, 60% );max-width:60%;--container-widget-width:60%;--container-widget-flex-grow:0;}.elementor-388 .elementor-element.elementor-element-2e15de74{--spacer-size:0px;}.elementor-388 .elementor-element.elementor-element-3c09e4c5{width:auto;max-width:auto;align-self:center;}.elementor-388 .elementor-element.elementor-element-3c09e4c5 > .elementor-widget-container{margin:0px 5px 0px 0px;}.elementor-388 .elementor-element.elementor-element-71b8b27d{width:auto;max-width:auto;}.elementor-388 .elementor-element.elementor-element-71b8b27d .elementor-heading-title{font-size:35px;font-weight:700;letter-spacing:2px;}.elementor-388 .elementor-element.elementor-element-6fe087a8 > .elementor-widget-container{margin:5px 0px 0px 0px;}.elementor-388 .elementor-element.elementor-element-079e2dc > .elementor-widget-container{margin:5px 0px 0px 0px;}.elementor-388 .elementor-element.elementor-element-639bf26c > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-388 .elementor-element.elementor-element-639bf26c .elementor-heading-title{line-height:21px;}.elementor-388 .elementor-element.elementor-element-3b38709c > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-388 .elementor-element.elementor-element-3b38709c .elementor-heading-title{line-height:21px;}.elementor-388 .elementor-element.elementor-element-5ecadfef{--spacer-size:10px;}.elementor-388 .elementor-element.elementor-element-6d952263{text-align:center;}.elementor-388 .elementor-element.elementor-element-32d8af7{--spacer-size:30px;}@media(max-width:1024px){.elementor-388 .elementor-element.elementor-element-2d17ab73{padding:0px 0px 0px 0px;}.elementor-388 .elementor-element.elementor-element-381633b3 > .elementor-element-populated{margin:8px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;}.elementor-388 .elementor-element.elementor-element-3a93d62d > .elementor-element-populated{padding:0px 0px 0px 30px;}.elementor-388 .elementor-element.elementor-element-79c2a5d0{--container-widget-width:271px;--container-widget-flex-grow:0;width:var( --container-widget-width, 271px );max-width:271px;}}@media(max-width:767px){.elementor-388 .elementor-element.elementor-element-3b81d1cb{margin-top:-25px;margin-bottom:0px;}.elementor-388 .elementor-element.elementor-element-1619f494 .elementor-button{width:300px;}.elementor-388 .elementor-element.elementor-element-2fb69b27 .elementor-button{width:300px;}.elementor-388 .elementor-element.elementor-element-29d3d7ce > .elementor-element-populated{margin:0px 0px 10px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;}.elementor-388 .elementor-element.elementor-element-3a93d62d > .elementor-element-populated{padding:0px 0px 0px 25px;}.elementor-388 .elementor-element.elementor-element-6fe087a8{width:initial;max-width:initial;}.elementor-388 .elementor-element.elementor-element-079e2dc{width:initial;max-width:initial;}.elementor-388 .elementor-element.elementor-element-5ecadfef{--spacer-size:0px;}.elementor-388 .elementor-element.elementor-element-32d8af7{--spacer-size:15px;}.elementor-388 .elementor-element.elementor-element-d3b5d02{margin-top:-25px;margin-bottom:0px;}}@media(min-width:768px){.elementor-388 .elementor-element.elementor-element-5a14a626{width:39.402%;}.elementor-388 .elementor-element.elementor-element-29d3d7ce{width:21.389%;}.elementor-388 .elementor-element.elementor-element-1bab2ef2{width:38.542%;}}@media(max-width:1024px) and (min-width:768px){.elementor-388 .elementor-element.elementor-element-381633b3{width:100%;}.elementor-388 .elementor-element.elementor-element-3a93d62d{width:100%;}}/* Start custom CSS */* {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            font-family: 'Segoe UI', 'Helvetica Neue', sans-serif, 'ヒラギノ角ゴ Pro', 'メイリオ';
            color: #333;
            line-height: 1.6;
            background: #fff;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        /* ===== ファーストビュー ===== */
        .hero {
            background: linear-gradient(135deg, #e8f4f8 0%, #ffffff 100%);
            padding: 60px 20px 80px;
            text-align: center;
            position: relative;
            overflow: hidden;
        }

        .hero::before {
            content: '';
            position: absolute;
            top: -50%;
            right: -10%;
            width: 500px;
            height: 500px;
            background: radial-gradient(circle, rgba(52, 152, 219, 0.1) 0%, transparent 70%);
            border-radius: 50%;
        }

        .hero-content {
            position: relative;
            z-index: 1;
            max-width: 800px;
            margin: 0 auto;
        }

        .hero h1 {
            font-size: 2.2rem;
            font-weight: 700;
            margin-bottom: 20px;
            color: #1a3a52;
            line-height: 1.4;
            letter-spacing: 0.5px;
        }

        .hero-subtitle {
            font-size: 1.1rem;
            color: #3498db;
            margin-bottom: 20px;
            font-weight: 600;
        }

        .hero-description {
            font-size: 0.95rem;
            color: #555;
            margin-bottom: 40px;
            line-height: 1.8;
        }

        .cta-button {
            display: inline-block;
            background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
            color: white;
            padding: 16px 40px;
            border-radius: 50px;
            text-decoration: none;
            font-weight: 700;
            font-size: 1rem;
            transition: all 0.3s ease;
            box-shadow: 0 4px 15px rgba(52, 152, 219, 0.3);
            border: none;
            cursor: pointer;
            min-height: 48px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }

        .cta-button:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(52, 152, 219, 0.4);
        }

        .cta-button:active {
            transform: translateY(0);
        }

        /* ===== 問題提起セクション ===== */
        .problems {
            padding: 60px 20px;
            background: #f8f9fa;
        }

        .section-title {
            font-size: 1.8rem;
            font-weight: 700;
            text-align: center;
            margin-bottom: 40px;
            color: #1a3a52;
            position: relative;
            padding-bottom: 15px;
        }

        .section-title::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 60px;
            height: 4px;
            background: #3498db;
            border-radius: 2px;
        }

        .problems-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 20px;
            max-width: 1000px;
            margin: 0 auto;
        }

        .problem-item {
            background: white;
            padding: 25px;
            border-radius: 10px;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
            text-align: center;
            transition: transform 0.3s ease;
            border-left: 4px solid #3498db;
        }

        .problem-item:hover {
            transform: translateY(-3px);
        }

        .problem-item::before {
            content: '✓';
            display: block;
            font-size: 1.8rem;
            color: #e74c3c;
            margin-bottom: 12px;
            font-weight: 700;
        }

        .problem-item p {
            font-size: 0.95rem;
            color: #555;
            line-height: 1.7;
        }

        .problems-conclusion {
            text-align: center;
            margin-top: 40px;
            padding: 25px;
            background: linear-gradient(135deg, #e8f4f8 0%, #fff 100%);
            border-radius: 10px;
            border-left: 4px solid #3498db;
        }

        .problems-conclusion p {
            font-size: 1.05rem;
            color: #1a3a52;
            font-weight: 600;
        }

        /* ===== 特徴セクション ===== */
        .features {
            padding: 60px 20px;
            background: white;
        }

        .features-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 30px;
            max-width: 1200px;
            margin: 0 auto;
        }

        .feature-card {
            background: linear-gradient(135deg, #f0f8ff 0%, #ffffff 100%);
            padding: 30px;
            border-radius: 15px;
            border-left: 5px solid #3498db;
            box-shadow: 0 4px 15px rgba(52, 152, 219, 0.1);
            transition: all 0.3s ease;
        }

        .feature-card:hover {
            transform: translateY(-3px);
            box-shadow: 0 8px 25px rgba(52, 152, 219, 0.2);
        }

        .feature-number {
            display: inline-block;
            width: 45px;
            height: 45px;
            background: #3498db;
            color: white;
            border-radius: 50%;
            text-align: center;
            line-height: 45px;
            font-size: 1.6rem;
            font-weight: 700;
            margin-bottom: 15px;
        }

        .feature-card h3 {
            font-size: 1.2rem;
            margin-bottom: 12px;
            color: #1a3a52;
            font-weight: 700;
            line-height: 1.4;
        }

        .feature-card p {
            font-size: 0.9rem;
            color: #555;
            line-height: 1.8;
        }

        /* ===== 料金プランセクション ===== */
        .pricing {
            padding: 60px 20px;
            background: linear-gradient(135deg, #f0f8ff 0%, #ffffff 100%);
        }

        .pricing-container {
            max-width: 1100px;
            margin: 0 auto;
        }

        .pricing-intro {
            text-align: center;
            margin-bottom: 40px;
            font-size: 0.95rem;
            color: #555;
        }

        /* スマホ用カード形式の料金表 */
        .pricing-cards {
            display: grid;
            grid-template-columns: 1fr;
            gap: 25px;
            margin-bottom: 30px;
        }

        .pricing-card {
            background: white;
            border-radius: 15px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            overflow: hidden;
            transition: all 0.3s ease;
            border-top: 4px solid #3498db;
        }

        .pricing-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
        }

        .pricing-card-header {
            background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
            color: white;
            padding: 20px;
            text-align: center;
        }

        .pricing-card-title {
            font-size: 1.3rem;
            font-weight: 700;
            margin-bottom: 8px;
        }

        .pricing-card-goal {
            font-size: 0.9rem;
            opacity: 0.9;
        }

        .pricing-card-body {
            padding: 25px;
        }

        .pricing-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 12px 0;
            border-bottom: 1px solid #ecf0f1;
            font-size: 0.9rem;
        }

        .pricing-item:last-child {
            border-bottom: none;
        }

        .pricing-label {
            color: #666;
            font-weight: 500;
        }

        .pricing-value {
            text-align: right;
        }

        .price-normal {
            text-decoration: line-through;
            color: #999;
            font-size: 0.85rem;
            display: block;
        }

        .price-highlight {
            font-size: 1.5rem;
            font-weight: 700;
            color: #3498db;
        }

        .payment-note {
            background: linear-gradient(135deg, #e8f4f8 0%, #fff 100%);
            padding: 20px;
            border-radius: 8px;
            margin-top: 30px;
            border-left: 4px solid #3498db;
            font-size: 0.9rem;
            color: #555;
            line-height: 1.7;
        }

        /* ===== 成果保証セクション ===== */
        .guarantee {
            padding: 60px 20px;
            background: white;
        }

        .guarantee-container {
            max-width: 900px;
            margin: 0 auto;
            background: linear-gradient(135deg, #fff5e6 0%, #fffbf0 100%);
            padding: 30px;
            border-radius: 15px;
            border-left: 5px solid #f39c12;
            box-shadow: 0 4px 15px rgba(243, 156, 18, 0.2);
        }

        .guarantee-container h2 {
            font-size: 1.5rem;
            color: #1a3a52;
            margin-bottom: 15px;
            font-weight: 700;
        }

        .guarantee-container p {
            font-size: 0.95rem;
            color: #555;
            line-height: 1.8;
            margin-bottom: 12px;
        }

        .guarantee-highlight {
            font-size: 1.1rem;
            color: #f39c12;
            font-weight: 700;
            margin: 15px 0;
        }

        /* ===== 申し込みフロー ===== */
        .flow {
            padding: 60px 20px;
            background: #f8f9fa;
        }

        .flow-container {
            max-width: 1200px;
            margin: 0 auto;
        }

        .flow-steps {
            display: grid;
            grid-template-columns: 1fr;
            gap: 20px;
            margin-top: 40px;
        }

        .flow-step {
            background: white;
            padding: 30px;
            border-radius: 10px;
            text-align: center;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
            position: relative;
            border-top: 4px solid #3498db;
        }

        .flow-step::before {
            content: attr(data-step);
            position: absolute;
            top: -18px;
            left: 50%;
            transform: translateX(-50%);
            width: 45px;
            height: 45px;
            background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
            color: white;
            border-radius: 50%;
            text-align: center;
            line-height: 45px;
            font-weight: 700;
            font-size: 1.2rem;
        }

        .flow-step h3 {
            font-size: 1.1rem;
            margin-bottom: 12px;
            color: #1a3a52;
            font-weight: 700;
            margin-top: 10px;
        }

        .flow-step p {
            font-size: 0.9rem;
            color: #666;
            line-height: 1.7;
        }

        /* ===== FAQ セクション ===== */
        .faq {
            padding: 60px 20px;
            background: white;
        }

        .faq-container {
            max-width: 900px;
            margin: 0 auto;
        }

        .faq-item {
            margin-bottom: 15px;
            background: white;
            border: 1px solid #ecf0f1;
            border-radius: 8px;
            overflow: hidden;
            transition: all 0.3s ease;
        }

        .faq-question {
            background: linear-gradient(135deg, #f0f8ff 0%, #ffffff 100%);
            padding: 18px;
            cursor: pointer;
            font-weight: 600;
            font-size: 0.95rem;
            color: #1a3a52;
            display: flex;
            justify-content: space-between;
            align-items: center;
            user-select: none;
            min-height: 48px;
        }

        .faq-question::after {
            content: '▼';
            font-size: 0.8rem;
            color: #3498db;
            transition: transform 0.3s ease;
        }

        .faq-item.active .faq-question::after {
            transform: rotate(-180deg);
        }

        .faq-answer {
            padding: 0 18px;
            max-height: 0;
            overflow: hidden;
            transition: all 0.3s ease;
            background: white;
        }

        .faq-item.active .faq-answer {
            padding: 18px;
            max-height: 500px;
        }

        .faq-answer p {
            font-size: 0.9rem;
            color: #555;
            line-height: 1.8;
        }

        /* ===== 特定商取引法セクション ===== */
        .legal {
            padding: 60px 20px;
            background: #f8f9fa;
        }

        .legal-container {
            max-width: 900px;
            margin: 0 auto;
        }

        .legal-table {
            width: 100%;
            border-collapse: collapse;
            background: white;
            border-radius: 8px;
            overflow: hidden;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
        }

        .legal-table th {
            background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
            color: white;
            padding: 15px;
            text-align: left;
            font-weight: 700;
            font-size: 0.9rem;
            width: 35%;
        }

        .legal-table td {
            padding: 15px;
            border-bottom: 1px solid #ecf0f1;
            font-size: 0.9rem;
            color: #555;
        }

        .legal-table tr:last-child td {
            border-bottom: none;
        }

        .legal-table tr:nth-child(even) {
            background: #f8f9fa;
        }

        .legal-input {
            width: 100%;
            padding: 10px;
            border: 1px solid #ddd;
            border-radius: 5px;
            font-size: 0.9rem;
            font-family: inherit;
        }

        .legal-input:focus {
            outline: none;
            border-color: #3498db;
            box-shadow: 0 0 5px rgba(52, 152, 219, 0.3);
        }

        /* ===== フッター ===== */
        .footer {
            background: #1a3a52;
            color: white;
            text-align: center;
            padding: 30px 20px;
            font-size: 0.85rem;
        }

        .footer a {
            color: #3498db;
            text-decoration: none;
            margin: 0 10px;
            display: inline-block;
        }

        .footer a:hover {
            text-decoration: underline;
        }

        .footer div {
            margin-top: 15px;
        }

        /* ===== スティッキーCTAボタン（スマホ用） ===== */
        .sticky-cta {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
            padding: 12px 20px;
            box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
            z-index: 999;
            display: none;
        }

        .sticky-cta button {
            width: 100%;
            padding: 12px;
            background: white;
            color: #3498db;
            border: none;
            border-radius: 25px;
            font-weight: 700;
            font-size: 0.95rem;
            cursor: pointer;
            transition: all 0.3s ease;
            min-height: 44px;
        }

        .sticky-cta button:active {
            transform: scale(0.98);
        }

        /* ===== レスポンシブ対応 ===== */
        @media (min-width: 768px) {
            .hero {
                padding: 100px 20px;
            }

            .hero h1 {
                font-size: 2.8rem;
            }

            .hero-subtitle {
                font-size: 1.3rem;
            }

            .hero-description {
                font-size: 1.05rem;
            }

            .section-title {
                font-size: 2.2rem;
                margin-bottom: 60px;
            }

            .problems-grid {
                grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
                gap: 30px;
            }

            .features-grid {
                grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
                gap: 40px;
            }

            .pricing-cards {
                grid-template-columns: repeat(2, 1fr);
                gap: 30px;
            }

            .flow-steps {
                grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
                gap: 30px;
            }

            .sticky-cta {
                display: none !important;
            }
        }

        @media (max-width: 480px) {
            .hero h1 {
                font-size: 1.8rem;
            }

            .hero-subtitle {
                font-size: 1rem;
            }

            .section-title {
                font-size: 1.5rem;
                margin-bottom: 30px;
            }

            .feature-card {
                padding: 20px;
            }

            .feature-card h3 {
                font-size: 1.1rem;
            }

            .guarantee-container {
                padding: 20px;
            }

            .legal-table th {
                width: 30%;
                padding: 12px;
                font-size: 0.85rem;
            }

            .legal-table td {
                padding: 12px;
                font-size: 0.85rem;
            }

            .sticky-cta {
                display: block;
            }

            body {
                padding-bottom: 60px;
            }
        }/* End custom CSS */