@charset "UTF-8";
@media all and (min-width: 769px) { .brSp { display: none; } }

.brPc { display: none; }
@media all and (min-width: 769px) { .brPc { display: inline; } }

.tit01 { font-size: 2.2rem; font-weight: bold; color: #005bab; letter-spacing: .075em; margin-bottom: 8px; }
@media all and (min-width: 769px) { .tit01 { font-size: 4rem; line-height: 1.3; margin-bottom: 40px; } }

.mod_btn01 { border-radius: 1px; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); }
.mod_btn01 p { cursor: pointer; position: relative; display: block; padding: 18px 10px; border-radius: 1px; color: #005bab; font-size: 1.3rem; font-weight: 500; text-align: center; text-decoration: none; line-height: 1.4615384615; overflow: hidden; will-change: contents; }
.mod_btn01 p::after { position: absolute; top: 0; right: -263%; content: ''; width: 300%; height: 100%; background: #eee; will-change: contents; transform: skewX(-60deg); }
.mod_btn01 p span { position: relative; z-index: 2; }
.mod_btn01 p[target="_blank"] span { padding-right: 20px; background: url(../img/common/ico_blank01.png) no-repeat 100% 50%; background-size: 9px; }
@media all and (min-width: 769px) { .mod_btn01 { width: 381px; margin: 0; border-radius: 3px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); }
  .mod_btn01 p { padding-top: 35px; padding-bottom: 35px; border-radius: 3px; font-size: 2.4rem; line-height: 1.125; }
  .mod_btn01 p::after { right: -270%; transition: all .3s ease; }
  .mod_btn01 p:hover::after { right: -100%; } }

/* .recruit_bnrs01
================================================ */
.recruit_bnrs01 { background-color: #eee; padding: 50px 0 45px; }
.recruit_bnrs01 .list .item { margin-bottom: 5px; }
@media all and (min-width: 769px) { .recruit_bnrs01 { padding: 100px 0; background: url(../img/common/bg_bnr02.png) repeat center; }
  .recruit_bnrs01 .list .item { width: 50%; margin-bottom: 0; float: left; } }

/* #requirements
================================================ */
#requirements .mod_lead01 { border-bottom: 1px solid #e5e5e5; }
@media all and (min-width: 769px) { #requirements .mod_lead01 { border-bottom: 2px solid #e5e5e5; } }
#requirements .mod_lead01 .notTxt .tit { margin-bottom: 0; }
@media all and (min-width: 769px) { #requirements .mod_lead01 .notTxt { padding: 46px 52px; }
  #requirements .mod_lead01 .notTxt .inner { padding: 0; } }

/*============================================================= 募集要項
=============================================================*/
/* #info
================================================ */
#info { padding: 17px 0 36px; }
#info .idt,
#flows .idt{padding-left: 1em; text-indent: -1em;display: inline-block;}
#info .table01 { letter-spacing: 0; border: 1px solid #e6e6e6; border-bottom: 0; line-height: 1.75; width: 100%; box-sizing: border-box; display: block; }
#info .table01 tr, #info .table01 tbody { display: block; }
#info .table01 th, #info .table01 td { display: block; text-align: left; border-bottom: 1px solid #e6e6e6; font-size: 1.3rem; box-sizing: border-box; padding: 9px 18px; }
#info .table01 th .em01, #info .table01 td .em01 { color: #005bab; font-size: 1.4rem; font-weight: bold; }
#info .table01 th .em02, #info .table01 td .em02 { font-size: 1.3rem; font-weight: bold; }
#info .table01 th .icoSquare, #info .table01 td .icoSquare { position: relative; padding-left: 15px; }
#info .table01 th .icoSquare::before, #info .table01 td .icoSquare::before { content: ''; width: 10px; height: 10px; position: absolute; top: 5px; left: 0; background: #005bab; }
#info .table01 th { text-align: center; font-weight: bold; background-color: #ecf5fd; font-size: 1.5rem; }
#info .table01 td { padding: 15px 18px; }
#info .table01 .col { display: table; width: 100%; }
#info .table01 .col td { width: 66%; display: table-cell; }
#info .table01 .col td:first-child { width: 34%; border-right: 1px solid #e6e6e6; }
#info .table01 .min { font-size: 1.2rem; color: #8d8d8d; }
#info .table01 .indent { padding-left: 1em; text-indent: -1em; display: block; }
#info .table01 .address { display: table; border: 0; padding: 0; width: 100%; margin-bottom: 5px; }
#info .table01 .address tbody { display: table; }
#info .table01 .address tr { display: table-row; }
#info .table01 .address th, #info .table01 .address td { display: table-cell; border: 0; padding: 0; font-size: 1.3rem; font-weight: normal; text-align: left; padding: 2px 0; }
#info .table01 .address th { min-width: 85px; background-color: #fff; padding-right: 12px; }
#info .table01 .inTable { box-sizing: border-box; }
#info .table01 .inTable .scroll { overflow: scroll; width: 100%; }
#info .table01 .inTable .scroll table { border-top: 1px solid #e6e6e6; border-left: 1px solid #e6e6e6; display: table; white-space: nowrap; }
#info .table01 .inTable .scroll table tbody { display: table; }
#info .table01 .inTable .scroll table tr { display: table-row; width: 100%; }
#info .table01 .inTable .scroll table th, #info .table01 .inTable .scroll table td { display: table-cell; text-align: left; width: 110px; border-right: 1px solid #e6e6e6; padding: 9px 12px; }
#info .table01 .inTable .scroll table th { background-color: #eee; font-size: 1.4rem; align-items: center; }
#info .table01 .inTable .scroll table .thead th:not(:first-child) { text-align: center; vertical-align: middle; background-color: #fff; font-weight: normal; }
#info .table01 .inTable .scroll table td { text-align: center; }
#info .table01 .inTable .come { margin-top: 5px; }
@media all and (min-width: 769px) { #info { padding: 112px 0 0 0; font-size: 1.6rem; letter-spacing: 0; line-height: 2; }
  #info .table01 table { display: table !important; }
  #info .table01 tr { display: table-row !important; }
  #info .table01 th, #info .table01 td { display: table-cell !important; padding: 24px 30px; font-size: 1.6rem; }
  #info .table01 th .em01, #info .table01 td .em01 { color: #005bab; font-size: 1.8rem; }
  #info .table01 th .em02, #info .table01 td .em02 { font-size: 1.8rem; }
  #info .table01 th .icoSquare, #info .table01 td .icoSquare { padding-left: 22px; }
  #info .table01 th .icoSquare::before, #info .table01 td .icoSquare::before { top: 7px; width: 13px; height: 13px; }
  #info .table01 th { font-size: 1.8rem; width: 262px; text-align: left; }
  #info .table01 td { line-height: 2; padding: 21px 30px; }
  #info .table01 .col { display: table-row; }
  #info .table01 .col td { width: auto; }
  #info .table01 .col td:first-child { width: 207px; }
  #info .table01 .min { font-size: 1.4rem; }
  #info .table01 .address { display: table; border: 0; padding: 0; width: 100%; margin-bottom: 8px; }
  #info .table01 .address:last-child { margin-bottom: 0; }
  #info .table01 .address tbody { display: table; }
  #info .table01 .address tr { display: table-row; }
  #info .table01 .address th, #info .table01 .address td { font-size: 1.6rem; padding: 0; line-height: 2; }
  #info .table01 .address th { min-width: 100px; background-color: #fff; padding: 0; width: 100px; }
  #info .table01 .address th em { font-size: 1.6rem; }
  #info .table01 .address th[colspan="2"] { padding-bottom: 5px; }
  #info .table01 .inTable .come { text-align: right; margin-top: 12px; }
  #info .table01 .inTable .scroll { overflow: auto; }
  #info .table01 .inTable .scroll table { width: 100%; }
  #info .table01 .inTable .scroll table th, #info .table01 .inTable .scroll table td { font-size: 1.6rem; vertical-align: middle; }
  #info .table01 .inTable .scroll table td { width: 90px; padding: 10px 0; }
  #info .table01 .inTable .scroll table th { background-color: #eee; width: 156px; padding: 12px 30px; font-weight: bold; }
  #info .table01 .inTable .scroll table .thead th { padding: 6px 0; }
  #info .table01 .inTable .scroll table .thead th:not(:first-child) { background-color: #eee !important; padding: 6px 0; text-align: center; width: auto; font-weight: bold; } }

/* #flows
================================================ */
#flows { letter-spacing: 0; padding-bottom: 29px; }
#flows .tit01 { margin-bottom: 7px; }
#flows .flow .listTit { font-weight: bold; font-size: 1.6rem; text-align: center; line-height: 1.3; margin-bottom: 14px; letter-spacing: 0.075em; }
#flows .flow .list .item { position: relative; padding-bottom: 22px; margin-bottom: 10px; }
#flows .flow .list .item:last-child { margin-bottom: 0; }
#flows .flow .list .item .tit { position: relative; overflow: hidden; background-color: #005bab; color: #fff; font-weight: bold; padding: 12px 10px; line-height: 1.3; font-size: 1.6rem; text-align: center; }
#flows .flow .list .item .tit::before { position: absolute; top: 0; right: -300%; content: ''; width: 300%; height: 100%; background: #005096; transform: skewX(-60deg); }
#flows .flow .list .item .come { font-size: 1.2rem; color: #8d8d8d; line-height: 1.6; margin: 6px 0 -5px 0; }
#flows .flow .list .item::before { content: ''; width: 0; height: 0; border-style: solid; border-width: 11px 23.5px 0 23.5px; border-color: #878787 transparent transparent transparent; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }
#flows .flow .list .item:last-child::before { display: none; }
#flows .flow .list.listLight .tit { background-color: #3b98d9; }
#flows .flow .list.listLight .tit::before { background-color: #3487c0; }
@media all and (min-width: 769px) { #flows { padding: 91px 0 70px 0; letter-spacing: 0; }
  #flows .tit01 { margin-bottom: 45px; }
  #flows .flow { width: 580px; float: left; margin-right: 40px; }
  #flows .flow:nth-of-type(2n) { margin-right: 0; }
  #flows .flow .listTit { font-size: 2.2rem; }
  #flows .flow .list .item { padding-bottom: 31px; margin-bottom: 20px; }
  #flows .flow .list .item .tit { font-size: 2rem; padding: 17px 10px; }
  #flows .flow .list .item .tit::before { width: 600%; right: -600%; }
  #flows .flow .list .item .come { font-size: 1.4rem; line-height: 2; letter-spacing: 0.05em; position: relative; top: -3px; margin-bottom: -12px; }
  #flows .flow .list .item::before { border-width: 12px 25px 0 25px; } }

/*============================================================= 福利厚生
=============================================================*/
/* #welfare
================================================ */
#welfare { background-color: #f4fdff; padding: 25px 0 45px; }
#welfare .list { margin: 0 -5px; }
#welfare .list .item { width: 50%; padding-top: 50%; box-sizing: border-box; padding: 5px; position: relative; float: left; display: table; }
#welfare .list .item .link { border: 1px solid #005bab; background-color: #fff; box-shadow: 0px 2px 2px 1px rgba(4, 0, 0, 0.1); position: relative; text-align: center; display: table-cell; box-sizing: border-box; position: absolute; top: 5px; left: 5px; width: calc(100% - 10px); height: calc(100% - 10px); }
#welfare .list .item .link::before { content: ''; width: 0; height: 0; border-style: solid; border-width: 0 0 9px 9px; border-color: transparent transparent #005bab transparent; position: absolute; right: 5px; bottom: 5px; }
#welfare .list .item .link .in { position: absolute; top: 50%; width: 100%; transform: translateY(-50%); }
#welfare .list .item .link .in .ico, #welfare .list .item .link .in .tit { display: inline-block; }
#welfare .list .item .link .in .ico img { width: 87px; max-width: 100%; }
#welfare .list .item .link .in .tit { color: #005bab; font-weight: bold; font-size: 1.2rem; width: 100%; text-decoration: none; margin-top: 7px; line-height: 1.2; padding: 0 5px; box-sizing: border-box; }
#welfare .list .item .content { display: none; }
@media all and (min-width: 769px) { #welfare { border-top: 1px solid #fff; padding: 120px 0 80px; }
  #welfare .list { margin: 0; }
  #welfare .list .item { padding: 0; margin: 0 19px 19px 0; width: 285px; height: 285px; }
  #welfare .list .item:nth-of-type(4n) { margin-right: 0; }
  #welfare .list .item:nth-of-type(4n + 1) { clear: both; }
  #welfare .list .item .link { display: block; width: 285px; height: 285px; position: relative; top: 0; left: 0; transition: all .3s ease; box-shadow: 0px 4px 4px 2px rgba(4, 0, 0, 0.1); }
  #welfare .list .item .link::before { border-width: 0 0 17px 17px; right: 9px; bottom: 9px; }
  #welfare .list .item .link .in { position: relative; top: 50px; transform: translateY(0); }
  #welfare .list .item .link .in .ico img { width: 149px; }
  #welfare .list .item .link .in .tit { font-size: 2rem; transition: all .3s ease; }
  #welfare .list .item .link:hover { background-color: #005bab; }
  #welfare .list .item .link:hover .tit { color: #fff; }
  #welfare .list .item .link:hover::before { border-color: transparent transparent #fff transparent; } }

.modaal-container .modaalWelfare { padding: 15px 10px; }
.modaal-container .modaalWelfare .in { text-align: center; }
.modaal-container .modaalWelfare .in .ico, .modaal-container .modaalWelfare .in .tit { display: inline-block; }
.modaal-container .modaalWelfare .in .ico img { width: 115px; max-width: 100%; }
.modaal-container .modaalWelfare .in .tit { font-weight: bold; font-size: 1.5rem; width: 100%; text-decoration: none; margin-top: 10px; }
.modaal-container .modaalWelfare .txt { text-align: center; font-size: 1.3rem; line-height: 1.75; margin-bottom: 25px; }
@media all and (min-width: 769px) { .modaal-container .modaalWelfare { padding: 30px 80px 20px; }
  .modaal-container .modaalWelfare .in { margin-bottom: 6px; }
  .modaal-container .modaalWelfare .in .ico img { width: 190px; max-width: 100%; }
  .modaal-container .modaalWelfare .in .tit { font-size: 2.4rem; margin-top: 10px; }
  .modaal-container .modaalWelfare .txt { text-align: center; font-size: 1.6rem; line-height: 2; margin-bottom: 22px; }
  .modaal-container .modaalWelfare .btn { width: auto; }
  .modaal-container .modaalWelfare .btn p { padding: 25px 10px; font-size: 1.8rem; } }

/*============================================================= 人材育成
=============================================================*/
#data { padding: 30px 0 50px; }
#data .developer.viewSp .list { line-height: 1.3; font-weight: bold; border-top: 1px solid #e6e6e6; border-right: 1px solid #e6e6e6; margin-top: -1px; }
#data .developer.viewSp .list td, #data .developer.viewSp .list th { border-bottom: 1px solid #e6e6e6; border-left: 1px solid #e6e6e6; text-align: center; vertical-align: middle; }
#data .developer.viewSp .list td { padding: 15px; font-size: 1.3rem; }
#data .developer.viewSp .list th { padding: 15px 0; font-size: 1.4rem; }
#data .developer.viewSp .list .tit th { background-color: #ecf5fd; font-size: 1.5rem; }
#data .developer.viewSp .list .col01 th { width: 134px; }
#data .developer.viewSp .list .col02 th { padding: 13px 0; }
#data .developer.viewSp .list .btn { width: 180px; }
#data .developer.viewPc .list { font-size: 1.8rem; border-top: 1px solid #e6e6e6; border-right: 1px solid #e6e6e6; }
#data .developer.viewPc .list th, #data .developer.viewPc .list td { border-bottom: 1px solid #e6e6e6; border-left: 1px solid #e6e6e6; vertical-align: middle; text-align: center; padding: 30px; }
#data .developer.viewPc .list th { background-color: #ecf5fd; width: 200px; padding: 0 30px; text-align: left; }
#data .developer.viewPc .list td:nth-child(2) { width: 408px; }
#data .developer.viewPc .list td:nth-child(3), #data .developer.viewPc .list td:nth-child(4) { width: 175px; }
#data .developer.viewPc .list td .btn { width: 100%; }
#data .developer.viewPc .list th, #data .developer.viewPc .list .head td { font-weight: bold; }
#data .developer.viewPc .list .head td, #data .developer.viewPc .list .sub td { padding: 15px 0; }
#data .btn { border: 1px solid #005bab; color: #005bab; display: inline-block; position: relative; font-weight: bold; padding: 10px; text-decoration: none; box-sizing: border-box; }
#data .btn:before { position: absolute; right: 2px; bottom: 2px; width: 0; height: 0; content: ''; border-width: 0 0 5px 5px; border-style: solid; border-color: transparent transparent #005bab transparent; }
@media all and (min-width: 769px) { #data .btn { border-width: 2px; font-size: 1.8rem; line-height: 1.55; padding: 14px 5px; max-width: 350px; }
  #data .btn:before { border-width: 0 0 10px 10px; right: 4px; bottom: 4px; } }
#data br + .btn { margin-top: 10px; }
@media all and (min-width: 769px) { #data { padding: 130px 0 100px; } }

#js-modaal { display: none; }

.modaal-container .modaalDevelop { padding: 0 10px 10px; text-align: center; }
.modaal-container .modaalDevelop .tit { font-size: 1.5rem; font-weight: bold; }
.modaal-container .modaalDevelop .txt { font-size: 1.3rem; line-height: 1.75; padding: 1px 0 20px; }
@media all and (min-width: 769px) { .modaal-container .modaalDevelop { padding: 34px 30px 50px; }
  .modaal-container .modaalDevelop .tit { font-size: 2.4rem; font-weight: bold; margin-top: 12px; }
  .modaal-container .modaalDevelop .txt { font-size: 1.6rem; line-height: 2; padding: 6px 0 25px; }
  .modaal-container .modaalDevelop .btn { width: 380px; margin: 0 auto; }
  .modaal-container .modaalDevelop .btn p { padding: 25px 10px; font-size: 1.8rem; } }

/*============================================================= キャリア
=============================================================*/
.middle #info .table01 > tbody > tr > th { background-color: #f3f3f3; }
.middle .mod_lead01 .tit, .middle .tit01 { color: #313131; }
.middle #flows .flow .list .item .tit { background-color: #313131; }
.middle #flows .flow .list .item .tit:before { background-color: #484848; }
.middle #info .table01 .min { font-size: 1.2rem; color: #8d8d8d; }
.middle #info .table01 .bold { font-weight: bold; }
.middle #info .table01 em.bold { font-size: 1.4rem; }
.middle #info .table01 .icoSquare::before { background-color: #5d5d5d; }
@media all and (min-width: 769px) { .middle #info .table01 .min { font-size: 1.4rem; }
  .middle #info .table01 em.bold { font-size: 1.8rem; } }
.middle #flows { padding-bottom: 45px; }
.middle #flows .tit01 { margin-bottom: 8px; }
.middle #flows .flow .list .item { border: 1px solid #e6e6e6; padding-bottom: 0; margin-bottom: 11px; }
.middle #flows .flow .list .item:before { bottom: -12px; }
.middle #flows .flow .list .item .txt { font-size: 1.3rem; text-align: center; padding: 14px 10px; line-height: 1.75; }
.middle #flows .flow .list .item .txt .min { font-size: 1.2rem; color: #8d8d8d; }
.middle #flows .flow .info { color: #8d8d8d; font-size: 1.2rem; line-height: 1.6; }
@media all and (min-width: 769px) { .middle #flows { padding-bottom: 112px; }
  .middle #flows .tit01 { margin-bottom: 42px; }
  .middle #flows .flow { width: 100%; }
  .middle #flows .flow .list .item { display: table; width: 1198px; margin-bottom: 22px; }
  .middle #flows .flow .list .item .tit, .middle #flows .flow .list .item .txt { display: table-cell; vertical-align: middle; }
  .middle #flows .flow .list .item .tit { width: 348px; }
  .middle #flows .flow .list .item .txt { font-size: 1.6rem; text-align: left; padding-left: 30px; line-height: 2; }
  .middle #flows .flow .list .item .txt .min { font-size: 1.4rem; }
  .middle #flows .flow .info { font-size: 1.4rem; line-height: 2; } }

/* #lead
================================================ */
#requirements #lead { border-bottom: 2px solid #e6e6e6; }
#requirements #lead .tit { color: #313131; }
@media screen and (min-width: 769px) { #requirements #lead .inner { padding: 48px 0 50px; } }

/* #typeList
================================================ */
#requirements #typeList { padding: 17px 0 21px; }
#requirements #typeList .head { margin-bottom: 8px; }
#requirements #typeList .head .secTit { font-size: 2.2rem; font-weight: bold; letter-spacing: .075em; }
#requirements #typeList .list .item { margin-bottom: 15px; }
#requirements #typeList .item a { padding: 0; display: block;	text-decoration: none; }
#requirements #typeList .item a .txt { font-size: 1.3rem; font-weight: 500; line-height: 1.46154; position: relative; padding: 18px 10px; color: #1b1b1b; text-align: center;	overflow: hidden; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); }
#requirements #typeList .item a .txt:after { position: absolute;top: 0; right: -263%; content: ''; width: 300%; height: 100%; background: #eee; transform: skewX(-60deg); transition: all 0.3s ease; }
#requirements #typeList .item a .txt span {	position: relative;	z-index: 1;}
#requirements #typeList .item a:hover .txt:after {right: -104%; }
@media screen and (min-width: 769px) { #requirements #typeList { padding: 110px 0 135px; }
  #requirements #typeList .head { margin-bottom: 45px; }
  #requirements #typeList .head .secTit { font-size: 4rem; line-height: 1.3; }
  #requirements #typeList .list .item { width: 33.33%; float: left; margin-bottom: 0; }
  #requirements #typeList .list .item a .txt { line-height: 1.125; font-size: 2rem; padding-top: 26px; padding-bottom: 26px;}
  #requirements #typeList .list .item a .txt:after { right: -270%; }
  #requirements #typeList .list .item a:hover img { transition: all 0.3s ease; opacity: .7; }
  #requirements #typeList .list .item a:hover .txt:after { right: -100%; } }
  #requirements #typeList .list .item .btn { width: 100%; border-radius: 0; }
  #requirements #typeList .list .item .btn a { font-size: 2rem; padding-top: 26px; padding-bottom: 26px; border-radius: 0; box-shadow: -1px 0 3px rgba(0, 0, 0, 0.1); } }
