/*----------------------------- */
/*共通 */
/*------------------------------*/
  @media screen and (max-width: 768px) {
    .pc {
      display: none;
    }

    .sp{
        display: block;
    }
  }
/*----------------------------- */
/*ヘッダー */
/*------------------------------*/
@media screen and (max-width: 1300px) {
  .header-contact{
    right: 2%;
  }

  .header-contact img{
    width: 90%;
  }

    .header-top-message{
  left: 22%;
  }
}
@media screen and (max-width: 1100px) {
  .header-contact {
    display: none;
  }
}
@media screen and (max-width: 850px) {
  /* .hamburger {
    display: flex;
  }

  .header-nav {
    display: none;
    position: fixed;
    top: 75px;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 999;
  }

  .header-nav.open {
    display: flex;
  }

  .header-nav ul {
    flex-direction: column;
    gap: 30px;
  }

  .header-nav a {
    font-size: 18px;
    flex-direction: row;
  }

  .header-nav img {
    display: none;
  }

    */

  .header-top-message{
    display: none;
  }
   

  .header-inner{
    justify-content: space-between;
  }

  .header-nav{
    display: none;
  }

  .clearfix {
    min-height: 1px;
}

.sp_nav {
    text-align: center;
}

.sp_header{
  display: block;
}

.spbtn {
    padding: 15px;
    width: 65px;
    /* margin-right: 30px; */
    float: right;
    margin-top: 10px;
    position: relative;
    box-sizing: border-box;
    cursor: pointer;
}

#toggle_btn {
    display: block;
}

#toggle_btn {
    position: relative;
    width: 50px;
    height: 28px;
}

#toggle_btn span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background-color:#0078c9;
  border-radius: 4px;
}

#toggle_btn, #toggle_btn span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
}

#toggle_btn span:nth-of-type(1) {
  top: 0;
}

#toggle_btn span:nth-of-type(2) {
  top: 12px;
}

#toggle_btn span:nth-of-type(3) {
  top: 24px;
}

#toggle_btn.active span:nth-of-type(1) {
  -webkit-transform: translateY(20px) rotate(-45deg);
  transform: translateY(13px) rotate(-45deg);
}

#toggle_btn.active span:nth-of-type(2) {
  opacity: 0;
}

#toggle_btn.active span:nth-of-type(3) {
  -webkit-transform: translateY(-11px) rotate(45deg);
  transform: translateY(-11px) rotate(45deg);
}

#slideL {
    z-index: 100;
    cursor: pointer;
    position: fixed;
    top: 0;
    right: -300px;
    width: 300px;
    height: auto;
}

#slideL .slide-inner {
    overflow: auto;
    overflow-x: hidden;
}

.sp_nav ul {
    background-color: #fff;
    position: absolute;
    top: 164px;
    width: 100%;
}

#toggle-menu li {
    border-top: 1px solid #ccc;
}

#toggle-menu li:first-child {
    border-top: none;
}

.sp_nav ul li a {
    padding: 15px 0;
    color: #0078c9;
    font-size: 1.143em;
    display: block;
}
}
/*----------------------------- */
/*ファーストビュー */
/*------------------------------*/
  @media screen and (max-width: 500px) {
    .fv-overlay {
        position: initial;
        width: 100%;
        transform: inherit;
    }

    .first-view{
        background-image: url(../img/SP_bg.png);
        aspect-ratio:inherit;
        padding: 20px;
        height: 679px;
    }
  }

/*----------------------------- */
/*安心をつくる雨ん防 */
/*------------------------------*/
  @media screen and (max-width: 768px) {
    .about-section{
        padding: 30px 20px;
    }
    .about-title{
        font-size: 24px;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
    }
    .about-cards {
      flex-direction: column;
      align-items: center;
    }
  }

/*----------------------------- */
/*きっと見つかる あなたのお困りの事例 */
/*------------------------------*/
  @media screen and (max-width: 768px) {
    .case-section{
        padding: 30px 20px;
    }
    .case-card {
        width: 100%;
        max-width: 300px;
        flex: 0 1 calc(50% - 10px);
    }

    .case-icon{
        width: 56px;
        height: 55px;
        flex-shrink: 0;
    }

    .case-label{
        color: #FFF;
        font-size: 20px;
    }
}

/*----------------------------- */
/*お知らせ|雨ん防Blog｜施工実績 */
/*------------------------------*/
@media screen and (max-width: 768px) {
.blog-performance-section{
    padding: 30px 20px;
}
  .character-img.news {
    position: absolute;
    top: -104px;
    left: 15%;
    width: 54.044px;
    height: 65px;
  }

    .character-img.blog {
        top: -82px;
        right: -4px;
        width: 100px;
    }

    .character-img.performance {
        position: absolute;
        top: -104px;
        left: 15%;
        width: 54.044px;
        height: 65px;
    }

  .blog-list{
        flex-direction: row;
        border-bottom: 2px dotted #0078C9;
  }

  .blog-content{
        width: 145px;
  }

  .blog-item{
    flex-direction: column;
    border-bottom: none;
  }

  .blog-item img{
        width: 145px;
        height: 145px;
  }
}

/*----------------------------- */
/*レビュー */
/*------------------------------*/
@media screen and (max-width: 768px) {
    .review-section{
        background-image: url(../img/bg_line-sp.png);
        padding: 30px 20px;
    }
    .review-character{
        top: -15px;
        left: 20%;
    }
    .gmb-review_list .review_list_heading .g_logo {
        width: 34px
    }

    .gmb-review_list .review_list_heading h2 {
        font-size: 16px !important
    }

    .gmb-review_list .result_info {
        font-size: 16px
    }
}

/*----------------------------- */
/*タブセクション */
/*------------------------------*/
@media screen and (max-width: 768px) {
    .tab-section {
        padding: 60px 10px;
    }
    .trust-character{
        width: 80px;
        height: 96px;
        bottom: -23px;
        right: 5%;
    }
}

/*----------------------------- */
/*お問合せ */
/*------------------------------*/
@media screen and (max-width: 1100px) {
  .contact-contects{
        flex-direction: column;
        align-items: center;
  }

  .contact-details{
    width: 60%;
    margin: 0 auto;
  }
}

@media screen and (max-width: 768px) {
  .contact-section{
    padding: 30px 20px;
  }

  .contact-caption{
    text-align: center;
  }

  .contact-cards{
    padding: 20px;
  }

  .contact-form{
    width: 100%;
  }

  .form-row{
    flex-direction: column;
  }

  .form-row label{
        width: 100%;
        justify-content: flex-start;
        gap: 10px;
  }

    input[type="text"],
    input[type="email"],
    input[type="tel"],
    textarea {
        width: 100%;
    }

    .required{
        padding: 4px 10px;
    }
}

@media screen and (max-width: 500px) {
.first-view.contact {
        background-image: url(../img/fv-contact-bg-sp.png);
        aspect-ratio: inherit;
        padding: 20px;
        height: 480px;
  }

  .contact-details{
    width: 100%;
  }
}

/*----------------------------- */
/*フッター */
/*------------------------------*/
@media screen and (max-width: 768px) {
    .site-footer{
        padding: 30px 20px;
    }
    .footer-logo{
        width: 212px;
        height: 118px;
    }
    .footer-left, .footer-right{
        flex-direction: column;
    }
}