.full_wifth {
    width: 100%;
}

.width_wrap {
    width: 1070px!important;
    margin: 0 auto;
}

#main_recruit p {
    font-size: 16px;
    line-height: 1.6;
}

.media_img img {
    width: 100%;
    height: auto;
}

.recruit-tag {
    display: flex;
    justify-content: center;
}

.recruit-tag li.gradient {
    display: inline-block;
    font-size: 12px;
    text-align: center;
}


/*footerまでスクロールしたら消す*/

.is-hidden {
    visibility: hidden;
    opacity: 0;
}

.ds_sp02 {
    display: none;
}

.external-link img {
    vertical-align: middle;
}

.breadcrumbs-box {
    padding-top: 30px;
    padding-bottom: 30px;
}


/* メインビジュアル */

.h2 {
    font-size: 42px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 50px;
    line-height: 1.4;
}

.dash {
    border-bottom: 2px dashed #58B884;
    padding-bottom: 10px;
}

.mark {
    background: linear-gradient(transparent 60%, #CEEBDC 40%);
}

.h3 {
    font-size: 32px;
    text-align: center;
    margin-bottom: 40px;
    line-height: 1.4;
}

.normal_p {
    font-size: 18px;
    line-height: 28px;
    text-align: center;
}

#main_recruit {
    margin-top: 80px;
}

.mv {
    background-image: url(img/bk_mainvisual.webp);
    background-color: #F4FFF9;
    background-position: 50% 0;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 30px 0;
    height: calc(90vh - 10px);
}

.mv_inner {
    position: relative;
    height: 600px;
}

.main-title {
    position: absolute;
    width: 50%;
    left: 0;
    top: 0;
}


/* 会社について */

.content01 {
    background-image: url(img/h1_mainvisual02.png);
    background-color: #F4FFF9;
    background-position: top 0;
    background-repeat: repeat-x;
    padding: 80px 0 10px;
}

.media_wrap {
    overflow: hidden;
    margin-top: 40px;
}

.media_cm {
    width: 50%;
    float: left;
    padding: 2%;
    box-sizing: border-box;
}

.media_img {
    background: #fff;
    padding: 20px;
    box-sizing: border-box;
    border-radius: 10px;
    margin-bottom: 20px;
}

.media_img img {
    width: 100%;
}

a.hover:hover {
    opacity: 0.5;
    transition: .3s;
}

.media_ttl a {
    font-size: 24px;
    margin-bottom: 20px;
    color: #5ABB86;
    display: block;
}

.lnk_btn {
    width: 50%;
    text-align: center;
    margin: 30px auto 0;
    font-weight: bold;
}

.lnk_btn a {
    display: block;
    font-size: 24px;
    background: #58B884;
    color: #fff;
    padding: 30px 0;
    border-radius: 50px;
    text-decoration: none;
}

.lnk_btn a:hover {
    opacity: 0.5;
    transition: .5s;
}

.content {
    margin: 100px auto;
}


/* 仕事について */

.work_wrap {
    overflow: hidden;
}

.recruit-who {
    padding-left: 2%;
}

.work {
    width: 50%;
    float: left;
    margin-bottom: 50px;
    padding: 0 20px;
    box-sizing: border-box;
}

.work_wrap {
    margin-top: 50px;
    text-align: center;
}

.work_ttl {
    font-size: 28px;
    text-align: center;
    margin: 30px auto 20px;
}

.work_tag {
    margin: 0 auto;
    text-align: center;
}

.work_about {
    text-align: left;
}


/* 完全リモート制の働き方 */

.content03 {
    background-image: url(img/contents03_bk.webp);
    background-color: #F4FFF9;
    background-position: 0 0;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 80px 0;
    box-sizing: border-box;
}

.content03_wrap {
    background: #fff;
    padding: 80px;
    border-radius: 30px;
    box-sizing: border-box;
    text-align: center;
}

.content03_wrap img {
    margin-bottom: 30px;
}

.right {
    content: '';
    width: 100%;
    height: auto;
    display: block;
    padding-left: 50px;
    box-sizing: border-box;
}

.right01 {
    background: url(img/contents03_nm_01.svg) no-repeat 0 50%;
}

.right02 {
    background: url(img/contents03_nm_02.svg) no-repeat 0 50%;
}

.right03 {
    background: url(img/contents03_nm_03.svg) no-repeat 0 50%;
}

.ttl_right {
    text-align: left;
    font-size: 30px;
    padding-top: 5px;
    padding-bottom: 5px;
    margin-bottom: 10px;
    vertical-align: middle;
}

.txt_right {
    text-align: left;
    font-size: 18px;
    padding-top: 10px;
}

.how_wrap {
    margin: 30px 0 0;
}

.how {
    margin-bottom: 40px;
}

.interview_wrap {
    margin: 40px auto;
    overflow: hidden;
}

.interview_inner {
    width: 50%;
    float: left;
    padding: 30px;
    box-sizing: border-box;
}

.interview_inner img {
    width: 100%;
    height: auto;
}


/* インタービュー */

#main_recruit p.work_kind {
    font-size: 12px;
    background: #EAF8F1;
    border-radius: 20px;
    padding: 8px 15px;
    text-align: left;
    margin: 10px 0;
    display: inline-block;
    font-weight: bold;
    color: #58B884;
}

#main_recruit p.work_name {
    font-size: 28px;
}

.work_box {
    padding-top: 20px;
}

.work_right01 {
    content: '';
    width: 90%;
    height: auto;
    display: block;
    background: url(img/contents04_icon_01.png) no-repeat 0 0;
    padding-left: 120px;
    box-sizing: border-box;
    padding-bottom: 20px;
}

.work_right02 {
    content: '';
    width: 90%;
    height: auto;
    display: block;
    background: url(img/contents04_icon_02.png) no-repeat 0 0;
    padding-left: 120px;
    box-sizing: border-box;
    padding-bottom: 20px;
}

.pdt {
    padding-top: 20px;
}


/* メッセージ */

.content05 {
    background: #EAF8F1;
    padding: 100px 0;
}

.ceo_name {
    text-align: right;
}

.message_wrap {
    background: #fff;
    border-radius: 30px;
    padding: 80px;
    box-sizing: border-box;
    overflow: hidden;
    margin-bottom: 50px;
}

.message_text {
    float: left;
    box-sizing: border-box;
}

.message_img {
    width: 70%;
    padding-left: 0;
    box-sizing: border-box;
    text-align: center;
    margin: 0 auto;
    padding-bottom: 30px;
}

.message_img img {
    width: 100%;
    height: auto;
}


/* 募集要項 */

.content06 table {
    width: 80%;
    margin: 50px auto;
}

.content06 table td {
    padding: 15px;
    border: 2px solid #fff;
    line-height: 1.5;
}

.table_ttl {
    background: #EAF8F1;
    padding: 15px;
    border: 2px solid #fff;
}


/* 応募フォーム */

.content07 {
    background: #76cda1;
    padding: 80px 0;
    color: #fff;
}

.content07 .normal_p {
    margin-bottom: 30px;
}

@media screen and (max-width:1070px) {
    .width_wrap {
        width: 100%!important;
        padding: 30px;
        box-sizing: border-box;
    }
    .main-title {
        width: 80%;
    }
    .mv {
        background-position: right bottom;
        background-size: cover;
        height: calc(100vh - 80px);
        background-image: url(img/bk_mainvisual_tb.png);
        background-color: #F4FFF9;
        background-repeat: no-repeat;
        padding: 30px 0;
    }
    .content03_wrap img {
        width: 100%;
        height: auto;
    }
    .content {
        padding: 20px;
        box-sizing: border-box;
        margin: 60px 0;
    }
    .content03 {
        padding: 80px 20px;
        box-sizing: border-box;
    }
    .content03_wrap {
        padding: 80px 40px;
        border-radius: 20px;
    }
    .interview_inner {
        padding: 20px;
    }
    .mv_inner {
        height: 300px;
    }
    .main-title {
        width: 50%;
    }
    .content05 {
        padding: 80px 20px;
        box-sizing: border-box;
    }
    .lnk_btn {
        width: 80%;
    }
}

@media screen and (max-width:766px) {
    .media_ttl a {
        font-size: 20px;
    }
    #main_recruit {
        margin-top: 60px;
    }
    .h2 {
        font-size: 28px;
    }
    .h3 {
        font-size: 24px;
    }
    .content01 {
        padding: 40px 20px;
    }
    .media_cm {
        width: 100%;
        float: none;
        padding: 30px 0;
    }
    .main-title {
        width: 60%;
        padding: 0 20px;
        box-sizing: border-box;
    }
    .width_wrap {
        padding: 0;
    }
    .work {
        width: 100%;
        float: none;
    }
    .work_img img {
        width: 100%;
        height: auto;
    }
    .lnk_btn {
        width: 100%;
    }
    .lnk_btn a {
        font-size: 16px;
        padding: 24px 0;
    }
    .content03_wrap {
        padding: 30px 20px;
        box-sizing: border-box;
    }
    .right {
        padding-left: 34px;
    }
    .ttl_right {
        font-size: 18px;
    }
    #main_recruit p {
        font-size: 15px;
        text-align: left;
    }
    .how {
        margin-bottom: 30px;
    }
    .interview_inner {
        width: 100%;
        float: none;
        padding: 30px 0;
    }
    .message_wrap {
        padding: 20px;
        border-radius: 20px;
    }
    .message_img {
        width: 100%;
        float: none;
        padding: 0;
        text-align: center;
    }
    .message_text {
        width: 100%;
        float: none;
        padding-top: 20px;
    }
    .content06 {
        padding: 0 10px;
    }
    .content06 table {
        width: 100%;
        box-sizing: border-box;
    }
    .content06 table td {
        display: block;
    }
    .content07 {
        padding: 80px 10px;
    }
    .work_ttl {
        font-size: 24px;
    }
    #main_recruit {
        margin-top: 60px;
    }
    .ds_sp {
        display: none;
    }
    .ds_sp02 {
        display: inherit;
    }
    .content04 {
        padding: 0 20px;
    }
    .work_right01,
    .work_right02 {
        background-size: contain;
        padding-left: 90px;
        padding-bottom: 0;
        margin-bottom: 20px;
    }
    #main_recruit p.work_name {
        font-size: 24px;
    }
    #main_recruit p.work_kind {
        margin: 5px 0;
    }
    .recruit-tag {
        display: inline-block;
    }
    .mv {
        height: calc(80vh - 10px);
    }
}

@media screen and (max-width:520px) {
    .mv {
        background-image: url(img/bk_mainvisual_sp.webp);
        background-color: #F4FFF9;
        background-position: top 0;
        height: calc(100vh - 250px);
        background-size: cover;
        background-repeat: no-repeat;
        padding: 30px 0;
    }
    .mv_inner {
        height: 300px;
    }
    .main-title {
        width: 80%;
    }
}