@charset "UTF-8";
/*! =========================================================================================

    TITLE

==========================================================================================*/
/*! .pageTitle
=======================================================*/
.pageTitle {
    width: 100%;
    height: 240px;
    min-width: 1100px;
    background: url("../img/page_bg.jpg") no-repeat center top;
    background-size: cover;
}

.pageTitle__text {
    width: 1100px;
    margin: 0 auto;
    padding-top: 100px;
    color: #33bfdb;
    font-weight: bold;
    font-size: 3.6rem;
}

@media screen and (max-width:768px) {
    .pageTitle {
        width: 100%;
        height: 100px;
        min-width: 100%;
    }

    .pageTitle__text {
        width: auto;
        padding-top: 40px;
        padding-left: 20px;
        font-size: 2.2rem;
    }
}


/*! modTitle01
=======================================================*/
.modTitle01 {
    border-bottom: 1px solid #dcdcdc;
    font-size: 2.2rem;
    font-weight: bold;
    padding-bottom: 15px;
    margin-bottom: 20px;
}

@media screen and (max-width:768px) {
    .modTitle01 {
        font-size: 1.8rem;
    }
}


/*! modTitle02
=======================================================*/
.modTitle02 {
    border-top: 3px solid #33bfdb;
    border-bottom: 1px solid #dcdcdc;
    font-size: 2.6rem;
    font-weight: bold;
    padding: 10px 0 10px 58px;
    margin-bottom: 30px;
    color: #33bfdb;
    position: relative;
}

.modTitle02:before {
    content: "";
    display: block;
    width: 48px;
    height: 48px;
    background-color: #33bfdb;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: contain;
    border-radius: 50%;
    position: absolute;
    top: 5px;
    left: 0;
}

.modTitle02.iconStar:before {
    background-image: url("../img/cir_ico01.png");
}

.modTitle02.iconCheck:before {
    background-image: url("../img/cir_ico02.png");
}

@media screen and (max-width:768px) {
    .modTitle02 {
        padding: 10px 0 10px 33px;
        font-size: 1.6rem;
        margin-bottom: 15px;
    }

    .modTitle02:before {
        width: 28px;
        height: 28px;
        top: 8px;
    }
}


/*! modTitle03
=======================================================*/
.modTitle03 {
    position: relative;
    font-size: 1.8rem;
    padding-left: 15px;
    margin-bottom: 15px;
    font-weight: bold;
}

.modTitle03:before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 20px;
    background-color: #33bfdb;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

@media screen and (max-width:768px) {
    .modTitle03 {
        font-size: 1.5rem;
        padding-left: 10px;
        margin-bottom: 10px;
    }

    .modTitle03:before {
        width: 4px;
        height: 16px;
        margin-top: -2px;
    }
}


/*! modTitle04
=======================================================*/
.modTitle04 {
    border-bottom: 1px solid #dcdcdc;
    font-size: 125%;
    font-weight: bold;
    padding-bottom: 5px;
    margin-bottom: 20px;
}

.modTitle04 span {
    font-size: 140%;
    color: #33bfdb;
    font-weight: bold;
}

@media screen and (max-width:768px) {
    .modTitle04 {
        font-size: 129%;
    }

    .modTitle04 span {
        font-size: 133%;
    }
}



/*! =========================================================================================

    BUTTON

==========================================================================================*/
/*! modBtn01
=======================================================*/
.modBtn01 {
    border: none;
    outline: none;
    display: block;
    border-radius: 4px;
    background: #fdc44f;
    box-shadow: 0px 5px 0 #f7b42c;
    min-width: 270px;
    width: auto;
    height: 56px;
    line-height: 56px;
    margin: 0 auto;
    text-align: center;
    transition: 0.1s;
    font-size: 1.8rem;
    font-weight: bold;
    color: #fff;
}

.modBtn01:hover {
    transform: translate3d(0, 5px, 0);
    box-shadow: none;
    text-decoration: none;
}

.modBtn01.is_back {
    background: #949494;
    box-shadow: 0px 5px 0 #676767;
}

.modBtn01.is_back:hover {
    box-shadow: none;
}


/*! modBtn02
=======================================================*/
.modBtn02 {
    border: none;
    outline: none;
    cursor: pointer;
    display: inline-block;
    background-color: #fff;
    padding: 6px 20px;
    border-radius: 4px;
    border: 1px solid #ff6f6f;
    text-align: center;
    transition: 0.1s;
    font-size: 1.3rem;
    font-weight: bold;
    color: #ff6f6f;
}

.modBtn02:hover {
    background: #ff6f6f;
    color: #fff;
    text-decoration: none;
}


/*! modBtn03(右矢印有り)
=======================================================*/
.modBtn03 {
    display: block;
    border: none;
    background: #fdc44f;
    border-radius: 4px;
    padding: 0 20px;
    height: 38px;
    line-height: 38px;
    color: #fff;
    font-weight: bold;
    text-align: center;
}

.modBtn03:hover {
    opacity: 0.8;
    color: #fff;
}

.modBtn03 span {
    position: relative;
    padding-right: 20px;
}

.modBtn03 span:after {
    position: absolute;
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    top: 50%;
    right: 0;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top: -3px;
}


/*! modBtn04(右矢印有り、 矢印位置・幅固定)
=======================================================*/
.modBtn04 {
    border: none;
    display: block;
    margin: 0 auto;
    border-radius: 8px;
    background-color: #0d70a3;
    box-shadow: 0px 5px 0 #d95a5a;
    width: 370px;
    height: 70px;
    line-height: 70px;
    text-align: center;
    transition: 0.1s;
    color: #fff;
    position: relative;
}

.modBtn04:hover {
    transform: translate3d(0, 5px, 0);
    box-shadow: none;
    text-decoration: none;
    color: #fff;
}

.modBtn04:after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -3px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media screen and (max-width:768px) {
    .modBtn04 {
        width: 100%;
        max-width: 270px;
        height: 60px;
        line-height: 60px;
    }
}


/*! modBtnWithdraw(グレーボタン：退会する)
=======================================================*/
.modBtnWithdraw {
    border: none;
    padding: 0;
    display: block;
    margin: 0 auto;
    border-radius: 4px;
    background-color: #c8c8c8;
    box-shadow: 0px 5px 0 #b8b8b8;
    width: 180px;
    height: 44px;
    line-height: 44px;
    text-align: center;
    font-weight: bold;
    font-size: 88%;
    color: #fff;
}

.modBtnWithdraw:hover {
    transform: translate3d(0, 5px, 0);
    box-shadow: none;
    text-decoration: none;
    color: #fff;
}

@media screen and (max-width:768px) {
    .modBtnWithdraw {
        width: 220px;
    }

    .modBtnWithdraw button,
    .modBtnWithdraw input,
    .modBtnWithdraw a {
        width: 220px;
        font-size: 1.6rem;
    }
}


/*! modBtnOff(グレーアウト)
=======================================================*/
.modBtnOff {
    display: block;
    background: #e9e9e9;
    border-radius: 4px;
    padding: 0 20px;
    height: 38px;
    line-height: 38px;
    color: #7e7e7e;
    font-weight: bold;
    text-align: center;
}


/*! btnEntry01
=======================================================*/
.btnEntry01 {
    border: none;
    display: block;
    margin: 0 auto;
    border-radius: 4px;
    background: #ff7c7c;
    width: 196px;
    height: 50px;
    padding-left: 15px;
    box-shadow: 0px 5px 0 #d95a5a;
    text-align: center;
    transition: 0.1s;
    color: #fff;
}

.btnEntry01:hover {
    transform: translate3d(0, 5px, 0);
    box-shadow: none;
    text-decoration: none;
    color: #fff;
}

.btnEntry01 span {
    display: flex;
    height: 100%;
    align-items: center;
    padding-left: 50px;
    padding-top: 2px;
    font-size: 1.4rem;
    font-weight: bold;
    text-align: left;
    line-height: 1.4;
    position: relative;
}

.btnEntry01 span:before {
    content: "無料";
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    color: #ff7c7c;
    font-size: 1.2rem;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    letter-spacing: 1px;
}

.btnEntry01 span:after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -4px;
}

@media screen and (max-width:768px) {
    .btnEntry01 {
        width: 220px;
    }

    .btnEntry01 span {
        font-size: 1.8rem;
    }
}


/*! btnJob01
=======================================================*/
.btnJob01 {
    border: none;
    display: block;
    margin: 0 auto;
    border-radius: 4px;
    background: #ff7c7c;
    width: 196px;
    height: 50px;
    box-shadow: 0px 5px 0 #d95a5a;
    text-align: center;
    transition: 0.1s;
    color: #fff;
}

.btnJob01:hover {
    transform: translate3d(0, 5px, 0);
    box-shadow: none;
    text-decoration: none;
    color: #fff;
}

.btnJob01 span {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: center;
    font-size: 2.0rem;
    font-weight: bold;
    text-align: left;
}

@media screen and (max-width:768px) {
    .btnJob01 {
        width: 220px;
    }

    .btnJob01 span {
        font-size: 1.8rem;
    }
}


/*! btnEntry02(応募するボタン)
=======================================================*/
.btnEntry02 {
    border: none;
    display: block;
    background: #8dcf3f;
    border-radius: 20px;
    width: 180px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    transition: all 0.2s ease;
}

.btnEntry02 span {
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
}

.btnEntry02:hover {
    opacity: 0.6;
    text-decoration: none;
}


/*! btnSearch01
=======================================================*/
.btnSearch01 {
    border: none;
    outline: none;
    display: block;
    border-radius: 4px;
    background: #fdc44f;
    box-shadow: 0px 5px 0 #f7b42c;
    width: 180px;
    height: 44px;
    line-height: 44px;
    margin: 0 auto;
    text-align: center;
    transition: 0.1s;
    color: #fff;
}

.btnSearch01:hover {
    transform: translate3d(0, 5px, 0);
    box-shadow: none;
    text-decoration: none;
}

.btnSearch01 span {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: bold;
}

@media screen and (max-width:768px) {
    .btnSearch01 {
        width: 220px;
    }

    .btnSearch01 span {
        font-size: 1.6rem;
    }
}


/*! btnFavorite01(お気に入りボタン)
=======================================================*/
.btnFavorite01 {
    border: none;
    outline: none;
    display: block;
    border-radius: 4px;
    background: #fdc44f;
    box-shadow: 0px 5px 0 #f7b42c;
    width: 160px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    transition: 0.1s;
    color: #fff;
}

.btnFavorite01:hover,
.btnFavorite01.fav:hover {
    transform: translate3d(0, 5px, 0);
    box-shadow: none;
    text-decoration: none;
}

.btnFavorite01.fav {
    background: #949494;
    box-shadow: 0px 5px 0 #676767;
}

.btnFavorite01 span {
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
    background: url(../img/ico_favorite.png) no-repeat left center;
    padding-left: 22px;
    display: inline-block;
}

@media screen and (max-width:768px) {
    .btnFavorite01 {
        width: 50px;
        height: 40px;
        line-height: 40px;
    }

    .btnFavorite01 span {
        text-indent: -9999px;
        padding-left: 0;
        width: 100%;
        background-position: center center;
    }

}


/*! btnDetail01(詳細をみるボタン)
=======================================================*/
.btnDetail01 {
    border: none;
    outline: none;
    display: block;
    border-radius: 4px;
    background: #33bfdb;
    box-shadow: 0px 5px 0 #15a6c3;
    width: auto;
    height: 40px;
    line-height: 40px;
    text-align: center;
    transition: 0.1s;
    color: #fff;
}

.btnDetail01 span {
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
}

.btnDetail01:hover {
    transform: translate3d(0, 5px, 0);
    box-shadow: none;
    text-decoration: none;
}


/*! btnMore01(詳細をみるボタン)
=======================================================*/
.btnMore01 {
    border: none;
    outline: none;
    display: inline-block;
    border-radius: 4px;
    background: #7e7e7e;
    box-shadow: 0px 5px 0 #4d4d4d;
    width: 130px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    transition: 0.1s;
    color: #fff;
    cursor: pointer;
}

.btnMore01 span {
    display: block;
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
}

.btnMore01 span:after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-left: 1em;
    position: relative;
    top: -2px;
}

.btnMore01:hover {
    transform: translate3d(0, 5px, 0);
    box-shadow: none;
    text-decoration: none;
    color: #fff;
}

.btnMore01.close-btn span:after {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    top: 2px;
}


/*! btnBeginner01
=======================================================*/
.btnBeginner01 {
    display: block;
    border-radius: 4px;
    background: #80c451;
    width: auto;
    height: 50px;
    padding-left: 15px;
    box-shadow: 0px 5px 0 #649840;
    text-align: center;
    transition: 0.1s;
    color: #fff;
}

.btnBeginner01:hover {
    transform: translate3d(0, 5px, 0);
    box-shadow: none;
    text-decoration: none;
    color: #fff;
}

.btnBeginner01 span {
    display: flex;
    height: 100%;
    align-items: center;
    padding-left: 50px;
    padding-top: 2px;
    background-repeat: no-repeat;
    background-position: 8px center;
    background-size: 26px auto;
    background-image: url(/img/icon_beginner.png);
    font-size: 1.4rem;
    font-weight: bold;
    text-align: left;
    line-height: 1.4;
    position: relative;
}

.btnBeginner01 span:after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -4px;
}

@media screen and (max-width:768px) {
    .btnBeginner01 {
        width: 220px;
    }

    .btnBeginner01 span {
        font-size: 1.8rem;
    }
}


/*! btnLogin
=======================================================*/
.btnLogin {
    border: none;
    display: block;
    margin: 0 auto;
    border-radius: 4px;
    background: #ff7c7c;
    width: 196px;
    height: 50px;
    box-shadow: 0px 5px 0 #d95a5a;
    text-align: center;
    transition: 0.1s;
    color: #fff;
}

.btnLogin:hover {
    transform: translate3d(0, 5px, 0);
    box-shadow: none;
    text-decoration: none;
    color: #fff;
}

.btnLogin span {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: center;
    font-size: 2.0rem;
    font-weight: bold;
    text-align: left;
}

@media screen and (max-width:768px) {
    .btnLogin {
        width: 220px;
    }

    .btnLogin span {
        font-size: 1.8rem;
    }
}


/*! btnSubmit
=======================================================*/
.btnSubmit {
    -webkit-appearance: none;
    appearance: none;
    outline: none;
    border: none;
    display: block;
    background-color: #fdc44f;
    box-shadow: 0px 5px 0 #f7b42c;
    width: 270px;
    height: 56px;
    line-height: 56px;
    border-radius: 4px;
    position: relative;
    padding: 0;
    margin: 30px auto 0;
    text-align: center;
    font-size: 113%;
    font-weight: bold;
    color: #fff;
    transition: 0.1s;
}

.btnSubmit:hover {
    transform: translate3d(0, 5px, 0);
    box-shadow: none;
    text-decoration: none;
}

@media screen and (max-width:768px) {
    .btnSubmit {
        width: 100%;
        max-width: 270px;
        margin: 30px auto 20px;
        height: 50px;
        line-height: 50px;
        /*font-size:1.8rem;*/
    }
}


/*! btnReturn
=======================================================*/
.btnReturn {
    -webkit-appearance: none;
    appearance: none;
    outline: none;
    border: none;
    display: block;
    background-color: #c8c8c8;
    box-shadow: 0px 5px 0 #b8b8b8;
    width: 270px;
    height: 56px;
    line-height: 56px;
    border-radius: 4px;
    position: relative;
    padding: 0;
    margin: 30px auto 0;
    text-align: center;
    font-size: 113%;
    font-weight: bold;
    color: #fff;
    transition: 0.1s;
}

.btnReturn:hover {
    transform: translate3d(0, 5px, 0);
    box-shadow: none;
    text-decoration: none;
}

@media screen and (max-width:768px) {
    .btnReturn {
        width: 100%;
        max-width: 270px;
        margin: 30px auto 20px;
        height: 50px;
        line-height: 50px;
    }
}


/*! btnReturn02
=======================================================*/
.btnReturn02 {
    -webkit-appearance: none;
    appearance: none;
    outline: none;
    border: none;
    display: block;
    background: #fdc44f;
    box-shadow: 0px 5px 0 #f7b42c;
    width: 270px;
    height: 56px;
    line-height: 56px;
    border-radius: 4px;
    position: relative;
    padding: 0;
    margin: 30px auto 0;
    text-align: center;
    font-size: 113%;
    font-weight: bold;
    color: #fff;
    transition: 0.1s;
}

.btnReturn02:hover {
    transform: translate3d(0, 5px, 0);
    box-shadow: none;
    text-decoration: none;
}

@media screen and (max-width:768px) {
    .btnReturn02 {
        width: 100%;
        max-width: 270px;
        margin: 30px auto 20px;
        height: 50px;
        line-height: 50px;
    }
}


/*! btnLine01(9/9時点SPのみ使用、PCスタイルは仮)
=======================================================*/
.btnLine01 {
    display: block;
    border-radius: 4px;
    background: #00B900;
    width: auto;
    height: 40px;
    line-height: 40px;
    padding: 0 20px 0 15px;
    box-shadow: 0px 5px 0 #004300;
    text-align: center;
    transition: 0.1s;
    color: #fff;
}

.btnLine01:hover {
    transform: translate3d(0, 5px, 0);
    box-shadow: none;
    text-decoration: none;
    color: #fff;
}

.btnLine01 span {
    display: inline-block;
    height: 100%;
    padding-left: 26px;
    padding-top: 2px;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 20px auto;
    background-image: url(/img/icon_line.png);
    font-size: 1.4rem;
    font-weight: bold;
    text-align: left;
}

@media screen and (max-width:768px) {
    .btnLine01 {
        width: auto;
    }

    .btnLine01 span {
        background-position: left 12px;
        font-size: 1.1rem;
    }
}


/*! btnApp01(9/9時点SPのみ使用、PCスタイルは仮)
=======================================================*/
.btnApp01 {
    display: block;
    border-radius: 4px;
    background: #ff88ac;
    width: auto;
    height: 40px;
    line-height: 40px;
    padding: 0 20px 0 15px;
    box-shadow: 0px 5px 0 #f6457a;
    text-align: center;
    transition: 0.1s;
    color: #fff;
}

.btnApp01:hover {
    transform: translate3d(0, 5px, 0);
    box-shadow: none;
    text-decoration: none;
    color: #fff;
}

.btnApp01 span {
    display: inline-block;
    height: 100%;
    padding-left: 26px;
    padding-top: 2px;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 20px auto;
    background-image: url(/img/icon_form.png);
    font-size: 1.4rem;
    font-weight: bold;
    text-align: left;
}

@media screen and (max-width:768px) {
    .btnApp01 {
        width: auto;
    }

    .btnApp01 span {
        background-position: left 12px;
        font-size: 1.1rem;
    }
}


/*! btnSubmit
=======================================================*/
.btnSubmit {
    -webkit-appearance: none;
    appearance: none;
    outline: none;
    border: none;
    display: block;
    background-color: #fdc44f;
    box-shadow: 0px 5px 0 #f7b42c;
    width: 270px;
    height: 56px;
    line-height: 56px;
    border-radius: 4px;
    position: relative;
    padding: 0;
    margin: 30px auto 0;
    text-align: center;
    font-size: 113%;
    font-weight: bold;
    color: #fff;
    transition: 0.1s;
}

.btnSubmit:hover {
    transform: translate3d(0, 5px, 0);
    box-shadow: none;
    text-decoration: none;
}

@media screen and (max-width:768px) {
    .btnSubmit {
        width: 100%;
        max-width: 270px;
        margin: 30px auto 20px;
        height: 50px;
        line-height: 50px;
    }
}



/*! =========================================================================================

    LIST

==========================================================================================*/
/*! modList01
=======================================================*/
.modList01 dl {
    padding: 20px 0 15px;
    border-bottom: #d2d2d2 solid 1px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.modList01 dl dt {
    color: #33bfdb;
    font-weight: bold;
    white-space: nowrap;
    margin-right: 10px;
}

.modList01 dl dd .company {
    color: #737373;
    font-size: 88%;
    font-weight: bold;
    margin-top: 10px;
}

.modList01 dl dd:first-of-type {
    margin-right: 10px;
}

.modList01 dl dd.detailBtn {
    margin-left: auto;
}

@media screen and (max-width:768px) {
    .modList01 dl {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .modList01 dl dt p {
        display: inline-block;
        margin-bottom: 5px;
    }

    .modList01 dl dd .company {
        margin-top: 5px;
    }

    .modList01 dl dd.detailBtn {
        margin-top: 5px;
    }
}


/*! cardList
=======================================================*/
.cardList {
    margin-top: 60px;
}

@media all and (max-width: 768px) {
    .cardList {
        margin: 40px 10px;
    }
}


/*! cateList
=======================================================*/
.cateList {
    position: relative;
    background: #fff;
    display: flex;
    flex-wrap: wrap;
}

.cateList__item {
    background: #fff;
    position: relative;
    width: 50%;
}

.cateList__item a {
    display: flex;
    align-items: center;
    height: 50px;
    padding: 0 15px 0 30px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    position: relative;
}

.cateList__item a:before {
    content: "\f054";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #33bfdb;
    position: absolute;
    top: 50%;
    left: 12px;
    margin-top: -9px;
}

@media all and (min-width: 769px) {
    .cateList__item {
        width: calc(100% / 3);
    }

    .cateList__item:not(:nth-child(3n)) {
        border-right: 1px solid #e4e5e3;
    }

    .cateList__item:nth-child(n + 4) {
        border-top: 1px solid #e4e5e3;
    }

    .cateList.is_oddPc-1 .cateList__item:nth-last-child(3),
    .cateList.is_oddPc-2 .cateList__item:nth-last-child(2),
    .cateList.is_oddPc-2 .cateList__item:nth-last-child(3) {
        position: relative;
    }

    .cateList.is_oddPc-1 .cateList__item:nth-last-child(3):after,
    .cateList.is_oddPc-2 .cateList__item:nth-last-child(2):after,
    .cateList.is_oddPc-2 .cateList__item:nth-last-child(3):after {
        content: "";
        display: block;
        width: 100%;
        height: 1px;
        background-color: #e4e5e3;
        position: absolute;
        bottom: -1px;
        left: 0;

    }
}

@media all and (max-width: 768px) {
    .cateList__item:not(:nth-child(even)) {
        border-right: 1px solid #e4e5e3;
    }

    .cateList__item:nth-child(n + 3) {
        border-top: 1px solid #e4e5e3;
    }

    .cateList.is_oddSp .cateList__item:nth-last-child(2) {
        position: relative;
    }

    .cateList.is_oddSp .cateList__item:nth-last-child(2):after {
        content: "";
        display: block;
        width: 100%;
        height: 1px;
        background-color: #e4e5e3;
        position: absolute;
        bottom: -1px;
        left: 0;

    }
}


/*! linkList
=======================================================*/
.linkList {
    background: #fff;
    padding: 0px 30px 10px 0px;
    display: flex;
    flex-wrap: wrap;
}

.linkList__inner {
    background-color: #fff;
    display: flex;
    flex-wrap: wrap;
}

.linkList__item {
    width: 25%;
    position: relative;
    padding-left: 15px;
    line-height: 1.2;
    margin-top: 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.linkList__item:before {
    content: "";
    position: absolute;
    top: 6px;
    left: 0;
    width: 6px;
    height: 6px;
    border-top: 2px solid #33bfdb;
    border-right: 2px solid #33bfdb;
    transform: rotate(45deg);
}

.linkList__item a {
    text-decoration: underline;
}

.linkList__item a:hover {
    text-decoration: none;
}

@media all and (max-width: 768px) {
    .linkList {
        padding: 0px 10px 10px;
    }

    .linkList__inner {
        display: block;
    }

    .linkList__item {
        width: 50%;
    }
}


/*! linkList02
=======================================================*/
.linkList02__item {
    display: inline-block;
    margin-bottom: 15px;
}

.linkList02__item:not(:last-child) {}

.linkList02__item:not(:last-child):after {
    content: "|";
    display: inline-block;
    padding: 0 1em;
    color: #ccc;
}

.linkList02__itemLink {
    color: #33bfdb;
}

.linkList02__itemLink:hover {
    text-decoration: underline;
    color: #33bfdb;
}


/*! bnrCv
=======================================================*/
.bnrCv {
    margin: 30px 0;
}

.bnrCv2 {
    margin: 30px 0;
}

.bnrCv3 {
    margin: 30px 0;
}

.advBnr1,
.advBnr2,
.advBnr3 {
    margin: 30px 0;
}

@media all and (max-width: 768px) {
    .bnrCv {
        margin: 0 10px;
    }

    .bnrCv2 {
        margin: 0 10px;
    }

    .bnrCv3 {
        margin: 0 10px;
    }

    .advBnr1,
    .advBnr2,
    .advBnr3 {
        margin: 0 10px;
    }

    .footer_sp .advBnr1,
    .footer_sp .advBnr2,
    .footer_sp .advBnr3 {
        margin: 0;
    }
}



/*! =========================================================================================

    FORM

==========================================================================================*/
/*! modForm01
=======================================================*/
.modForm01 .required {
    background: #D80000;
    padding: 2px 12px;
    border-radius: 4px;
    font-weight: bold;
    font-size: 1.2rem;
    color: #fff;
    position: absolute;
    right: 0;
    top: 20px;
}

.modForm01__unit {
    display: flex;
    border-bottom: 1px solid #d2d2d2;
}

.modForm01__title,
.modForm01__cont {
    padding: 20px;
}

.modForm01__title {
    width: 220px;
    color: #33bfdb;
    font-weight: bold;
    position: relative;
}

.modForm01__cont {
    flex: 1 1 0%;
    flex-wrap: wrap;
    padding-left: 40px;
}

.modForm01__contUnit {
    display: flex;
    align-items: center;
}

.modForm01__contUnit:nth-of-type(n + 2) {
    margin-left: 20px;
}

.modForm01__contText {
    margin: 0 5px;
    white-space: nowrap;
}

.modForm01__contBtn {
    white-space: nowrap;
    font-size: 1.3rem;
    border: none;
    background-color: #666;
    color: #fff;
    border-radius: 4px;
    padding: 5px 10px;
    margin-left: 10px;
}

.modForm01__cont.is_name {
    display: flex;
}

.modForm01__cont.is_name .modForm01__contUnit {
    flex: 1 1 0%;
}

.modForm01__cont.is_birth {
    display: flex;
}

.modForm01__cont.is_birth .modForm01__contUnit {
    width: auto;
}

.modForm01__cont.is_birth .modForm01__contUnit .birth_year__input {
    width: 120px;
}

.modForm01__cont.is_birth .modForm01__contUnit>input {
    width: 100px;
}

.modForm01__cont.is_gender .radio01 {
    display: inline-block;
}

.modForm01__cont.is_address .modForm01__contUnit:not(:last-of-type) {
    margin-bottom: 20px;
}

.modForm01__cont.is_address .modForm01__contText {
    margin: 0 10px 0 0;
}

.modForm01__cont.is_address .modForm01__contUnit:nth-of-type(1) .modForm01__contText:nth-of-type(2) {
    margin-left: 10px;
}

.modForm01__cont.is_address .modForm01__contUnit:nth-of-type(n + 2) {
    margin-left: 0;
}

.modForm01__cont.is_address .modForm01__contUnit:nth-of-type(n + 2) .modForm01__contText {
    width: 120px;
}

.modForm01__cont.is_address .modForm01__contUnit:nth-of-type(n + 2) input[type="text"] {
    flex: 1 1 0%;
}

.modForm01__cont input[type="text"],
.modForm01__cont input[type="email"],
.modForm01__cont input[type="password"],
.modForm01__cont input[type="tel"],
.modForm01__cont input[type="number"] {
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    outline: none;
    width: 100%;
    height: 50px;
    border: 2px solid #dcdcdc;
    border-radius: 4px;
    background: #fff;
}

.modForm01__cont input[name="telephone"] {
    width: 160px;
}

.modForm01__cont input[name="zip1"],
.modForm01__cont input[name="zip2"] {
    width: 6em;
}

.modForm01__cont textarea {
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none;
    outline: none;
    width: 100%;
    border: 2px solid #dcdcdc;
    border-radius: 4px;
    background: #fff;
    padding: 10px;
}

.modForm01__cont .select {
    position: relative;
    width: 190px;
}

.modForm01__cont .select:after {
    content: "";
    display: block;
    position: absolute;
    right: 10px;
    top: 45%;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 7px solid #111;
}

.modForm01__cont .select select {
    -webkit-appearance: none;
    appearance: none;
    outline: none;
    box-shadow: none;
    width: 100%;
    height: 50px;
    border: 2px solid #dcdcdc;
    border-radius: 4px;
    background: #fff;
    padding: 8px 24px 8px 8px;
}

.modForm01__btn {
    display: flex;
    justify-content: center;
    margin: 25px 0;
}

.modForm01__cont .error {
    width: 100%;
    margin-top: 10px;
    padding: 10px;
    background-color: #ffe5e5;
    color: #db0909;
}

@media screen and (min-width:769px) {
    .modForm01__cont.is_flex {
        display: flex;
    }

    .modForm01__cont.is_flex .radio01,
    .modForm01__cont.is_flex .checkbox01 {
        width: 50%;
    }
}

@media screen and (max-width:768px) {
    .modForm01 .required {
        padding: 2px 10px;
        font-size: 1.0rem;
        top: 20px;
    }

    .modForm01__unit {
        display: block;
    }

    .modForm01__title,
    .modForm01__cont {
        padding: 20px 0;
    }

    .modForm01__title {
        width: auto;
        padding-bottom: 10px;
    }

    .modForm01__cont {
        padding: 0 0 20px 10px;
    }

    .modForm01__cont input[type="text"],
    .modForm01__cont input[type="email"],
    .modForm01__cont input[type="password"],
    .modForm01__cont input[type="tel"],
    .modForm01__cont input[type="number"] {
        height: 40px;
        border: 1px solid #dcdcdc;
    }

    .modForm01__cont textarea {
        border: 1px solid #dcdcdc;
        padding: 10px;
    }

    .modForm01__cont .select {
        width: 190px;
    }

    .modForm01__cont .select:after {
        right: 10px;
        top: 45%;
    }

    .modForm01__cont .select select {
        height: 40px;
        border: 1px solid #dcdcdc;
        font-size: 16px;
        line-height: 40px;
        padding-top: 0;
        padding-bottom: 0;
    }

    .modForm01__btn {}

    .modForm01__contUnit:nth-of-type(n + 2) {
        margin-left: 0;
    }

    .modForm01__cont.is_birth .modForm01__contUnit .birth_year__input {
        width: 80px;
    }

    .modForm01__cont.is_birth .modForm01__contUnit>input {
        width: 60px;
    }
}


/*! fileアップロード
=======================================================*/
.file_upload .file_window {
    display: none;
    padding: 8px 16px;
    border-radius: 6px;
    margin-right: 10px;
    color: #000;
    background-color: #eeeeee;
    border: 1px solid #d6d6d6;
    color: #767676;
    box-shadow: 2px 0 2px rgba(0, 0, 0, 0.3);
}

.file_upload .file_window a {
    display: inline-block;
}

.file_upload .file_window a:first-child {
    min-width: 160px;
}

.file_upload .file_window a:last-child {
    margin-left: 20px;
    color: #000;
}

.file_upload .file_window a.fa:before {
    padding: 0;
}

.file_upload .btnsList {
    text-align: left;
    padding: 10px 0;
}

.file_upload .btnsList button.btn {
    display: inline-block;
    padding: 3px 8px;
    margin: 0 3px;
    font-size: 14px;
    width: auto;
}

.upload {
    width: 312px;
    height: 254px;
    margin-bottom: 5px;
    background-color: #eeeeee;
    border: 1px solid #bebebe;
    box-shadow: 1px 1px 1px #DADADA inset;
}

@media screen and (max-width: 768px) {
    .upload {
        width: 100%;
        height: auto;
    }

    .upload .imageBox {
        margin: 5px 3.5% 0 3.5% !important;
    }

    .upload .updateCtrl {
        margin: 5px 3.5% !important;
    }
}

.upload .imageBox {
    margin: 5px 0 0 5px;
    width: 300px;
    height: 202px;
    text-align: center;
    background-color: #ffffff;
    border: 1px solid #cccccc;
}

@media screen and (max-width: 768px) {
    .upload .imageBox {
        width: 93%;
        height: 30vw;
    }
}

.upload .updateCtrl {
    margin: 5px 0 0 5px;
    padding: 2px 0;
    width: 300px;
    text-align: left;
    background-color: #e0e0e0;
    border: 1px solid #cccccc;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .upload .updateCtrl {
        width: 93%;
        height: 65px;
    }
}

.upload .updateCtrl button {
    margin: 0;
    padding: 0.7em 1em;
    width: 108px;
    font-size: 0.9em;
    line-height: 1em;
    color: #6e6e6e;
    border: 1px solid #CCCCCC;
    box-sizing: content-box;
    cursor: pointer;
    background: #f2f2f2;
}

.upload .updateCtrl button:hover {
    opacity: 0.7;
}

.upload .updateCtrl button.opened {
    display: inline;
}

.upload .updateCtrl button.closed {
    display: none;
}

@media screen and (max-width: 768px) {
    .upload .updateCtrl button {
        width: 108px;
        box-sizing: border-box;
        width: calc(50% - 4px);
        padding: 0.7em 0.3em;
        font-size: 12px;
    }
}


/*! select01
=======================================================*/
.select01 {
    position: relative;
    width: 190px;
}

.select01:after {
    content: "";
    display: block;
    position: absolute;
    right: 10px;
    top: 45%;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 7px solid #111;
}

.select01 select {
    -webkit-appearance: none;
    appearance: none;
    outline: none;
    box-shadow: none;
    width: 100%;
    height: 50px;
    border: 2px solid #dcdcdc;
    border-radius: 4px;
    background: #fff;
    padding: 8px 24px 8px 8px;
}



/*! checkbox01
=======================================================*/
.checkbox01 {
    margin-bottom: 10px;
}

.checkbox01 input[type="checkbox"] {
    display: none;
}

.checkbox01 input[type="checkbox"]+label {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-right: 15px;
    line-height: 1.3;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.checkbox01 input[type="checkbox"]+label:before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    border: 1px solid #a9a9a9;
    position: absolute;
    left: 0;
    top: 0;
    opacity: .6;
    -webkit-transition: all .12s, border-color .08s;
    transition: all .12s, border-color .08s;
}

.checkbox01 input[type="checkbox"]:checked+label {
    color: #33bfdb;
}

.checkbox01 input[type="checkbox"]:checked+label:before {
    width: 10px;
    top: -5px;
    left: 5px;
    border-radius: 0;
    opacity: 1;
    border-color: #33bfdb;
    border-top-color: transparent;
    border-left-color: transparent;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}


/*! radio01
=======================================================*/
.radio01 {
    margin-bottom: 10px;
}

.radio01 input[type="radio"] {
    display: none;
}

.radio01 input[type="radio"]+label {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-right: 15px;
    line-height: 1.3;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.radio01 input[type="radio"]+label:before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    border: 1px solid #a9a9a9;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 0;
    opacity: .6;
    -webkit-transition: all .12s, border-color .08s;
    transition: all .12s, border-color .08s;
}

.radio01 input[type="radio"]:checked+label {
    color: #33bfdb;
}

.radio01 input[type="radio"]:checked+label:before {
    width: 10px;
    top: -5px;
    left: 5px;
    border-radius: 0;
    opacity: 1;
    border-color: #33bfdb;
    border-top-color: transparent;
    border-left-color: transparent;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.options {
    position: absolute;
    top: 70px;
    left: 0;
    background-color: #fff;
    border: 2px solid #dbdbdb;
    box-shadow: 2px 6px 6px rgba(0, 0, 0, 0.3);
    padding: 20px;
    z-index: 100;
    white-space: nowrap;
}

.options.optionsPref {
    width: 860px;
    padding-bottom: 10px;
}

.options__header,
.options__footer {
    display: none;
}

.options__block:not(:last-of-type) {
    margin-bottom: 20px;
}

.options__listItem:last-child .checkbox01 {
    margin-bottom: 0;
}

.options.optionsPref .options__list {
    display: flex;
    flex-wrap: wrap;
}

.options.optionsPref .options__listItem {
    width: calc(100% / 8);
}

.options .checkbox01 input[type="checkbox"]+label {
    font-size: 1.4rem;
    padding-left: 25px;
}

.options .checkbox01 input[type="checkbox"]+label:before {
    width: 14px;
    height: 14px;
}

.options .checkbox01 input[type="checkbox"]:checked+label:before {
    width: 7px;
    top: -2px;
    left: 2px;
}

@media screen and (max-width:768px) {
    .options {
        position: fixed;
        top: 1vh;
        left: 50%;
        transform: translateX(-50%);
        background-color: #fff;
        border: 1px solid #dbdbdb;
        box-shadow: 2px 6px 6px rgba(0, 0, 0, 0.3);
        padding: 0 0 50px;
        z-index: 100;
        width: 94vw;
        height: 84vh;
        z-index: 9999;
    }

    .options__inner {
        overflow-y: scroll;
        height: calc(84vh - (40px + 60px));
        padding: 15px;
        background-color: #fff;
    }

    .options__header {
        display: block;
        width: 100%;
        height: 40px;
        background-color: #33bfdb;
        position: relative;
    }

    .options__title {
        color: #fff;
        font-size: 1.6rem;
        font-weight: bold;
        text-align: center;
        line-height: 40px;
    }

    .options__headerClose {
        position: absolute;
        border: none;
        background: none;
        padding: 0;
        text-indent: -9999px;
        width: 40px;
        height: 40px;
        top: 0;
        right: 0;
    }

    .options__headerClose:before,
    .options__headerClose:after {
        content: "";
        display: inline-block;
        width: 30px;
        height: 2px;
        background-color: #fff;
        position: absolute;
        top: 50%;
        left: 5px;
    }

    .options__headerClose:before {
        transform: rotate(135deg);
    }

    .options__headerClose:after {
        transform: rotate(-135deg);
    }

    .options.optionsPref {
        width: 94vw;
    }

    .options.optionsPref .options__listItem {
        width: calc(100% / 3);
    }

    .options__footer {
        background-color: #ddd;
        width: 100%;
        height: 60px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .options__footerClose {
        display: block;
        border: none;
        width: 80%;
        height: 40px;
        margin: 0 auto;
        font-size: 1.6rem;
        text-align: center;
        background-color: #fdc44f;
        color: #fff;
        position: relative;
        cursor: pointer;
        font-weight: bold;
    }
}

@media screen and (max-width: 320px) {
    .options .checkbox01 input[type="checkbox"]+label {
        font-size: 1.2rem;
        padding-left: 20px;
    }
}

#side .options {
    width: 280px;
    left: -290px;
    top: 0;
}

#side .options.optionsPref {
    width: 430px;
    left: -440px;
}

#side .options.optionsPref .options__listItem {
    width: calc(100% / 4);
}

.options.js-options {
    display: none;
}

.options.js-options.is_view {
    display: block;
}


/*! .error_section
=======================================================*/
.error_section {
    padding: 40px;
    margin-bottom: 50px;
    background-color: #fff;
    border: 1px solid #dcdcdc;
    text-align: center;
}

.error_sectionInner {
    display: inline-block;
}

.error_section p {
    line-height: 1.8;
    font-size: 140%;
    font-weight: bold;
    text-align: left;
}

@media screen and (max-width: 768px) {
    .error_section {
        padding: 15px;
        margin: 0 10px 20px;
    }

    .error_section p {
        line-height: 1.6;
        font-size: 100%;
    }

}


/*! form_type1
=======================================================*/
.form_type1 {
    width: 100%;
    font-size: 14px;
}

.form_type1 th {
    border-bottom: 1px solid #d2d2d2;
    padding: 20px 65px 20px 20px;
    text-align: left;
    vertical-align: top;
    color: #33bfdb;
    font-weight: bold;
    width: 220px;
    box-sizing: border-box;
    position: relative;
}

.form_type1 th .required {
    background: #D80000;
    padding: 2px 12px;
    border-radius: 4px;
    font-weight: bold;
    font-size: 88%;
    color: #fff;
    margin-right: 10px;
    position: absolute;
    right: 0;
    top: 20px;
}

.form_type1 th .elective {
    background: #8dcf3f;
    padding: 2px 12px;
    border-radius: 4px;
    font-weight: bold;
    font-size: 88%;
    color: #fff;
    margin-right: 10px;
    position: absolute;
    right: 0;
    top: 20px;
}

.form_type1 td {
    border-bottom: 1px solid #d2d2d2;
    padding: 20px;
}

.form_type1 .error {
    width: 100%;
}

.form_type1 td.td_txt2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.form_type1 td.td_txt2 span {
    width: 50%;
}

.form_type1 td.td_txt2 span input {
    width: calc(100% - 2em);
}

.form_type1 td dl {
    display: table;
    margin-bottom: 10px;
}

.form_type1 td dl dt {
    display: table-cell;
    vertical-align: middle;
    padding-right: 30px;
}

.form_type1 td dl dd {
    display: table-cell;
    vertical-align: middle;
}

.form_type1 .select {
    position: relative;
}

.form_type1 .select:after {
    content: "";
    display: block;
    position: absolute;
    right: 10px;
    top: 45%;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 7px solid #111;
}

.form_type1 select {
    width: 190px;
    height: 50px;
    border: 2px solid #dcdcdc;
    border-radius: 4px;
    box-sizing: border-box;
    background: #fff;
    outline: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    padding: 8px 24px 8px 8px;
}

.form_type1 input[type="text"],
.form_type1 input[type="email"],
.form_type1 input[type="password"] {
    width: 100%;
    height: 50px;
    border: 2px solid #dcdcdc;
    border-radius: 4px;
    box-sizing: border-box;
    background: #fff;
    outline: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}

.form_type1 label {
    white-space: nowrap;
}

.form_type1 input.s_txt {
    width: 60%;
}

.form_type1 input.ss_txt {
    width: 120px;
}

.form_type1 textarea {
    width: 100%;
    border: 2px solid #dcdcdc;
    border-radius: 4px;
    box-sizing: border-box;
    background: #fff;
    padding: 10px;
    outline: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}

.form_type1 input[type="file"] {
    display: none;
}

.form_type1 .example {
    margin-top: 5px;
    font-size: 12px;
    color: #a9a9a9;
}

.form_type1 .caption {
    margin-top: 5px;
    font-size: 12px;
    line-height: 1.6;
    color: #a9a9a9;
}

.form_type1 .zipcol {
    position: relative;
    margin-bottom: 35px;
}

.form_type1 .zipcol .zip_example1 {
    position: absolute;
    left: 2em;
    bottom: -22px;
}

.form_type1 .zipcol .zip_example2 {
    position: absolute;
    left: calc(120px + 4em);
    bottom: -22px;
}

.form_type1 .file_drag_box {
    padding: 40px 0;
    background: #f5f5f5;
    text-align: center;
    font-size: 14px;
    color: #a9a9a9;
    margin: 10px 0;
    border: 1px solid #dcdcdc;
}

.file_upload_contain {
    font-size: 14px;
}

.form_type1 .delete-button {
    font-size: 11px;
    margin-top: 6px;
}

.form_type1 .delete-button:hover,
.form_type1 .trashBtn:hover {
    opacity: 0.6;
    transition: all 0.2s ease;
}

.form_type1 .fileBtn {
    -webkit-appearance: none;
    appearance: none;
    display: inline-block;
    border: 2px solid #33bfdb;
    color: #33bfdb;
    padding: 7px 20px 7px 35px;
    margin: 5px 0;
    border-radius: calc(0.75em + 9px);
    position: relative;
    cursor: pointer;
    background: #fff;
    font-size: 16px;
}

.form_type1 .fileBtn:before,
.form_type1 .fileBtn:after {
    position: absolute;
    top: calc(50% - 1px);
    left: 23px;
    content: '';
    box-sizing: content-box;
    display: inline-block;
    width: 13px;
    height: 13px;
    border-top: 2px solid #33bfdb;
    transform: translateX(-50%);
}

.form_type1 .fileBtn:after {
    top: calc(50% - 7px);
    left: 10px;
    transform: rotate(90deg);
}

.form_type1 .fileBtn:hover {
    opacity: 0.6;
    transition: all 0.2s ease;
}

.form_type1 #showPassword,
.form_type1 #showPasswordConf {
    -moz-appearance: none;
    -webkit-appearance: none;
    display: block;
    margin-top: -40px;
    margin-bottom: 20px;
    margin-right: 0;
    margin-left: auto;
    padding: 0 10px;
}

.form_type1 .withShowBtn {
    padding: 8px 40px 8px 8px;
}

.form_type1 .noteText {
    font-size: 12px;
}

.form_type1 p {
    line-height: 1.6;
}

.privacy_check {
    text-align: center;
    margin-top: 30px;
}

.privacy_check a {
    text-decoration: underline;
}

.privacy_check .required {
    display: inline-block;
    background: #8dcf3f;
    padding: 2px 12px;
    border-radius: 4px;
    font-weight: bold;
    font-size: 88%;
    color: #fff;
    margin-left: 20px;
}

@media screen and (max-width:768px) {
    .form_type1 th {
        display: block;
        border-bottom: none;
        padding: 10px 10px 0 10px;
        width: 100%;
        font-size: 115%;
    }

    .form_type1 th .elective,
    .form_type1 th .required {
        position: absolute;
        top: 10px;
        font-size: 12px;
        padding: 2px 8px;
    }

    .form_type1 td {
        display: block;
        border-bottom: 1px solid #d2d2d2;
        padding: 10px;
    }

    .form_type1 input[type="text"],
    .form_type1 input[type="email"],
    .form_type1 input[type="password"] {
        height: 50px;
    }

    .form_type1 input.s_txt {
        width: 100%;
    }

    .form_type1 input.ss_txt {
        width: 100px;
    }

    .form_type1 .spblk {
        display: block;
        margin-bottom: 10px;
    }

    .form_type1 .checkList label {
        display: block;
        margin-bottom: 10px;
    }

    .form_type1 .zipcol {
        margin-bottom: 10px;
    }

    .form_type1 .zipcol>button {
        display: block;
        margin-top: 2em;
    }

    .form_type1 .zipcol .zip_example1 {
        position: absolute;
        left: 2em;
        top: 50px;
        bottom: auto;
    }

    .form_type1 .zipcol .zip_example2 {
        position: absolute;
        left: calc(100px + 4em);
        top: 50px;
        bottom: auto;
    }

    .form_type1 .uploadBtn,
    .form_type1 .fileBtn {
        font-size: 16px;
    }

    .form_type1 .file_drag_box {
        display: none;
    }

    .upload {
        max-width: 312px;
    }

    .upload .updateCtrl {
        height: auto !important;
    }

    .widthFileName {
        max-width: calc(100% - 48px);
    }
}


/*! =========================================================================================

    PAGER

==========================================================================================*/
/*! pager01
=======================================================*/
.pager01 {
    margin-top: 60px;
}

.pager01__inner {
    display: flex;
    justify-content: center;
}

.pager01__item {
    margin: 0 2px;
}

.pager01__item a {
    display: block;
    border: #dcdcdc 1px solid;
    min-width: 34px;
    height: 38px;
    line-height: 38px;
    padding: 0 2px;
    text-align: center;
    color: #7e7e7e;
    background-color: #fff;
}

.pager01__item.prev a {
    margin-right: 3px;
    position: relative;
    min-width: 28px;
}

.pager01__item.next a {
    margin-left: 3px;
    position: relative;
    min-width: 28px;
}

.pager01__item.prev a:after,
.pager01__item.next a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 6px;
    height: 6px;
    border-top: 2px solid #7e7e7e;
    border-right: 2px solid #7e7e7e;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.pager01__item.prev a:hover:after,
.pager01__item.next a:hover:after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

.pager01__item.prev a:after {
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
}

.pager01__item.current a,
.pager01__item a:hover {
    background: #7e7e7e;
    border: #7e7e7e 1px solid;
    color: #fff;
}

.pager01__item.current a {
    cursor: default;
}

.pager01__text {
    margin: 10px 0 20px;
    text-align: center;
    font-size: 1.4rem;
    color: #7e7e7e;
    line-height: 1.4;
}

.pager01__text span {
    display: inline-block;
}

@media screen and (max-width:768px) {
    .pager01 {
        margin-top: 25px;
    }

    .pager01__item {
        margin-top: 5px;
    }

    .pager01__item a {
        height: 30px;
        line-height: 30px;
        font-size: 1.2rem;
        min-width: 32px
    }

    .pager01__item.prev a {
        margin-right: 2px;
        min-width: 22px;
    }

    .pager01__item.next a {
        margin-left: 2px;
        min-width: 22px;
    }

    .pager01__text {
        font-size: 1.2rem;
    }
}



/*! =========================================================================================

    PARTS

==========================================================================================*/
/*! listHeader
=======================================================*/
.listHeader {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

@media screen and (max-width:768px) {
    .listHeader {
        padding: 0 10px;
        display: block;
        margin: 0 auto 10px;
    }
}

.listHeader .pager01 {
    margin-top: 0;
    display: flex;
    align-items: center;
}

.listHeader .pager01__text {
    margin: 0 5px 0;
    text-align: left;
}

@media screen and (max-width:768px) {
    .listHeader .pager01 {
        margin: 0 0 20px;
        display: block;
    }

    .listHeader .pager01__text {
        margin: 10px 0 0;
    }

    .listHeader .pager01__item {
        margin-top: 5px;
    }

    .listHeader .sort {
        margin-top: 10px
    }
}


/*! sort
=======================================================*/
.sort {
    text-align: right;
    position: relative;
}

.sort select {
    width: 180px;
    height: 40px;
    border: 2px solid #dcdcdc;
    border-radius: 4px;
    box-sizing: border-box;
    background: #fff;
    outline: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    padding: 3px 24px 3px 8px;
    font-size: 1.4rem;
    cursor: pointer;
}

.sort:after {
    content: "";
    display: block;
    position: absolute;
    right: 10px;
    top: 45%;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 7px solid #111;
}

.sort select::-ms-expand {
    display: none;
}

@media screen and (max-width:768px) {
    .sort select {
        border: 1px solid #dcdcdc;
        font-size: 1.4rem;
        transform: scale(0.8);
        margin-right: -18px;
    }
}


/*! modBox01
=======================================================*/
.modBox01 {
    background: #fff;
    border-top: 3px solid #33bfdb;
    padding: 20px 30px 30px;
    width: 100%;
}

@media screen and (max-width:768px) {
    .modBox01 {
        width: auto;
        margin: 10px;
        padding: 10px 10px 10px;
    }
}


/*! modBox02
=======================================================*/
.modBox02 {
    background: #fff;
    padding: 30px;
}

.modBox02__block {
    margin-bottom: 20px;
}

.modBox02__btn {
    text-align: center;
}

@media screen and (max-width:768px) {
    .modBox02 {
        padding: 10px;
    }

    .modBox02__btn {
        margin-bottom: 15px;
    }
}


/*! modSec
=======================================================*/
@media screen and (max-width:768px) {
    .modSec {
        margin: 0 10px;
    }
}


/*! block01
=======================================================*/
.block01 {
    margin: 0 0 30px;
    background-color: #fff;
    border-top: 3px solid #33bfdb;
}

.block01__title {
    border-bottom: 1px solid #dcdcdc;
    font-size: 2.0rem;
    font-weight: bold;
    padding: 20px 30px 15px;
    margin-bottom: 20px;
}

.block01__title span {
    font-size: 2.8rem;
    color: #33bfdb;
    font-weight: bold;
    padding-right: 8px;
}

@media screen and (max-width:768px) {
    .block01 {
        margin-left: 10px;
        margin-right: 10px;
        margin-bottom: 20px;
    }

    .block01__title {
        font-size: 1.4rem;
        padding: 15px 10px 10px;
    }

    .block01__title span {
        font-size: 1.8rem;
    }
}


/*! searchPref
=======================================================*/
.searchPref {
    padding-bottom: 36px;
    background-color: #fff;
    position: relative;
    z-index: 1;
}

.searchPref__map {
    position: absolute;
    bottom: 30px;
    right: 30px;
    z-index: -1;
    width: 248px;
    height: 256px;
    fill: #eaf6fc;
}

.searchPref__list {
    margin-left: 30px;
}

.searchPref table th {
    font-weight: bold;
    padding: 0 20px 20px 0;
    text-align: left;
}

.searchPref table td ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.searchPref table td ul li {
    border-right: 1px solid #c1c1c1;
}

.searchPref table td ul li:last-child {
    border-right: none;
}

.searchPref table td ul li a {
    color: #014ea5;
    padding: 0 8px;
}

@media screen and (max-width:768px) {
    .searchPref table th {
        display: block;
        padding: 0 0 5px 0;
    }

    .searchPref table td {
        display: block;
        padding: 0 0 10px 0;
    }

    .searchPref table td ul {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .searchPref table td ul li {
        padding: 5px 0;
    }
}


/*! searchCate
=======================================================*/
.searchCate {
    padding: 0;
}

.searchCate .block01__title {
    margin-bottom: 0;
}


/*! prefBox
=======================================================*/
.prefBox {
    background-color: #fff8df;
    padding: 20px 20px 20px;
    margin-bottom: 30px;
}

.prefBox__title {
    margin-bottom: 15px;
    font-size: 2.0rem;
    font-weight: bold;
}

.prefBox__title:before {
    font-family: "Font Awesome 5 Free";
    content: '\f3c5';
    font-weight: 900;
    color: #ff6f6f;
    padding-right: 0.5em;
}

.prefBox__list {
    display: flex;
}

.prefBox__listUnit {
    flex: 1 1 0%;
}

.prefBox__listUnit:not(:last-child) {
    margin-right: 10px;
}

.prefBox__listTitle {
    padding: 4px;
    background-color: #ff6f6f;
    border-radius: 4px;
    font-size: 1.3rem;
    text-align: center;
}


/*! form_type1
=======================================================*/
.form_type1 {
    width: 100%;
    font-size: 14px;
}

.form_type1 th {
    border-bottom: 1px solid #d2d2d2;
    padding: 20px 65px 20px 20px;
    text-align: left;
    vertical-align: top;
    color: #33bfdb;
    font-weight: bold;
    width: 220px;
    box-sizing: border-box;
    position: relative;
}

.form_type1 th .required {
    background: #D80000;
    padding: 2px 12px;
    border-radius: 4px;
    font-weight: bold;
    font-size: 88%;
    color: #fff;
    margin-right: 10px;
    position: absolute;
    right: 0;
    top: 20px;
}

.form_type1 th .elective {
    background: #8dcf3f;
    padding: 2px 12px;
    border-radius: 4px;
    font-weight: bold;
    font-size: 88%;
    color: #fff;
    margin-right: 10px;
    position: absolute;
    right: 0;
    top: 20px;
}

.form_type1 td {
    border-bottom: 1px solid #d2d2d2;
    padding: 20px;
}

.form_type1 .error {
    width: 100%;
}

.form_type1 td.td_txt2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.form_type1 td.td_txt2 span {
    width: 50%;
}

.form_type1 td.td_txt2 span input {
    width: calc(100% - 2em);
}

.form_type1 td dl {
    display: table;
    margin-bottom: 10px;
}

.form_type1 td dl dt {
    display: table-cell;
    vertical-align: middle;
    padding-right: 30px;
}

.form_type1 td dl dd {
    display: table-cell;
    vertical-align: middle;
}

.form_type1 .select {
    position: relative;
}

.form_type1 .select:after {
    content: "";
    display: block;
    position: absolute;
    right: 10px;
    top: 45%;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 7px solid #111;
}

.form_type1 select {
    width: 190px;
    height: 50px;
    border: 2px solid #dcdcdc;
    border-radius: 4px;
    box-sizing: border-box;
    background: #fff;
    outline: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    padding: 8px 24px 8px 8px;
}

.form_type1 input[type="text"],
.form_type1 input[type="email"],
.form_type1 input[type="password"] {
    width: 100%;
    height: 50px;
    border: 2px solid #dcdcdc;
    border-radius: 4px;
    box-sizing: border-box;
    background: #fff;
    outline: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}

.form_type1 label {
    white-space: nowrap;
}

.form_type1 input.s_txt {
    width: 60%;
}

.form_type1 input.ss_txt {
    width: 120px;
}

.form_type1 textarea {
    width: 100%;
    border: 2px solid #dcdcdc;
    border-radius: 4px;
    box-sizing: border-box;
    background: #fff;
    padding: 10px;
    outline: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}

.form_type1 input[type="file"] {
    display: none;
}

.form_type1 .example {
    margin-top: 5px;
    font-size: 12px;
    color: #a9a9a9;
}

.form_type1 .caption {
    margin-top: 5px;
    font-size: 12px;
    line-height: 1.6;
    color: #a9a9a9;
}

.form_type1 .zipcol {
    position: relative;
    margin-bottom: 35px;
}

.form_type1 .zipcol .zip_example1 {
    position: absolute;
    left: 2em;
    bottom: -22px;
}

.form_type1 .zipcol .zip_example2 {
    position: absolute;
    left: calc(120px + 4em);
    bottom: -22px;
}

.form_type1 .file_drag_box {
    padding: 40px 0;
    background: #f5f5f5;
    text-align: center;
    font-size: 14px;
    color: #a9a9a9;
    margin: 10px 0;
    border: 1px solid #dcdcdc;
}

.file_upload_contain {
    font-size: 14px;
}

.form_type1 .delete-button {
    font-size: 11px;
    margin-top: 6px;
}

.form_type1 .delete-button:hover,
.form_type1 .trashBtn:hover {
    opacity: 0.6;
    transition: all 0.2s ease;
}

.form_type1 .fileBtn {
    -webkit-appearance: none;
    appearance: none;
    display: inline-block;
    border: 2px solid #33bfdb;
    color: #33bfdb;
    padding: 7px 20px 7px 35px;
    margin: 5px 0;
    border-radius: calc(0.75em + 9px);
    position: relative;
    cursor: pointer;
    background: #fff;
    font-size: 16px;
}

.form_type1 .fileBtn:before,
.form_type1 .fileBtn:after {
    position: absolute;
    top: calc(50% - 1px);
    left: 23px;
    content: '';
    box-sizing: content-box;
    display: inline-block;
    width: 13px;
    height: 13px;
    border-top: 2px solid #33bfdb;
    transform: translateX(-50%);
}

.form_type1 .fileBtn:after {
    top: calc(50% - 7px);
    left: 10px;
    transform: rotate(90deg);
}

.form_type1 .fileBtn:hover {
    opacity: 0.6;
    transition: all 0.2s ease;
}

.form_type1 #showPassword,
.form_type1 #showPasswordConf {
    -moz-appearance: none;
    -webkit-appearance: none;
    display: block;
    margin-top: -40px;
    margin-bottom: 20px;
    margin-right: 0;
    margin-left: auto;
    padding: 0 10px;
}

.form_type1 .withShowBtn {
    padding: 8px 40px 8px 8px;
}

.form_type1 .noteText {
    font-size: 12px;
}

.form_type1 p {
    line-height: 1.6;
}

.privacy_check {
    text-align: center;
    margin-top: 30px;
}

.privacy_check a {
    text-decoration: underline;
}

.privacy_check .required {
    display: inline-block;
    background: #8dcf3f;
    padding: 2px 12px;
    border-radius: 4px;
    font-weight: bold;
    font-size: 88%;
    color: #fff;
    margin-left: 20px;
}

@media screen and (max-width:768px) {
    .form_type1 th {
        display: block;
        border-bottom: none;
        padding: 10px 10px 0 10px;
        width: 100%;
        font-size: 115%;
    }

    .form_type1 th .elective,
    .form_type1 th .required {
        position: absolute;
        top: 10px;
        font-size: 12px;
        padding: 2px 8px;
    }

    .form_type1 td {
        display: block;
        border-bottom: 1px solid #d2d2d2;
        padding: 10px;
    }

    .form_type1 input[type="text"],
    .form_type1 input[type="email"],
    .form_type1 input[type="password"] {
        height: 50px;
    }

    .form_type1 input.s_txt {
        width: 100%;
    }

    .form_type1 input.ss_txt {
        width: 100px;
    }

    .form_type1 .spblk {
        display: block;
        margin-bottom: 10px;
    }

    .form_type1 .checkList label {
        display: block;
        margin-bottom: 10px;
    }

    .form_type1 .zipcol {
        margin-bottom: 10px;
    }

    .form_type1 .zipcol>button {
        display: block;
        margin-top: 2em;
    }

    .form_type1 .zipcol .zip_example1 {
        position: absolute;
        left: 2em;
        top: 50px;
        bottom: auto;
    }

    .form_type1 .zipcol .zip_example2 {
        position: absolute;
        left: calc(100px + 4em);
        top: 50px;
        bottom: auto;
    }

    .form_type1 .uploadBtn,
    .form_type1 .fileBtn {
        font-size: 16px;
    }

    .form_type1 .file_drag_box {
        display: none;
    }

    .upload {
        max-width: 312px;
    }

    .upload .updateCtrl {
        height: auto !important;
    }

    .widthFileName {
        max-width: calc(100% - 48px);
    }
}


/*! linkList
=======================================================*/
.prefBox__listItem {
    margin-top: 5px;
}

.prefBox__listItem:first-child {
    margin-top: 10px;
}

.prefBox__listItem a {
    display: block;
    padding: 4px;
    background-color: #fff;
    border-radius: 4px;
    font-size: 1.3rem;
    text-align: center;
    border: 1px #dcdcdc solid;
}

.prefBox__listItem a:hover {
    opacity: 1;
    background-color: #ff6f6f;
    color: #fff;
}

@media screen and (max-width: 768px) {
    .prefBox {
        display: none;
    }
}

.remote__searchBtn {
    display: block;
    background-color: #fff;
    border: 1px #dcdcdc solid;
    padding: 10px 20px;
    margin: 20px 0;
    border-radius: 5px;
    font-size: 1.5rem;
    text-align: center;
}

.remote__searchBtn:hover {
    opacity: 1;
    background-color: #33bfdb;
    color: #fff;
}

.remote__searchBtn__sp {
    display: block;
    background-color: #fff;
    border: 1px solid #e4e5e3;
    padding: 15px 8px;
    border-radius: 4px;
    position: relative;
    font-size: 1.6rem;
}

.remote__searchBtn__sp:nth-child(even) {
    margin-left: 10px;
}

.remote__searchBtn__sp:after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 1px solid #ff6f6f;
    border-right: 1px solid #ff6f6f;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -4px;
}


/*! searchBox
=======================================================*/
.searchBox {
    background-color: #fff8df;
    padding: 20px 20px 20px;
    margin-bottom: 30px;
}

.searchBox__title {
    margin-bottom: 15px;
    font-size: 2.0rem;
    font-weight: bold;
}

.searchBox__title:before {
    font-family: "Font Awesome 5 Free";
    content: '\f00e';
    font-weight: 900;
    color: #ff6f6f;
    padding-right: 0.5em;
}

.searchForm__unit {
    display: flex;
    background-color: #fff;
    border-top: 1px solid #dcdcdc;
}

.searchForm__title,
.searchForm__cont {
    padding: 20px;
}

.searchForm__title {
    width: 200px;
    border-right: 1px solid #dcdcdc;
    background-color: #f4f4f4;
    font-weight: bold;
}

.searchForm__title span {
    display: inline-block;
    font-size: 80%;
}

.searchForm__title .complex_search_item {
    font-size: 14px;
}

.searchForm__cont {
    flex: 1 1 0%;
}

.searchForm__cont.is_location {
    display: flex;
}

.searchForm__cont.is_location .select01:nth-of-type(n + 2) {
    margin-left: 20px;
}

.searchForm__cont.is_jobtype,
.searchForm__cont.is_employment {
    display: flex;
    flex-wrap: wrap;
}

.searchForm__cont.is_jobtype .checkbox01,
.searchForm__cont.is_employment .checkbox01 {
    width: 50%;
}

.searchForm__cont.is_income {
    display: flex;
}

.searchForm__cont.is_income .select01:nth-of-type(n + 2) {
    margin-left: 20px;
}

.searchForm__cont input[type="text"] {
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    outline: none;
    width: 100%;
    height: 50px;
    border: 2px solid #dcdcdc;
    border-radius: 4px;
    background: #fff;
}

.searchForm__category__title {
    background-color: #dcdcdc;
    padding: 5px 10px;
    margin-top: 16px;
    font-size: 1.3em;
    font-weight: bold;
}

.searchForm__category__back {
    color: #ff6f6f;
}

.searchForm__category__title {
    position: relative;
}

.searchForm__category__title:after {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 7px 0 7px;
    border-color: #595150 transparent transparent transparent;
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -6px;
}

.searchForm__category__title.is-open:after {
    border-width: 0 7px 12px 7px;
    border-color: transparent transparent #595150 transparent;
}

.searchForm__btn {
    text-align: center;
    margin: 30px 0 35px;
}

.searchForm__btnSubmit {
    border: none;
    outline: none;
    display: inline-block;
    border-radius: 4px;
    background: #fdc44f;
    box-shadow: 0px 5px 0 #f7b42c;
    height: 60px;
    line-height: 60px;
    margin: 0 auto;
    text-align: center;
    transition: 0.1s;
    padding: 0 30px;
    color: #fff;
}

.searchForm__btnSubmit:hover {
    transform: translate3d(0, 5px, 0);
    box-shadow: none;
    text-decoration: none;
}

.searchForm__btnSubmit span:not(.num) {
    display: inline-block;
    font-size: 1.6rem;
    font-weight: bold;
}

.searchForm__btnSubmit span.num {
    font-size: 3.0rem;
}

.searchForm__btnSubmit:disabled {
    background: #dcdcdc;
    box-shadow: 0px 5px 0 #cbcbcb;
}

@media screen and (max-width: 768px) {
    .searchForm__unit {
        display: block;
    }

    .searchForm__title {
        width: auto;
        border-right: none;
    }

    .searchBox {
        padding: 20px 10px;
    }

    .searchForm__title,
    .searchForm__cont {
        padding: 10px;
    }

    .searchForm__btnSubmit {
        white-space: nowrap;
    }

    .searchForm__btnSubmit span:not(.num) {
        font-size: calc(100vw / 750 * 30);
        padding: 0 !important;
    }

    .searchForm__btnSubmit span.num {
        font-size: calc(100vw / 750 * 40);
    }

    .box .searchBox {
        padding-top: 40px;
    }
}


/*! latestInfo
=======================================================*/
.latestInfo {
    display: inline-block;
    background-color: #fff5f5;
    padding: 25px 20px 20px;
    margin-left: 20px;
    border-radius: 6px;
}

.latestInfo__date {
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid #ff6f6f;
    font-size: 1.4rem;
    text-align: center;
}

.latestInfo__cont {
    text-align: center;
}

.latestInfo__contTitle {
    font-size: 2.0rem;
    font-weight: bold;
}

.latestInfo__contCont {
    font-size: 2.0rem;
    font-weight: bold;
    line-height: 1.2;
}

.latestInfo__contCont span {
    display: inline-block;
    padding-right: 5px;
    font-size: 4.0rem;
    color: #ff6f6f;
}

@media screen and (max-width: 768px) {
    .latestInfo {
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #fff5f5;
        padding: 5px;
        margin: 10px 0 0;
        border-radius: 6px;
    }

    .latestInfo__date {
        border: none;
        padding: 0;
        margin: 0 10px 0 0;
        font-size: 1.0rem;
        text-align: center;
    }

    .latestInfo__cont {
        text-align: center;
        border-left: 1px dotted #ff6f6f;
        padding-left: 10px;
    }

    .latestInfo__contTitle {
        font-size: 1.1rem;
        font-weight: bold;

    }

    .latestInfo__contCont {
        font-size: 1.4rem;
        font-weight: bold;
        line-height: 1.2;
    }

    .latestInfo__contCont span {
        display: inline-block;
        padding-right: 5px;
        font-size: 1.4rem;
        color: #ff6f6f;
    }
}


/*! lightbox
=======================================================*/
#LightboxBox .lightboxClose a {
    right: 6%;
}

@media screen and (max-width: 768px) {
    #LightboxBox {
        margin-top: 0;
        height: 80vh;
        top: 10vh;
        width: 88%;
        margin: 0 auto;
        left: 0;
        right: 0;
        overflow: visible;
    }

    .lightboxClose a {
        background: unset !important;
        border-radius: unset !important;
    }

    .lightboxImg {
        max-width: 80%;
        margin: 0 auto;
        margin-top: 30px;
        text-align: center;
    }

    #LightboxBox .lightboxClose a {
        right: 0;
    }

    .lightboxImg {
        max-width: 90%;
    }

    .lightboxBtn {
        max-width: unset;
    }
}


/*! tagBox
=======================================================*/
.tagBox {
    background-color: #fff;
    padding: 20px 20px 10px;
    margin-bottom: 30px;
}

.tagBox__title {
    margin-bottom: 15px;
    font-size: 2.0rem;
    font-weight: bold;
}

.tagBox__title:before {
    font-family: "Font Awesome 5 Free";
    content: '\f02c';
    font-weight: 900;
    color: #ff6f6f;
    padding-right: 0.5em;
}

.tagBox__list {
    font-size: 0;
}

.tagBox__listItem {
    display: inline-block;
    margin: 0 5px 10px 0;
}

.tagBox__listItem a {
    display: block;
    padding: 4px 10px;
    background-color: #fff;
    border-radius: 4px;
    font-size: 1.3rem;
    text-align: center;
    border: 1px #dcdcdc solid;
    line-height: 1.6;
}

.tagBox__listItem a:hover {
    opacity: 1;
    background-color: #ff6f6f;
    color: #fff;
}

@media screen and (max-width: 768px) {
    .tagBox {
        padding: 20px 20px 15px;
        margin-bottom: 20px;
    }

    .tagBox__listItem {
        margin: 0 5px 5px 0;
    }
}


/*! confirm_type1
=======================================================*/
.confirm_type1 .blk {
    margin: 0 20px 30px;
}

.confirm_type1 .blk span {
    display: block;
    color: #33bfdb;
    font-weight: bold;
    margin-bottom: 5px;
}

@media screen and (max-width:768px) {
    .confirm_type1 .blk {
        margin: 0 0 30px;
    }

    .confirm_type1 .blk span {
        font-size: 115%;
    }
}



/*! =========================================================================================

    SLIDER

==========================================================================================*/
/*! slider
=======================================================*/
.slick-next,
.slick-next:hover,
.slick-next:focus {
    right: 0;
    background: url(../img/arrow_w_r.png) no-repeat center center rgba(183, 183, 183, 0.8);
    width: 24px;
    height: 70px;
    border-radius: 4px;
    z-index: 999;
}

.slick-next:before {
    content: none;
}

.slick-prev,
.slick-prev:hover,
.slick-prev:focus {
    left: 0;
    background: url(../img/arrow_w_l.png) no-repeat center center rgba(183, 183, 183, 0.8);
    width: 24px;
    height: 70px;
    border-radius: 4px;
    z-index: 999;
}

.slick-prev:before {
    content: none;
}

@media screen and (min-width:769px) {
    .js-card01-slider .slick-track {
        margin-left: 0;
        margin-right: 0;
    }
}

.js-card01-slider {
    opacity: 0;
}

.js-card01-slider.slick-initialized {
    opacity: 1;
}


/*! cardSlider
=======================================================*/
.cardSlider__unit {
    width: 248px;
    background: #fff;
    margin: 0 10px;
    padding-bottom: 50px;
    position: relative;
}

.cardSlider__unit>a {
    display: block;
}

.cardSlider__unit>a:hover {
    opacity: 0.6;
}

.cardSlider__pic img {
    width: 100%;
    height: auto;
}

.cardSlider__name {
    margin: 10px;
    font-weight: bold;
    line-height: 1.5;
}

.cardSlider__title {
    margin: 10px;
    font-weight: bold;
    line-height: 1.5;
    font-size: 1.4rem;
}

.cardSlider__title_noimage {
    margin: 10px;
    font-weight: bold;
    line-height: 1.5;
    font-size: 1.4rem;
}

.cardSlider__cont {
    padding: 10px 10px 10px;
    border-top: 1px solid #dcdcdc;
}

.cardSliderID {
    padding: 0 10px;
    margin-bottom: 10px;
    text-align: right;
    font-size: 1.1rem;
    color: #b7b7b7;
}

.cardSliderText {
    font-size: 1.4rem;
    margin-bottom: 10px;
    line-height: 1.5;
}

.cardSliderList {
    margin-bottom: 10px;
}

.cardSliderList__item {
    margin: 0 0 5px;
    padding: 2px 0 2px 24px;
    font-size: 1.3rem;
    line-height: 1.4;
    position: relative;
}

.cardSliderList__item:before {
    content: "";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-size: 1.6rem;
    font-weight: 900;
    position: absolute;
    top: 0;
    left: 0;
    color: #33bfdb;
    width: 20px;
    text-align: center;
}

.cardSliderList__item.income:before {
    content: "\f157";
}

.cardSliderList__item.jobtype:before {
    content: "\f02b";
}

.cardSliderList__item.location:before {
    content: "\f3c5";
}

.cardSliderList__item.employment:before {
    content: "\f007";
}

.cardSlider__btn {
    display: flex;
    padding: 0 10px 15px;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}

.cardSliderBtn {
    border: none;
    text-align: center;
    outline: none;
    background: #fdc44f;
    border-radius: 4px;
    height: 40px;
    line-height: 40px;
    color: #fff;
    font-size: 1.3rem;
    font-weight: bold;
}

.cardSliderBtn:last-child {
    margin-left: 10px;
}

a.cardSliderBtn {
    color: #fff;
}

.cardSliderBtn:hover {
    opacity: 0.6;
    transition: all 0.2s ease;
}

.cardSliderBtn.active {
    background: #94b9cb;
}

.cardSliderBtn.is_favorite {
    width: 50px;
}

.cardSliderBtn.is_favorite img {
    margin: 0 auto;
}

.cardSliderBtn.is_detail {
    flex: 1 1 0%;
    background-color: #33bfdb;
}

@media screen and (max-width:768px) {
    .cardSlider__inner {
        overflow: hidden;
        padding: 10px 10px 0;
    }

    .cardSlider__pic {
        width: 30%;
        float: left;
    }

    .cardSlider__name {
        margin: 0 0 0 30%;
        padding: 0 0 0 10px;
        font-size: 1.4rem;
    }

    .cardSlider__title {
        margin: 0 0 0 30%;
        padding: 0 0 0 10px;
        font-size: 1.2rem;
    }

    .cardSlider__title_noimage {
        margin: 0;
        padding: 0 0 0 10px;
        font-size: 1.2rem;
    }

    .cardSlider__cont {
        clear: both;
        margin-top: 10px;
    }

    .cardSliderList__item {
        font-size: 1.2rem;
    }
}


/*! cards
=======================================================*/
.cards .card {
    width: 248px;
    background: #fff;
    margin: 0 11px;
}

.cards .card .img img {
    width: 100%;
    height: auto;
}

.cards .card .ttl {
    margin: 10px 15px 0;
    font-weight: bold;
}

.cards .card .txt {
    margin: 10px 15px 0;
    padding-top: 10px;
    font-size: 88%;
    border-top: 1px solid #dcdcdc;
}

.cards .card .jobtype {
    margin: 10px 15px 0;
    font-size: 75%;
    background: url("../img/ico_jobtype01.png") no-repeat left center;
    padding-left: 20px;
}

.cards .card .location {
    margin: 10px 15px 10px;
    font-size: 75%;
    background: url("../img/ico_location01.png") no-repeat left center;
    padding-left: 20px;
}

.cards .card .btnFavorite01 {
    margin: 0 auto 15px;
}

@media screen and (max-width:768px) {
    .cards .card .img {
        float: left;
        max-width: 40%;
        padding: 15px 5px 10px 15px;
        box-sizing: border-box;
    }

    .cards .card .ttl {
        float: right;
        width: 60%;
        padding: 15px 15px 10px 0;
        margin: 0;
        box-sizing: border-box;
        font-size: 115%;
    }

    .cards .card .txt {
        clear: both;
        font-size: 100%;
    }

    .cards .card .jobtype {
        font-size: 88%;
    }

    .cards .card .location {
        font-size: 88%;
    }
}


/*! modal
=======================================================*/
.modal {
    display: none;
    background: rgba(0, 0, 0, 0.7);
    position: fixed;
    z-index: 1001;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    font-size: 14px;
}

.modal .box {
    display: none;
    position: fixed;
    width: 600px;
    height: 242px;
    top: 50%;
    left: 50%;
    margin-left: -300px;
    margin-top: -121px;
    box-shadow: 2px 0 2px rgba(0, 0, 0, 0.3);
}

@media screen and (max-width: 768px) {
    .modal .box {
        width: 98%;
        width: 88%;
        margin-left: 0;
        left: 0;
        margin: auto;
        right: 0;
        top: 0;
        bottom: 0;
    }
}

.modal .box .btnClose a {
    float: right;
    position: relative;
    top: 6px;
    color: #fff;
    font-size: 30px;
    padding: 8px;
    border-radius: 6px 6px 0 0;
    background: #35AFC2;
}

.modal .box .btnClose a i {
    font-size: 100%;
}

.modal .box .btnClose a .fa:before {
    padding: 0;
}

.modal .box .boxInside {
    padding: 40px;
    background: #ffffff;
    border: 8px solid #35AFC2;
    border-radius: 5px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .modal .box .boxInside {
        padding: 10px;
    }
}

.modal .box .boxInside .alert {
    background: url(../img/common/alert_ico_note.gif) no-repeat scroll 10px 50% #fefdcc;
    border: 1px solid #e2dc58;
}

.modal .box .boxInside p {
    float: none;
    margin-left: 33px;
    line-height: 30px;
    text-align: left;
}

@media screen and (max-width: 768px) {
    .modal .box .boxInside p {
        line-height: 1.5;
        padding: 10px;
    }
}

.modal .box .boxInside .btnsList {
    padding-top: 50px;
    display: flex;
    justify-content: center;
}

.modal .box .boxInside .btnsList .btn {
    border-radius: 0;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    padding: 0 12px;
    display: inline-block;
    min-width: 10em;
    height: 50px;
    line-height: 50px;
    margin: 0 5px;
    text-align: center;
    border: none;
    font-size: 110%;
    background-color: #eee;
    border: 1px solid #585858;
    color: #585858;
}

.modal .box .boxInside .btnsList .btn:hover {
    opacity: 0.8;
}

.modal .box .boxInside .btnsList .formBtn {
    margin: 0;
    display: block;
}

.modal .box .boxInside .btnsList .formBtn .btn {
    background-color: #FEB606;
    color: #fff;
    border: 1px solid #FEB606;
}

@media screen and (max-width: 768px) {
    .modal .box .boxInside .btnsList {
        padding-top: 20px;
    }

    .modal .searchForm__category__title .checkbox01 input[type="checkbox"]:checked+label:before,
    .modal .searchForm .checkbox01 input[type="checkbox"]:checked+label:before {
        top: -2px;
    }
}


/*! modalProgress
=======================================================*/
#modalProgress {
    height: 100%;
    width: 100%;
}

#modalProgress .progressBox {
    width: 380px;
    height: 50px;
    position: absolute;
    top: calc(50% - 25px);
    left: calc(50% - 190px);
}

#modalProgress .progressBox .textArea {
    color: #fff;
    margin-bottom: 10px;
}

#modalProgress .progressBox .barArea {
    background: #fff;
}

#modalProgress .progressBox .barArea #bar {
    background: #35AFC2;
    height: 20px;
}

@media screen and (max-width: 768px) {
    #modalProgress .progressBox {
        width: 80%;
        left: 10%;
    }
}


/*! modal searchForm
=======================================================*/
.modal .searchForm__category__title .checkbox01 input[type="checkbox"]+label:before,
.modal .searchForm .checkbox01 input[type="checkbox"]+label:before {
    width: 16px;
    height: 16px;
}

.modal .searchForm__category__title .checkbox01 input[type="checkbox"]:checked+label:before,
.modal .searchForm .checkbox01 input[type="checkbox"]:checked+label:before {
    width: 6px;
}

.modal .searchForm .checkbox01 input[type="checkbox"]+label {
    padding-left: 24px;
}

.modal .searchForm__category__title .checkbox01 {
    margin-bottom: 0;
    display: inline-block;
}

.modal .searchForm__category__title .checkbox01 input[type="checkbox"]+label {
    font-weight: bold;
}

.modal .searchForm__category__title .checkbox01 input[type="checkbox"]+label:before {
    top: 3px
}

.modal .searchForm__btnSubmit {
    padding: 0 60px;
    max-width: calc(100vw - 20px);
}