@charset "UTF-8";
:root {
  --invariants: 2.5;
  --fz8: min(calc(0.1rem * 8), calc(0.1vw * 8 * var(--invariants)));
  --fz9: min(calc(0.1rem * 9), calc(0.1vw * 9 * var(--invariants)));
  --fz10: min(calc(0.1rem * 10), calc(0.1vw * 10 * var(--invariants)));
  --fz11: min(calc(0.1rem * 11), calc(0.1vw * 11 * var(--invariants)));
  --fz12: min(calc(0.1rem * 12), calc(0.1vw * 12 * var(--invariants)));
  --fz13: min(calc(0.1rem * 13), calc(0.1vw * 13 * var(--invariants)));
  --fz14: min(calc(0.1rem * 14), calc(0.1vw * 14 * var(--invariants)));
  --fz15: min(calc(0.1rem * 15), calc(0.1vw * 15 * var(--invariants)));
  --fz16: min(calc(0.1rem * 16), calc(0.1vw * 16 * var(--invariants)));
  --fz17: min(calc(0.1rem * 17), calc(0.1vw * 17 * var(--invariants)));
  --fz18: min(calc(0.1rem * 18), calc(0.1vw * 18 * var(--invariants)));
  --fz19: min(calc(0.1rem * 19), calc(0.1vw * 19 * var(--invariants)));
  --fz20: min(calc(0.1rem * 20), calc(0.1vw * 20 * var(--invariants)));
  --fz21: min(calc(0.1rem * 21), calc(0.1vw * 21 * var(--invariants)));
  --fz22: min(calc(0.1rem * 22), calc(0.1vw * 22 * var(--invariants)));
  --fz23: min(calc(0.1rem * 23), calc(0.1vw * 23 * var(--invariants)));
  --fz24: min(calc(0.1rem * 24), calc(0.1vw * 24 * var(--invariants)));
  --fz25: min(calc(0.1rem * 25), calc(0.1vw * 25 * var(--invariants)));
  --fz26: min(calc(0.1rem * 26), calc(0.1vw * 26 * var(--invariants)));
  --fz27: min(calc(0.1rem * 27), calc(0.1vw * 27 * var(--invariants)));
  --fz28: min(calc(0.1rem * 28), calc(0.1vw * 28 * var(--invariants)));
  --fz29: min(calc(0.1rem * 29), calc(0.1vw * 29 * var(--invariants)));
  --fz30: min(calc(0.1rem * 30), calc(0.1vw * 30 * var(--invariants)));
  --fz31: min(calc(0.1rem * 31), calc(0.1vw * 31 * var(--invariants)));
  --fz32: min(calc(0.1rem * 32), calc(0.1vw * 32 * var(--invariants)));
  --fz33: min(calc(0.1rem * 33), calc(0.1vw * 33 * var(--invariants)));
  --fz34: min(calc(0.1rem * 34), calc(0.1vw * 34 * var(--invariants)));
  --fz35: min(calc(0.1rem * 35), calc(0.1vw * 35 * var(--invariants)));
  --fz36: min(calc(0.1rem * 36), calc(0.1vw * 36 * var(--invariants)));
  --fz37: min(calc(0.1rem * 37), calc(0.1vw * 37 * var(--invariants)));
  --fz38: min(calc(0.1rem * 38), calc(0.1vw * 38 * var(--invariants)));
  --fz39: min(calc(0.1rem * 39), calc(0.1vw * 39 * var(--invariants)));
  --fz40: min(calc(0.1rem * 40), calc(0.1vw * 40 * var(--invariants)));
  --fz41: min(calc(0.1rem * 41), calc(0.1vw * 41 * var(--invariants)));
  --fz42: min(calc(0.1rem * 42), calc(0.1vw * 42 * var(--invariants)));
  --fz43: min(calc(0.1rem * 43), calc(0.1vw * 43 * var(--invariants)));
  --fz44: min(calc(0.1rem * 44), calc(0.1vw * 44 * var(--invariants)));
  --fz45: min(calc(0.1rem * 45), calc(0.1vw * 45 * var(--invariants)));
  --fz46: min(calc(0.1rem * 46), calc(0.1vw * 46 * var(--invariants)));
  --fz47: min(calc(0.1rem * 47), calc(0.1vw * 47 * var(--invariants)));
  --fz48: min(calc(0.1rem * 48), calc(0.1vw * 48 * var(--invariants)));
  --fz49: min(calc(0.1rem * 49), calc(0.1vw * 49 * var(--invariants)));
  --fz50: min(calc(0.1rem * 50), calc(0.1vw * 50 * var(--invariants)));
  --fz51: min(calc(0.1rem * 51), calc(0.1vw * 51 * var(--invariants)));
  --fz52: min(calc(0.1rem * 52), calc(0.1vw * 52 * var(--invariants)));
  --fz53: min(calc(0.1rem * 53), calc(0.1vw * 53 * var(--invariants)));
  --fz54: min(calc(0.1rem * 54), calc(0.1vw * 54 * var(--invariants)));
  --fz55: min(calc(0.1rem * 55), calc(0.1vw * 55 * var(--invariants)));
  --fz56: min(calc(0.1rem * 56), calc(0.1vw * 56 * var(--invariants)));
  --fz57: min(calc(0.1rem * 57), calc(0.1vw * 57 * var(--invariants)));
  --fz58: min(calc(0.1rem * 58), calc(0.1vw * 58 * var(--invariants)));
  --fz59: min(calc(0.1rem * 59), calc(0.1vw * 59 * var(--invariants)));
  --fz60: min(calc(0.1rem * 60), calc(0.1vw * 60 * var(--invariants)));
  --fz61: min(calc(0.1rem * 61), calc(0.1vw * 61 * var(--invariants)));
  --fz62: min(calc(0.1rem * 62), calc(0.1vw * 62 * var(--invariants)));
  --fz63: min(calc(0.1rem * 63), calc(0.1vw * 63 * var(--invariants)));
  --fz64: min(calc(0.1rem * 64), calc(0.1vw * 64 * var(--invariants)));
  --fz65: min(calc(0.1rem * 65), calc(0.1vw * 65 * var(--invariants)));
  --fz66: min(calc(0.1rem * 66), calc(0.1vw * 66 * var(--invariants)));
  --fz67: min(calc(0.1rem * 67), calc(0.1vw * 67 * var(--invariants)));
  --fz68: min(calc(0.1rem * 68), calc(0.1vw * 68 * var(--invariants)));
  --fz69: min(calc(0.1rem * 69), calc(0.1vw * 69 * var(--invariants)));
  --fz70: min(calc(0.1rem * 70), calc(0.1vw * 70 * var(--invariants)));
  --fz71: min(calc(0.1rem * 71), calc(0.1vw * 71 * var(--invariants)));
  --fz72: min(calc(0.1rem * 72), calc(0.1vw * 72 * var(--invariants)));
  --fz73: min(calc(0.1rem * 73), calc(0.1vw * 73 * var(--invariants)));
  --fz74: min(calc(0.1rem * 74), calc(0.1vw * 74 * var(--invariants)));
  --fz75: min(calc(0.1rem * 75), calc(0.1vw * 75 * var(--invariants)));
  --fz76: min(calc(0.1rem * 76), calc(0.1vw * 76 * var(--invariants)));
  --fz77: min(calc(0.1rem * 77), calc(0.1vw * 77 * var(--invariants)));
  --fz78: min(calc(0.1rem * 78), calc(0.1vw * 78 * var(--invariants)));
  --fz79: min(calc(0.1rem * 79), calc(0.1vw * 79 * var(--invariants)));
  --fz80: min(calc(0.1rem * 80), calc(0.1vw * 80 * var(--invariants)));
  --fz81: min(calc(0.1rem * 81), calc(0.1vw * 81 * var(--invariants)));
  --fz82: min(calc(0.1rem * 82), calc(0.1vw * 82 * var(--invariants)));
  --fz83: min(calc(0.1rem * 83), calc(0.1vw * 83 * var(--invariants)));
  --fz84: min(calc(0.1rem * 84), calc(0.1vw * 84 * var(--invariants)));
  --fz85: min(calc(0.1rem * 85), calc(0.1vw * 85 * var(--invariants)));
  --fz86: min(calc(0.1rem * 86), calc(0.1vw * 86 * var(--invariants)));
  --fz87: min(calc(0.1rem * 87), calc(0.1vw * 87 * var(--invariants)));
  --fz88: min(calc(0.1rem * 88), calc(0.1vw * 88 * var(--invariants)));
  --fz89: min(calc(0.1rem * 89), calc(0.1vw * 89 * var(--invariants)));
  --fz90: min(calc(0.1rem * 90), calc(0.1vw * 90 * var(--invariants)));
  --fz91: min(calc(0.1rem * 91), calc(0.1vw * 91 * var(--invariants)));
  --fz92: min(calc(0.1rem * 92), calc(0.1vw * 92 * var(--invariants)));
  --fz93: min(calc(0.1rem * 93), calc(0.1vw * 93 * var(--invariants)));
  --fz94: min(calc(0.1rem * 94), calc(0.1vw * 94 * var(--invariants)));
  --fz95: min(calc(0.1rem * 95), calc(0.1vw * 95 * var(--invariants)));
  --fz96: min(calc(0.1rem * 96), calc(0.1vw * 96 * var(--invariants)));
  --fz97: min(calc(0.1rem * 97), calc(0.1vw * 97 * var(--invariants)));
  --fz98: min(calc(0.1rem * 98), calc(0.1vw * 98 * var(--invariants)));
  --fz99: min(calc(0.1rem * 99), calc(0.1vw * 99 * var(--invariants)));
  --fz100: min(calc(0.1rem * 100), calc(0.1vw * 100 * var(--invariants)));
}

@media (min-width: 981px) {
  .is-hidden_pc {
    display: none !important;
  }
}
@media (max-width: 980px) {
  .is-hidden_sp {
    display: none !important;
  }
}
.u-txt_left {
  text-align: left !important;
}

.u-txt_center {
  text-align: center !important;
}

.u-txt_right {
  text-align: right !important;
}

.u-mb5 {
  margin-bottom: 5px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-mb15 {
  margin-bottom: 15px !important;
}

.u-mb20 {
  margin-bottom: 20px !important;
}

.u-mb25 {
  margin-bottom: 25px !important;
}

.u-mb30 {
  margin-bottom: 30px !important;
}

.u-mb35 {
  margin-bottom: 35px !important;
}

.u-mb40 {
  margin-bottom: 40px !important;
}

.u-mb45 {
  margin-bottom: 45px !important;
}

.u-mb50 {
  margin-bottom: 50px !important;
}

.u-mb60 {
  margin-bottom: 60px !important;
}

.u-mb70 {
  margin-bottom: 70px !important;
}

.u-mb80 {
  margin-bottom: 80px !important;
}

.u-mt5 {
  margin-top: 5px !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-mt15 {
  margin-top: 15px !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-mt25 {
  margin-top: 25px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-mt40 {
  margin-top: 40px !important;
}

.u-mt50 {
  margin-top: 50px !important;
}

.u-color-primary {
  color: #09573a;
}

.u-color-secondary {
  color: #9d290d;
}

.u-color-accent {
  color: #ec7932;
}

.u-txt_break > span {
  display: inline-block;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

table {
  width: 100%;
}
@media (max-width: 980px) {
  table.table {
    display: block;
  }
  table.table tbody,
  table.table tr,
  table.table th,
  table.table td {
    box-sizing: border-box;
    display: block;
    width: 100% !important;
  }
}

.bold {
  font-family: "Helvetica Neue", "Arial", "Hiragino Kaku Gothic ProN",
    "Hiragino Sans", "YuGothic", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: bold;
}

.ttl_top {
  margin-bottom: 60px;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  text-align: center;
}
@media (max-width: 980px) {
  .ttl_top {
    margin-bottom: 30px;
  }
}
.ttl_top--en {
  display: block;
  font-size: var(--fz15);
}
@media (max-width: 980px) {
  .ttl_top--en {
    font-size: var(--fz10);
  }
}
.ttl_top--ja {
  font-size: var(--fz48);
  line-height: 1.3;
}
.ttl_top--ja b {
  font-size: var(--fz24);
}
@media (max-width: 980px) {
  .ttl_top--ja {
    font-size: var(--fz25);
  }
  .ttl_top--ja b {
    font-size: var(--fz12);
  }
}

.ttl_main {
  margin-bottom: 80px;
  font-family: "Noto Serif JP", serif;
}
.ttl_main span {
  font-size: var(--fz48);
  font-weight: 600;
  border-bottom: solid 2px #000;
}
.ttl_main.-white {
  color: #fff;
}
.ttl_main.-white span {
  border-color: #fff;
}
.ttl_main.-center {
  text-align: center;
}
@media (max-width: 980px) {
  .ttl_main {
    margin-bottom: 40px;
  }
  .ttl_main span {
    font-size: var(--fz25);
  }
}

.btn {
  display: inline-block;
  width: min(680px, 100%);
  color: #fff;
  border-radius: 45px;
  transition: 0.2s;
}
.btn.-entry {
  padding: 30px 10px;
  font-size: var(--fz21);
  background-color: #9d290d;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn.-entry svg {
  margin-left: 30px;
}
@media (max-width: 980px) {
  .btn.-entry {
    padding: 21px 10px;
    font-size: var(--fz17);
  }

  .btn.-entry svg {
    margin-left: 10px;
  }
}
.btn.-vacancy {
  padding: 13px 10px;
  background-color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn.-vacancy svg {
  margin-left: 30px;
}
@media (max-width: 980px) {
  .btn.-vacancy {
    padding: 10px;
  }
}
.btn:hover {
  background-color: #09573a;
  transition: 0.2s;
}
.btn--wrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
}
.btn--outer {
  margin-bottom: 120px;
  text-align: center;
}
.btn--outer em {
  display: inline-block;
  margin-bottom: 20px;
  font-family: "Noto Serif JP", serif;
  font-size: var(--fz30);
  font-weight: 700;
  color: #09573a;
}
.btn--outer p {
  margin-bottom: 30px;
}
.btn--outer span {
  display: inline-block;
  font-size: var(--fz24);
  margin-bottom: 40px;
}
@media (max-width: 980px) {
  .btn--outer {
    margin-bottom: 80px;
  }
  .btn--outer em {
    font-size: var(--fz24);
  }
  .btn--outer p {
    padding: 0 30px;
    margin-bottom: 20px;
    text-align: left;
  }
  .btn--outer span {
    font-size: var(--fz20);
  }
}

.btn_round {
  font-size: var(--fz12);
  transition: 0.3s;
}
.btn_round.-black svg path {
  fill: #000;
}
.btn_round svg {
  display: inline-block;
  margin-left: 5px;
  vertical-align: middle;
}
.btn_round:hover {
  margin-left: 20px;
  transition: 0.3s;
}

.recruit_eyecatch {
  padding: 100px 0;
  margin-bottom: 80px;
  background-image: url(../img/recruit/common/eyecatch.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.recruit_eyecatch h1 {
  position: relative;
  font-family: "Noto Serif JP", serif;
  font-size: var(--fz48);
  font-weight: bold;
  color: #fff;
}
@media (max-width: 980px) {
  .recruit_eyecatch {
    padding: 80px 0;
    margin-bottom: 40px;
  }
  .recruit_eyecatch h1 {
    font-size: var(--fz30);
  }
}

.breadcrumbs {
  padding: 5px 0;
}
.breadcrumbs li {
  display: inline-block;
  line-height: 1;
}
.breadcrumbs li::before {
  display: inline-block;
  vertical-align: top;
  content: "＞";
}
.breadcrumbs li:first-child::before {
  content: normal;
}

.pagination {
  display: flex;
  justify-content: center;
}
.pagination > span,
.pagination a {
  display: inline-block !important;
  width: 2em;
  padding: 6px 0;
  line-height: 1;
  text-align: center;
}
.pagination > span.current,
.pagination a.current {
  font-weight: bold;
}
.pagination:empty {
  display: none;
}

.js-animation {
  visibility: hidden;
  opacity: 0;
  transition: all 1s;
  transform: translateY(40px);
}
.js-animation.is-show {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.tab_select--nav {
  display: flex;
}
.tab_select--tab_wrap {
  position: relative;
}
.tab_select--tab {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
}
.tab_select--tab.is-show {
  position: relative;
  pointer-events: fill;
  visibility: visible;
  opacity: 1;
  transition: 0.8s;
}

.wide_box {
  padding: 40px 50px 100px;
  background-color: #09573a;
  border-radius: 60px;
}
@media (max-width: 980px) {
  .wide_box {
    padding: 40px 10px;
    border-radius: 20px;
  }
}

.js-accordion--content {
  display: none;
}

@media (max-width: 980px) {
  .scroll_box {
    margin: 50px auto;
    overflow-x: scroll;
    white-space: nowrap;
  }
  .scroll_box::before,
  .scroll_box::after {
    font-size: 1rem;
    color: #999;
    content: "←スワイプで左右にスクロールできます→";
  }
  .scroll_box > img {
    display: block;
    max-width: initial;
  }
  .scroll_box > table,
  .scroll_box > img {
    width: 640px;
  }
  .scroll_box::-webkit-scrollbar {
    height: 10px;
  }
  .scroll_box::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 5px;
  }
  .scroll_box::-webkit-scrollbar-thumb {
    background: #bcbcbc;
    border-radius: 5px;
  }
}
html {
  font-size: 62.5%;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: var(--fz17);
  font-weight: 500;
  line-height: 1.4;
  color: #000;
}
@media (max-width: 980px) {
  body {
    font-size: var(--fz15);
  }
}

.wrap {
  margin: auto;
}
@media (max-width: 980px) {
  .wrap {
    width: 100%;
    min-width: auto;
  }
}

.container {
  box-sizing: border-box;
  width: min(1280px, 100%);
  padding: 0 min(5vw, 30px);
  margin: auto;
}
.container.-sm {
  width: min(930px, 100%);
}
.container.-x_wide {
  width: min(1760px, 100%);
}

main {
  display: block;
  overflow: hidden;
}
@media (min-width: 768px) and (max-width: 769px) and (orientation: portrait) {
  main {
    min-height: 95vh;
  }
}

.totop {
  position: fixed;
  right: 10px;
  bottom: 10px;
  cursor: pointer;
}
@media (max-width: 980px) {
  .totop {
    width: 44px;
    height: 44px;
  }
}

.googlemap {
  position: relative;
}
.googlemap::before {
  display: block;
  padding-top: 46%;
  content: "";
}
.googlemap iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
@media (max-width: 980px) {
  .googlemap::before {
    padding-top: 450px;
  }
}

.header {
  position: sticky;
  top: 0;
  z-index: 50;
  padding-block: 20px;
  background: #fff;
}
@media (max-width: 980px) {
  .header {
    padding-block: 35px;
    background-color: rgba(255, 255, 255, 0);
  }
}
.header--inner {
  display: flex;
  gap: min(3vw, 30px);
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 980px) {
  .header--logo {
    position: relative;
    z-index: 100;
    width: 195px;
  }
}
.header--copy {
  position: absolute;
  right: 0;
  bottom: 10px;
  left: 0;
  font-size: var(--fz10);
  text-align: center;
}

.gnav_btn {
  position: fixed;
  top: 20px;
  right: 30px;
  z-index: 100;
  display: block;
  width: 50px;
  height: 50px;
  cursor: pointer;
  background: #09573a;
  border: none;
  border-radius: 50%;
  outline: none;
  transition: 0.3s;
}
.gnav_btn span {
  position: absolute;
  left: 33%;
  display: block;
  width: 35%;
  height: 1px;
  background: #fff;
  transition: 0.3s;
}
.gnav_btn span:first-child {
  top: 38%;
}
.gnav_btn span:last-child {
  top: 57%;
}
.gnav_btn.is-open {
  background: #fff;
}
.gnav_btn.is-open::after {
  color: #09573a;
}
.gnav_btn.is-open span {
  top: 48% !important;
  background: #09573a;
  transition: 0.2s;
}
.gnav_btn.is-open span:first-child {
  transform: rotate(25deg);
}
.gnav_btn.is-open span:last-child {
  transform: rotate(-25deg);
}
@media (min-width: 981px) {
  .gnav_btn {
    display: none;
  }
}

.gnav a {
  display: block;
}
.gnav a:hover {
  color: #09573a;
  opacity: 0.8;
  transition: 0.2s;
}
@media (min-width: 981px) {
  .gnav ul {
    display: flex;
    justify-content: flex-end;
    font-size: min(var(--fz17), 1.45vw);
  }
}
@media (max-width: 980px) {
  .gnav {
    position: fixed;
    top: 0;
    right: -110%;
    z-index: 99;
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    color: #fff;
    background: rgba(9, 87, 58, 0.98);
    transition: 0.5s;
  }
  .gnav.is-open {
    right: 0;
  }
  .gnav ul {
    display: block;
  }
  .gnav a {
    display: block;
  }
}
.gnav--inner {
  display: flex;
  gap: 0.3em min(4vw, 30px);
  align-items: center;
  font-size: var(--fz17);
}
@media (max-width: 980px) {
  .gnav--inner {
    flex-direction: column;
    gap: 50px;
    align-items: flex-start;
    padding: 160px 35px 10px;
  }
}

.gnav_main {
  gap: 0.3em min(2vw, 30px);
}
@media (max-width: 980px) {
  .gnav_main a {
    padding: 10px 0;
    font-size: var(--fz24);
  }
}

.gnav_sub {
  gap: 15px;
}
.gnav_sub a {
  padding: min(13px, 1vw) min(30px, 1vw);
  color: #fff;
  transition: 0.2s;
}
.gnav_sub a.entry {
  background-color: #9d290d;
  border-radius: 30px;
}
.gnav_sub a.corporate {
  background-color: #000;
  border-radius: 30px;
}
.gnav_sub a:hover {
  color: #fff;
  background-color: #09573a;
  opacity: 0.8;
  transition: 0.2s;
}
@media (max-width: 980px) {
  .gnav_sub a {
    padding: 5px 0;
    font-size: var(--fz15);
  }
}

.footer {
  width: min(1600px, 100%);
  padding-block: 130px 20px;
  color: #fff;
  background: #000;
  border-radius: 0 250px 0 0;
}
@media (max-width: 980px) {
  .footer {
    padding-block: 80px 10px;
    margin-top: -40px;
    border-radius: 0 150px 0 0;
  }
}
.footer--logo {
  margin: auto;
  margin-bottom: 60px;
}
@media (max-width: 980px) {
  .footer--logo {
    width: 160px;
  }
}
.footer--nav {
  display: flex;
  gap: 40px;
}
.footer--nav.-sub {
  gap: 10px;
  margin-top: 20px;
  font-size: var(--fz12);
}
@media (max-width: 980px) {
  .footer--nav {
    flex-direction: column;
    gap: 20px;
    align-items: center;
  }
  .footer--nav.-sub {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin-top: 70px;
  }
}
.footer--copy {
  margin-top: 130px;
  font-size: var(--fz12);
  font-weight: 300;
  text-align: right;
}
@media (max-width: 980px) {
  .footer--copy {
    margin-top: 60px;
    text-align: center;
  }
}

.footer_nav {
  font-size: var(--fz14);
}
@media (min-width: 981px) {
  .footer_nav ul {
    display: grid;
    grid-template-columns: repeat(3, auto);
    gap: 35px 23px;
    line-height: 1;
  }
}
@media (max-width: 980px) {
  .footer_nav {
    font-size: 1.4rem;
    text-align: center;
  }
  .footer_nav ul {
    margin-top: 80px;
  }
  .footer_nav li + li {
    margin-top: 20px;
  }
}

.anime_typing {
  display: inline-block;
  font-size: min(var(--fz100), 10vw);
  font-weight: 700;
  line-height: 1;
  color: #09573a;
  text-align: center;
  vertical-align: middle;
}
.anime_typing b {
  display: inline-block;
  transition: 0.2s;
}
@media (min-width: 981px) {
  .anime_typing:first-child {
    margin-bottom: 10px;
  }
}
@media (max-width: 980px) {
  .anime_typing {
    display: block;
    font-size: min(var(--fz60), 8vw);
  }
  .anime_typing:not(:last-child) {
    margin-bottom: 5px;
  }
}
.anime_typing:first-child {
  display: block;
}
.anime_typing:first-child b {
  transition: 0.2s;
}
.anime_typing:first-child b:nth-child(12) {
  padding: 5px 14px 15px;
}
.anime_typing:first-child b:nth-child(13),
.anime_typing:first-child b:nth-child(14) {
  padding: 5px 14px 15px;
  margin-left: -1px;
  font-weight: 600;
  color: #fff;
  vertical-align: top;
  background-color: #09573a;
}
@media (max-width: 980px) {
  .anime_typing:first-child b:nth-child(12) {
    padding: 5px 10px 8px;
  }
  .anime_typing:first-child b:nth-child(13),
  .anime_typing:first-child b:nth-child(14) {
    padding: 5px 10px 8px;
  }
}
.anime_typing:nth-of-type(2) {
  animation-delay: 2s;
}
.anime_typing:nth-of-type(2) b {
  transition: 0.2s;
}
.anime_typing:nth-of-type(2) b:nth-child(12) {
  padding: 5px 14px 15px;
}
.anime_typing:nth-of-type(2) b:nth-child(13),
.anime_typing:nth-of-type(2) b:nth-child(14),
.anime_typing:nth-of-type(2) b:nth-child(15),
.anime_typing:nth-of-type(2) b:nth-child(16),
.anime_typing:nth-of-type(2) b:nth-child(17) {
  padding: 5px 14px 15px;
  margin-left: -1px;
  font-weight: 600;
  color: #fff;
  vertical-align: top;
  background-color: #09573a;
}
@media (max-width: 980px) {
  .anime_typing:nth-of-type(2) b:nth-child(12) {
    padding: 5px 10px 8px;
  }
  .anime_typing:nth-of-type(2) b:nth-child(13),
  .anime_typing:nth-of-type(2) b:nth-child(14),
  .anime_typing:nth-of-type(2) b:nth-child(15),
  .anime_typing:nth-of-type(2) b:nth-child(16),
  .anime_typing:nth-of-type(2) b:nth-child(17) {
    padding: 5px 10px 8px;
  }
}
.anime_typing:last-child {
  animation-delay: 2s;
}
@media (min-width: 981px) {
  .anime_typing:last-child {
    margin-left: -6px;
  }
}
.anime_typing:last-child b {
  transition: 0.2s;
}
.anime_typing:last-child b:nth-child(12),
.anime_typing:last-child b:nth-child(13),
.anime_typing:last-child b:nth-child(14) {
  padding: 5px 14px 15px;
  margin-left: -1px;
  font-weight: 600;
  color: #fff;
  vertical-align: top;
  background-color: #09573a;
}
@media (max-width: 980px) {
  .anime_typing:last-child b:nth-child(12),
  .anime_typing:last-child b:nth-child(13),
  .anime_typing:last-child b:nth-child(14) {
    padding: 5px 10px 8px;
  }
}
.anime_typing--wrap {
  margin-bottom: min(120px, 2vw);
}

.recruit_mv {
  position: relative;
}
.recruit_mv--inner {
  position: absolute;
  top: 0%;
  left: 50%;
  width: 100%;
  padding-block: min(150px, 2vw) min(135px, 2vw);
  font-family: "Noto Serif JP", serif;
  text-align: center;
  transform: translate(-50%, 0%);
}
.recruit_mv--inner p {
  font-size: var(--fz25);
  line-height: 1.32;
}
.recruit_mv--inner p:last-of-type {
  margin-bottom: min(75px, 5vw);
}
.recruit_mv--inner span {
  font-size: min(var(--fz36), 3vw);
  font-weight: 700;
}
.recruit_mv--inner b {
  color: #09573a;
}
@media (max-width: 980px) {
  .recruit_mv--inner {
    padding: 40px 0;
  }
  .recruit_mv--inner p {
    margin-bottom: 30px;
    font-size: var(--fz16);
  }
  .recruit_mv--inner p:last-of-type {
    margin-bottom: 40px;
    font-size: var(--fz18);
    font-weight: 600;
  }
  .recruit_mv--inner span {
    font-size: var(--fz25);
  }
}
.recruit_mv--anime {
  position: relative;
  height: 740px;
  margin: 0 auto;
  overflow: hidden;
}
.recruit_mv--anime::after {
  position: absolute;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: rgba(255, 255, 255, 0.9);
}
.recruit_mv--anime p {
  font-family: "Noto Serif JP", serif;
  position: absolute;
  left: 100%;
  display: inline-block;
  margin: 0;
  white-space: nowrap;
  animation-name: marquee;
  /* アニメーションのクラス名 */
  animation-duration: 10s;
  /* アニメーションの速度 */
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  /* アニメーションのタイミング・進行割合の指定 */
  /* アニメーションの動作回数 */
}
.recruit_mv--anime p:hover {
  animation-play-state: paused;
}
@media (max-width: 980px) {
  .recruit_mv--anime {
    height: min(76vh, 139vw);
  }
}
@keyframes marquee {
  from {
    left: 100%;
  }
  99%,
  to {
    left: -100%;
  }
}

.recruit_top_check {
  width: min(1035px, 100%);
  margin: auto;
  color: #fff;
}
.recruit_top_check--section small {
  display: block;
  font-family: "Noto Serif JP", serif;
  font-size: var(--fz20);
  color: #fff;
  border-bottom: 0.5px #fff solid;
  padding-bottom: 35px;
}
.recruit_top_check--section small::after,
.recruit_top_check--section small::before {
  display: inline-block;
  vertical-align: middle;
  content: url(../img/recruit/common/icon_arrow_down.svg);
}
.recruit_top_check--section small::after {
  margin-left: min(30px, 2vw);
}
.recruit_top_check--section small::before {
  margin-right: min(30px, 2vw);
}
.recruit_top_check span {
  display: block;
  margin: 60px 0 0 0;
  font-family: "Noto Serif JP", serif;
  font-size: var(--fz25);
  font-weight: 600;
}
.recruit_top_check span.recruit_top_check_ttl {
  display: block;
  margin: 10px 0 30px;
  font-family: "Noto Serif JP", serif;
  font-size: var(--fz36);
  font-weight: 600;
}
.recruit_top_check ul {
  display: flex;
  gap: 20px;
  margin-bottom: 30px;
}
.recruit_top_check ul li {
  padding: 8px 14px;
  font-size: var(--fz15);
  border: solid 1px #fff;
  border-radius: 6px;
}
.recruit_top_check_ttl_img {
  margin: 80px 0 40px;
}
@media (max-width: 980px) {
  .recruit_top_check--section small {
    margin-bottom: 80px;
    font-size: var(--fz15);
  }
  .recruit_top_check img {
    width: 300px;
    margin: 0 0 40px 0px;
  }
  .recruit_top_check span.recruit_top_check_ttl {
    margin: 20px auto 50px;
    font-size: var(--fz20);
  }
  .recruit_top_check ul {
    flex-direction: column;
    padding: 0 5px;
    margin-bottom: 50px;
  }
  .recruit_top_check ul li {
    padding: 8px 5px;
    font-size: min(var(--fz15), 3.5vw);
  }
}
.recruit_top_check--txt {
  text-align: left;
  max-width: 880px;
  margin: auto;
}
.recruit_top_check--txt p:not(:last-child) {
  margin-bottom: 25px;
}
@media (max-width: 980px) {
  .recruit_top_check--txt {
    margin: 0 5px 40px;
    font-size: var(--fz15);
  }
}
.recruit_top_check--section {
  margin-bottom: 100px;
  text-align: center;
  border-radius: 50px;
}
@media (max-width: 980px) {
  .recruit_top_check--section {
    margin: 0 0 50px;
    border-radius: 25px;
  }
}

.recruit_top_check span.recruit_top_check_last {
  font-size: var(--fz30);
  margin: 70px 0 60px 0;
}

.recruit_business_model {
  display: flex;
  gap: 0 30px;
  margin-bottom: 80px;
}
.recruit_business_model.-reverse {
  flex-direction: row-reverse;
}
.recruit_business_model em {
  display: inline-block;
  margin-bottom: 30px;
  font-size: var(--fz36);
  font-weight: 700;
  line-height: var(--fz54);
}
/* .recruit_business_model em::first-letter {
  color: #09573a;
} */
@media (max-width: 980px) {
  .recruit_top_check span.recruit_top_check_last {
    font-size: var(--fz22);
  }
  .recruit_business_model {
    display: block !important;
    margin-bottom: 60px;
  }
  .recruit_business_model em {
    margin-bottom: 20px;
    font-size: var(--fz25);
    text-align: center;
    line-height: var(--fz35);
  }
}
.recruit_business_model--ttl {
  text-align: center;
}
@media (min-width: 981px) {
  .recruit_business_model--ttl {
    width: 455px;
  }
}
.recruit_business_model--txt {
  width: min(695px, 100%);
  padding-top: 80px;
}
.recruit_business_model--txt p {
  line-height: var(--fz34);
}
span.recruit_green {
  color: #09573a;
}
@media (max-width: 980px) {
  .recruit_business_model--txt {
    padding: 20px 10px;
  }
}
.recruit_business_model--accordian {
  margin-top: 50px;
}
.recruit_business_model--accordian dd {
  padding: 25px;
  margin-top: 25px;
  overflow: hidden;
  text-align: center;
  border: solid 1px #09573a;
  border-radius: 10px;
}
.recruit_business_model--accordian dt {
  position: relative;
  padding: 10px 0 10px 40px;
  margin-bottom: 25px;
  font-size: var(--fz15);
  color: #09573a;
  cursor: pointer;
}
.recruit_business_model--accordian dt::before,
.recruit_business_model--accordian dt::after {
  position: absolute;
  display: block;
  content: "";
  background: #47b8c0;
  transition: 0.2s;
}
.recruit_business_model--accordian dt::before {
  top: 15px;
  left: 15px;
  width: 1px;
  height: 12px;
}
.recruit_business_model--accordian dt::after {
  top: 20px;
  left: 10px;
  width: 12px;
  height: 1px;
}
.recruit_business_model--accordian dt span::before {
  position: absolute;
  top: 5px;
  left: 0;
  display: block;
  width: 30px;
  height: 30px;
  content: "";
  border: solid 1px #47b8c0;
  border-radius: 30px;
  transition: 0.2s;
}
.recruit_business_model--accordian dt.is-open::before {
  transform: rotate(90deg);
}
@media (max-width: 980px) {
  .recruit_business_model--accordian {
    margin-top: 0;
  }
  .recruit_business_model--accordian dd {
    padding: 20px;
  }
  .recruit_business_model--accordian dt {
    width: min(125px, 100%);
    margin: 25px auto 0;
  }
}
.recruit_business_model--col {
  display: flex;
  gap: 60px;
  align-items: flex-start;
  justify-content: center;
  margin-bottom: 40px;
}
.recruit_business_model--col svg {
  display: inline-block;
  margin: 10px auto;
}
.recruit_business_model--col path {
  fill: #000;
}
.recruit_business_model--col p {
  font-size: min(var(--fz18), 3.5vw);
  text-align: left;
}
.recruit_business_model--col p:last-of-type {
  position: relative;
}
.recruit_business_model--col p:last-of-type::before {
  position: absolute;
  top: -25px;
  left: -25px;
  content: url(../img/recruit/index/txt_business_demo.svg);
}
.recruit_business_model--col span {
  font-weight: 700;
  color: #9d290d;
}
.recruit_business_model--col b {
  font-size: min(var(--fz24), 5vw);
}
@media (max-width: 980px) {
  .recruit_business_model--col {
    flex-direction: column;
    gap: 30px;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
  }
  .recruit_business_model--col p:last-of-type::before {
    left: -15px;
  }
}
.recruit_business_model--xtra {
  display: flex;
  gap: 20px;
  justify-content: center;
  margin-top: 20px;
}
.recruit_business_model--xtra ul {
  box-sizing: border-box;
  display: flex;
  gap: 20px;
  align-items: center;
  width: min(397px, 100%);
  padding: 10px;
  background-color: rgba(157, 41, 13, 0.1);
  border: dashed 1px #9d290d;
  border-radius: 10px;
}
.recruit_business_model--xtra ul li {
  display: inline-flex;
}
.recruit_business_model--xtra ul li::after {
  display: inline-block;
  margin-left: 5px;
  vertical-align: middle;
  content: url(../img/recruit/index/icon_up.svg);
}
@media (max-width: 980px) {
  .recruit_business_model--xtra {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}

.top_ifa {
  color: #fff;
  text-align: center;
}
.top_ifa p {
  text-align: left;
  max-width: 880px;
  margin: auto;
  line-height: var(--fz24);
}
.top_ifa > span {
  font-size: var(--fz24);
  font-weight: 700;
}
.top_ifa > span b {
  font-size: var(--fz36);
}
.top_ifa dl {
  display: flex;
  gap: 40px;
  align-items: center;
  justify-content: center;
  padding: 30px 0 60px;
  line-height: 1.8;
}
.top_ifa dt {
  border-bottom: solid 1px #fff;
}
.top_ifa svg {
  width: 100%;
  height: 80px;
}
@media (max-width: 980px) {
  .top_ifa > span {
    font-size: var(--fz15);
  }
  .top_ifa > span b {
    font-size: var(--fz28);
  }
  .top_ifa dl {
    flex-direction: column;
    gap: 10px;
    padding: 30px 0;
  }
  .top_ifa dd {
    text-align: left;
  }
  .top_ifa svg {
    height: 40px;
  }
}
.top_ifa--txt {
  line-height: 1.8;
}
.top_ifa--txt img {
  vertical-align: middle;
}
.top_ifa--txt span {
  display: inline-block;
  padding: 60px 0 30px;
  font-size: var(--fz36);
  font-weight: 700;
  letter-spacing: 0.05em;
}
.top_ifa--txt b {
  margin-top: 10px;
  font-weight: 500;
}
@media (max-width: 980px) {
  .top_ifa--txt span {
    padding: 40px 0 20px;
  }
  .top_ifa--txt img {
    width: 200px;
  }
  .top_ifa--txt b {
    display: block;
    font-size: var(--fz24);
  }
  .top_ifa--txt p {
    font-size: var(--fz17);
    text-align: left;
  }
}
.top_ifa--section {
  padding-top: 80px;
}
.top_ifa--section h2 {
  color: #fff;
}
@media (max-width: 980px) {
  .top_ifa--section {
    padding: 50px 35px;
  }
}

.top_ifa_future em {
  display: inline-block;
  margin-bottom: 40px;
  font-family: "Noto Serif JP", serif;
  font-size: var(--fz30);
}
@media (max-width: 980px) {
  .top_ifa_future em {
    font-size: var(--fz24);
  }
}
.top_ifa_future p {
  line-height: var(--fz34);
  text-align: left;
  max-width: 880px;
  margin: auto;
}
.top_ifa_future--item {
  width: min(980px, 100%);
  margin: 80px auto 0;
}
@media (max-width: 980px) {
  .top_ifa_future--item {
    margin-top: 40px;
  }
}

.top_ifa_future--number {
  position: relative;
  width: min(980px, 140vw);
  padding: 80px 35px 35px;
  margin: 50px auto;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 0 9px rgba(0, 0, 0, 0.1);
}
.top_ifa_future--number span {
  position: absolute;
  top: -15px;
  left: 50%;
  padding: 5px 10px;
  font-size: var(--fz20);
  color: #fff;
  background-color: #000;
  border-radius: 5px;
  transform: translate(-50%);
}
@media (max-width: 980px) {
  .top_ifa_future--number {
    margin: 30px auto 15px;
  }
}
.top_ifa_future--txt p:not(:last-child) {
  margin-bottom: 30px;
}
.top_ifa_future--txt strong {
  display: block;
  margin: 40px 0 30px;
  font-size: var(--fz24);
}
.top_ifa_future--txt strong b {
  display: inline-block;
  padding: 13px 10px;
  margin: 8px 10px;
  line-height: 1.4;
  color: #fff;
  background-color: #9d290d;
}
.top_ifa_future--txt span {
  font-size: var(--fz20);
}
.top_ifa_future--txt svg {
  width: 100%;
  height: 80px;
}
.top_ifa_future--txt svg path {
  fill: #000;
}
@media (max-width: 980px) {
  .top_ifa_future--txt svg {
    height: 40px;
  }
  .top_ifa_future--txt strong {
    display: block;
    margin: 30px 0;
    font-size: var(--fz20);
  }
  .top_ifa_future--txt strong b {
    display: block;
    font-size: var(--fz24);
  }
  .top_ifa_future--txt span {
    font-size: var(--fz15);
  }
}
.top_ifa_future--section {
  width: min(1440px, 100%);
  padding: 80px 0 100px;
  margin: 0 auto 100px;
  text-align: center;
  background-color: #e5eeeb;
  border-radius: 0 0 50px 50px;
}
.top_ifa_future--section h2 {
  margin-bottom: 50px;
  font-size: var(--fz42);
  font-weight: 700;
}
.top_ifa_future--section h2 span {
  color: #09573a;
}
@media (max-width: 980px) {
  .top_ifa_future--section {
    width: auto;
    padding: 50px 0;
    margin: 0 35px 60px;
    border-radius: 0 0 25px 25px;
  }
  .top_ifa_future--section h2 {
    margin-bottom: 40px;
    font-size: var(--fz25);
  }
}

.top_interview {
  text-align: center;
}
.top_interview--img {
  width: min(750px, 100%);
  padding: 50px 0;
  margin: auto;
  overflow: hidden;
}
.top_interview--section {
  padding: 120px 0;
}
@media (max-width: 980px) {
  .top_interview--section {
    padding: 60px 0;
  }
}

.recruit_interview--nav {
  position: relative;
  display: flex;
  gap: min(50px, 5vw);
  justify-content: center;
  padding-bottom: 80px;
  margin-bottom: 80px;
}
.recruit_interview--nav::before {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: min(1280px, 100%);
  height: 430px;
  content: "";
  background-color: #e5eeeb;
  border-radius: 60px;
}
.recruit_interview--nav li {
  text-align: center;
}
.recruit_interview--nav span {
  display: block;
  margin: 20px 0 50px;
  font-family: "Noto Serif JP", serif;
}
.recruit_interview--nav b {
  font-size: var(--fz24);
  font-weight: 700;
  color: #09573a;
}
.recruit_interview--nav a {
  width: min(250px, 100%);
}
@media (max-width: 980px) {
  .recruit_interview--nav {
    padding: 20px;
    margin-bottom: 20px;
  }
  .recruit_interview--nav::before {
    width: 100%;
    height: 100%;
    content: "";
    border-radius: 30px;
  }
  .recruit_interview--nav b {
    font-size: var(--fz17);
  }
  .recruit_interview--nav span {
    margin: 10px 0 20px;
  }
  .recruit_interview--nav a {
    width: min(150px, 100%);
    font-size: var(--fz14);
  }
}
.recruit_interview--content {
  margin-bottom: 100px;
}
@media (max-width: 980px) {
  .recruit_interview--content {
    margin-bottom: 50px;
  }
}
.recruit_interview--col {
  display: flex;
  gap: 95px;
  align-items: center;
  margin-bottom: 100px;
}
@media (max-width: 980px) {
  .recruit_interview--col {
    flex-direction: column;
    gap: 15px;
    align-items: flex-start;
    margin-bottom: 50px;
  }
}
.recruit_interview--txt {
  padding-left: 15px;
}
.recruit_interview--txt span {
  display: block;
  margin: 20px 0 50px;
  font-family: "Noto Serif JP", serif;
  font-size: var(--fz20);
}
.recruit_interview--txt b {
  font-size: var(--fz36);
  font-weight: 700;
  color: #09573a;
}
@media (max-width: 980px) {
  .recruit_interview--txt span {
    margin: 10px 0 20px;
    font-size: var(--fz16);
  }
  .recruit_interview--txt b {
    font-size: var(--fz24);
  }
}
.recruit_interview--img {
  position: relative;
}
.recruit_interview--img img {
  border-radius: 10px;
}
.recruit_interview--img::before {
  position: absolute;
  right: -20px;
  bottom: -20px;
  z-index: -1;
  width: 100%;
  height: 100%;
  content: "";
  border: solid 1px #09573a;
  border-radius: 10px;
}
@media (max-width: 980px) {
  .recruit_interview--img {
    padding: 0 10px;
  }
  .recruit_interview--img::before {
    right: 0;
    bottom: -10px;
    width: calc(100% - 20px);
  }
}
.recruit_interview--conversation {
  width: min(950px, 100%);
  margin: auto;
}
.recruit_interview--conversation dt {
  position: relative;
  display: inline-block;
  padding: 12px 25px;
  margin-bottom: 30px;
  font-size: var(--fz20);
  font-weight: 500;
  color: #fff;
  background-color: #09573a;
  border-radius: 10px 10px 0;
}
.recruit_interview--conversation dt::before {
  display: inline-block;
  margin-right: 10px;
  vertical-align: middle;
  content: url(../img/recruit/interview/icon_ques.svg);
}
.recruit_interview--conversation dt::after {
  position: absolute;
  right: -12px;
  bottom: 0;
  width: 0;
  height: 0;
  content: "";
  border-color: transparent transparent transparent #09573a;
  border-style: solid;
  border-width: 20px 0 0 12px;
}
.recruit_interview--conversation dd {
  position: relative;
  width: min(775px, 100%);
  padding: 35px 40px;
  margin-right: 0;
  margin-left: auto;
  background: #eff1f4;
  border-radius: 10px 10px 10px 0;
}
.recruit_interview--conversation dd::after {
  position: absolute;
  right: auto;
  bottom: 0;
  left: -20px;
  width: 0;
  height: 0;
  content: "";
  border-color: transparent transparent #eff1f4;
  border-style: solid;
  border-width: 0 0 36px 24px;
}
.recruit_interview--conversation dl:nth-child(even) {
  text-align: right;
}
.recruit_interview--conversation dl:nth-child(even) dt {
  margin-right: 0;
  margin-left: auto;
  border-radius: 10px 10px 10px 0;
}
.recruit_interview--conversation dl:nth-child(even) dt::after {
  right: auto;
  left: -12px;
  border-color: transparent transparent #09573a transparent;
  border-width: 0 0 20px 12px;
}
.recruit_interview--conversation dl:nth-child(even) dd {
  margin-right: auto;
  margin-left: 0;
  border-radius: 10px 10px 0;
}
.recruit_interview--conversation dl:nth-child(even) dd::after {
  right: -24px;
  left: auto;
  border-color: transparent transparent transparent #eff1f4;
  border-style: solid;
  border-width: 36px 0 0 24px;
}
.recruit_interview--conversation dl:not(:last-child) {
  margin-bottom: 110px;
}
.recruit_interview--conversation.-staff01 dd::before {
  position: absolute;
  bottom: -50px;
  left: -200px;
  content: url(../img/recruit/interview/icon_staff_01.png);
}
.recruit_interview--conversation.-staff01.-staff01 dl:nth-child(even) dd {
  text-align: left;
}
.recruit_interview--conversation.-staff01.-staff01
  dl:nth-child(even)
  dd::before {
  right: -200px;
  left: auto;
}
.recruit_interview--conversation.-staff02 dd::before {
  position: absolute;
  bottom: -50px;
  left: -200px;
  content: url(../img/recruit/interview/icon_staff_02.png);
}
.recruit_interview--conversation.-staff02.-staff02 dl:nth-child(even) dd {
  text-align: left;
}
.recruit_interview--conversation.-staff02.-staff02
  dl:nth-child(even)
  dd::before {
  right: -200px;
  left: auto;
}
@media (max-width: 980px) {
  .recruit_interview--conversation dt {
    padding: 10px;
    padding-left: 3em;
    margin-bottom: 10px;
    font-size: var(--fz16);
    text-align: left;
    text-indent: -1em;
  }
  .recruit_interview--conversation dt::before {
    margin-right: 5px;
    transform: scale(0.8);
  }
  .recruit_interview--conversation dd {
    padding: 15px;
  }
  .recruit_interview--conversation dd::after {
    content: none;
  }
  .recruit_interview--conversation dl:not(:last-child) {
    margin-bottom: 30px;
  }
}
.recruit_interview--message {
  width: min(1100px, 100%);
  padding: 40px;
  margin: auto;
  margin-top: 130px;
  color: #fff;
  text-align: center;
  background-color: #09573a;
  border-radius: 10px;
}
.recruit_interview--message dt {
  margin-bottom: 25px;
  font-size: var(--fz20);
  font-weight: 500;
}
.recruit_interview--message dt::before {
  display: inline-block;
  margin-right: 10px;
  vertical-align: middle;
  content: url(../img/recruit/interview/icon_ques.svg);
}
@media (max-width: 980px) {
  .recruit_interview--message {
    padding: 20px;
    margin-top: 50px;
  }
}

.recruit_requirement {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 20px;
  width: min(1100px, 100%);
  padding: 80px;
  margin: auto;
  margin-bottom: 100px;
  background-color: #fff;
  border-radius: 60px;
}
.recruit_requirement_txt {
  text-align: center;
  max-width: 1100px;
  margin: auto;
  margin-bottom: 40px;
}
.recruit_requirement dt,
.recruit_requirement dd {
  padding-bottom: 30px;
  border-bottom: solid 1px #9d9d9d;
}
.recruit_requirement dt {
  width: 200px;
  font-weight: 500;
  color: #09573a;
  border-color: #09573a;
}
.recruit_requirement dd {
  width: 720px;
}
@media (max-width: 980px) {
  .recruit_requirement {
    gap: 15px;
    padding: 40px 20px;
    margin-bottom: 50px;
    border-radius: 20px;
  }
  .recruit_requirement dt,
  .recruit_requirement dd {
    padding-bottom: 10px;
  }
  .recruit_requirement dt {
    width: 100%;
    padding-bottom: 0;
    border-bottom: none;
  }
}
.recruit_requirement--section {
  padding: 100px 0;
  margin-top: -80px;
  background-color: #e5eeeb;
}
@media (max-width: 980px) {
  .recruit_requirement--section {
    padding: 50px 0;
    margin-top: -40px;
  }
}

.recruit_welfare {
  width: min(725px, 100%);
  margin: auto;
  text-align: center;
}
.recruit_welfare figure {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  gap: 10px;
  margin-bottom: 40px;
}
.recruit_welfare figure figcaption {
  margin: auto;
  width: 100%;
  margin-bottom: 10px;
}
.recruit_welfare figure img {
  margin-bottom: 10px;
  border-radius: 10px;
}
.recruit_welfare figure img:first-of-type {
}
.recruit_welfare p {
  margin: 15px 0;
  font-size: var(--fz20);
  font-weight: 500;
  border-bottom: solid 2px #000;
}
.recruit_welfare ul {
  padding-left: 20px;
}
.recruit_welfare li {
  margin-bottom: 10px;
  font-weight: 500;
  list-style-type: disc;
}
@media (max-width: 980px) {
  .recruit_welfare figure img {
    width: 100%;
  }
  .recruit_welfare figure img:first-of-type {
    margin-right: 0;
  }
}
/* .recruit_welfare--col {
  display: flex;
  gap: 45px;
  margin-top: 50px;
} */
.recruit_welfare--col img {
  margin-right: 0;
}
@media (max-width: 980px) {
  .recruit_welfare--col {
    flex-direction: column;
    gap: 20px;
  }
}

.recruit_step {
  width: min(980px, 100%);
  margin: auto;
}
.recruit_step li {
  position: relative;
  display: flex;
  gap: 50px;
  align-items: center;
  border-radius: 10px;
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.1);
}
.recruit_step li:not(:last-child) {
  margin-bottom: 80px;
}
.recruit_step li:not(:last-child)::after {
  position: absolute;
  bottom: -50px;
  left: 50%;
  width: 0;
  height: 0;
  content: "";
  border-color: #09573a transparent transparent;
  border-style: solid;
  border-width: 20px 37px 0;
  transform: translate(-50%);
}
.recruit_step span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 150px;
  height: 100%;
  padding: 40px 10px;
  background-color: #09573a;
  border-radius: 10px;
}
.recruit_step em {
  display: inline-block;
  margin-bottom: 10px;
  font-family: "Noto Serif JP", serif;
  font-size: var(--fz30);
  font-weight: 700;
  color: #09573a;
}
.recruit_step div {
  padding: 0 15px 25px;
}
@media (max-width: 980px) {
  .recruit_step li {
    flex-direction: column;
    gap: 20px;
  }
  .recruit_step span {
    width: 100%;
    padding: 15px 10px;
  }
  .recruit_step div {
    text-align: center;
  }
  .recruit_step em {
    font-size: var(--fz24);
  }
}
.recruit_step--section {
  padding: 100px 0;
}
@media (max-width: 980px) {
  .recruit_step--section {
    padding: 50px 0;
  }
}

.recruit_staff {
  color: #fff;
  text-align: center;
}
.recruit_staff em {
  display: inline-block;
  margin-bottom: 40px;
  font-family: "Noto Serif JP", serif;
  font-size: var(--fz30);
  font-weight: 600;
}
.recruit_staff dl {
  box-sizing: border-box;
  display: flex;
  gap: 100px;
  align-items: center;
  width: min(780px, 100%);
  padding: 48px 100px;
  margin: auto;
  background-color: rgba(255, 255, 255, 0.1);
  border: solid 1px #fff;
  border-radius: 10px;
}
.recruit_staff dl span {
  border-bottom: solid 1px #fff;
}
.recruit_staff dl dd {
  line-height: 2;
  text-align: left;
}
@media (max-width: 980px) {
  .recruit_staff em {
    margin-bottom: 20px;
    font-size: var(--fz20);
  }
  .recruit_staff dl {
    flex-direction: column;
    gap: 20px;
    padding: 25px 10px;
  }
  .recruit_staff dl span {
    border-bottom: solid 1px #fff;
  }
  .recruit_staff dl dd {
    line-height: 1.6;
    text-align: left;
  }
  .recruit_staff li {
    padding-left: 1em;
    text-indent: -1em;
  }
}
.recruit_staff--img {
  display: flex;
  gap: 40px;
  justify-content: center;
  margin-bottom: 50px;
}
.recruit_staff--img img {
  border-radius: 10px;
}
@media (max-width: 980px) {
  .recruit_staff--img {
    flex-direction: column;
    margin-bottom: 20px;
  }
}

.recruit_staff--txt {
  line-height: var(--fz34);
  max-width: 880px;
  margin: 0 auto 60px;
  text-align: left;
}
.recruit_staff--txt p:not(:last-child) {
  margin-bottom: 35px;
}
@media (max-width: 980px) {
  .recruit_staff--txt {
    margin-bottom: 30px;
  }
  .recruit_staff--txt p:not(:last-child) {
    margin-bottom: 15px;
  }
}

.recruit_message {
  line-height: 1.7;
}
.recruit_message--col {
  display: flex;
  gap: 50px;
  margin-bottom: 50px;
}
@media (max-width: 980px) {
  .recruit_message--col {
    flex-direction: column;
  }
}
.recruit_message--img img {
  border-radius: 10px;
}
.recruit_message--img figcaption {
  margin-top: 10px;
  font-family: "Noto Serif JP", serif;
  text-align: right;
}
.recruit_message--img span {
  margin-left: 15px;
  font-size: var(--fz24);
  font-weight: 700;
  color: #09573a;
}
.recruit_message--txt {
  width: 445px;
}
.recruit_message--txt em {
  display: inline-block;
  font-family: "Noto Serif JP", serif;
  font-size: var(--fz24);
  font-weight: 700;
  color: #09573a;
  border-bottom: solid 1px #09573a;
}
.recruit_message--txt p {
  margin-top: 35px;
}
@media (max-width: 980px) {
  .recruit_message--txt {
    width: auto;
  }
  .recruit_message--txt p {
    margin-top: 20px;
  }
}
.recruit_message--content {
  margin-bottom: 100px;
}
.recruit_message--content p:not(:last-child) {
  margin-bottom: 35px;
  line-height: var(--fz34);
}
.recruit_message--content b {
  font-weight: 700;
}
@media (max-width: 980px) {
  .recruit_message--content {
    margin-bottom: 50px;
  }
  .recruit_message--content p:not(:last-child) {
    margin-bottom: 20px;
  }
}
.recruit_message--bnr a {
  transition: 0.2s;
}
.recruit_message--bnr a:hover {
  opacity: 0.8;
  transition: 0.2s;
}
.recruit_message--section {
  width: min(980px, 100%);
  padding: 100px 0;
  margin: auto;
}
@media (max-width: 980px) {
  .recruit_message--section {
    padding: 50px 0;
  }
}

.recruit_message--section h2.ttl_main {
  width: fit-content;
  display: block;
  margin: 0 auto 80px;
  font-family: "Noto Serif JP", serif;
}

.recruit_message--section em {
  display: block;
  font-family: "Noto Serif JP", serif;
  font-size: var(--fz30);
  font-weight: 700;
  color: #09573a;
  text-align: center;
  margin: 0 auto 40px;
}

@media (max-width: 980px) {
  .recruit_message--section em {
    font-size: var(--fz20);
  }
}

.snow-monkey-form {
  margin-bottom: 100px;
}
@media (max-width: 980px) {
  .snow-monkey-form {
    margin-bottom: 60px;
  }
}

.smf-form {
  margin-bottom: 80px;
}
@media (max-width: 980px) {
  .smf-form {
    margin-bottom: 35px;
  }
}
.smf-form textarea {
  height: 200px;
}
.smf-form input[type="text"],
.smf-form input[type="email"],
.smf-form input[type="tel"],
.smf-form input[type="number"],
.smf-form input[type="date"],
.smf-form input[type="password"],
.smf-form textarea {
  box-sizing: border-box;
  width: 100%;
  padding: 10px 4px !important;
  font-family: inherit;
  font-size: var(--fz16);
  font-weight: normal;
  color: #000;
  background: #eff1f4 !important;
  border: none !important;
  border-radius: 5px;
  box-shadow: none;
}
.smf-form input[type="text"]:focus,
.smf-form input[type="email"]:focus,
.smf-form input[type="tel"]:focus,
.smf-form input[type="number"]:focus,
.smf-form input[type="date"]:focus,
.smf-form input[type="password"]:focus,
.smf-form textarea:focus {
  background: #fff;
  border: solid 1px #e6edf2;
  outline: none;
}
.smf-form input[type="checkbox"]:checked + span,
.smf-form input[type="radio"]:checked + span {
  font-weight: bold;
}
.smf-form select {
  padding: 2px 0 4px 4px;
  margin-right: 2px;
  border: solid 1px #345372;
  border-radius: 3px;
}
.smf-form select option {
  padding: 0;
}

.smf-item {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  margin-bottom: 30px;
}
@media (max-width: 980px) {
  .smf-item {
    flex-direction: column;
    gap: 8px;
    margin-bottom: 20px;
  }
}
.smf-item.is-required .smf-item__col--label span::after {
  color: #fff;
  content: "必須";
  background: #9d290d;
}
.smf-item.is-optional .smf-item__col--label span::after {
  color: #9d290d;
  content: "任意";
  background: #ffede8;
}

.smf-item__col.smf-item__col--label {
  position: relative;
  width: 100%;
  max-width: 260px;
  font-size: var(--fz20);
  font-weight: bold;
  text-align: left;
  vertical-align: middle;
}
.smf-item__col.smf-item__col--label span::after {
  position: absolute;
  top: 50%;
  right: 0;
  padding: 4px 5px 5px;
  font-size: var(--fz15);
  font-weight: 400;
  line-height: 1;
  border-radius: 5px;
  transform: translate(0, -50%);
}
@media (max-width: 980px) {
  .smf-item__col.smf-item__col--label {
    max-width: 100%;
    font-size: var(--fz18);
  }
  .smf-item__col.smf-item__col--label span::after {
    padding: 4px 5px 5px;
    font-size: var(--fz12);
  }
}
.smf-item__col.smf-item__col--controls {
  width: 100%;
}

.smf-action {
  position: relative;
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: center;
}
@media (max-width: 980px) {
  .smf-action {
    flex-direction: column;
  }
}
.smf-action input[type="submit"],
.smf-action input[type="button"],
.smf-action input[type="hidden"],
.smf-action button[type="submit"] {
  display: inline-block;
  width: 250px;
  height: 70px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  font-size: var(--fz21);
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.1em;
  cursor: pointer;
  background: #9d290d;
  border: none;
  border-radius: 45px;
  transition: 0.3s;
}
.smf-action input[type="submit"]:hover,
.smf-action input[type="button"]:hover,
.smf-action input[type="hidden"]:hover,
.smf-action button[type="submit"]:hover {
  background-color: #09573a;
  opacity: 0.8;
}
.smf-action .smf-button-control {
  margin-left: 0 !important;
}
.smf-action--wrap {
  margin-top: 80px;
  text-align: center;
}

.frm.danger {
  position: relative;
  display: block;
  padding: 5px 10px;
  margin-top: 12px;
  clear: both;
  font-size: var(--fz12);
  color: #fff !important;
  background: #c90000;
}
.frm.danger::before {
  position: absolute;
  top: -20px;
  width: 0;
  height: 0;
  content: "";
  border: 10px solid #c90000;
  border-color: transparent;
  border-bottom-color: #c90000;
}

#loading {
  display: none;
}

.thanks {
  padding: 80px 20px;
  color: #fff;
  text-align: center;
  background-color: #09573a;
  border-radius: 50px;
}
.thanks p {
  margin: 60px auto 20px;
  font-size: var(--fz30);
}
.thanks small {
  font-size: var(--fz17);
}
.thanks a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
  margin: auto;
  width: min(380px, 100%);
  padding: 30px 0;
  font-size: var(--fz20);
  color: #000;
  background-color: #fff;
  border-radius: 99px;
  transition: 0.2s;
}
@media (max-width: 980px) {
  .thanks {
    padding: 40px 10px;
  }
  .thanks img {
    width: 180px;
  }
  .thanks p {
    margin: 30px auto 10px;
    font-size: var(--fz22);
  }
  .thanks small {
    font-size: var(--fz14);
  }
  .thanks a {
    width: min(300px, 100%);
    padding: 20px 0;
    font-size: var(--fz18);
  }
  .thanks a img {
    width: 45px;
  }
}

.recruit_contact_lead {
  padding: 100px 0 80px;
  margin-top: -80px;
  margin-bottom: 80px;
  text-align: center;
  background-color: #e5eeeb;
}
.recruit_contact_lead p {
  width: min(980px, 100%);
  padding: 40px 130px;
  margin: auto;
  background-color: #fff;
  border-radius: 10px;
}
.recruit_contact_lead em {
  display: inline-block;
  margin-bottom: 10px;
  font-family: "Noto Serif JP", serif;
  font-size: var(--fz30);
  font-weight: 700;
  color: #09573a;
}
.recruit_contact_lead span {
  display: inline-block;
  text-align: center;
  margin-top: 30px;
  width: 100%;
}
@media (max-width: 980px) {
  .recruit_contact_lead {
    padding: 50px 10px;
    margin-bottom: 30px;
  }
  .recruit_contact_lead p {
    width: auto;
    padding: 20px 10px;
  }
  .recruit_contact_lead em {
    margin-bottom: 15px;
    font-size: var(--fz20);
  }
}
.wp-block-preformatted {
  font-weight: 400;
  font-size: var(--fz17);
  line-height: var(--fz27);
  height: 720px;
  padding: 10px;
  overflow: scroll;
  color: #6b6b6b;
  background: #eff1f4;
  margin-bottom: 20px;
}
.is-privacypolicy {
  display: block;
}
.is-privacypolicy div {
  margin-bottom: 20px;
}

.is-privacypolicy .smf-placeholder:last-child {
  text-align: center;
}

.smf-error-messages {
  font-size: var(--fz12);
  color: #9d290d;
}

/* 確認画面 */
[data-screen="confirm"] .smf-item__col.smf-item__col--controls {
  box-sizing: border-box;
  width: 100%;
  padding: 10px 4px !important;
  font-family: inherit;
  font-size: var(--fz16);
  font-weight: 400;
  color: #000;
  background: #eff1f4 !important;
  border: none !important;
  border-radius: 5px;
  box-shadow: none;
}

[data-screen="confirm"] .smf-form {
  position: relative;
  margin: 250px 0 80px 0;
}

[data-screen="confirm"] .smf-form::before {
  content: "";
  width: 254px;
  height: 72px;
  background: url(../img/recruit/form/ttl_confirm.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: -10%;
  right: 0;
  left: 0;
  margin: auto;
}

[data-screen="confirm"] .smf-item {
  align-items: center;
}

/*# sourceMappingURL=recruit.css.map */
