.elementor-114 .elementor-element.elementor-element-cb0e322{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS *//* ========================================
   C案：疑似パララックス
   ======================================== */

/* 全幅強制 */
html, body {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
}

/* 背景画像を固定（疑似パララックス） */
.hero::after {
    content: "" !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background-image: url('https://miraipress.jp/wp-content/uploads/2026/01/mirai-press-free-distribution-business-city-skyline-seo.webp') !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    z-index: -2 !important;
    pointer-events: none !important;
}

.hero {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    background: transparent !important;
}

.hero::before {
    z-index: -1 !important;
}

/* 各セクションを半透明に */
.cases,
.mid-cta,
.comparison-section,
.features,
.benefits,
.story-section,
.flow-section,
.cta {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
}

.cases {
    background-color: rgba(240, 244, 248, 0.92) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

.comparison-section {
    background-color: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

.features {
    background-color: rgba(240, 244, 248, 0.92) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

.benefits {
    background-color: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

.story-section {
    background-color: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

.flow-section {
    background-color: rgba(240, 244, 248, 0.92) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

.mid-cta {
    background: linear-gradient(135deg, rgba(11, 30, 69, 0.95) 0%, rgba(5, 17, 41, 0.98) 100%) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

.cta {
    background: linear-gradient(135deg, rgba(11, 30, 69, 0.95) 0%, rgba(5, 17, 41, 0.98) 100%) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

/* ========================================
   フォントサイズ調整（全体的にアップ）
   ======================================== */

body {
    font-size: 17px !important;
}

.hero h1 {
    font-size: clamp(36px, 6vw, 64px) !important;
}

.hero-sub {
    font-size: clamp(17px, 2.2vw, 22px) !important;
}

.hero-cta {
    font-size: 20px !important;
    padding: 22px 55px !important;
}

.sub-title {
    font-size: 22px !important;
}

.h2-title {
    font-size: clamp(28px, 4.5vw, 44px) !important;
}

.section-lead {
    font-size: 18px !important;
}

.case-card-new .case-industry i {
    font-size: 56px !important;
}

.case-card-new .case-industry-name {
    font-size: 20px !important;
}

.case-card-new .case-before-new .case-text-new,
.case-card-new .case-after-new .case-text-new {
    font-size: 16px !important;
}

.case-card-new .case-example-new {
    font-size: 14px !important;
}

.mission-box p {
    font-size: 20px !important;
}

.comparison-table th,
.comparison-table td {
    font-size: 16px !important;
    padding: 28px 35px !important;
}

.comparison-table .price-new {
    font-size: 28px !important;
}

.comparison-note-new p {
    font-size: 18px !important;
}

.feature-card h3 {
    font-size: 22px !important;
}

.feature-card p {
    font-size: 16px !important;
}

.feature-icon {
    width: 90px !important;
    height: 90px !important;
}

.feature-icon i {
    font-size: 36px !important;
}

.benefit-content h3 {
    font-size: 20px !important;
}

.benefit-content p {
    font-size: 16px !important;
}

.benefit-icon {
    width: 65px !important;
    height: 65px !important;
}

.benefit-icon i {
    font-size: 26px !important;
}

.benefit-note p {
    font-size: 18px !important;
}

.story-text h3 {
    font-size: 26px !important;
}

.story-text p {
    font-size: 17px !important;
}

.story-troubles-new li {
    font-size: 16px !important;
}

.story-results-new > p {
    font-size: 15px !important;
}

.story-results-new .result-stat .number {
    font-size: 48px !important;
}

.story-results-new .result-stat .label {
    font-size: 14px !important;
}

.story-results-new .story-cta a {
    font-size: 16px !important;
    padding: 18px 40px !important;
}

.flow-number {
    width: 110px !important;
    height: 110px !important;
}

.flow-number span {
    font-size: 40px !important;
}

.flow-step h3 {
    font-size: 22px !important;
}

.flow-step p {
    font-size: 16px !important;
}

.cta .h2-title {
    font-size: clamp(26px, 4vw, 40px) !important;
}

.cta-lead {
    font-size: 19px !important;
}

.cta-feature {
    font-size: 17px !important;
}

.cta-button {
    font-size: 22px !important;
    padding: 28px 65px !important;
}

.mid-cta p {
    font-size: 20px !important;
}

.mid-cta a {
    font-size: 18px !important;
    padding: 20px 50px !important;
}

/* ========================================
   レスポンシブ調整（スマホ）
   ======================================== */
@media (max-width: 768px) {
    .hero::after {
        position: absolute !important;
        background-attachment: scroll !important;
    }

    body {
        font-size: 16px !important;
    }

    .hero h1 {
        font-size: clamp(28px, 7vw, 36px) !important;
    }

    .hero-sub {
        font-size: 16px !important;
    }

    .hero-cta {
        font-size: 17px !important;
        padding: 18px 40px !important;
    }

    .sub-title {
        font-size: 18px !important;
    }

    .h2-title {
        font-size: clamp(24px, 6vw, 32px) !important;
    }

    .section-lead {
        font-size: 16px !important;
    }

    .case-card-new .case-industry i {
        font-size: 36px !important;
    }

    .case-card-new .case-industry-name {
        font-size: 18px !important;
    }

    .mission-box {
        padding: 40px 25px !important;
    }

    .mission-box p {
        font-size: 17px !important;
    }

    .comparison-table th,
    .comparison-table td {
        font-size: 14px !important;
        padding: 15px 12px !important;
    }

    .comparison-table .price-new {
        font-size: 22px !important;
    }

    .comparison-note-new {
        padding: 35px 25px !important;
    }

    .comparison-note-new p {
        font-size: 16px !important;
    }

    .feature-card {
        padding: 40px 30px !important;
    }

    .feature-card h3 {
        font-size: 20px !important;
    }

    .feature-card p {
        font-size: 15px !important;
    }

    .feature-icon {
        width: 75px !important;
        height: 75px !important;
    }

    .feature-icon i {
        font-size: 30px !important;
    }

    .benefit-item {
        padding: 30px 25px !important;
    }

    .benefit-content h3 {
        font-size: 18px !important;
    }

    .benefit-content p {
        font-size: 15px !important;
    }

    .benefit-icon {
        width: 55px !important;
        height: 55px !important;
    }

    .benefit-icon i {
        font-size: 22px !important;
    }

    .benefit-note {
        padding: 35px 25px !important;
    }

    .benefit-note p {
        font-size: 16px !important;
    }

    .story-text h3 {
        font-size: 22px !important;
    }

    .story-text p {
        font-size: 16px !important;
    }

    .story-troubles-new {
        padding: 35px 25px !important;
    }

    .story-troubles-new li {
        font-size: 15px !important;
    }

    .story-results-new {
        padding: 40px 25px !important;
    }

    .story-results-new .result-stat {
        padding: 20px 25px !important;
    }

    .story-results-new .result-stat .number {
        font-size: 38px !important;
    }

    .story-results-new .result-stat .label {
        font-size: 13px !important;
    }

    .story-results-new .story-cta a {
        font-size: 15px !important;
        padding: 16px 35px !important;
    }

    .story-results-new .result-stats {
        justify-content: center !important;
    }

    .flow-number {
        width: 90px !important;
        height: 90px !important;
    }

    .flow-number span {
        font-size: 32px !important;
    }

    .flow-step h3 {
        font-size: 20px !important;
    }

    .flow-step p {
        font-size: 15px !important;
    }

    .cta-lead {
        font-size: 17px !important;
    }

    .cta-feature {
        font-size: 16px !important;
    }

    .cta-button {
        font-size: 18px !important;
        padding: 22px 45px !important;
    }

    .cta-features {
        flex-direction: column !important;
        align-items: center !important;
        gap: 15px !important;
    }

    .mid-cta p {
        font-size: 17px !important;
    }

    .mid-cta a {
        font-size: 16px !important;
        padding: 18px 40px !important;
    }
}/* End custom CSS */