@charset "utf-8";
/* /////////////////////////////
      TOP
///////////////////////////// */
#mv_slider {
  height: 750px !important;
}
.vegas-wrapper {
    background: url(../img/top/dot_repeat.png) 0 0 repeat;
}
.mv a {
  padding-top: 60px;
}
.top_about{
  padding-top: 100px;
}
#top_about {
   margin-top:-100px;
  padding-top:100px;
}
.mv a span {
  position: absolute;
  bottom: 120px;
  left: 50%;
  width: 30px;
  height: 50px;
  margin-left: -15px;
  border: 2px solid #fff;
  border-radius: 50px;
  box-sizing: border-box;
}
.mv a span::before {
  position: absolute;
  top: 10px;
  left: 50%;
  content: '';
  width: 6px;
  height: 6px;
  margin-left: -3px;
  background-color: #fff;
  border-radius: 100%;
  -webkit-animation: sdb 2s infinite;
  animation: sdb 2s infinite;
  box-sizing: border-box;
}
@-webkit-keyframes sdb {
  0% {
    -webkit-transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    -webkit-transform: translate(0, 20px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes sdb {
  0% {
    transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    transform: translate(0, 20px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.mv p{
  font-size: 60px;
  color: #fff;
  position: absolute;
  margin-left: 100px;
  top: 50%;
}
.mv p.slide_sub{
  font-size: 30px;
  color: #fff;
  position: absolute;
  margin-left: 100px;
  top: 62%;
}
.mv img{
  text-align: center;
  position: absolute;
  bottom: 120px;
  margin: 0 auto;
  left: 0;
  right: 0;
  width: 30px;
}
/* 新着情報 */
.information {
    position: relative;
    margin-top: -95px;
}
.info_ttl{
  width: 25%;
  box-sizing: border-box;
}
.information .txtArea{
  border-bottom: 2px solid #00346f;
  width: 75%;
  box-sizing: border-box;
}

/* 事業案内 */
.top_service .txtArea{
  margin: 125px auto 0;
  width: 1200px;
  max-width: 100%;
  box-sizing: border-box;
}
.top_service .img_left .top_ttl_sub:after{
  content: "";
  display: block;
  background: #fff;
  height: 3px;
  width: 32px;
  margin: 10px 0;
}
.top_service .txtArea_inner{
  padding: 50px 50px 60px;
}
.top_service .img_left .txtArea_inner{
  width: 43%;
  margin-left: auto;
  box-sizing: border-box;
}
.top_service .img_left .txtArea_inner{
  width: 43%;
  margin-left: auto;
  box-sizing: border-box;
}
.top_service .img_left .imgArea {
    position: absolute;
    width: calc(50vw + 70px);
    height: 490px;
    left: 0;
    top: -80px;
}
.top_service .img_right .top_ttl_sub:after{
  content: "";
  display: block;
  background: #00346f;
  height: 3px;
  width: 32px;
  margin: 10px 0;
}
.top_service .img_right .txtArea_inner{
  width: 43%;
  margin-right: auto;
  box-sizing: border-box;
}
.top_service .img_right .imgArea {
    position: absolute;
    width: calc(50vw + 70px);
    height: 490px;
    right: 0;
    top: -80px;
}
/* 各事業背景 */
/* 照明 */
.top_illumination .imgArea{
  background: url(../img/top/top_img01.jpg) top right / cover no-repeat;
}
/* 電気事業 */
.top_electrical .imgArea {
    background: url(../img/top/top_img02.jpg) top left / cover no-repeat;
}
/* 太陽光 */
.top_solar .imgArea {
    background: url(../img/top/top_img03.jpg) top right / cover no-repeat;
}
/* 防犯カメラ */
.top_camera .imgArea {
    background: url(../img/top/top_img04.jpg) top left / cover no-repeat;
}

/* その他 */
.top_other h2{
  width: 25%;
}
.top_other .bnr_area{
  width: 75%;
}
.top_other .bnr_inner{
  width: calc(50% - 30px);
}
.top_other .bnr_inner a {
  display: block;
  overflow: hidden;
}
.top_other .bnr_inner a:hover {
  opacity: 1;
}
.top_other .bnr_inner a img {
  transition-duration: .3s;
}
.top_other .bnr_inner a:hover img {
  transform: scale(1.2);
}
@media screen and (max-width: 1400px){
  /* 事業案内 */
  .top_service .img_left .txtArea_inner,
  .top_service .img_right .txtArea_inner,
  .top_service .img_left .imgArea,
  .top_service .img_right .imgArea{
    width: 50%;
  }
}

@media screen and (max-width: 1280px){
  #mv_slider {
    height: 50vw !important;
  }
}
@media screen and (max-width: 1000px){
  .top_service .txtArea{
    margin: 30px auto 0;
  }
  .top_service .imgArea.pc{
    display: none;
  }
  .top_service .imgArea.sp{
    display: block;
  }
  .top_service .img_left .txtArea_inner,
  .top_service .img_right .txtArea_inner{
    width: 100%;
    padding: 30px;
  }
  .top_service .img_left .imgArea,
  .top_service .img_right .imgArea {
      width: calc(100vw - 60px);
      position: static;
      margin-top: 30px;
  }
  .top_illumination{
    margin-bottom: 0 !important;
  }
  .top_electrical{
    margin-bottom: 0 !important;
  }
  .top_solar{
    margin-bottom: 0 !important;
  }
  /* .top_service .img_left .imgArea {
      margin-left: -30px;
  } */
  .top_service .img_right .imgArea {
    margin-right: -30px;
  }

  /* その他 */
  .top_other h2{
    width: 100%;
    margin-bottom: 20px;
  }
  .top_other .bnr_area{
    width: 100%;
  }
  .top_other .bnr_inner{
    width: calc(50% - 30px);
  }
}

@media screen and (max-width: 768px){
  #mv_slider {
    height: 70vw !important;
  }
.mv p{
  font-size: 30px;
  margin: 0;
  left: 0;
  right: 0;
  text-align: center;
  top: 50%;
}
.mv p.slide_sub{
  font-size: 26px;
  margin: 0;
  left: 0;
  right: 0;
  text-align: center;
  top: 55%;
}
.mv a span{
  bottom: 16px;
  width: 30px;
  height: 50px;
  border-radius: 50px;
}
.top_about{
  padding: 0;
}
.information{
  margin-top: 20px;
}
  .info_ttl,
  .information .txtArea{
  width: 100%;
}
.information .txtArea{
  border: 1px solid #00346f;
}
.information .txtArea span{
  display: block;
}

  .top_service .img_left .imgArea, .top_service .img_right .imgArea {
  width: calc(100vw - 50px);
  position: static;
  margin-top: 20px;
  margin-bottom: 20px;
  height: 250px;
}
.top_camera .imgArea {
    background: url(../img/top/top_img04.jpg) top left 20% / cover no-repeat;
}

  /* その他 */
  .top_other .bnr_inner{
    width:100%;
    margin-bottom: 20px;
  }

}
@media screen and (max-width: 767px){
    #top_about {
     margin-top: -60px;
     padding-top: 60px;
   }
   .top_service .txtArea{
     margin: 10px auto 30px;
   }
}
@media screen and (max-width: 500px){
    .top_service .img_left .imgArea,
    .top_service .img_right .imgArea {
    width: calc(100vw - 30px);
    margin-top: 30px;
    height: 180px;
}
  .mv p{
    font-size: 20px;
    top: 45%;
  }
  .mv p.slide_sub{
  font-size: 18px;
  top: 55%;
  }
  .mv a span{
    bottom: 16px;
    width: 25px;
    height: 40px;
    border-radius: 40px;
  }
}

@media screen and (max-width: 320px){
  .mv p.slide_sub{
  top: 60%;
  }
}}