@charset "utf-8";
/* up date 2016-12-01 */

body.recruit a:hover { text-decoration: none; transition: 0.3s ease-in-out; }
.drawer-brand { display: none; }

.gnavi .gnavi__recruit .drop-down_link:after { opacity: 1; }

/* スマートフォン フッター固定 */
body:not(.entry) .fixed_footer .link_entry{ display: block;}
.fixed_footer .link_recruit{ display: none;}

/*==============================================================*/
/* gnavi */
/*==============================================================*/

/* pc */
@media screen and (min-width:768px) {
  #recruit_nav { background: #0068b7; color: #fff; border-bottom: solid 1px rgba(0,0,0,.3)}
  #recruit_nav ul{ width: 100%;display: flex;align-items: center;justify-content: space-between; }
  #recruit_nav li { display: inline-block; transform: rotate(0.028deg); font-weight: 500;}
  #recruit_nav li a {display: block; padding: 25px 5px; position: relative; color: #fff; }
  #recruit_nav li a::after { position: absolute; bottom: 0; left: 50%; content: ''; width: 0; height: 3px; background-color: #BED4E6; transition: .3s; -webkit-transform: translateX(-50%); transform: translateX(-50%); }
  #recruit_nav li a:hover::after { width: 100%; }
  
  #recruit_nav li:last-child a { display: block;background-color: #fff; background-image: linear-gradient(to right, rgba(230,0,17,1) 50%, rgba(0,0,0,0) 50%); background-position: 0 0; background-size: 200% auto; font-weight: bold; color: #fff; border-radius: 30px; padding: 8px 30px; border: 1px solid #e60011; margin-left: 20px; letter-spacing: 0; }
  #recruit_nav li:last-child a:hover { background-position: -100% 0; border: 1px solid #e60011; box-sizing: border-box; color: #e60011; }
  #recruit_nav li:last-child a:hover::after { display: none; }
  
  body.recruit-home #recruit_nav .menu__recruit-home a:after,
  body.service #recruit_nav .menu__service a:after,
  body.new-sales #recruit_nav .menu__new-sales a:after,
  body.new-design #recruit_nav .menu__new-sales a:after,
  body.new-construction #recruit_nav .menu__new-sales a:after,
  
  body.internship #recruit_nav .menu__internship a:after,
  body.mid-sales #recruit_nav .menu__mid-sales a:after,
  body.mid-design #recruit_nav .menu__mid-sales a:after,
  body.mid-construction #recruit_nav .menu__mid-sales a:after,
  
  body.company #recruit_nav .menu__company a:after
  { width: 100%;}
}

/* sp */
@media screen and (max-width:767px) {
  #recruit_nav .inner{ padding: 0; }
  
  #recruit_nav .menu_btn{ background: #0068B7; color: #fff; font-weight: bold;cursor: pointer;text-align: left;padding: 0 15px;font-size: 1.8rem;display: block;position: relative;line-height: 60px;}
  #recruit_nav .menu_btn:after {background: #004478;font-family: "Font Awesome 5 Free";color: #fff;content: '\f067';display: block;line-height: 60px;position: absolute;text-align: center;right: 0;top: 0;bottom: 0;width: 60px;}
  #recruit_nav .menu_btn.on:after {content: '\f068';}

  #recruit_nav .menu_content {background: #F6F7F9;display: none;}
  #recruit_nav .menu_content li{border-bottom: solid 1px #ddd;font-size: 16px;}
  #recruit_nav .menu_content a{display: block;padding: 15px 35px 15px 15px;position: relative;}
  #recruit_nav .menu_content a:after{content: '';position: absolute;right: 15px;top: 0;bottom: 0;display: inline-block;line-height: 1;margin: auto;width: 25px;height: 16px;background: url("../../../common/img/arrow_r.svg") no-repeat right bottom/ 25px auto;}
}

/*==============================================================*/
/* mainimg */
/*==============================================================*/
#mainimg figure img { width: 100%; height: auto}
#mainimgtop { width: 100%; background: url(../../img/recruit/main-bgtop.jpg) no-repeat; background-size: cover; padding: 70px 0; background-attachment: fixed; background-position: center; }
#mainimgbottom { background: url(../../img/recruit/main-bgbottom.jpg) no-repeat; padding-top: 12.2%; background-size: cover; min-height: 150px; box-sizing: border-box; }
#mainimgIn { width: 1160px; margin: 0 auto; overflow: hidden; }
#mainimgIn .txt { float: left; }
#mainimgIn .catch { float: right; background: rgba(0,104,182,.9); color: #fff; font-size: 26px;  padding: 50px 15px 50px 45px; letter-spacing: 0.3em; line-height: 1.9; transform: rotate(0.028deg); }
/*==============================================================*/
/* contentsWrap */
/*==============================================================*/
.contentsWrap { width: 1160px; margin: 0 auto; }
/*hover actions*/
.uphover { display: block; }
.uphover:hover { transform: translateY(-15px); }

/*==============================================================*/
/* パンくずリスト */
/*==============================================================*/
.breadcrumb{
    margin-top: 15px;
    color: #333 !important;
    font-size: 12px;
    justify-content: end;
}
.breadcrumb a{
    color: #333 !important;
}
.breadcrumb span a:after{
      width: 5px;
    height: 5px;
      border-top: 1px solid #333 !important;
    border-right: 1px solid #333 !important;
}

/*==============================================================*/
/* top */
/*==============================================================*/
/*コンセプト*/
#topConcept { text-align: center; padding: 50px 0; }
#topConcept .catch { font-size: 26px; font-weight: bold; margin-bottom: 30px; }
#topConcept .txt { margin-bottom: 50px; }
#topConcept .txt p { margin-bottom: 8px; }
#topConcept li { display: inline-block; margin: 0 20px; }
#topConcept li a { display: block; }
#topConcept li figure { margin-bottom: 20px; }
#topConcept li p { font-size: 22px;  transform: rotate(0.028deg); }
/*youtube*/
.youtube {
  margin: 90px 0 0;
  position: relative;
  width: 80%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 80% !important;
  height: 80% !important;
}

/*ポップアップバナー*/
body.open_popup {
  overflow: hidden;
}
.bg_onetime_popup *{box-sizing: border-box;}
.bg_onetime_popup {
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 9999;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility:  hidden;
  transition: 0.5s;
}

body.open_popup .bg_onetime_popup {
  opacity: 1;
  visibility: visible;
}

.onetime_popup {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  max-width: 372px;
  width: 100%;
  background-color: #fff;
}
.onetime_popup_content img{
   max-width: 100%;
   height: auto;
   image-rendering: -webkit-optimize-contrast;
}
.onetime_popup_title_close {
  margin-bottom: 20px;
  position: relative;
  display: block;
  margin-left: auto;
  width: 30px;
  height: 30px;
  cursor: pointer;
}
.onetime_popup_title_close::before,
.onetime_popup_title_close::after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 100%;
  height: 3px;
  background-color: #4B4B4B;
  content: "";
}
.onetime_popup_title_close::before {
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
.onetime_popup_title_close::after {
  transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}

.onetime_popup_content {
  padding: 15px 20px 32px;
  text-align: left;
}
.onetime_popup_content p{
  margin-top: 24px;
  font-size: 16px;
}
.onetime_popup_content .internEntry{
  position: relative;
  margin-inline:auto ;
  max-width: 220px;
  width: 100%;
  margin-top: 24px;
  background-image: linear-gradient(to right, rgba(230,0,17,1) 50%, rgba(81,203,255,1.00) 50%);
  background-position: 0 0;
  background-size: 200% auto;
  font-weight: bold;
  color: #fff !important;
  border-radius: 50px;
  padding: 12px 1em;
  letter-spacing: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  text-align: center;
  
}
.onetime_popup_content  .internEntry:hover {
  background-position: -100% 0;
  box-sizing: border-box;
  color: #fff;
}
.onetime_popup_content  .internEntry::after{
  content: "";
  margin-left: 0.8em;
  display: inline-block;
  vertical-align: middle;
  width: 8px;
  height:13px;
  background:url("../../img/recruit/internship/arrow.svg") no-repeat center;
  background-size: contain;
}
@media screen and (max-width:767px) {
  .onetime_popup{width: 92%;}
  #topConcept .txt br{
    display: none;
  }
}
/**/

/*新卒中途採用ボタン*/
#recruitbtn { text-align: center; background: #0068b6; padding: 70px 0; }
#recruitbtn ul {display: flex;  letter-spacing: -.4em; margin-bottom: 50px; }
#recruitbtn li { display: inline-block; letter-spacing: normal; }
#recruitbtn li:first-child,#recruitbtn li:nth-child(2)  { margin-right: 40px; }
#recruitbtn li p { background: #fff; padding: 35px; color: #0068b6; font-size: 22px; }
#recruitbtn li p img { display: block; margin: 15px auto 0;}
#recruitbtn li figure  img { width: 100%; height:auto ;}
#recruitbtn .btn { width: 500px; margin: 0 auto; }
#recruitbtn .btn a { background-image: linear-gradient(to right, rgba(186,0,14,1) 50%, rgba(81,203,255,1.00) 50%); background-position: 0 0; background-size: 200% auto; font-weight: bold; color: #fff; border-radius: 50px; padding: 20px; letter-spacing: 0; display: block; font-size: 22px;  }
#recruitbtn .btn a:hover { background-position: -100% 0; box-sizing: border-box; color: #fff; }

/*=============================================================================================================================================
　レスポンシブスタイル設定
=============================================================================================================================================*/

@media screen and (max-width:767px) {
.pad10LRsp { padding-left: 10px; padding-right: 10px; }
.pad10sp { padding: 10px!important; }
.mb10sp { margin-bottom: 10px!important; }
.mb20sp { margin-bottom: 20px!important; }
.mt10sp { margin-top: 10px!important; }
.mt20sp { margin-top: 20px!important; }
.clearSp { clear: both!important; }
.nonePc { display: block!important; }
.noneSp { display: none!important; }
.inlineBlockSp { display: inline-block!important; }
img { max-width: 100%; }
/**/
.contentsWrap { width: 96%; margin: 0 auto; }
#main { font-size: 14px; }

/*==============================================================*/
/* mainimage */
/*==============================================================*/
#mainimgtop { background-attachment: inherit; background-position: bottom; padding: 60px 0; }
#mainimgIn { margin: 0 auto; width: 96%; }
#mainimgIn .txt { float: none; margin: 20px 0; }
#mainimgIn .catch { float: none; margin: 0 auto; width: 60%; padding: 52% 0 0; height: 0; letter-spacing: 0.26em; position: relative; }
#mainimgIn .catch span { display: block; font-size: 5vw; left: 58%; margin: 0 auto; position: absolute; top: 50%; transform: translate(-50%, -50%); width: 90%; }
#mainimgbottom { background-position: center center; background-size: 120% auto; min-height: inherit; padding-top: 14%; }

/*==============================================================*/
/* top */
/*==============================================================*/
/*コンセプト*/
#topConcept .catch { font-size: 18px; }
#topConcept .catch { text-align: left; margin-bottom: 10px; }
#topConcept .txt { text-align: left; margin-bottom: 30px; }
#topConcept li { margin: 0 10px; width: 40%; }
#topConcept li:first-child { display: block; margin: 0 auto 10px; }
#topConcept li figure { margin-bottom: 10px; }
#topConcept li p { font-size: 16px; }
/*youtube*/
.youtube {
  width: 100%;
}
.youtube iframe {
  width: 100% !important;
  height: 100% !important;
}
/*新卒中途採用ボタン*/
#recruitbtn { padding: 50px 0; }
#recruitbtn ul { margin-bottom: 30px; }
#recruitbtn li { width: 49%; }
#recruitbtn li:first-child,#recruitbtn li:nth-child(2){ margin-right: 2%; }
#recruitbtn li p { font-size: 16px; padding: 20px; }
#recruitbtn li p img { margin-top: 10px; }
#recruitbtn .btn { width: 80%; max-width: 500px; }
#recruitbtn .btn a { font-size: 16px; padding: 15px; }
#mfp_element_8 { min-width: 50px !important }
}

@media screen and (max-width:570px) {
  #recruitbtn ul{
    padding-inline: 2%;
    display: block;
  }
  #recruitbtn li:first-child,#recruitbtn li:nth-child(2){ margin-right: 0; }
  #recruitbtn li{width: 100%;}
  #recruitbtn li + li{margin-top: 24px;}
}