.main-container{position:relative;width:100%;max-width:100%;overflow:hidden;margin-bottom:50px;}
.content-wrapper{display:flex;width:100%;aspect-ratio:3000/960;position:relative;}
.content-wrapper.image-right .text-slider-container{order:1;width:60%;padding-left:3.5%}
.content-wrapper.image-right .image-slider-container{order:2;width:35%;padding-right:3.5%;}
.content-wrapper.image-left .image-slider-container{order:1;width:35%;padding-left:3.5%;}
.content-wrapper.image-left .text-slider-container{order:2;width:60%;padding-right:3.5%;}
.text-slider-container{position:relative;width:70%;padding:40px;overflow:hidden;z-index:10;}
.text-slider{position:relative;width:100%;height:100%;min-height:400px;}
.text-slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;visibility:hidden;display:flex;flex-direction:column;justify-content:center;transition:opacity 0.3s ease, visibility 0.3s ease;}
.text-slide.active{opacity:1;visibility:visible;position:relative;}
.image-slider-container{position:relative;width:30%;aspect-ratio:960/640;overflow:hidden;z-index:1;}
.background-slider{position:relative;width:100%;height:100%;aspect-ratio:960/640;}
.image-slide{position:absolute;top:0;left:0;width:100%;height:100%;aspect-ratio:960/640;background-size:100%;background-position:center center;background-repeat:no-repeat;opacity:0;visibility:hidden;transition:opacity 0.3s ease, visibility 0.3s ease;}
.image-slide.active{opacity:1;visibility:visible;}
.slider-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:100;width:50px;height:50px;background:rgba(255,255,255,0.9);border:2px solid #333;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;}
.slider-nav:hover{background:rgba(0,115,170,0.9);border-color:#0073aa;}
.slider-nav:hover{transform:translateY(-50%) scale(1.1);}
.slider-nav svg{width:24px;height:24px;fill:#333;transition:fill .3s ease;}
.slider-nav:hover svg{fill:#fff;}
.slider-nav-prev{left:20px;}
.slider-nav-next{right:20px;}
.step-indicator{display:inline-flex;align-items:center;background:#0073aa;color:#fff;padding:5px 10px;border-radius:5px;margin-bottom:15px;font-size:16px;font-weight:600;}
.step-title{font-size:28px;font-weight:700;margin-bottom:15px;color:#333;line-height:1.3;}
.step-description{font-size:16px;line-height:1.6;color:#555;}

@media screen and (max-width:768px){
    .content-wrapper{flex-direction:column;aspect-ratio:auto;height:auto;}
    .content-wrapper.image-right .text-slider-container,
    .content-wrapper.image-left .text-slider-container{width:100%;order:2;padding:20px 15px;}
    .content-wrapper.image-right .image-slider-container,
    .content-wrapper.image-left .image-slider-container{width:100%;order:1;}
    .text-slider-container{width:100%;padding:20px 15px;height:auto;}
    .image-slider-container{width:100%;aspect-ratio:960/640;position:relative;}
    
    /* テキストスライダーの修正部分 */
    .text-slider{
        position: relative;
        height: auto;
        min-height: 250px;
        padding-bottom: 60px;
    }
    .text-slide{
        position: absolute;
        height: auto;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
        padding: 0;
    }
    .text-slide.active{
        opacity: 1;
        visibility: visible;
    }
    
    .step-title{font-size:22px;margin-bottom:10px;}
    .step-description{font-size:15px;}
    
  /* 画像の上に矢印を重ねる土台 */
  .image-slider-container .background-slider{width:100%;aspect-ratio:960/640;
    position: relative;
  }

  /* ボタン本体（中身は空） */
  .slider-nav-prev-image,
  .slider-nav-next-image{
    position:absolute; top:20%; transform:translateY(-20%);
    width:44px; height:44px; border-radius:50%;
    border:2px solid #333; background:rgba(255,255,255,0.4);
    display:flex; align-items:center; justify-content:center;
    z-index:100; cursor:pointer; padding:0;
    font-family: "Segoe UI Symbol","Apple Symbols","Noto Sans Symbols2","Noto Sans Symbols",sans-serif;
  }
  .slider-nav-prev-image{ left:10px; }
  .slider-nav-next-image{ right:10px; }

  .slider-nav-prev-image::before{ content:"\21BC"; font-size:22px; line-height:1; color:#333; }
  .slider-nav-next-image::before{ content:"\21C0"; font-size:22px; line-height:1; color:#333; }


  /* もしPC用(.slider-nav)が残ってて位置が変わらない原因になってるなら消す */
  .image-slider-container .slider-nav{visibility: hidden;
    display: none !important;
  }
  .slider-nav-prev{display:none;visibility: hidden;}
  .slider-nav-next{display:none;visibility:hidden;}

}

@media screen and (min-width:769px){
    .slider-nav-prev-image,
    .slider-nav-next-image,
    .slider-nav-prev-text,
    .slider-nav-next-text{display:none;visibility: hidden;}
}

.repair-text-content, 
.step-description, 
.section-text {
    white-space: pre-line;
}