@charset "UTF-8";
/*
	BASE
*******************************/
/*
font-family: "Geologica", sans-serif;
font-family: "Zen Kaku Gothic New", sans-serif;
*/
* {
  font-family: "Zen Kaku Gothic New", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-feature-settings: "palt";
  line-height: 1;
}

.font_jp {
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.font_en {
  font-family: "Geologica", sans-serif;
  font-weight: 600;
  font-style: normal;
}

:root {
  --color_main: #009E41;
  --color_main2: #00742F;
  --color_sub: #E5F5EB;
  --color_sub2: #66AB82;
  --color_white: #FFFFFF;
  --color_txt: #000000;
  --color_gray: #D0D0D0;
  --color_gray2: #777777;
  --color_gray3: #D0D0D0;
  --color_gray4: #999999;
  --color_bg: #FAFDFB;
  --font_jp: hiragino-kaku-gothic-pron, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  --font_en: roc-grotesk-wide, sans-serif;
}

html {
  font-size: 62.5%;
  line-height: 1;
}
html body {
  font-size: 1.6rem;
  font-weight: 600;
  background-color: var(--color_bg);
  opacity: 0;
  pointer-events: none;
}
html body img {
  -webkit-backface-visibility: hidden;
  vertical-align: bottom;
  line-height: 0;
}
html body li {
  list-style: none;
}
html body p, html body th, html body td, html body dt, html body dd, html body li, html body h1, html body h2, html body h3, html body h4, html body h5, html body h6, html body label {
  color: #1D1D1D;
}
html body a,
html body a:link,
html body a:visited {
  color: #1D1D1D;
  text-decoration: none;
  outline: none;
  border: none;
}
html body a:hover {
  text-decoration: none;
}
html body a img {
  outline: none;
  border: none;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
html body area {
  border: none;
  outline: none;
}
html body .clear {
  clear: both;
}
html body * img {
  max-width: 100%;
  height: auto;
}
html.wf-active.html-load body {
  opacity: 1;
  pointer-events: all;
  transition-property: opacity;
  transition-duration: 1s;
}

.wrap {
  position: relative;
}
.wrap .contents {
  max-width: 1800px;
  width: calc(100% - 100px);
  margin: 0 auto;
}
.wrap .contents p {
  line-height: 2;
}
.wrap .contents .inline {
  font: inherit;
  color: inherit !important;
  display: inline-block;
}

#foot_recruit .wrap {
  padding: 200px 0 150px;
  border-radius: 40px 40px 0 0;
  background-color: var(--color_sub);
}
#foot_recruit .wrap .contents .ttl_h2 {
  font-size: min(1.7vw, 2.2rem);
  display: grid;
  grid-template-columns: 1em auto;
  align-items: center;
  grid-gap: 1em;
  margin-bottom: 4em;
}
#foot_recruit .wrap .contents .ttl_h2::before {
  content: "";
  height: 1em;
  background-color: var(--color_main);
  border-radius: 50%;
}
#foot_recruit .wrap .contents .ttl_h2::after {
  content: "";
  grid-area: 2/1/3/2;
}
#foot_recruit .wrap .contents .ttl_h2 .font_en {
  font-size: min(6.3vw, 8.2rem);
}
#foot_recruit .wrap .contents .contents_inner {
  display: flex;
  flex-wrap: wrap;
  max-width: 1700px;
  margin: 0 auto;
  gap: min(2.8vw, 40px);
}
#foot_recruit .wrap .contents .contents_inner li {
  flex-grow: 1;
}
#foot_recruit .wrap .contents .contents_inner li:first-child {
  width: 100%;
  margin-bottom: min(3.6vw, 50px);
}
#foot_recruit .wrap .contents .contents_inner li:first-child a {
  display: block;
  border-radius: 30px;
  overflow: hidden;
  position: relative;
}
#foot_recruit .wrap .contents .contents_inner li:first-child a img,
#foot_recruit .wrap .contents .contents_inner li:first-child a picture {
  display: block;
}
#foot_recruit .wrap .contents .contents_inner li:first-child a .btn_item {
  padding: 1.66em 2.2em;
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 0;
  border-radius: 0 30px 0 0;
  min-width: calc((100% - 80px) / 3);
}
#foot_recruit .wrap .contents .contents_inner li:nth-child(2), #foot_recruit .wrap .contents .contents_inner li:nth-child(3) {
  min-width: calc((100% - 40px) / 2);
}
#foot_recruit .wrap .contents .contents_inner li .btn_item {
  background-color: var(--color_main);
  font-size: min(1.66vw, 2.4rem);
  display: grid;
  grid-template-columns: 1fr 1em;
  align-items: end;
  padding: 2em 2.2em;
  border-radius: 20px;
}
#foot_recruit .wrap .contents .contents_inner li .btn_item h3 {
  color: var(--color_white);
  display: grid;
  line-height: 1.5;
  grid-row-gap: 0.2em;
}
#foot_recruit .wrap .contents .contents_inner li .btn_item h3 .font_en {
  font-size: min(1.4vw, 2rem);
}
#foot_recruit .wrap .contents .contents_inner li .btn_item img {
  transform: translateY(-0.4em);
}
#foot_recruit .wrap .contents .contents_inner li.soon .btn_item {
  background-color: var(--color_main2);
  pointer-events: none;
}
#foot_recruit .wrap .contents .contents_inner li.soon .btn_item h3 {
  color: var(--color_sub2);
}
#foot_recruit .wrap .contents .contents_inner li.soon .btn_item img {
  opacity: 0.5;
}
main .animation, main #page_ttl, main .contents {
  opacity: 0;
  transform: translateY(50px);
  transition-duration: 2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
main .animation.show, main #page_ttl.show, main .contents.show {
  opacity: 1;
  transform: translateY(0px);
}
main .contents:has(.jobinfo) {
  transform: translateY(0px);
}
main .contents:has(.list_interview) {
  opacity: 1;
  transform: translateY(0px);
}
main .contents:has(.list_interview) .select_tag, main .contents:has(.list_interview) .list_interview_item {
  opacity: 0;
  transform: translateY(50px);
  transition-duration: 2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
main .contents:has(.list_interview) .select_tag.show, main .contents:has(.list_interview) .list_interview_item.show {
  opacity: 1;
  transform: translateY(0px);
}
@media (hover: hover) {
  .wrap .contents a {
    transition: 0.3s;
  }
  .wrap .contents a img, .wrap .contents a::before, .wrap .contents a::after {
    transition: 0.3s;
  }
  #foot_recruit .wrap .contents .contents_inner li .btn_item {
    transition: 0.3s;
  }
  #foot_recruit .wrap .contents .contents_inner li .btn_item h3 {
    transition: 0.3s;
  }
  #foot_recruit .wrap .contents .contents_inner li .btn_item img {
    transition: 0.3s;
  }
  #foot_recruit .wrap .contents .contents_inner li .btn_item:hover h3 {
    opacity: 0.66;
  }
  #foot_recruit .wrap .contents .contents_inner li .btn_item:hover img {
    transform: translate(0.4em, -0.4em);
  }
}
@media screen and (max-width: 1200px) {
  .wrap .contents {
    width: calc(100% - 60px);
  }
}
@media screen and (max-width: 1024px) {
  #foot_recruit .wrap {
    padding: 150px 0 100px;
  }
  #foot_recruit .wrap .contents .ttl_h2 {
    font-size: min(2.1vw, 2.2rem);
  }
  #foot_recruit .wrap .contents .ttl_h2 .font_en {
    font-size: min(7.5vw, 8.2rem);
  }
  #foot_recruit .wrap .contents .contents_inner {
    gap: min(2vw, 40px);
  }
  #foot_recruit .wrap .contents .contents_inner li:first-child {
    margin-bottom: min(3vw, 50px);
  }
  #foot_recruit .wrap .contents .contents_inner li:first-child a {
    border-radius: 20px;
  }
  #foot_recruit .wrap .contents .contents_inner li:first-child a .btn_item {
    border-radius: 0 20px 0 0;
    min-width: calc((100% - 80px) / 2.5);
  }
  #foot_recruit .wrap .contents .contents_inner li .btn_item {
    font-size: min(2vw, 2.4rem);
    padding: 2em 1.66em;
    border-radius: 20px;
  }
  #foot_recruit .wrap .contents .contents_inner li .btn_item h3 .font_en {
    font-size: min(1.6vw, 2rem);
  }
  .pcOnly2 {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .wrap .contents {
    width: calc(100% - 40px);
  }
  #foot_recruit .wrap {
    padding: 80px 0;
    border-radius: 40px 40px 0 0;
  }
  #foot_recruit .wrap .contents .ttl_h2 {
    font-size: 1.6rem;
    grid-gap: 1em 1.2em;
  }
  #foot_recruit .wrap .contents .ttl_h2 .font_en {
    font-size: 3.6rem;
  }
  #foot_recruit .wrap .contents .contents_inner {
    display: grid;
    gap: 20px;
    grid-gap: 20px;
  }
  #foot_recruit .wrap .contents .contents_inner li:first-child {
    width: 100%;
    margin-bottom: 0;
  }
  #foot_recruit .wrap .contents .contents_inner li:first-child a {
    border-radius: 20px;
  }
  #foot_recruit .wrap .contents .contents_inner li:first-child a .btn_item {
    padding: 1.5em;
    position: relative;
    border-radius: 0;
    width: 100%;
  }
  #foot_recruit .wrap .contents .contents_inner li .btn_item {
    font-size: 1.8rem;
    padding: 1.5em;
  }
  #foot_recruit .wrap .contents .contents_inner li .btn_item h3 .font_en {
    font-size: 1.5rem;
  }
  .pcOnly {
    display: none !important;
  }
}
@media screen and (min-width: 1024.1px) {
  .tbOnly {
    display: none !important;
  }
}
@media screen and (min-width: 768.1px) {
  .spOnly {
    display: none !important;
  }
}