/*
Theme Name:		日邦エレックスリクルート2024
Description: SMART-MINIMUMをカスタマイズしています。http://rfs.jp/
Author:			ComQuest
Author URI:	http://www.comquest.co.jp/
Version:		1.0
*/

/*= font =*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@200;400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400..700&family=Shadows+Into+Light&display=swap');@font-face{
  font-family: "KOKizahashiKinryo";
  font-weight: normal;
  src:url("https://www.font-stream.com/fontdata/KOKizahashiKinryo-B.woff2?token=asidoito0usk72bb") format("woff2"),
  url("https://www.font-stream.com/fontdata/KOKizahashiKinryo-B.woff?token=asidoito0usk72bb") format("woff");
}

/*= reset =*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
main, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
  box-sizing:border-box;
}
html, body, div, applet, object, iframe,dl, dt, dd, ol, ul, li,
h1, h2, h3, h4, h5, h6, p, tr, th, td {
  font-size: 100%;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section {
  display: block;
}
/* HTML5 hidden-attribute fix for newer browsers */
*[hidden] {
  display: none;
}
body {
  line-height: 1.4;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
input,button,select,textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}
textarea {
  resize: vertical;
}
input[type='checkbox'],input[type='radio'] {
  display: none;
}
input[type='submit'],  input[type='button'],
label,button,select {
  cursor: pointer;
}
select::-ms-expand {
  display: none;
}

img {
  max-width:100%;
  vertical-align:bottom;
}
a {
  text-decoration:none;
  color: #111;
  transition: all .25s ease;
}
a:hover {
  color: #00AEFF;
}
.iframe_wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.iframe_wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 768px) {
  .show_sp {
    display: block;
  }
}
@media screen and (min-width: 769px) {
  .show_sp {
    display: none;
  }
  .show_tab {
    display: block;
  }
}
@media screen and (min-width: 1024px) {
  .show_tab {
    display: none;
  }
}

#site-header {
  background: #fff;
  padding: 8px;
  position: fixed;
  height: 78px;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 10;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

#site-logo a {
  display: inline-block;
}
#site-logo .add_logo{
  font-weight: 700;
  color: #00AEFF;
  padding: 14px 0;
}

#site-logo img{
  height: 62px;
  vertical-align: bottom;
}
@media screen and (max-width: 768px) {
  #site-header {
    display: grid;
    grid-template-columns:1fr 44px;
    align-items: center;
    transition: background-color .25s ease;
  }
  .menu-open #site-header {
    background-color: #fff;
  }
  #site-header .menu-global_menu-container {
    position: absolute;
    width: 100%;
    min-height: calc(100vh - 78px);
    background: #fff;
    left: 0;
    top: -100%;
    padding: 2rem;
    visibility: hidden;
    opacity: 0;
    transition: opacity .25s ease,top .25s ease,visibility .25s ease;
    z-index: 5;
    border-top: 14px solid #00AEFF;
  }
  .menu-open #site-header .menu-global_menu-container {
    visibility: visible;
    top: 78px;
    opacity: 1;
  }
  #mb-menu {
    position: relative;
    width: 44px;
    height: 22px;
    display: inline-block;
    cursor: pointer;
  }
  #mb-menu .menu_btn {
    position: absolute;
    width: 44px;
    height: 2px;
    background: #00AEFF;
    left: 0;
    margin: auto;
    top: 0;
    bottom: 0;
    opacity: 1;
    transition:width .4s ease, opacity .4s ease;
  }
  #mb-menu::before,
  #mb-menu::after {
    content: "";
    position: absolute;
    width: 44px;
    height: 2px;
    background: #00AEFF;
    left: 0;
    margin: auto;
    transform: rotate(0);
  }
  #mb-menu::before{
    top: 0;
    transition:top .25s ease,transform .25s ease;
  }
  #mb-menu::after{
    bottom: 0;
    transition:bottom .25s ease,transform .25s ease;
  }
  .menu-open #mb-menu .menu_btn {
    width: 0;
    opacity: 0;
  }
  .menu-open #mb-menu::before{
    transform: rotate(45deg);
    bottom: 0;
  }
  .menu-open #mb-menu::after{
    transform: rotate(135deg);
    top: 0;
  }

  #site-header .sub-menu {
    display: none;
  }
  #site-header .menu-item a{
    display: block;
    font-size: 1.125rem;
    padding: 1rem 0;
    border-bottom: 1px solid #D9D9D9;
    cursor: pointer;
  }
  #site-header .sub-menu .menu-item a{
    border-bottom:1px solid #CCEFFF;
    background: #F2FBFF;
    padding: 1rem;
  }
  #site-header .sub-menu .menu-item:last-child a{
    border-bottom: none;
  }
  #site-header .menu-item-has-children > a{
    padding-right: 2rem;
    position: relative;
    pointer-events: none;
  }
  #site-header .menu-item-has-children > a::before {
    content: "";
    width: 1.25rem;
    height: 1.25rem;
    border-bottom: 1px solid #00AEFF;
    border-right: 1px solid #00AEFF;
    transform: rotate(45deg);
    margin: auto;
    top: 1rem;
    right: .5rem;
    position: absolute;
    transition: top .5s ease, transform .5s ease;
  }
  #site-header .menu-item-has-children.active > a::before {
    top: 1.25rem;
    transform: rotate(225deg);
  }
}

#site-header #menu-global_menu a{
  transition:none;
}

@media screen and (min-width: 768px) {
  #site-header {
    display: grid;
    grid-template-columns:350px 1fr;
    align-items: center;
  }
  #site-header #menu-global_menu {
    display: block;
    text-align: right;
    position: relative;
  }
  #site-header #menu-global_menu > .menu-item {
    display: inline-block;
    padding: 8px;
    position: relative;
  }
  #site-header #menu-global_menu > .menu-item > a{
    display: block;
    transition: color .25s ease;
  }
  #site-header #menu-global_menu > .menu-item > a:hover{
    color: #00AEFF;
  }
  #site-header .sub-menu {
    width: 300px;
    position: absolute;
    top: calc(100% + 16px);
    left: 0;
    right: 0;
    margin: auto;
    transform: translateX(-100px);
    padding: 1rem;
    color: #333;
    background: #fff;
    visibility: hidden;
    opacity: 0;
    transition: opacity .25s ease, visibility .25s ease;
    display: block !important;
    text-align: left;
    box-shadow: 0 0 4px rgba(0,0,0,0.25);
  }
  #site-header .sub-menu::before {
    content: "";
    position: absolute;
    margin: auto;
    width: 16px;
    height: 16px;
    transform: rotate(45deg);
    background: #fff;
    left: 0;
    right: 0;
    top: -8px;
  }
  #site-header #menu-global_menu > .menu-item-has-children:last-child .sub-menu {
    left: auto;
    transform: none;
  }
  #site-header #menu-global_menu > .menu-item-has-children:last-child .sub-menu::before {
    left: auto;
    right: 16px;
  }
  #site-header #menu-global_menu > .menu-item:hover > a + .sub-menu{
    visibility: visible;
    opacity: 1;
  }
  #site-header .sub-menu .menu-item{
    padding: .5rem 0;
  }
  #site-header #menu-global_menu .sub-menu .menu-item a{
    transition: color .25s ease;
  }
  #site-header #menu-global_menu .sub-menu .menu-item a:hover{
    color: #00AEFF;
  }
}

.section {
  margin:0 auto ;
  max-width: 1140px;
  padding: 24px;
}
@media screen and (min-width: 768px) {
  .section {
    padding: 3rem 1rem;
  }
}

.section .btn_wrapper .btn{
  color: #FF2D5F;
  padding: .5rem 2rem .5rem 1rem;
  border:1px solid #FF2D5F;
  position: relative;
  display: inline-block;
}

.section .btn_wrapper .btn::before{
  content: "";
  width: .8rem;
  height: .8rem;
  border-top:1px solid #FF2D5F;
  border-right:1px solid #FF2D5F;
  position: absolute;
  right: 1rem;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: rotate(45deg);
}

/*= フッター =*/
#site-footer {
  background: #001751;
  padding: 2rem;
  text-align: center;
  color: #fff;
}
#site-footer .corp_info .btn-wrap{
  margin-top: 2rem;
}
#site-footer .corp_info .btn-wrap a{
  position: relative;
  display: inline-block;
  padding: 1rem 2rem 1rem 1rem;
  background: none;
  color: #00AEFF;
  border:#00AEFF 1px solid;
  transition:color .25s ease,background .25s ease;
}
#site-footer .corp_info .btn-wrap a:hover{
  color: #fff;
  background: #00AEFF;
}

#site-footer .corp_info .btn-wrap a::after{
  content: "";
  width: 0;
  height: 0;
  border:8px solid transparent ;
  border-left:8px solid #00AEFF ;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: .25rem;
  transition:border .25s ease;
}

#site-footer .corp_info .btn-wrap a:hover::after{
  border-left:8px solid #fff ;
}

.footer_option {
  margin: 2rem 0 1rem;
}
.footer_policy {
  padding: .5rem 0;
}

.footer_policy a{
  color: #fff;
}
.footer_policy a:hover{
  color: #00AEFF;
}

#site-footer .footer_logo .add_logo {
  color: #fff;
  font-weight: 700;
  padding: 14px 8px;
  display: block;
}


@media screen and (max-width: 768px) {
  #site-footer .corp_info{
    margin-bottom: 2rem;
  }
}
@media screen and (min-width: 768px) {
  #site-footer .grid_wrapper{
    display: grid;
    grid-template-columns:repeat(2,1fr);
  }
  #site-footer .corp_info {
    text-align: left;
  }
  #site-footer .footer_logo .add_logo {
    color: #fff;
    font-weight: 700;
    padding: 8px 0;
    display: block;
  }
}

#site-footer .footer-logo {
  max-width: 320px;
}

@media screen and (min-width: 1024px) {
  #site-footer .menu{
    display: grid;
    grid-template-columns:repeat(2,1fr);
  }
}

.section_title {
  margin-bottom: .5rem;
  font-weight: 700;
  color:  #001751;
  font-size: 2rem;
  border-bottom: 2px solid #001751;
}

/*= 募集要項 =*/
.guide_section .guide .guide_header {
  margin-bottom: 1.5rem;
}
.guide_section .guide .guide_header .guide_name {
  font-size: 1.5rem;
  background:#001751;
  font-weight: 700;
  color: #fff;
  padding:.5rem 1rem;
}
.guide_section .guide .guide_body {
  background: #fff;
}
@media screen and (max-width: 768px) {
  .guide_section .guide .guide-list{
    margin-bottom: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .guide_section .guide .guide-list{
    display: grid;
    grid-template-columns:repeat(2,1fr);
    gap: 2rem;
  }
}

.guide_section .guide .guide-flex {
  display: grid;
  grid-template-columns:100px 1fr;
  margin-bottom: 8px;
  padding:0 1rem 8px;
}
.guide_section .guide .guide-flex .guide-title {
  border-right: 2px solid #001751;
  padding-right: 16px;
  font-weight: 700;
}
.guide_section .guide .guide-flex .guide-main {
  padding-left: 1rem;
}
.guide_section .guide .guide-flex .guide-main li{
  margin-bottom: .5rem;
}

.guide_section .guide .guide-flex p {
  padding-bottom: 0;
}

/*= 雇用条件 =*/
@media screen and (max-width: 768px) {
  .info_section .information .section_body{
    margin-bottom: 1rem;
  }
}
@media screen and (min-width: 768px) {
  .info_section .information .flex-box{
    display: grid;
    grid-template-columns:repeat(2,1fr);
    gap: 2rem;
  }
}

.info_section .information-block {
  padding: 1rem;
  background: #fff;
}

.info_section .information .section_subtitle {
  font-size: 1.5rem;
  border-bottom: 1px solid #001751;
  font-weight: 700;
  color: #00AEFF;
}

.info_section .information-list li{
  position:relative;
  padding-left: 1.5rem;
  margin-bottom: 12px;
  position: relative;
}

.info_section .information-list li:before{
  position: absolute;
  content: "";
  width: 6px;
  height: 12px;
  border-right: 4px solid #001751;
  border-bottom: 4px solid #001751;
  transform: rotate(45deg);
  left: 2px;
  top: 2px;
}

.info_section .section_subtitle {
  margin-bottom: 1rem;
}

.info_section .attention-note {
  font-size: .875rem;
}

/*= 選考のながれ =*/
.flow_section .step-box{
  align-items: center;
  margin-bottom: 3rem;
  position: relative;
}

.flow_section .step-box .step-tag {
  text-align: center;
  color: #fff;
  font-weight: 700;
  padding:1rem;
}

.flow_section .step_1 .step-tag {
  background:#00AEFF ;
}

.flow_section .step_2 .step-tag {
  background:#001751 ;
}

.flow_section .step_3 .step-tag {
  background:#FF002E ;
}

.flow_section .step-box .step_txt {
  display: block;
  line-height: 1;
}

.flow_section .step-box .num {
  display: block;
  font-size: 2rem;
  line-height: 1;
}


.flow_section .step-box .step-body {
  padding: .5rem 1rem;
  background: #fff;
  text-align:center;
  font-size: 1.125rem;
}

.flow_section .step_3 .step-body{
  color: #FF002E;
  font-weight: 700;
}

.flow_section .step_1::before,
.flow_section .step_2::before{
  content: "";
  width: 2rem;
  height: 2rem;
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  bottom: -2rem;
  border: 4px solid #002C9E;
  transform: rotate(45deg);
  border-top: 4px solid transparent;
  border-left: 4px solid transparent;
}

@media screen and (min-width: 1024px) {
  .flow_section .flow-wrapper{
    display: grid;
    grid-template-columns:repeat(3,1fr);
    gap: 1rem;
  }
  .flow_section .step-box{
    display: grid;
    grid-template-columns:calc(50px + 2rem) 1fr;
    background: #fff;
  }
  .flow_section .step_1::before,
  .flow_section .step_2::before{
    display: none;
  }
  .flow_section .step-box .step-body {
    background: none;
  }
}

/* reCAPTCHAバッジ非表示 */
.grecaptcha-badge { visibility: hidden; }