@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');

/* CSS Document */
*{ margin:0; padding:0; box-sizing:border-box; word-break:break-all;}
div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-size:99.5%; vertical-align:baseline; background:transparent;}
ul,ol{ list-style:none;}
html,body {
    margin:0 auto;
    padding:0;
    font-family: "ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","ＭＳ Ｐゴシック",sans-serif;
    font-size:15px;
    text-align:left;
    color:#666;
    min-width:1200px;
}
@media screen and (max-width:767px){
    html,body{ font-size:3vw; min-width:240px; max-width:767px;}
}

#recruitment_header_logo h1 {
    position: absolute;
    top: 0;
    left: 60px;
    z-index: 50;
}
#recruitment_header_logo h1 a {
    display: block;
    width: 180px;
    height: 0;
    padding-top: 80px;
    overflow: hidden;
    background: url(../images/logo_001.gif) no-repeat 0 0;
    text-decoration: none;
}
#recruitment_header_menu {
    width: 100%;
}
#header_menu {
    display: grid;
    justify-items: end;
    width: 100%;
}
#header_inquiry_tel {
    border-left: #666 solid 1px;
    border-right: #666 solid 1px;
    padding: 0 5px 0 5px;
    margin: 0.5em clamp(10rem, calc(0.9rem + 0.625vw), 40rem) 0.5em 0;
    font-size: 12px;
}
#menu_grid {
    width: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    color: #CCC;
    display: grid;
    justify-items: end;
    grid-template-rows: 44px;
    grid-template-columns: 1.4fr 120px 120px 120px 120px 120px 120px 1fr;
}
#menu_grid .menu_item {
    width: 100%;
    text-align: center;
}
#menu_grid .menu_item.menu {
    background: url(../images/bg_g_nav_line.gif) no-repeat 0 0;
}
#menu_grid .menu_item.menu a:hover {
    background-color: rgba(0, 0, 0, 0.7);
    color: #fff;
}
#menu_grid .menu_item a {
    display: inline-block;
    height: 44px;
    line-height: 44px;
    text-align: center;
    width: 100%;
    letter-spacing: 0.25em;
}
#menu_grid .menu_item.last {
    background: url(../images/bg_g_nav_line_last.gif) no-repeat 0 0;
}
#menu_agency .outsourcing_menu {
    position: absolute;
    z-index: 20;
    background-color:#000;
    width: 220px;
    transform: scaleY(0);
    transform-origin: center top;
    transition: all .2s;
}
#menu_agency .outsourcing_menu li {
    padding: 0 0 0 5px ;
    text-align: left;
    height: 30px;
}
#menu_agency .outsourcing_menu .title {
    padding: 0 0 0 7px;
    height: 30px;
    display: flex;
    align-items: flex-end;
    letter-spacing: 0.15em;
    color: #fff;
}
#menu_agency .outsourcing_menu li a {
    padding: 0 0 0 5px;
    text-align: left;
    height: 30px;
    margin-bottom: 2px;
    display: flex;
    align-items: center;
    color: #CCC;
    letter-spacing: 0.15em;
}
#menu_agency .outsourcing_menu li a:hover {
    color: #fff;
}
#menu_agency:hover .outsourcing_menu {
    transform: scaleY(1);
}
#menu_agency a {
    background-color: rgba(0, 0, 0, 0.7);
}
#menu_plan .recruit_menu {
    position: absolute;
    z-index: 20;
    background-color:#000;
    width: 220px;
    transform: scaleY(0);
    transform-origin: center top;
    transition: all .2s;
}
#menu_plan .recruit_menu li {
    padding: 0 0 0 5px ;
    text-align: left;
    height: 30px;
}
#menu_plan .recruit_menu .title {
    padding: 0 0 0 7px;
    height: 30px;
    display: flex;
    align-items: flex-end;
}
#menu_plan .recruit_menu li a {
    padding: 0 0 0 5px;
    text-align: left;
    height: 30px;
    margin-bottom: 2px;
    display: flex;
    align-items: center;
    color: #CCC;
}
#menu_plan .recruit_menu li a:hover {
    color: #fff;
}
#menu_plan:hover .recruit_menu {
    transform: scaleY(1);
}
#inquiry_modal_area {
    padding-bottom: 0;
    background-color: rgba(255, 255, 255, 0);
}
@media screen and (max-width:767px){
    #header_inquiry_tel {
        padding: 0 5px 0 5px;
        margin: 0.1em 0 0.1em 0;
    }
    #header_inquiry_tel span { font-size:1.9vw; }
    #menu_grid div a { font-size:1.9vw;}
    #menu_agency .outsourcing_menu li { font-size:1.8vw;}
    #menu_agency .outsourcing_menu li a { font-size:1.8vw;}
    #menu_plan .recruit_menu li a { font-size:1.8vw;}
}



/*img*/
img{ border-style:none; vertical-align:bottom; padding:0; line-height:0em; max-width:100%; height:auto;}
figure{margin:0 auto; text-align:center;}

/*txt*/
p{ line-height:1.75em; margin:0 0 1em; padding:0;}
p:last-child{ margin:0;}
strong{ font-weight:bold;}
.bold { font-weight:bold;}
.normal{ font-weight:normal;}
.under_line{ text-decoration:underline;}
.line_through{ text-decoration:line-through;}
.white{ color:#fff;}
.black{ color:#333;}
.gy{ color:#aaa;}
.red{ color:#c83232;}
.blue{ color:#326496;}
.left{ text-align:left;}
.right{ text-align:right;}
.center{ text-align:center;}

/*link*/
a{ color:inherit; text-decoration:none;}
a:hover{}
.opa3 {
    overflow: visible;
    width: 100%;
    height: 100%;

}
.opa3 img {
    display: block;
    transition-duration: 0.5s;
    margin : 0 auto;
}
.opa3 img:hover {
    transform: scale(1.2,1.2);
    transition-duration: 0.5s;
}


/*link*/
a{ color:inherit; text-decoration:none;}
a:hover{}
.opa{ transition: all 0.3s ease;}
.opa:hover{ opacity: 0.7;}




/*link2*/
a.border    {
    color:#5985c1;
    text-decoration:none;
    border-bottom:2px solid #5985c1;
}


/* ロゴ　パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc-logo { display: block ;margin-left: 40px; width:108%;}
.sp-logo { display: none ;  margin-left: auto; margin-right: auto;}
/* ロゴ　スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media screen and (max-width:767px){
    .pc-logo { display: none ;}
    .sp-logo { display: block ;  margin-left: auto; margin-right: auto;}
}



/*固定ヘッダー調整*/
/*body{ padding-top: 65px;}*/
@media screen and (max-width:767px){
    body{ padding-top: 0vw;}
    #smp_nav_toggle{ top: 0vw;}
}

/*pagetop*/
#pagetop{ position: fixed; right: 60px; bottom: 20px; z-index: 100;}
#pagetop.hide a{ opacity: 0; pointer-events: none;}
#pagetop a{ display: flex; flex-direction: column; align-items: center; justify-content: center; width: 120px; height: 96px; border-radius: 12px; background: #777; color: #fff; font-weight: bold;}
#pagetop p{ line-height: 1em; margin-bottom: 10px;}
@media screen and (max-width:767px){
    #pagetop{ right: 5vw; bottom: 5vw;}
    #pagetop a{ width:12.5vw; height:10vw; border-radius:2.5vw;}
    #pagetop img{ height:2.5vw; width: auto;}
    #pagetop p{ margin-bottom:0.5em; font-size: 2vw;}
}

/*メイン*/
#content{ overflow:hidden;}	/* はみ出た部分を表示しない */
section { width:100%; background:#fff; margin: 0px auto; padding-bottom: 50px;}
.maincontent { padding:0; margin:0 auto; width:1180px;}
@media screen and (max-width:767px){
    .maincontent { padding:0; margin:0 auto; width:90%;}
}

/*tit*/
h1,h2,h3,h4,h5,h6{ line-height: 1.25em; letter-spacing: 0.05em; /*font-weight: normal;*/}

/*パンくず*/
#pankuzu{ width: 100%; max-width: 1180px; padding: 20px 0; margin: 0 auto;}
#pankuzu ul{ letter-spacing: -1em;}
#pankuzu ul li{ display: inline-block; vertical-align: middle; letter-spacing: 0; line-height: 1em; padding-left:1.5em; margin:0.25em 0.5em; position: relative;}
#pankuzu ul li:before{ content: "▶"; position: absolute; left: 0; top: calc(50% - 0.0625em); transform: translateY(-50%); color: #3090c6;}
#pankuzu ul li.home:before{ content: ""; top: calc(50% - 0.125em);  width: 1em; height: 1em; background: url("../../images/pankuzu_home_ico.png") center center no-repeat; background-size: 100%;}
#pankuzu ul li a{ transition: 0.3s;}
#pankuzu ul li a:hover{ color: #3090c6;}
@media screen and (max-width:767px){
    #pankuzu{ padding:5%;}
    #pankuzu ul li{ font-size:2.8vw;}
}

/*汎用パーツ*/
/*申請フォーム*/
#app_form{ background: #fff; color: #000; padding: 70px 0;}
#app_form h3{ font-size: 32px; font-weight: bold; margin-bottom: 20px;}
#app_form ul{ display: flex; width: calc(100% + 20px); margin-left: -10px;}
#app_form ul li{ display: flex; flex-direction: column; align-items: flex-start; justify-content: center; text-align: center; width: calc(33.33% - 20px); margin: 0 10px; background: #eaeaea; padding: 20px 40px 40px; border-radius: 4px;}
#app_form ul li figure{ margin-bottom: 20px;}
#app_form ul li figure img{ border: 1px solid #6d6d6d; border-radius: 4px;}
#app_form ul li h4{ display: inline-block; text-align: center; width: 240px; border: 1px solid #ff0032; background: #fff; font-size: 24px; font-weight: bold; padding: 0.25em 0 0.125em; margin-bottom: 20px; border-radius: 2em;}
#app_form ul li p{ font-size: 24px; line-height: 1.25em; text-align: left;}
@media screen and (max-width:767px){
    #app_form{ padding:10% 0;}
    #app_form h3{ font-size:3.5vw; margin-bottom:2.5%;}
    #app_form ul{ width:calc(100% + 5vw); margin-left:-2.5vw;}
    #app_form ul li{ width:calc(33.33% - 1.5vw); margin: 0 0.75vw; padding:5% 1.25%;}
    #app_form ul li figure{ margin-bottom:5%;}
    #app_form ul li figure img{ width:80%;}
    #app_form ul li h4{ display:block;  width:100%; font-size:3vw; letter-spacing:-0.05em; margin:10% auto;}
    #app_form ul li p{ font-size:3vw;}
}


/*CVフォロー*/
#cv_follow{ background: #ffe6e6; color: #000; padding: 70px 0 150px;}
#cv_follow #cv_box01{ border: 1px solid #000; border-radius: 4px; padding: 40px 60px; position: relative;}
#cv_follow #cv_box01:after{ content: ""; width: 52px; height: 52px; background: url("../images/parts/cv_ico.png") center center no-repeat; background-size: 100%; position: absolute; top: 30px; right: calc(60px - 26px);}
#cv_follow #cv_box01 h3{ font-size: 32px; font-weight: bold; margin-bottom: 30px;}
#cv_follow #cv_box01 h3 span{ display: inline-block; font-size: 15px; font-weight: normal; margin-left: 1em;}
#cv_follow #cv_box01 ul{ display: flex; width: calc(100% + 120px); margin-left: -60px;}
#cv_follow #cv_box01 ul li{ display: flex; width: calc(50% - 120px); margin: 0 60px; background: #5ea1aa; padding: 8px; box-shadow:rgba(0, 0, 0, 0.2) 4px 4px 8px 4px;}
#cv_follow #cv_box01 ul li a{ display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 224px; padding: 20px; background: #fff; border-radius: 8px;}
#cv_follow #cv_box01 ul li a h4{ font-size: 21px; font-weight: bold; line-height: 1em;}
#cv_follow #cv_box01 ul li a figure{ margin: 20px auto;}
#cv_follow #cv_box01 ul li a h5{ font-size: 42px; line-height: 42px; letter-spacing: 0; color: #005e9d; font-weight: bold;}
#cv_follow #cv_box01 ul li a p{ line-height: 42px;}
@media screen and (max-width:767px){
    #cv_follow{ padding:10% 0;}
    #cv_follow #cv_box01{ padding:5%;}
    #cv_follow #cv_box01:after{ width:5vw; height:5vw; top:2.5vw; right:2.5vw;}
    #cv_follow #cv_box01 h3{ font-size:3vw; margin-bottom:10%;}
    #cv_follow #cv_box01 h3 span{ font-size:2vw;}
    #cv_follow #cv_box01 ul{ display:block; width:100%; margin:5% auto;}
    #cv_follow #cv_box01 ul li{ display:block; width:100%; margin:5% auto 0; padding:1.25vw;}
    #cv_follow #cv_box01 ul li a{ height:36vw; padding:7.5% 5% 5%;}
    #cv_follow #cv_box01 ul li a h4{ font-size:4vw;}
    #cv_follow #cv_box01 ul li a figure{ margin:5% auto;}
    #cv_follow #cv_box01 ul li a figure img{ width:16.66vw;}
    #cv_follow #cv_box01 ul li a h5{ font-size:7.5vw; line-height:7.5vw;}
    #cv_follow #cv_box01 ul li a p{ font-size:2.5vw; line-height:7.5vw;}
}
#cv_follow #cv_box02{ margin-top: 90px;}
#cv_follow #cv_box02 ul{ display: flex; width: 100%;;}
#cv_follow #cv_box02 ul li{ display: flex; width: calc(100% - 120px); margin: 0 60px; background: #5ea1aa; padding: 8px; box-shadow:rgba(0, 0, 0, 0.2) 4px 4px 8px 4px;}
#cv_follow #cv_box02 ul li a{ display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; padding: 20px; background: #fff; border-radius: 8px; font-size: 48px; font-weight:bold;}
@media screen and (max-width:767px){
    #cv_follow #cv_box02{ margin-top:10%;}
    #cv_follow #cv_box02 ul li{ width:calc(90% - 2px); margin:0 auto; padding:1.25vw;}
    #cv_follow #cv_box02 ul li a{ padding:2.5%; font-size:4vw;}
}



/*表示切替*/
@media print, screen and (min-width:768px){
    .smp{ display:none !important;}
}
@media screen and (max-width:767px){
    .pc{ display:none !important;}
}





/*mv*/
#mv2{ display: flex; align-items: center; justify-content: center; width: 100%; height: 425px; position: relative; background: url("../images/recruitment/recruitment_bg01.jpg") center center no-repeat; background-size: cover;}
#mv2 h1{ text-align: center; width: 880px; margin: 0 auto; position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%); color: #fff; font-size: 36px; font-weight: bold; line-height: 1em; padding: 45px 0 15px; z-index: 1;}
#mv2 h1:before{ content: ""; width: 100%; height: 100%; position: absolute; left: 0; right: 0; top: 0; z-index: -1; opacity: 0.4;
background: -moz-linear-gradient(left,  rgba(255,255,255,0) 0%, rgba(173,173,173,1) 16%, rgba(0,0,0,1) 50%, rgba(179,179,179,1) 85%, rgba(255,255,255,0) 100%);
background: -webkit-linear-gradient(left,  rgba(255,255,255,0) 0%,rgba(173,173,173,1) 16%,rgba(0,0,0,1) 50%,rgba(179,179,179,1) 85%,rgba(255,255,255,0) 100%);
background: linear-gradient(to right,  rgba(255,255,255,0) 0%,rgba(173,173,173,1) 16%,rgba(0,0,0,1) 50%,rgba(179,179,179,1) 85%,rgba(255,255,255,0) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#00ffffff',GradientType=1 );
}
#mv2 h1 span{ display: block; font-size: 26px; line-height: 1em; margin-top: 10px;}
@media screen and (max-width:767px){
#mv2{ height:55vw;}
#mv2 h1{ width:90%; font-size:5vw; padding:5% 2.5% 2.5%;}
#mv2 h1 span{ font-size:4vw; margin-top:1.25%;}
}


/*説明*/
#explain_sec{ background: #fff;  padding: 70px 0px 40px 0;}
#explain_sec h2{ text-align: center; font-size: 36px; margin-bottom: 50px;}
#explain_sec .maincontent{ width: 1080px; text-align:center}
#explain_sec figure.fl_img{ float: right; margin: 0 0 20px 20px;}
#explain_sec h4{ font-size: 21px; font-weight: bold; margin: 1em auto;}
#explain_sec p{ font-size: 16px;}
#explain_sec p{ margin: 0 auto; width: 1020px; font-size:18px; text-align:center; font-weight:600;letter-spacing: 0.1em;}
#explain_sec p:last-child{ margin-bottom:0;}
@media screen and (max-width:767px){
#explain_sec{ margin:0 auto 5%;}
#explain_sec p{ width:90%; font-size:12px; text-align:center; font-weight:600; letter-spacing: 0.05em;}
#explain_sec h2{ font-size:4vw; line-height:1.75em; margin-bottom:5%;}
#explain_sec .maincontent{ width:100%; text-align:left}
#explain_sec figure.fl_img{ float:none; width:100%; margin:0 auto;}
#explain_sec h4{ font-size:3.5vw; margin:5%;}
#explain_sec p:last-child{ line-height: 2.0em; margin-bottom:0; font-size: 13px; margin: 5%;}
}


/*future*/
#future_sec{ background: #fff;  padding: 70px 0px 0px 0;}
#future_sec h2{ text-align: center; font-size: 28px; margin-bottom: 70px;}
#future_sec .maincontent{ width: 630px;}
#future_sec .maincontent ul { list-style: none;}
#future_sec .maincontent ul li { padding:0px 30px 0 30px; margin: 5%; line-height: 1.6em; background: url(../images/recruitment/ico01.png) left 0px  top 6px no-repeat; background-size: 15px auto; font-size:18px; font-weight:600;letter-spacing: 0.1em;}
#future_sec span{ border-style:none; vertical-align:bottom; padding:10px 10px ; line-height:0em; max-width:100%; height:auto;}
#future_sec figure.fl_img{ float: right; margin: 0 0 20px 20px;}
#future_sec h4{ font-size: 21px; font-weight: bold; margin: 1em auto;}
#future_sec p{ margin: 5%;}

@media screen and (max-width:767px){
#future_sec{ padding:10% 0% 10% 0%;}
#future_sec h2{ font-size:4vw; line-height:1.75em; margin-bottom:5%;}
#future_sec .maincontent{ width:100%;}
#future_sec .maincontent ul { list-style: none;}
#future_sec .maincontent ul li { padding:0 10px 0 20px; margin: 5%; line-height: 1.6em; background: url(../images/recruitment/ico01.png) left 3px  top 3px no-repeat; background-size: 15px auto; font-size: 13px;}
#future_sec span{ border-style:none; vertical-align:bottom; padding:2px; line-height:0em; max-width:100%; height:auto;}
#future_sec figure.fl_img{ float:none; width:100%; margin:0 auto;}
#future_sec h4{ font-size:3.5vw; margin:5%;}
#future_sec .maincontent ul {font-size:2.8vw;}
}






/*施設バナー上*/
#institution{ background: #fff; color: #666; padding: 80px 0px 0px 0;}
#institution h2{ text-align: center; font-size: 28px; margin-bottom: 70px;}
#institution h3{ font-size: 16px;  margin-bottom: 10px;}
#institution ul{ display: flex; width: calc(100% + 20px); margin-left: -10px;}
#institution ul li{ display: flex; flex-direction: column; align-items: flex-start; justify-content: center; text-align: center; width: calc(100% - 20px); margin: 0 10px; background: #fff; padding: 20px 40px 40px; border-radius: 4px;}
#institution ul li figure{ margin-bottom: 20px;}
#institution ul li figure img{ border: 1px solid #6d6d6d; border-radius: 4px;}
#institution ul li h4{ display: inline-block; text-align: center; width: 240px; border: 1px solid #ff0032; background: #fff; font-size: 24px; font-weight: bold; padding: 0.25em 0 0.125em; margin-bottom: 20px; border-radius: 2em;}
#institution ul li p{ font-size: 16px; line-height: 1.25em; text-align: left;}
@media screen and (max-width:767px){
#institution{ padding: 60px 0px 10px 0;}
#institution h2{ font-size:4vw; line-height:1.75em; margin-bottom:5%;}
#institution h3{ font-size: 14px; margin-bottom:2.5%;}
#institution .maincontent{ width:87%;}
#institution ul{ width:calc(100% + 5vw); margin-left:-2.5vw;}
#institution ul li{ width:calc(100% - 1.5vw); margin: 0 0.75vw; padding:5% 1.25%;}
#institution ul li figure{ margin-bottom:5%;}
#institution ul li figure img{ width:100%;}
#institution ul li h4{ display:block;  width:100%; font-size:3vw; letter-spacing:-0.05em; margin:10% auto;}
#institution ul li p{ font-size:13px; line-height:1.75em;}
}




#ftSitemap,#ftSitemapB{
    text-align:center;
    _width:960px;
    background:url(../images/bg_ftsitemap.gif) repeat-x top left #e7e7e7;
    margin:0 auto;
}

#ftSitemap .container{
    width:960px;
    margin:0 auto;
    clear:both;
    zoom:1;
    text-align:left;
}
#ftSitemap .container:after{
    content:".";
    display: block;
    height:0px;
    clear:both;
    visibility:hidden;
}
#ftSitemap .w960{ width:960px; }
#ftSitemap .pb30{
    padding-bottom: 10px;
}
#ftSitemap .pt30{ padding-top:30px; }

#ftSitemap ul ul{
    padding-top:5px;
    font-size: 12px;
}

#ftSitemap ul li{
    line-height:1.2;
    font-size: 12px;
}

#ftSitemap ul a,#ftSitemap ul span.act {
    text-decoration:none;
    color:#333;
    display:block;
    border-bottom:1px dotted #b2b2b2;
    background:url(../images/hm_kakko.png) no-repeat 0em 0.4em;
    padding:5px 0 5px 1em;
}

#ftSitemap ul a:hover {
    text-decoration: underline;
    color: #03C;
    background:url(../images/hm_kakko.png) no-repeat 0em 0.4em #E9EBF8;
}

#ftSitemap ul ul a,#ftSitemap ul ul span.act {
    text-decoration:none;
    color:#333;
    display:block;
    border-bottom:none;
    margin-left:0.3em;
    background:url(../images/hm_sankaku.png) no-repeat 0em 0.7em;
    padding-left:1em;
}

#ftSitemap ul span.act,#ftSitemap ul ul span.act {
    color:#999;
}

#ftSitemap ul ul a:hover {
    text-decoration: underline;
    color: #03C;
    background:url(../images/hm_sankaku.png) no-repeat 0em 0.7em #E9EBF8;
}


#ftSitemap ul ul li.sect {
    border-bottom:1px dotted #b2b2b2;
    padding-bottom:6px;
    margin-bottom:6px;
}

#ftSitemap ul li.bannerArea a {
    background:none;
    border:none;
    padding:0;
}

#ftSitemap ul li.bannerArea a:hover {
    background: #E9EBF8;
}

#ftSitemap ul li.bannerArea a:hover img {
    filter: alpha(opacity=80);
    opacity:0.8;
}