/* PC */
.firstview .fv-slider .innerbox {
    min-height: 560px;
  }
  
  /* SP */
  @media screen and (max-width: 768px) {
    .firstview .fv-slider .innerbox {
      min-height: 480px;
    }
  }

.dib2{
    font-size:35px!important;
    text-align:center!important;
    margin: auto!important;
}

.firstview .inner .subtitle {
    /* display: block!important; */
    /* padding-top:50px; */
}

.firstview .inner.fv-slider{
    padding:0em!important;
    background: none!important;
}

.fv-slider {
    padding:0em 3em!important;
  }

.inner_slide{
    padding:30px 40px 30px 40px!important;
} 

@media screen and (max-width: 768px) {
    .inner_slide{
        padding:30px 5px 30px 5px!important;
    }
  }

  
.firstview .slick-dots {
    width: calc(100%)!important;
}
/* 1枚目 */
.firstview .fv-slider .innerbox:nth-child(1) {
    background-image: url('../img/top/bg01.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius:5px;
}



@media screen and (max-width: 768px) {
.firstslide .button::before {
    top: 22%!important;
}
}


@media screen and (max-width: 768px) {
  .firstbtn .button::before {
      top: 52%;
  }
}


.firstview .fv-slider .innerbox:nth-child(1) .btnbox {
    margin-top:8em!important;
  } 
  

.firstview .fv-slider .innerbox:nth-child(1) .btnbox{
    margin-top:130px
}


.firstview .fv-slider .innerbox:nth-child(1) .title{
    margin-top:110px;
}


.firstview .fv-slider .innerbox:nth-child(1) .subtitle{
    text-align:center!important;
    display: block!important; 
    margin-top:20px;
    margin: auto!important;
}


.sub_txt{
    font-size:32px!important;
    display: block!important;
    text-align:center!important;  
    margin: auto!important;
    color: #707070;
    margin-bottom:-60px!important;
}

@media screen and (max-width: 768px) {
.sub_txt{
  font-size:25px!important;
}
}



.firstview .fv-slider .innerbox:nth-child(1) .firstview .inner .subtitle {
    padding-top:50px;
    font-size:35px!important; 
    display: block!important; 
}



.firstview .fv-slider .innerbox:nth-child(1) .dib2{
    font-size:35px;
}

.subtxt01{
  position: absolute;
  top:30px;
  left: 30px;
  font-size:22px;
  background:yellow;
  padding:3px 30px;
  border-radius:20px; 
  box-shadow:10px 5px 5px grey;
}

@media screen and (max-width: 768px) {
.subtxt01{
  width: 80%;
  font-size:20px!important;
  left: 0px;
  right: 0px;
  top: 20px;
  margin: auto;
  padding: 3px 10px;
  position: absolute;
  background:yellow;
  border-radius:20px; 
  box-shadow:10px 5px 5px grey;
}
}


/* 2枚目 */
.firstview .fv-slider .innerbox:nth-child(2) {
    padding-bottom:50px;
    background-image: url('img/top/bg02.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius:5px;
}

@media screen and (max-width: 768px) {
  .firstview .inner .btnbox .button a {
     padding: 0.5em 0em!important; 
  }
}

.firstview .fv-slider .innerbox:nth-child(2) .btnbox{
  margin-top:-30px;
}

.innerbox{
  position: relative;
}

.subtxt02{
    position: absolute;
    top:30px;
    left: 30px;
    font-size:22px;
    background:yellow;
    padding:3px 30px;
    border-radius:20px; 
    box-shadow:10px 5px 5px grey;
}
@media screen and (max-width: 768px) {
  .subtxt02{
        font-size:20px!important;
        left: 0px;
        right: 0px;
        top: 20px;
        margin: auto;
        width: 50%;
        padding: 3px 10px;
    }
  }





/* 3枚目 */
.firstview .fv-slider .innerbox:nth-child(3) {
    padding-bottom:50px;
    background-image: url('img/top/bg03.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius:5px;
}

/* 4枚目 */
.firstview .fv-slider .innerbox:nth-child(4) {
   padding-bottom:50px;
   background-image: url('img/top/bg04.jpg');
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
   border-radius:5px;
}

/* 5枚目 */
.firstview .fv-slider .innerbox:nth-child(5) {
    padding-bottom:50px;
    background-image: url('img/top/bg05.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius:5px;
}

@media screen and (max-width: 768px) {
    .firstview .inner.fv-slider .innerbox {
      min-height: 520px; /* 好きな高さへ調整 */
    }
  }



@media screen and (max-width: 600px) {
    .sp{
        display: none;
    }
    
    .fv-slider:first-child .firstview .button::before{
        top: 30%;
      } 
    
    
    .dib2{
        font-size:20px!important;
    }
    
    .helpbox {
        height: 100%; 
        display: flex; 
        flex-direction: column;
    }
        .helpbox .inner {
            padding: 50px 0 0 0; 
            height: auto; 
            width: 90%!important;
        }
    
        .helpful .button.w100 {
            margin-top: 140px;
        }
    
    
        .helpfulbox li {
            height: auto; 
            padding-top: 50px; 
            border: 1px solid #F0F3F6;
            box-sizing: border-box; 
        }
    
        .firstbtn{
            padding-bottom:70px!important;
        }
    
    }


    /* 再読み込みした時に 2枚目の画像が一瞬表示される バグ */
  /* PC用 初期高さ（読み込み前の揺れ防止） */
.firstview .fv-slider .innerbox {
    min-height: 560px;   /* ここは自由に調整可能 */
    opacity: 0;          /* 読込中に非表示にしてチラつき防止 */
    transition: none;/* フェード表示 */
  }
  
  /* SP用 初期高さ */
  @media screen and (max-width: 768px) {
    .firstview .fv-slider .innerbox {
      min-height: 500px;  /* スマホ用 */
    }
  }
   /* 再読み込みした時に 2枚目の画像が一瞬表示される バグ */

  



/* 料金早見表 */

.attention{
    text-align: right;
    max-width: 1200px;
    margin: 0 auto;
    width: 96%;
  }
  @media screen and (max-width: 768px) {
    .attention{
      padding-top: 15px;
    }
  }
  
  .attention p{
    font-size:15px;
  }
  
  .image-container {
    position: relative;
    display: inline-block;
    display: flex;
    width:40%;
    cursor: pointer;
  }
  
  @media screen and (max-width: 768px) {
    .image-container{
      width:100%;
    }
  }
  
  .tc_flex{
    display: flex;
    padding-left: 25px;
  }
  
  .image-container img{
    width: 70px; /* 必要なサイズに */
  }
  
  @media screen and (max-width:768px) {
    .image-container img{
      max-width: none;
      width: 24px; /* 必要なサイズに */
      height: auto;
      margin-left: 0px;
    }
    
  }
  
  .note{
    text-align: left;
    max-width:1150px;
    padding-top: 40px;
    margin: 0 auto;
    width: 90%;
  }
  
  @media screen and (max-width: 768px) {
    .note{
      padding-top: 40px;
    }
    #plan .table th {
      position: relative;
     }
  
  /* スマホ（タップ時）：クラスがあると表示 */
  .image-container.active .tooltip-text {
    opacity: 1;
    visibility: visible;
  }
  }
  
  .tooltip-text {
    visibility: hidden;
    font-size:14px;
    text-align: left;
    background-color: rgba(0, 0, 0, 0.75);
    color: #fff;
    padding: 5px 10px;
    border-radius: 4px;
    position: absolute;
    bottom: 100%; /* 画像の上に表示 */
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    z-index: 10;
    opacity: 0;
    transition: opacity 0.3s;
  }
  @media (max-width: 768px) {
    .tooltip-text {
      visibility: hidden;
      font-size:12px;
      height:70px;
      text-align: left;
      background-color: rgba(0, 0, 0, 0.75);
      color: #fff;
      padding: 5px 10px;
      border-radius: 4px;
      position: absolute;
      bottom: 100%; /* 画像の上に表示 */
      left: 50%;
      top:20px;
      transform: translateX(-50%);
      white-space: nowrap;
      z-index: 10;
      opacity: 0;
      transition: opacity 0.3s;
    }
  }
  
  .image-container:hover .tooltip-text {
    visibility: visible;
    opacity: 1;
  }
  
/* 料金早見表 */