/* Slider CSS - 統合スタイル */

/* レスポンシブ表示制御 */
/* モバイル表示時はPC/タブレット用スライダーを非表示 */
@media (max-width: 767px) {
    .elementor-hidden-mobile {
        display: none !important;
        visibility: hidden !important;
    }
    /* モバイル用セクションを強制表示 */
    .elementor-hidden-tablet,
    .elementor-hidden-desktop {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
        position: relative !important;
    }
    
    /* Elementorセクションの標準余白を削除 */
    .elementor-section-full_width {
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .elementor-section-height-default {
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* より強力なモバイル表示制御 */
    .mobile-slider-background {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        min-height: 300px !important;
        overflow: visible !important;
        z-index: 1 !important;
    }
    
    .mobile-slider-background * {
        visibility: visible !important;
        opacity: 1 !important;
    }
}

/* タブレット・PC表示時はモバイル用スライダーを非表示 */
@media (min-width: 768px) {
    .elementor-hidden-tablet,
    .elementor-hidden-desktop {
        display: none !important;
    }
    /* PC/タブレット用セクションを強制表示 */
    .elementor-hidden-mobile {
        display: block !important;
    }
    
    /* PC・タブレット用ページネーション - 画像上にオーバーレイ */
    .pc-tablet-slider-background .swiper-pagination {
        position: absolute !important;
        bottom: 20px !important;
        left: 0 !important;
        width: 100% !important;
        text-align: center !important;
        z-index: 10 !important;
        pointer-events: auto !important;
    }
    
    .pc-tablet-slider-background .swiper-pagination-bullet {
        width: 14px !important;
        height: 14px !important;
        background: rgba(255, 255, 255, 0.7) !important;
        border: 2px solid rgba(0, 0, 0, 0.3) !important;
        border-radius: 50% !important;
        margin: 0 5px !important;
        cursor: pointer !important;
        pointer-events: auto !important;
        opacity: 0.8 !important;
        transition: all 0.3s ease !important;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
    }
    
    .pc-tablet-slider-background .swiper-pagination-bullet-active {
        background: #fff !important;
        border: 2px solid rgba(0, 0, 0, 0.5) !important;
        opacity: 1 !important;
        transform: scale(1.3) !important;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4) !important;
    }
}

/* PC・タブレット用背景画像クラス */
.pc-tablet-slider-background {
    background-image: url("../new_img/bg_topback.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
}

/* PC・タブレット用セクション要素の余白削除 */
.elementor-element-593f5f27.pc-tablet-slider-background {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

.elementor-element-593f5f27.pc-tablet-slider-background .elementor-container {
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

.elementor-element-593f5f27.pc-tablet-slider-background .elementor-column {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.elementor-element-593f5f27.pc-tablet-slider-background .elementor-widget-wrap {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-element-593f5f27.pc-tablet-slider-background .elementor-widget {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-element-593f5f27.pc-tablet-slider-background .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-element-593f5f27.pc-tablet-slider-background .elementor-swiper {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-element-593f5f27.pc-tablet-slider-background .elementor-main-swiper {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-element-593f5f27.pc-tablet-slider-background .swiper-slide {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-element-593f5f27.pc-tablet-slider-background .swiper-slide-bg {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

.elementor-element-593f5f27.pc-tablet-slider-background .swiper-slide-inner {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* PC・タブレット用画像の高さ調整 */
.pc-tablet-slider-background .elementor-slides .swiper-slide-bg {
    object-fit: contain;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
}

/* 背景画像があるセクションで、スライダーコンテンツが背景の上に表示されるよう調整 */
.pc-tablet-slider-background .elementor-container {
    position: relative;
    z-index: 2;
}

.pc-tablet-slider-background .elementor-swiper {
    position: relative;
    z-index: 2;
}

/* モバイル用背景色クラス */
.mobile-slider-background {
    background-color: #FDFF00;
    position: relative;
    min-height: 300px; /* モバイル用の最小高さを設定 */
    width: 100%;
    overflow: visible;
    height: auto;
    margin: 0 !important;
    padding: 0 !important;
}

/* モバイルセクション全体の余白を削除 */
.elementor-element-1eb4f53b.mobile-slider-background {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

.elementor-element-1eb4f53b.mobile-slider-background .elementor-container {
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

.elementor-element-1eb4f53b.mobile-slider-background .elementor-column {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.elementor-element-1eb4f53b.mobile-slider-background .elementor-widget-wrap {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-element-1eb4f53b.mobile-slider-background .elementor-widget {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-element-1eb4f53b.mobile-slider-background .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-element-1eb4f53b.mobile-slider-background .elementor-swiper {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-element-1eb4f53b.mobile-slider-background .elementor-main-swiper {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-element-1eb4f53b.mobile-slider-background .swiper-slide {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-element-1eb4f53b.mobile-slider-background .swiper-slide-bg {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

.elementor-element-1eb4f53b.mobile-slider-background .swiper-slide-inner {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* モバイルセクション内のElementor標準余白を強制削除 */
.elementor-element-1eb4f53b.mobile-slider-background * {
    box-sizing: border-box !important;
}

.elementor-element-1eb4f53b.mobile-slider-background .elementor-slides-wrapper {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-element-1eb4f53b.mobile-slider-background .swiper-wrapper {
    margin: 0 !important;
    padding: 0 !important;
}

/* モバイル背景色セクションで、スライダーコンテンツが適切に表示されるよう調整 */
.mobile-slider-background .elementor-container {
    position: relative;
    z-index: 2;
}

.mobile-slider-background .elementor-swiper {
    position: relative;
    z-index: 2;
}

.mobile-slider-background .elementor-main-swiper {
    position: relative;
    z-index: 1;
}

/* Elementor Swiper スタイル */
.elementor-element,.elementor-lightbox{--swiper-theme-color:#000;--swiper-navigation-size:44px;--swiper-pagination-bullet-size:6px;--swiper-pagination-bullet-horizontal-gap:6px}
.elementor-element .swiper .swiper-slide figure,.elementor-lightbox .swiper .swiper-slide figure{line-height:0}
.elementor-element .swiper .elementor-lightbox-content-source,.elementor-lightbox .swiper .elementor-lightbox-content-source{display:none}
.elementor-element .swiper .elementor-swiper-button,.elementor-element .swiper~.elementor-swiper-button,.elementor-lightbox .swiper .elementor-swiper-button,.elementor-lightbox .swiper~.elementor-swiper-button{color:hsla(0,0%,93%,.9);cursor:pointer;display:inline-flex;font-size:25px;position:absolute;top:50%;transform:translateY(-50%);z-index:1}
.elementor-element .swiper .elementor-swiper-button svg,.elementor-element .swiper~.elementor-swiper-button svg,.elementor-lightbox .swiper .elementor-swiper-button svg,.elementor-lightbox .swiper~.elementor-swiper-button svg{fill:hsla(0,0%,93%,.9);height:1em;width:1em}
.elementor-element .swiper .elementor-swiper-button-prev,.elementor-element .swiper~.elementor-swiper-button-prev,.elementor-lightbox .swiper .elementor-swiper-button-prev,.elementor-lightbox .swiper~.elementor-swiper-button-prev{left:10px}
.elementor-element .swiper .elementor-swiper-button-next,.elementor-element .swiper~.elementor-swiper-button-next,.elementor-lightbox .swiper .elementor-swiper-button-next,.elementor-lightbox .swiper~.elementor-swiper-button-next{right:10px}
.elementor-element .swiper .elementor-swiper-button.swiper-button-disabled,.elementor-element .swiper~.elementor-swiper-button.swiper-button-disabled,.elementor-lightbox .swiper .elementor-swiper-button.swiper-button-disabled,.elementor-lightbox .swiper~.elementor-swiper-button.swiper-button-disabled{opacity:.3}
.elementor-element .swiper .swiper-image-stretch .swiper-slide .swiper-slide-image,.elementor-lightbox .swiper .swiper-image-stretch .swiper-slide .swiper-slide-image{width:100%}
.elementor-element .swiper .swiper-horizontal>.swiper-pagination-bullets,.elementor-element .swiper .swiper-pagination-bullets.swiper-pagination-horizontal,.elementor-element .swiper .swiper-pagination-custom,.elementor-element .swiper .swiper-pagination-fraction,.elementor-element .swiper~.swiper-pagination-bullets.swiper-pagination-horizontal,.elementor-element .swiper~.swiper-pagination-custom,.elementor-element .swiper~.swiper-pagination-fraction,.elementor-lightbox .swiper .swiper-horizontal>.swiper-pagination-bullets,.elementor-lightbox .swiper .swiper-pagination-bullets.swiper-pagination-horizontal,.elementor-lightbox .swiper .swiper-pagination-custom,.elementor-lightbox .swiper .swiper-pagination-fraction,.elementor-lightbox .swiper~.swiper-pagination-bullets.swiper-pagination-horizontal,.elementor-lightbox .swiper~.swiper-pagination-custom,.elementor-lightbox .swiper~.swiper-pagination-fraction{bottom:5px}
.elementor-element .swiper.swiper-cube .elementor-swiper-button,.elementor-element .swiper.swiper-cube~.elementor-swiper-button,.elementor-lightbox .swiper.swiper-cube .elementor-swiper-button,.elementor-lightbox .swiper.swiper-cube~.elementor-swiper-button{transform:translate3d(0,-50%,1px)}
.elementor-element :where(.swiper-horizontal)~.swiper-pagination-bullets,.elementor-lightbox :where(.swiper-horizontal)~.swiper-pagination-bullets{bottom:5px;left:0;width:100%}
.elementor-element :where(.swiper-horizontal)~.swiper-pagination-bullets .swiper-pagination-bullet,.elementor-lightbox :where(.swiper-horizontal)~.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}
.elementor-element :where(.swiper-horizontal)~.swiper-pagination-progressbar,.elementor-lightbox :where(.swiper-horizontal)~.swiper-pagination-progressbar{height:4px;left:0;top:0;width:100%}
.elementor-element.elementor-pagination-position-outside .swiper,.elementor-lightbox.elementor-pagination-position-outside .swiper{padding-bottom:30px}
.elementor-element.elementor-pagination-position-outside .swiper .elementor-swiper-button,.elementor-element.elementor-pagination-position-outside .swiper~.elementor-swiper-button,.elementor-lightbox.elementor-pagination-position-outside .swiper .elementor-swiper-button,.elementor-lightbox.elementor-pagination-position-outside .swiper~.elementor-swiper-button{top:calc(50% - 30px / 2)}
.elementor-element .elementor-swiper,.elementor-lightbox .elementor-swiper{position:relative}
.elementor-element .elementor-main-swiper,.elementor-lightbox .elementor-main-swiper{position:static}
.elementor-element.elementor-arrows-position-outside .swiper,.elementor-lightbox.elementor-arrows-position-outside .swiper{width:calc(100% - 60px)}
.elementor-element.elementor-arrows-position-outside .swiper .elementor-swiper-button-prev,.elementor-element.elementor-arrows-position-outside .swiper~.elementor-swiper-button-prev,.elementor-lightbox.elementor-arrows-position-outside .swiper .elementor-swiper-button-prev,.elementor-lightbox.elementor-arrows-position-outside .swiper~.elementor-swiper-button-prev{left:0}
.elementor-element.elementor-arrows-position-outside .swiper .elementor-swiper-button-next,.elementor-element.elementor-arrows-position-outside .swiper~.elementor-swiper-button-next,.elementor-lightbox.elementor-arrows-position-outside .swiper .elementor-swiper-button-next,.elementor-lightbox.elementor-arrows-position-outside .swiper~.elementor-swiper-button-next{right:0}

/* Elementor Slides Widget スタイル */
.elementor-slides .swiper-slide-bg{
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    max-width: 100%;
    max-height: 100%;
}
.elementor-slides .swiper-slide-inner{background-position:50%;background-repeat:no-repeat;bottom:0;left:0;margin:auto;padding:50px;position:absolute;right:0;top:0}
.elementor-slides .swiper-slide-inner,.elementor-slides .swiper-slide-inner:hover{color:#fff;display:flex}
.elementor-slides .swiper-slide-inner .elementor-background-overlay{bottom:0;left:0;position:absolute;right:0;top:0;z-index:0}
.elementor-slides .swiper-slide-inner .elementor-slide-content{position:relative;width:100%;z-index:1}
.elementor-slides .swiper-slide-inner .elementor-slide-heading{font-size:35px;font-weight:700;line-height:1}
.elementor-slides .swiper-slide-inner .elementor-slide-description{font-size:17px;line-height:1.4}
.elementor-slides .swiper-slide-inner .elementor-slide-description:not(:last-child),.elementor-slides .swiper-slide-inner .elementor-slide-heading:not(:last-child){margin-bottom:30px}
.elementor-slides .swiper-slide-inner .elementor-slide-button{background:transparent;border:2px solid #fff;color:#fff;display:inline-block}
.elementor-slides .swiper-slide-inner .elementor-slide-button,.elementor-slides .swiper-slide-inner .elementor-slide-button:hover{background:transparent;color:inherit;text-decoration:none}
.elementor--v-position-top .swiper-slide-inner{align-items:flex-start}
.elementor--v-position-bottom .swiper-slide-inner{align-items:flex-end}
.elementor--v-position-middle .swiper-slide-inner{align-items:center}
.elementor--h-position-left .swiper-slide-inner{justify-content:flex-start}
.elementor--h-position-right .swiper-slide-inner{justify-content:flex-end}
.elementor--h-position-center .swiper-slide-inner{justify-content:center}
body.rtl .elementor-widget-slides .elementor-swiper-button-next{left:10px;right:auto}
body.rtl .elementor-widget-slides .elementor-swiper-button-prev{left:auto;right:10px}
.elementor-slides-wrapper div:not(.swiper-slide)>.swiper-slide-inner{display:none}

/* メディアカルーセル スタイル */
.elementor-skin-carousel .elementor-main-swiper,.elementor-skin-coverflow .elementor-main-swiper{height:230px}
.elementor-skin-slideshow .elementor-main-swiper{height:450px;position:relative}
.elementor-skin-slideshow .elementor-thumbnails-swiper{height:auto}
.elementor-skin-slideshow .elementor-thumbnails-swiper .elementor-custom-embed-play i{font-size:50px}
.elementor-skin-slideshow .elementor-thumbnails-swiper .swiper-slide{cursor:pointer}
.elementor-skin-slideshow .elementor-thumbnails-swiper .swiper-slide:not(.swiper-slide-active):after{background-color:rgba(0,0,0,.3);bottom:0;content:"";left:0;position:absolute;right:0;top:0}
.elementor-carousel-image{background:no-repeat 50%;background-size:cover;height:100%;position:relative}
.elementor-carousel-image-overlay{align-items:center;background-color:hsla(213,9%,45%,.8);color:var(--e-carousel-image-overlay-color,#fff);display:flex;height:100%;justify-content:center;left:0;padding:20px;position:absolute;text-align:center;top:0;transition:transform .5s,opacity .5s;width:100%}
.elementor-carousel-image-overlay i{font-size:var(--e-carousel-image-overlay-icon-size,21px)}
.elementor-carousel-image-overlay svg{fill:var(--e-carousel-image-overlay-color,#fff);height:var(--e-carousel-image-overlay-icon-size,21px);width:var(--e-carousel-image-overlay-icon-size,21px)}

/* 画像カルーセル スタイル */
.elementor-widget-image-carousel .swiper{position:static; overflow: hidden;}
.elementor-widget-image-carousel .swiper .swiper-slide figure{line-height:inherit}
.elementor-widget-image-carousel .swiper-slide{text-align:center; overflow: hidden;}
.elementor-image-carousel-wrapper:not(.swiper-initialized) .swiper-slide{max-width:calc(100% / var(--e-image-carousel-slides-to-show, 3))}

/* 画像カルーセルの画像制御 */
.elementor-image-carousel .swiper-slide-image,
.swiper-slide-image {
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: contain;
    object-position: center;
}

/* レスポンシブ対応 */
@media (max-width:767px){
  .elementor-slides .swiper-slide-inner{padding:30px}
  .elementor-slides .swiper-slide-inner .elementor-slide-heading{font-size:23px;line-height:1;margin-bottom:15px}
  .elementor-slides .swiper-slide-inner .elementor-slide-description{font-size:13px;line-height:1.4;margin-bottom:15px}
}

/* カスタム追加スタイル */
.elementor-widget-wrap.e-swiper-container {
    position: relative;
}

/* スライド全体の設定 */
.swiper-slide {
    position: relative;
    overflow: hidden;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* スライダーコンテナの基本設定 */
.elementor-main-swiper {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.elementor-slides-wrapper {
    height: 100%;
    overflow: hidden;
}

/* セクション全体の制約 */
.elementor-section {
    overflow: hidden;
}

.elementor-container {
    overflow: hidden;
}

/* デスクトップ用の高さ調整 */
@media (min-width: 1024px) {
    .pc-tablet-slider-background .elementor-main-swiper {
        min-height: 532px !important;
        height: auto;
    }
    
    .pc-tablet-slider-background .elementor-slides-wrapper {
        min-height: 532px !important;
        height: auto;
    }
    
    .pc-tablet-slider-background .swiper-slide {
        min-height: 532px !important;
        height: auto;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

/* スライド内容のスタイル */
.slide-title {
    color: #fff;
    font-size: 35px;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 20px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}

.slide-description {
    color: #fff;
    font-size: 17px;
    line-height: 1.4;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}

/* レスポンシブデザイン - スライドタイトル */
@media (max-width: 767px) {
    .slide-title {
        font-size: 23px;
        line-height: 1;
        margin-bottom: 15px;
    }
    
    .slide-description {
        font-size: 13px;
        line-height: 1.4;
    }
    
    /* モバイルでのスライダー設定 */
    .mobile-slider-background .swiper-slide {
        min-height: 300px;
        height: auto;
        display: flex !important;
        align-items: center;
        justify-content: center;
    }
    
    .mobile-slider-background .elementor-main-swiper,
    .mobile-slider-background .elementor-slides-wrapper {
        min-height: 300px;
        height: auto;
    }
    
    /* モバイルでの画像サイズ調整 */
    .elementor-slides .swiper-slide-bg {
        object-fit: contain;
        width: 100% !important;
        height: 100% !important;
        max-height: none !important;
        min-height: 300px;
    }
    
    /* モバイル用セクションの表示を確実にする */
    .mobile-slider-background {
        display: block !important;
        visibility: visible !important;
    }
    
    .mobile-slider-background .elementor-container,
    .mobile-slider-background .elementor-column,
    .mobile-slider-background .elementor-widget-wrap,
    .mobile-slider-background .elementor-swiper {
        display: block !important;
        visibility: visible !important;
    }
    
    /* モバイルでのタッチイベント設定 */
    .mobile-slider-background .swiper {
        touch-action: pan-x;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        pointer-events: auto !important;
        cursor: grab;
    }
    
    .mobile-slider-background .swiper:active {
        cursor: grabbing;
    }
    
    .mobile-slider-background .swiper-slide {
        pointer-events: auto !important;
        touch-action: pan-x;
        display: flex !important;
        align-items: center;
        justify-content: center;
    }
    
    .mobile-slider-background .swiper-wrapper {
        touch-action: pan-x;
        display: flex !important;
        pointer-events: auto !important;
    }
    
    /* ページネーションの修正 - 画像にオーバーレイ */
    .mobile-slider-background .swiper-pagination {
        position: absolute !important;
        bottom: 20px !important;
        left: 0 !important;
        width: 100% !important;
        text-align: center !important;
        z-index: 10 !important;
        pointer-events: auto !important;
    }
    
    .mobile-slider-background .swiper-pagination-bullet {
        width: 12px !important;
        height: 12px !important;
        background: rgba(255, 255, 255, 0.6) !important;
        border: 2px solid rgba(0, 0, 0, 0.3) !important;
        border-radius: 50% !important;
        margin: 0 4px !important;
        cursor: pointer !important;
        pointer-events: auto !important;
        opacity: 0.8 !important;
        transition: all 0.3s ease !important;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
    }
    
    .mobile-slider-background .swiper-pagination-bullet-active {
        background: #fff !important;
        border: 2px solid rgba(0, 0, 0, 0.5) !important;
        opacity: 1 !important;
        transform: scale(1.3) !important;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
    }
    
    /* タッチデバイス用の追加設定 */
    @media (pointer: coarse) {
        .mobile-slider-background .swiper {
            touch-action: pan-x;
        }
        
        .mobile-slider-background .swiper-slide {
            touch-action: pan-x;
            -webkit-touch-callout: none;
            -webkit-user-select: none;
            user-select: none;
        }
        
        .mobile-slider-background .swiper-pagination-bullet {
            width: 16px !important;
            height: 16px !important;
            margin: 0 6px !important;
            background: rgba(255, 255, 255, 0.7) !important;
            border: 2px solid rgba(0, 0, 0, 0.4) !important;
        }
    }
}

/* タブレット用の調整 */
@media (min-width: 768px) and (max-width: 1023px) {
    .pc-tablet-slider-background .elementor-main-swiper {
        min-height: 532px !important;
        height: auto;
    }
    
    .pc-tablet-slider-background .elementor-slides-wrapper {
        min-height: 532px !important;
        height: auto;
    }
    
    .pc-tablet-slider-background .swiper-slide {
        min-height: 532px !important;
        height: auto;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

.swiper-slide-contents.animated {
    animation-duration: 1s;
    animation-fill-mode: both;
}

.fadeInUp {
    animation-name: fadeInUp;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 100%, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

/* Ken Burns エフェクト */
.elementor-ken-burns--active {
    animation: kenBurns 10s linear infinite;
}

@keyframes kenBurns {
    0% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1.2);
    }
}
