body {
    font-size: 16px;
/*    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;*/
    font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Osaka ,arial ,verdana ,sans-serif;
    background-image: url('/jobsspecial/img/imgBk.png');
    margin: 0;
}
header{
    text-align: center;
    background-color: #fff;
    border-bottom: 3px solid #000;
}
footer{
    background-color: #000;
}
table{
    width:100%
}
table tr th,table tr td{
    word-break: break-all;
    word-wrap: break-word;
}
.ftLink{
    text-align: center;
    font-size: 13px;
    padding-top: 3px;
    color: #fff;
}
.ftLink a{
    font-size: 13px;
    color: #fff;
    text-decoration: none;
}
#mainheader{
    padding: 10px 0;
}
#mainheader img{
    max-width: 600px;
    width: 100%;
}
#topview,#reclist,#detail,#otherlist,#applyForm{
    max-width: 1000px;
    margin: 0 auto;
    background-color: #fff;
}
#reclist,#applyForm{
    padding-top: 2rem;
}
#reclist,#applyForm{
    padding-bottom: 2rem;
}
#detail{
    margin-top: 3px;
    padding-top: 1.5rem;
}
#otherlist{
    padding: 1.5rem 0;
}
.recbox{
    background: #fffef5;
    margin: 15px 7px;
    border: 1px solid #7b796b;
    box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .5);
    padding: 15px;
    height: 95%;
}
a,a:hover{
    text-decoration: none;
    color: inherit;
}
.recbox .title{
    font-size: 17px;
    font-weight: bold;
    margin-top: 10px;
    color: #003469;
}
.recbox .emp-tag{
    display: inline;
    padding: 2px 5px 0;
    color:#2588ed;
    border: 1px solid #2588ed;
    border-radius: 5px;
    font-size: 14px;
}
.recbox .rec-detail{
    margin: 0 10px 10px;
    font-size: 15px;
}
.recbox .rec-detail th{
    white-space: nowrap;
    vertical-align: top;
}
.flexarea{
    display: flex;
    align-items: center;
}
.flexarea .flex_1{
    flex: 1;
}
.flexarea .flex_2{
    flex: 2;
}
.tagarea{
    padding-top: 1rem;
}
.tagbox{
    display: inline-block;
    margin-bottom: 5px;
    padding: 2px 4px 1px;
    border: 1px solid #2588ed;
    color:#2588ed;
    font-size: 13px;

}

#recurit-detail{
    margin: 1rem 1.5rem;
    padding-bottom:1rem;
}
#recurit-detail table tr th,
#recurit-detail table tr td{
    padding: 10px 15px;
    border: 2px solid #F3F3F3;
}
#recurit-detail table tr th{
    white-space: nowrap;
    vertical-align: top;
    background: #8BDCE0;
    min-width: 150px;
}
#recurit-detail table tr td{
    width: 100%;
}
#recurit-detail .detail-taitl{
    font-size: 30px;
    font-weight: bold;
    padding: 10px;
    background-color:#fff8de;
}
.applyinfo{
    margin-left: 1rem;
    vertical-align: bottom;
    height: 100%;
}
.applyinfo .telbanner{
    border:3px solid #588C90;
    background: #cee0e1;;
    padding: 10px;
    text-align: center;
    margin-bottom: 1rem;
}
.applyinfo .telbanner p{
    margin-bottom: 0;
}
.mybtn{
    display: inline-block;
    width: 100%;
    padding: 15px 0;
    border-radius: 5px;
    font-weight: bold;
    font-size: 16px;
    text-align: center;
}
.formAnc {
    background: linear-gradient(#ffd127, #e0b000);
    color: #000;
}
.formAnc:hover{
    background: linear-gradient(#ffdd63, #eeba00);
}
.detailInfo {
    background: linear-gradient(#566363, #243030);
    color: #fff;
    margin-bottom: 4px;
}
.detailInfo:hover{
    background: linear-gradient(#747c7c, #2c3636);
    color: #fff;
}
.btnArea .detailInfo,.btnArea .formAnc {
    padding: 10px 0;
}
.webouboicon{
    position: relative;
    top: 3px;
    background: url(/jobsspecial/img/icon_oubo.gif) no-repeat;
    display: inline-block;
    background-size: contain;
    width: 17px;
    height: 17px;
}
#recurit-detail #topimg{
    margin: 1rem auto;
    text-align: center;
}
.extra_bar {
    position: relative;
    padding: 0 .5rem .1rem;
    line-height: 1.2;
}
#bannerArea{
    text-align: center;
}
.hdp {
    background-color: #000;
    color: #fff;
    border-radius: 3px;
    font-size: 18px;
    height: 40px;
    padding: .5rem .75rem;
    text-align: left;
    margin-bottom: 0;
}
.detailicon {
    position: relative;
    top: 2px;
    display: inline-block;
    background: url(/jobsspecial/img/icon_detail.png) no-repeat;
    background-size: contain;
    width: 1.2rem;
    height: 1.2rem;
}
.detailInfo .detailicon{
    width: 1rem;
    height: 1rem;
}
.otherArea{
    margin: auto 15px;
    border: 3px solid #ad4d57;
    padding: 0;
    border-radius: 10px 10px 2px 2px;
    background-color: #f7e3e5;
}
.otherArea .othertitle{
    background-color: #ad4d57;
    padding: 4px 10px;
    color: #fff;
    font-size: 18px;
    border-radius: 5px 5px 0 0;
}
.otherArea .othertitle span{
    position: relative;
    top: 2px;
    display: inline-block;
    background: url(/jobsspecial/img/ico_other.png) no-repeat;
    background-size: contain;
    width: 1.2rem;
    height: 1.2rem;
}
.otherArea .otherAreaView{
    overflow-x: scroll;
}
.otherArea .imgarea{
    text-align: center;
}
.otherArea .imgarea img{
    width: 90%;
    margin-bottom: 15px;
}
.otherArea .recbox{
    max-width: 300px;
    min-width: 300px;
}
.rec-item{
    font-size: 14px;
    margin-bottom: 5px;
    padding-left: 1rem;
}
.item-emp{
    position: relative;
    top: 4px;
    display: inline-block;
    background: url(/jobsspecial/img/ico_empl.png) no-repeat;
    background-size: contain;
    width: 1.2rem;
    height: 1.2rem;
    margin-right: 3px;
}
.item-sal{
    position: relative;
    top: 4px;
    display: inline-block;
    background: url(/jobsspecial/img/ico_salary.png) no-repeat;
    background-size: contain;
    width: 1.2rem;
    height: 1.2rem;
    margin-right: 3px;
}
.item-ara{
    position: relative;
    top: 4px;
    display: inline-block;
    background: url(/jobsspecial/img/ico_area.png) no-repeat;
    background-size: contain;
    width: 1.2rem;
    height: 1.2rem;
    margin-right: 3px;
}
.item-doc{
    position: relative;
    top: 4px;
    left: -1px;
    display: inline-block;
    background: url(/jobsspecial/img/ico_doc.png) no-repeat;
    background-size: contain;
    width: 1.2rem;
    height: 1.2rem;
    margin-right: 3px;
}
#otherText p{
    margin-bottom: 0;
}
#entory_form{
    margin: 1rem 1.5rem;
}
.webouboicon-wh {
    position: relative;
    top: 2px;
    display: inline-block;
    background: url(/jobsspecial/img/icon_oubo_wh.gif) no-repeat;
    background-size: contain;
    width: 1.2rem;
    height: 1.2rem;
}
#entory_form table{
    width: 100%;
    margin-bottom: 10px;
}
#entory_form table tr th,
#entory_form table tr td{
    border:1px solid rgb(141, 141, 141);
    padding: .75rem;
}
#entory_form table tr th{
    background-color: #f7db74;
    position:relative;
    max-width: 100px;
}
#entory_form table tr th .label-required{
	font-size: 11px;
	color: #595959;
	background-color:#ffff89;
	padding: 2px 5px;
	border-radius: 10px;
	position: absolute;
	box-sizing: content-box;
	top:12px;
	right: 8px;
}
#entory_form table tr td input,
#entory_form table tr td textarea{
    width: 100%;
}
.btnApply{
    width: 100%;
    background: linear-gradient(#87d6ee, #40bfe6);
    border:1px solid #35bee7;
    padding: 13px;
    font-weight: bold;
    margin-top: 3px;
}
.btnApply:hover{
    background: linear-gradient(#a0dcee, #59c7e9);
}
.p-policy-area{
    text-align: center;
}
.p-policy{
    font-size: 14px;
    color: #003469;
    margin-bottom: 0;
}
.p-policy span{
    position: relative;
    top: 3px;
    left: 1px;
    display: inline-block;
    background: url(/jobsspecial/img/ico_prpl.png) no-repeat;
    background-size: contain;
    width: 1rem;
    height: 1rem;
    margin-right: 3px;
}
.policy_text{
    font-size: 14px;
}
.policy_text h4{
    font-size: 15px;
    font-weight: bold;
    margin-top: 1.5rem;
}
.policy_text dl dt::before{
	content: "・";
}
/* media ---------------------------------------- */
@media (max-width:767px){
    body {
        font-size: 14px;
    }
    #detail table tr th,
    #detail table tr td,
    #applyForm table tr th,
    #applyForm table tr td{
        width: 100%;
        display: inline-block;
    }
    #mainheader img{
        width: 90%;
    }
    .recbox .title{
        font-size: 16px;
    }
    .extra_bar{
        font-size: 16px;
    }
    #bannerArea img{
        width: 90%;
    }
    .otherArea .recbox{
        width:80vw;
        max-width: 300px;
        min-width: 200px;
    }
    #recurit-detail {
        margin: 0 .5rem;
    }
    #recurit-detail .detail-taitl{
        font-size: 23px;
    }
    #recurit-detail .flexarea{
        display: block;
    }
    #recurit-detail .applyinfo{
        margin-left: 0;
    }
    #recurit-detail .applyinfo img{
        display: none;
    }
    .btnArea .detailInfo {
        width: calc(100% / 2 - 8px);
        margin-right: 8px;
    }
    .btnArea .formAnc{
        width: calc(100% / 2 - 8px);
    }
    
    #entory_form{
        margin: 0 .5rem;
    }
    #entory_form table tr th{
        max-width: 100%;
    }
    #entory_form table tr th,
    #entory_form table tr td{
        border:1px solid #c2c1bf;
    }
    .p-policy{
        font-size: 13px;
    }
}
@media (max-width:500px){
    .recbox .flexarea{
        display: block;
    }
    .recbox .flexarea img{
        max-width: 250px;
        width: 65%;
    }
    .recbox .rec-detail {
        margin: 10px 0;
    }
}