@charset "UTF-8";
/* CSS Document */

.service_kv {
    max-width: 1440px;
    width: 100%;
    margin: 0 auto;
    padding-top: 80px;
    position: fixed;
  }

.service_kv picture img {
    width: 100%;
    object-fit: cover;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
  }

.wave-top {
    position: relative;
    z-index: 2;
    top: 400px;
    right: 0;
    width: 100%;
}    
 
@media (max-width:960px) {
  .service_kv {
    max-width: 960px;
    width: 100%;
    margin: 0 auto;
    padding-top: 80px;
    position: relative;
  }

  .service_kv picture img {
    width: 100%;
    /* height: 100%; */
    object-fit: cover;
  }

  .wave-top {
    position: relative;
    z-index: 2;
    top: 60px;
    right: 0;
    width: 100%;
  }  
}  

/* 導入 */
.service_description {
    /* max-width: 1440px; */
    width: 100%;
    margin: 0 auto;
    padding: 150px 0 200px;
    position: relative;
    z-index: 3;
    justify-content: center;
    align-items: center;
    /* height: 100vh; */
    background-color: rgba(255, 255, 255, 1);
    margin-top: 330px;
    }

.service_description p {
    max-width: 840px;
    margin: 0 auto;
    line-height: 3rem;
    letter-spacing: 0.16em;
    padding: 0 30px;
    text-align: justify;
}

@media (max-width:960px) {
    .service_description {
        margin-top: 0px;
    }   
}


@media (max-width:768px) {
    .service_description {
        /* max-width: 768px; */
        width: 100%;
        margin: 0 auto;
        padding: 80px 0 60px;
        margin-top: 50px;
    }

    .service_description p {
        max-width: 840px;
        margin: 0 auto;
        line-height: 2.5rem;
        letter-spacing: 0.16em;
        padding: 0 30px;
        text-align: justify;
        font-size: 1.5rem;
    }
}

/* 内容 */
.service_container {
    /* max-width: 1440px; */
    width: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 3;
    background-color: rgba(255, 255, 255, 1);
}

.service_container img {
    box-shadow: 0 2px 4px rgba(180, 180, 180, 0.3);
}

.web-textbox h3 {
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-align: left;
    border-bottom: 1px solid #999; 
    padding-bottom: 10px; 
}

.web-textbox {
    max-width: 400px;
    height: 270px;
    padding-left: 60px;
    width: 100%;
}

.web-textbox p {
    padding-top: 10px;
    text-align: justify;
}

.service_box {
    display: flex;
    justify-content: center;
    padding: 0px 30px 100px;
}

.service_box:nth-child(6n) {
    padding: 0 30px 0;
}

.service_box figure img {
    width: 400px;
    height: 300px;
    object-fit: cover;
}

.deadline {
    font-weight: 600;
}

@media (max-width:768px) {
    .service_container {
        max-width: 768px;
        width: 100%;
        margin: 0 auto;
        position: relative;
    }
    
    .web-textbox h3 {
        font-size: 2rem;
        font-weight: 600;
        letter-spacing: 0.12em;
        text-align: left;
        border-bottom: 1px solid #999; 
        padding-bottom: 10px; 
    }
    
    .web-textbox {
        max-width: 325px;
        height: auto;
        padding-left: 0px;
        text-align: justify;
        margin: 0 auto;
    }
    
    .web-textbox p {
        padding-top: 10px;
        font-size: 1.5rem;
        letter-spacing: 0.16em;
        line-height: 2.5rem;
    }
    
    .service_box {
        display: block;
        justify-content: center;
        padding: 50px 25px 50px;
    }
    
    .service_box:nth-child(6n) {
        padding: 50px 25px;
    }

    .service_box figure {
        text-align: center;
    }

    .service_box figure img {
        max-width: 325px; /* 画像をボックスの幅に合わせる */
        width: 100%;
        height: auto; /* 高さを自動調整 */
        display: block; /* 余計な隙間をなくす */
        margin: 0 auto;
        padding-bottom: 20px;
    }

    .service_container img {
        box-shadow: 0 0px 0px rgba(180, 180, 180, 0.3);
    }
}

.soft-wrap {
    word-break: keep-all;     /* 単語中で勝手に改行されない */
    white-space: normal;      /* 必要があれば改行はOK */
  }