@charset "UTF-8";


/* service_under_mv
***************************************************************/
.service_under_mv{
  padding-top: 70px;
  padding-bottom: 135px;
}
.service_under_ttl{
  font-size: 48px;
}

.main_contents {
  padding-top: 0;
  padding-bottom: 0;
}

.foot{
  margin-top: 0;
}

@media all and (min-width:681px){
  .service_under_img{
    width: 100%;
    height: 572px;
    background: url(../img/komu/mv.jpg) center / cover no-repeat;
    margin-top: 45px;
    position: relative;
  }

  .service_under_img h2{
    width: 134px;
    position: absolute;
    top: 85px;
    left: calc((100% - 1100px) / 2);
  }
}

@media (max-width: 680px) {
  .main_contents {
    padding-bottom: 0;
  }
  .service_under_mv{
    padding-top: 100px;
    padding-bottom: 45px;
  }
  .service_under_ttl{
    font-size: 32px;
    line-height: 1.38;
  }
  .service_under_img{
    width: 100%;
    height: 0;
    padding-top: 122.2%;
    background: url(../img/komu/mv_sp.jpg) center / cover no-repeat;
    margin-top: 20px;
    position: relative;
  }
  .service_under_img h2{
    width: 20%;
    max-width: 134px;
    min-width: 80px;
    position: absolute;
    top: 35px;
    left: 6%;
  }

}


/* contents_head
***************************************************************/
.contents_head{
  padding-bottom: 130px;
}
.contents_head .inner{
  position: relative;
}
.contents_head--ttl{
  font-size: 43px;
  line-height: 1.6;
}
.contents_head--txt{
  width: 500px;
  font-size: 18px;
  line-height: 2.33;
  margin-top: 50px;
}

/*--------------------PC--------------------*/
@media all and (min-width:681px){
  .contents_head--img{
    width: 550px;
    position: absolute;
    bottom: 0;
    right: 0;
  }

}
/*--------------------SP--------------------*/
@media all and (max-width:680px){
  .contents_head{
    padding-bottom: 50px;
  }
  .contents_head--ttl{
    font-size: 30px;
    line-height: 1.4;
  }
  .contents_head--txt{
    width: 100%;
    font-size: 16px;
    line-height: 2;
    text-align: justify;
    margin-top: 25px;
  }
  .contents_head--img{
    width: 100vw;
    margin: 35px 0 0 -6vw; 
  }

}




.sec_ttl{
  font-size: 39px;
  writing-mode: vertical-rl;
  text-orientation: upright;
  position: relative;
  display: flex;
  align-items: center;
}
.sec_ttl::before{
  content: '';
  width: 10px;
  height: 10px;
  background-color: #E6372D;
  border-radius: 5px;
  margin-bottom: 20px;
}

.bg_gray{
  background-color: #F2F2F2;
}

@media all and (max-width:680px){
  .sec_ttl{
    font-size: 25px;
    writing-mode: horizontal-tb;
    margin-bottom: 40px;
  }
  .sec_ttl::before{
    width: 8px;
    height: 8px;
    margin-bottom: 0;
    margin-right: 10px;
  }


}


/* komu_timeline
***************************************************************/

/*--------------------PC--------------------*/
@media all and (min-width:681px){
  .komu_timeline_layout{
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 20px;
    align-items: start;
  }
  .komu_timeline_arrows{
    width: 48px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: center;
    margin-left: -5px;
    margin-top: 160px;
  }
  .komu_timeline_arrow{
    width: 48px;
    height: 48px;
    border: none;
    background: #fff;
    position: relative;
    cursor: pointer;
  }
  .komu_timeline_arrow::after{
    content: "";
    width: 15px;
    height: 15px;
    border-top: 3px solid #E6372D;
    border-right: 3px solid #E6372D;
    position: absolute;
    top: 50%;
    left: calc(50% + 3px);
    transform: translate(-50%,-50%) rotate(225deg);
  }
  .komu_timeline_arrow--next::after{
    left: calc(50% - 3px);
    transform: translate(-50%,-50%) rotate(45deg);
  }
  .komu_timeline_arrow.slick-disabled{
    opacity: .3;
    cursor: default;
  }
  .komu_timeline_wrap .slick-list{
    height: 630px;
  }

  .komu_timeline_slider{
    position: relative;
    margin-top: -170px;
  }

  .komu_timeline_item{
    width: 520px;
    padding: 0 30px;
    position: relative;
  }
  .komu_timeline_item::after{
    content: '';
    width: 1200px;
    height: 2px;
    background-color: #000;
    position: absolute;
    top: 250px;
    left: 70px;
    z-index: -1;
  }

  .komu_timeline_item:nth-child(even){
    position: relative;
    top: 430px;
    margin-left: -255px;
  }
  .komu_timeline_item:nth-child(3),
  .komu_timeline_item:nth-child(5){
    margin-left: -255px;
  }
  .komu_timeline_item_inner{
    display: flex;
    position: relative;
    > div{
      margin-left: 25px;
      margin-top: -5px;
    }
  }

  .komu_timeline_year{
    font-size: 56px;
    font-weight: 500;
    color: #E6372D;
    line-height: 1;
    position: relative;
  }
  .komu_timeline_year::before{
    content: '';
    border-left: 3px dotted #000;
    height: 180px;
    position: absolute;
    top: 70px;
    left: 40px;
  }
  .komu_timeline_item:nth-child(even) .komu_timeline_year::before{
    top: -185px;
  }

  .komu_timeline_year::after{
    content: '';
    width: 15px;
    height: 15px;
    background-color: #E6372D;
    border-radius: 10px;
    position: absolute;
    top: 243px;
    left: 34px;
  }
  .komu_timeline_item:nth-child(even) .komu_timeline_year::after{
    top: -187px;
  }

  .komu_timeline_ttl{
    font-size: 21px;
    font-weight: 700;
    line-height: 1.55;
  }
  .komu_timeline_txt{
    font-size: 15px;
    line-height: 2.25;
    text-align: justify;
    margin-top: 10px;
  }

}

/*--------------------SP--------------------*/
@media all and (max-width:680px){
  .komu_timeline_item{
    padding-bottom: 35px;
    position: relative;
  }
  .komu_timeline_item:last-child{
    padding-bottom: 0;
  }
  .komu_timeline_item:not(:last-child)::after{
    content: '';
    width: 2px;
    height: 100%;
    background-color: #000;
    position: absolute;
    top: 20px;
    left: 4.5px;
  }

  .komu_timeline_item_inner{
    display: flex;
    position: relative;
    > div{
      margin-left: 25px;
      margin-top: -5px;
    }
  }

  .komu_timeline_year{
    font-size: 39px;
    font-weight: 500;
    color: #E6372D;
    padding-left: 25px;
    position: relative;
  }
  .komu_timeline_year::before{
    content: '';
    width: 11px;
    height: 11px;
    background-color: #E6372D;
    border-radius: 6px;
    position: absolute;
    top: 15px;
    left: 0;
    z-index: 1;
  }
  .komu_timeline_ttl{
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
  }
  .komu_timeline_txt{
    font-size: 15px;
    line-height: 2;
    text-align: justify;
    margin-top: 10px;
  }

}



/* kome_three_wrap
***************************************************************/
.kome_three_wrap{
  .sec_ttl span.barl{
    font-size: 50px;
    margin: -5px 0;
  }
}

.three_wrap_box{
  display: flex;
  justify-content: space-between;
  border-bottom: 2px solid #000;
  padding-bottom: 40px;
}
.three_wrap_box + .three_wrap_box{
  margin-top: 40px;
}

.three_wrap_ttl{
  display: flex;
  align-items: center;

  .barl{
    font-size: 42px;
    font-weight: 600;
  }
  h3{
    font-size: 29px;
    line-height: 1.45;
    font-weight: 700;
    margin-left: 30px;
  }
}

.three_wrap_txt{
  width: 475px;
  font-size: 15px;
  line-height: 2;
  text-align: justify;
}

/*--------------------PC--------------------*/
@media all and (min-width:681px){
  .kome_three_wrap .inner{
    display: flex;

    > div{
      width: 100%;
      margin-left: 90px;
    }
  }

}

/*--------------------SP--------------------*/
@media all and (max-width:680px){
  .kome_three_wrap{
    .sec_ttl span.barl{
      font-size: 35px;
      margin: 0 5px;
    }
  }

  .three_wrap_box{
    display: block;
    padding-bottom: 30px;
  }

  .three_wrap_ttl{
    .barl{
      font-size: 35px;
    }
    h3{
      font-size: 23px;
      margin-left: 15px;
    }
  }

  .three_wrap_txt{
    width: 100%;
    margin-top: 20px;
  }

}



/* komu_voice_wrap
***************************************************************/

.voice_wrap_box + .voice_wrap_box{
  margin-top: 25px;
}

.voice_wrap_txt{
  margin-left: 50px;

  .name{
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0;
  }
  h3{
    font-size: 29px;
    line-height: 1.45;
    font-weight: 700;
    margin-top: 15px;
  }
  .noto{
    font-size: 15px;
    line-height: 2;
    text-align: justify;
    margin-top: 20px;
  }
}

/*--------------------PC--------------------*/
@media all and (min-width:681px){
  .komu_voice_wrap .inner{
    display: flex;

    > div{
      width: 100%;
      margin-left: 90px;
    }
  }

  .voice_wrap_box{
    display: flex;
    align-items: center;

    picture{
      display: block;
      width: 267px;
      flex-shrink: 0;
    }
  }

}

/*--------------------SP--------------------*/
@media all and (max-width:680px){
  .voice_wrap_box + .voice_wrap_box{
    margin-top: 30px;
  }

  .voice_wrap_box{
    picture{
      display: block;
    }
  }

  .voice_wrap_txt{
    margin-left: 0;
    margin-top: 20px;

    .name{
      font-size: 14px;
    }
    h3{
      font-size: 23px;
      line-height: 1.55;
      margin-top: 10px;
    }
    .noto{
      font-size: 15px;
      line-height: 1.85;
      margin-top: 15px;
    }
  }

}



/* slider_wrap
***************************************************************/
.slider_wrap{
  padding-bottom: 0;
}
.slider_wrap .inner{
  position: relative;
}
.slider_wrap h2{
  font-size: 48px;
  line-height: 1.45;
}
.slider_wrap h2 > span{
  display: block;
}

.rental_slider{
  opacity: 0;
  transition: .5s ease;
  margin-top: 60px;
}
.rental_slider.slick-initialized {
  opacity: 1;
}
.rental_slider .rental_slider_01{
  width: 639px !important;
  background: url(../img/rental/rental_slider_01.jpg) center / cover no-repeat;
}
.rental_slider .rental_slider_02{
  width: 416px !important;
  background: url(../img/rental/rental_slider_02.jpg) center / cover no-repeat;
}
.rental_slider .rental_slider_03{
  width: 480px !important;
  background: url(../img/rental/rental_slider_03.jpg) center / cover no-repeat;
}
.rental_slider .rental_slider_04{
  width: 639px !important;
  background: url(../img/rental/rental_slider_04.jpg) center / cover no-repeat;
}
.rental_slider .rental_slider_05{
  width: 416px !important;
  background: url(../img/rental/rental_slider_05.jpg) center / cover no-repeat;
}
.rental_slider .rental_slider_06{
  width: 639px !important;
  background: url(../img/rental/rental_slider_06.jpg) center / cover no-repeat;
}
.rental_slider .slick-slide{
  height: 520px;
  width: 100%;
  margin-left: 7px;
  margin-right: 7px;
}
/*--------------------PC--------------------*/
@media all and (min-width:681px){
  .slider_wrap .link_btn{
    width: 354px;
    height: 80px;
    font-size: 18px;
    position: absolute;
    top: 50px;
    right: 0;
    padding: 0 25px;
  }

}
/*--------------------SP--------------------*/
@media all and (max-width:680px){
  .slider_wrap h2{
    font-size: 30px;
  }
  .slider_wrap .link_btn{
    margin-top: 20px;
  }

  .rental_slider{
    margin-top: 35px;
  }
  .rental_slider .rental_slider_01{
    width: 241px !important;
  }
  .rental_slider .rental_slider_02{
    width: 158px !important;
  }
  .rental_slider .rental_slider_03{
    width: 116px !important;
  }
  .rental_slider .rental_slider_04{
    width: 241px !important;
  }
  .rental_slider .rental_slider_05{
    width: 158px !important;
  }
  .rental_slider .rental_slider_06{
    width: 241px !important;
  }
  .rental_slider .slick-slide{
    height: 196px;
    margin-left: 3px;
    margin-right: 3px;
  }

}



/* komu_slider_wrap
***************************************************************/
.komu_slider_wrap{
  /* padding: 80px 0; */
  position: relative;
}
/* .komu_slider_row{
  margin-top: 10px;
}
.komu_slider_row + .komu_slider_row{
  margin-top: 12px;
} */
.komu_slider_item{
  display: block;
  width: 493px !important;
  height: auto !important;
  aspect-ratio: 493 / 266;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  /* margin: 0 6px; */
}

.komu_slider_ttl{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 44px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1em;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  z-index: 2;
}

/* ここに各スライドの画像を設定してください */
.komu_slider01_01{ background-image: url(../img/komu/slider01_04.jpg); }
.komu_slider01_02{ background-image: url(../img/komu/slider01_03.jpg); }
.komu_slider01_03{ background-image: url(../img/komu/slider01_02.jpg); }
.komu_slider01_04{ background-image: url(../img/komu/slider01_01.jpg); }

.komu_slider02_01{ background-image: url(../img/komu/slider02_01.jpg); }
.komu_slider02_02{ background-image: url(../img/komu/slider02_02.jpg); }
.komu_slider02_03{ background-image: url(../img/komu/slider02_03.jpg); }
.komu_slider02_04{ background-image: url(../img/komu/slider02_04.jpg); }
.komu_slider02_05{ background-image: url(../img/komu/slider02_05.jpg); }

.komu_slider03_01{ background-image: url(../img/komu/slider03_04.jpg); }
.komu_slider03_02{ background-image: url(../img/komu/slider03_03.jpg); }
.komu_slider03_03{ background-image: url(../img/komu/slider03_02.jpg); }
.komu_slider03_04{ background-image: url(../img/komu/slider03_01.jpg); }

@media all and (max-width:680px){
  .komu_slider_wrap{
    margin-top: 50px;
  }
  .komu_slider_item{
    width: 192px !important;
    height: 140px;
    /*margin: 0 4px;*/
  }
  .komu_slider_ttl{
    font-size: 24px;
    white-space: nowrap;
  }

}

/* rentalBtn_wrap
***************************************************************/
.tel_btn{
  display: block;
  height: 58px;
  background-color: #000;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 15px;
}
.tel_btn .barl{
  font-size: 28px;
  letter-spacing: 0.05em;
}
.tel_btn .noto{
  font-size: 12px;
  letter-spacing: 0;
  margin-left: 5px;
}
.tel_btn .tel_btn--txt1{
  display: flex;
  align-items: center;
}
.tel_btn .tel_btn--txt2{
  font-size: 12px;
  margin-top: 3px;
}

.faq_btn{
  height: 58px;
  background-color: #fff;
  border: 2px solid #000;
  font-size: 18px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 15px 0 13px;
  margin-top: 15px;
}
.faq_btn::after{
  content: '';
  width: 16px;
  height: 10px;
  background: url(../img/common/arrow_down_b.svg) center / cover no-repeat;
  transition: 0.3s;
}
.cancellation_btn{
  height: 58px;
  background-color: #fff;
  border: 2px solid #000;
  font-size: 18px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 15px 0 13px;
  margin-top: 15px;
}
.cancellation_btn::after{
  content: '';
  width: 10px;
  height: 16px;
  background: url(../img/common/arrow_right_b.svg) center / contain no-repeat;
  transition: 0.3s;
}

/*--------------------PC--------------------*/
@media all and (min-width:681px){
  .rentalBtn_wrap{
    width: 254px;
    position: absolute;
/*    top: 650px;*/
    top: 545px;
    right: 15px;
  }
  .tel_btn{
    pointer-events: none;
  }
  .faq_btn:hover{
    border: 2px solid #E6372D;
    color: #E6372D;
  }
  .faq_btn:hover::after{
    background: url(../img/common/arrow_down_r.svg) center / cover no-repeat;
  }
  .cancellation_btn{
    margin-top: 10px;
  }
  .cancellation_btn:hover{
    border: 2px solid #E6372D;
    color: #E6372D;
  }
  .cancellation_btn:hover::after{
    background: url(../img/common/arrow_right_r.svg) center / contain no-repeat;
  }

/*  250202改修用*/
  .rentalBtn_wrap2{
    position: fixed;
    z-index: 999;
  }
}
/*--------------------SP--------------------*/
@media all and (max-width:680px){
  .rentalBtn_wrap{
    width: 100%;
    display: flex;
    position: fixed;
    bottom: 0;
    z-index: 10;
  }
  .tel_btn{
    width: 50%;
    height: 66px;
  }
  .tel_btn .tel_btn--txt1{
    flex-direction: column;
  }
  .tel_btn .barl{
    font-size: 24px;
  }
  .tel_btn .noto{
    margin-left: 0;
  }
  
  .tel_btn .tel_btn--txt2{
    text-align: center;
  }

  .faq_btn{
    width: 50%;
    height: 66px;
    font-size: 16px;
    justify-content: center;
    flex-direction: column;
    margin-top: 0;
  }
  .faq_btn::after{
    width: 18px;
    height: 12px;
    margin-top: 10px;
  }

/*  250202改修用*/
  .rentalBtn_wrap2{
/*    z-index: 1000;*/
    .rentalBtn_wrap2_box{
      width: 50%;
      display: fle,x;
      flex-direction: column;
        .faq_btn {
          width: 100%;
          height: 33px;
          font-size: 14px;
          justify-content: space-between;
          flex-direction: row;
          border-left: none;
          border-right: none;
        }
        .faq_btn::after {
          width: 16px;
          height: 10px;
          margin-top: 1px;
        }
        .cancellation_btn{
          width: 100%;
          height: 33px;
          margin-top: 0;
          border-top: none;
          border-left: none;
          border-right: none;
          font-size: 14px;
        }
    }
  }

/*  以下実装時解禁する*/
 /* .foot {
    padding-bottom: 86px;
  }*/

}

/* aaa
***************************************************************/

/*--------------------PC--------------------*/
@media all and (min-width:681px){
}
/*--------------------SP--------------------*/
@media all and (max-width:680px){
}
