@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;
	/* padding-left: 20px; */
	font-size: 1.4rem;
	font-weight: bold;
	/* background: url("../img/ico_search_b_s.png") no-repeat left center; */
}
@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;
        /*font-size:1.8rem;*/
    }
}



/*=========================================================================================

    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: 30px 30px;

}
.linkList__inner {
    background-color: #fff;
    display: flex;
    flex-wrap: wrap;
}
.linkList__item {
    width: 50%;
    position: relative;
    padding-left: 15px;
    line-height: 1.2;
}
.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 (min-width: 769px) {
    .linkList__item:nth-child(n + 3) {
        margin-top: 15px;
    }
}
@media all and (max-width: 768px) {
    .linkList {
        padding: 15px 10px;
    }
    .linkList__inner {
        display: block;
    }
    .linkList__item {
        width: auto;
    }
    .linkList__item:nth-child(n + 2) {
        margin-top: 10px;
    }
}




/* linkList02
=======================================================*/
.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;
}
@media all and (max-width: 768px) {
    .bnrCv {
        margin: 0 10px;
    }
    .bnrCv2 {
        margin: 0 10px;
    }
    .bnrCv3 {
        margin: 0 10px;
    }
}



/*=========================================================================================

    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;
  /*color: #ddd;*/
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  width: 100%;
}


.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;
  width: 100%;
}

.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;
	/*width: 100%;*/
	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 {
}
#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: 28px;
	height: 38px;
	line-height: 38px;
	padding: 0 10px;
	text-align: center;
	color: #7e7e7e;
	background-color: #fff;
}
.pager01__item.prev a {
	margin-right: 10px;
	position: relative;
}
.pager01__item.next a {
	margin-left: 10px;
	position: relative;
}
.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;
}
@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;
	}
	.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;
    }
}

/* pager01 */
.listHeader .pager01 {
	margin-top: 0;
	display: flex;
	align-items: center;
}
.listHeader .pager01__text {
	margin: 0 10px 0;
}
@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
=======================================================*/
.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
=======================================================*/
.linkList {
    background: #fff;
    padding: 30px 30px;

}
.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;
    }
}



/* 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 {

}
.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__select_category:hover {
  text-decoration: underline;
}
.searchForm__select_category {
  color: #35AFC2;
  transition: all 0.2s ease;
  cursor: pointer;
}*/
.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;
    /* background: url("../img/ico_search_b_m.png") no-repeat left center; */
}
.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) {
    .mainVisual__cont {
        height: 100%;
    }
    .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;
        /*background-color: #eee;*/
        /*padding: 10px 5px;*/
    }
    .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;
        /*font-size:18px !important;*/
        border-radius:unset !important;
        /* color:white ; */
    }
    .lightboxImg {
        max-width:80%;
        margin:0 auto;
        margin-top:30px;
        text-align:center;
    }
    #LightboxBox .lightboxClose a {
        right: 0;
    }
    .lightboxClose a{
        /* background-color: {{$design['menu_color']}}; */
    }
    .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);
}
