div, dl, dt, dd, ul, ol,
li, h1, h2, h3, h4, h5,
h6, pre, code, form, fieldset, legend,
input, textarea, p, blockquote,
th, td {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  word-break: break-all;
  font-size: inherit;
  width: 100%;
}

fieldset, img {
  border: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal;
}

li {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

q::before, q::after {
  content: "";
}

abbr {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

figure {
  padding: 0;
  margin: 0;
}

* {
  box-sizing: border-box;
}

html, body {
  height: 100%;
}

body {
  -webkit-text-size-adjust: 100%;
  padding: 0;
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #fff;
  background: #000;
}

a {
  text-decoration: none;
  color: inherit;
  transition: all 0.3s ease;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
}

a:hover {
  opacity: 0.8;
}

img {
  vertical-align: top;
  line-height: 1;
  max-width: 100%;
  height: auto;
}

.font-notoserif {
  font-family: "Noto Serif JP", serif;
}

.text-center {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .text-pccenter {
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .text-spcenter {
    text-align: center;
  }
}

.sp {
  display: none;
}

.pc {
  display: block;
}

@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
}
.mt-0 {
  margin-top: 0 !important;
}

.bt-0 {
  border-top: 0 !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.lh-200 {
  line-height: 2 !important;
}

header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  header {
    padding: min(24 / 1440 * 100vw, 28.8px) min(73 / 1440 * 100vw, 87.6px);
  }
}
@media screen and (max-width: 767px) {
  header {
    padding: calc(16 / 375 * 100vw) calc(20 / 375 * 100vw);
  }
}

.header-logo a {
  display: block;
}
@media screen and (min-width: 768px) {
  .header-logo img {
    width: min(512 / 1440 * 100vw, 614.4px);
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .header-logo img {
    width: calc(222 / 375 * 100vw);
    height: auto;
  }
}

@media screen and (min-width: 768px) {
  #openmenu {
    display: none !important;
  }
}
#openmenu {
  display: block;
  text-indent: -99em;
  overflow: hidden;
  position: relative;
  z-index: 101;
  cursor: pointer;
  transition: all 0.25s ease;
  width: calc(32 / 375 * 100vw);
  height: calc(32 / 375 * 100vw);
}
#openmenu span {
  content: "";
  display: block;
  background: #fff;
  position: absolute;
  transition: all 0.25s ease;
  width: calc(24 / 375 * 100vw);
  height: calc(2 / 375 * 100vw);
  left: calc(4 / 375 * 100vw);
}
#openmenu span:nth-child(1) {
  top: calc(7 / 375 * 100vw);
}
#openmenu span:nth-child(2) {
  top: calc(15 / 375 * 100vw);
}
#openmenu span:nth-child(3) {
  top: calc(23 / 375 * 100vw);
}
#openmenu.is-open span {
  top: calc(15 / 375 * 100vw);
}
#openmenu.is-open span:nth-child(1) {
  transform: rotate(45deg);
}
#openmenu.is-open span:nth-child(2) {
  opacity: 0;
}
#openmenu.is-open span:nth-child(3) {
  transform: rotate(-45deg);
}

.gnav {
  background: #000;
  position: fixed;
  overflow: auto;
  z-index: 100;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  transition: all 0.25s ease;
  transform: translate3d(0, -100%, 0);
}
@media screen and (min-width: 768px) {
  .gnav {
    padding: min(24 / 1440 * 100vw, 28.8px);
  }
}
@media screen and (max-width: 767px) {
  .gnav {
    padding: calc(24 / 375 * 100vw);
  }
}
.gnav.is-active {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

.gnav-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .gnav-header {
    margin-bottom: min(40 / 1440 * 100vw, 48px);
  }
}
@media screen and (max-width: 767px) {
  .gnav-header {
    margin-bottom: calc(40 / 375 * 100vw);
  }
}

.gnav-logo {
  display: block;
}
@media screen and (min-width: 768px) {
  .gnav-logo {
    width: min(268 / 1440 * 100vw, 321.6px);
  }
}
@media screen and (max-width: 767px) {
  .gnav-logo {
    width: calc(268 / 375 * 100vw);
  }
}
.gnav-logo img {
  width: 100%;
}

.gnav-close {
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .gnav-close {
    width: min(32 / 1440 * 100vw, 38.4px);
    height: min(32 / 1440 * 100vw, 38.4px);
  }
}
@media screen and (max-width: 767px) {
  .gnav-close {
    width: calc(32 / 375 * 100vw);
    height: calc(32 / 375 * 100vw);
  }
}
.gnav-close img {
  width: 100%;
}

.gnav-list > li {
  display: block;
}
@media screen and (min-width: 768px) {
  .gnav-list > li + li {
    margin-top: min(8 / 1440 * 100vw, 9.6px);
  }
}
@media screen and (max-width: 767px) {
  .gnav-list > li + li {
    margin-top: calc(10 / 375 * 100vw);
  }
}
.gnav-list > li a {
  display: inline-block;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .gnav-list > li a {
    font-size: min(36 / 1440 * 100vw, 43.2px);
  }
}
@media screen and (max-width: 767px) {
  .gnav-list > li a {
    font-size: calc(32 / 375 * 100vw);
  }
}

.gnav-buttons {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .gnav-buttons {
    margin-top: min(40 / 1440 * 100vw, 48px);
    gap: min(24 / 1440 * 100vw, 28.8px);
    max-width: min(360 / 1440 * 100vw, 432px);
  }
}
@media screen and (max-width: 767px) {
  .gnav-buttons {
    margin-top: calc(40 / 375 * 100vw);
    gap: calc(24 / 375 * 100vw);
    max-width: calc(308 / 375 * 100vw);
  }
}

.btn-apply,
.btn-casual {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 30px;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  color: #000;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .btn-apply,
  .btn-casual {
    gap: min(8 / 1440 * 100vw, 9.6px);
    padding: min(10 / 1440 * 100vw, 12px) min(10 / 1440 * 100vw, 12px) min(10 / 1440 * 100vw, 12px) min(14 / 1440 * 100vw, 16.8px);
    font-size: min(24 / 1440 * 100vw, 28.8px);
    min-width: min(236 / 1440 * 100vw, 283.2px);
  }
}
@media screen and (max-width: 767px) {
  .btn-apply,
  .btn-casual {
    gap: calc(4 / 375 * 100vw);
    padding: calc(10 / 375 * 100vw) calc(10 / 375 * 100vw) calc(10 / 375 * 100vw) calc(16 / 375 * 100vw);
    font-size: calc(24 / 375 * 100vw);
    border-radius: calc(30 / 375 * 100vw);
  }
}
.btn-apply:hover,
.btn-casual:hover {
  opacity: 1;
}

.btn-apply {
  background: #FF8550;
}
.btn-apply:hover {
  background-color: #FFBC9F;
}

.btn-casual {
  background: #8FDEF9;
}
.btn-casual:hover {
  background-color: #D9F5FF;
}

.btn-arrow {
  display: block;
  position: relative;
  background: url("../img/icon_arrow.svg") no-repeat center/contain;
}
@media screen and (min-width: 768px) {
  .btn-arrow {
    width: min(32 / 1440 * 100vw, 38.4px);
    height: min(32 / 1440 * 100vw, 38.4px);
  }
}
@media screen and (max-width: 767px) {
  .btn-arrow {
    width: calc(32 / 375 * 100vw);
    height: calc(32 / 375 * 100vw);
  }
}

.wrapper {
  overflow: hidden;
  position: relative;
}

.kv {
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .kv {
    padding-bottom: min(120 / 1440 * 100vw, 144px);
  }
}
@media screen and (max-width: 767px) {
  .kv {
    padding-bottom: calc(300 / 375 * 100vw);
    min-height: calc(600 / 375 * 100vw);
  }
}

.kv-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.kv-bg img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .kv-bg img {
    height: calc(723 / 375 * 100vw);
    object-fit: cover;
  }
}

.kv-content {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .kv-content {
    padding: min(200 / 1440 * 100vw, 240px) min(80 / 1440 * 100vw, 96px) 0;
  }
}
@media screen and (max-width: 767px) {
  .kv-content {
    padding: calc(106 / 375 * 100vw) calc(25 / 375 * 100vw) 0;
  }
}

.kv-text-wrap {
  position: relative;
  z-index: 3;
}
@media screen and (min-width: 768px) {
  .kv-text-wrap {
    max-width: min(944 / 1440 * 100vw, 1132.8px);
  }
}
@media screen and (max-width: 767px) {
  .kv-text-wrap {
    max-width: calc(240 / 375 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .kv-title {
    margin-bottom: min(40 / 1440 * 100vw, 48px);
  }
}
@media screen and (max-width: 767px) {
  .kv-title {
    margin-bottom: calc(100 / 375 * 100vw);
  }
}

.kv-title-large {
  display: block;
  font-weight: 900;
  color: #fff;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .kv-title-large {
    font-size: min(74 / 1440 * 100vw, 88.8px);
  }
}
@media screen and (max-width: 767px) {
  .kv-title-large {
    font-size: calc(30 / 375 * 100vw);
  }
}

.kv-subtitle {
  font-weight: 700;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .kv-subtitle {
    font-size: min(42 / 1440 * 100vw, 50.4px);
    line-height: 1.65;
    margin-bottom: min(32 / 1440 * 100vw, 38.4px);
  }
}
@media screen and (max-width: 767px) {
  .kv-subtitle {
    font-size: calc(20 / 375 * 100vw);
    line-height: 1.45;
    margin-bottom: calc(24 / 375 * 100vw);
  }
}

.kv-vertical {
  position: absolute;
  writing-mode: vertical-rl;
  font-weight: 900;
  color: #fff;
  pointer-events: none;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .kv-vertical {
    right: min(40 / 1440 * 100vw, 48px);
    top: min(64 / 1440 * 100vw, 76.8px);
    font-size: min(155 / 1440 * 100vw, 186px);
    line-height: 0.97;
    height: min(2200 / 1440 * 100vw, 2640px);
  }
}
@media screen and (max-width: 767px) {
  .kv-vertical {
    right: 0;
    top: calc(95 / 375 * 100vw);
    font-size: calc(95 / 375 * 100vw);
    height: calc(1300 / 375 * 100vw);
    line-height: 0.9;
    letter-spacing: -0.08em;
  }
}

.kv-buttons {
  display: flex;
}
@media screen and (min-width: 768px) {
  .kv-buttons {
    flex-direction: row;
    gap: min(24 / 1440 * 100vw, 28.8px);
  }
}
@media screen and (max-width: 767px) {
  .kv-buttons {
    flex-direction: column;
    gap: calc(24 / 375 * 100vw);
  }
}

.pagenav {
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  background: #000;
  margin-left: min(50 / 1440 * 100vw, 60px);
  width: min(1152 / 1440 * 100vw, 1382.4px);
}
@media screen and (max-width: 767px) {
  .pagenav {
    display: none;
  }
}

.pagenav-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(20 / 1440 * 100vw, 24px);
}
.pagenav-list li a {
  display: block;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  padding: min(10 / 1440 * 100vw, 12px);
  font-size: min(24 / 1440 * 100vw, 28.8px);
}

.section {
  position: relative;
}
@media screen and (min-width: 768px) {
  .section {
    padding: min(120 / 1440 * 100vw, 144px) 0;
  }
}
@media screen and (max-width: 767px) {
  .section {
    padding: calc(80 / 375 * 100vw) 0;
  }
}

@media screen and (min-width: 768px) {
  .section-wide {
    padding: min(230 / 1440 * 100vw, 276px) 0;
    max-width: none;
  }
}
@media screen and (max-width: 767px) {
  .section-wide {
    padding: 0;
    max-width: none;
  }
}

.section-work,
.section-inexperienced,
.section-career,
.section-team,
.section-requirements,
.section-faq {
  position: relative;
}
@media screen and (max-width: 767px) {
  .section-work,
  .section-inexperienced,
  .section-career,
  .section-team,
  .section-requirements,
  .section-faq {
    padding: calc(43 / 375 * 100vw) 0;
  }
}

@media screen and (min-width: 768px) {
  .section-work {
    margin: min(40 / 1440 * 100vw, 48px) 0 min(230 / 1440 * 100vw, 276px);
  }
}
.section-label {
  font-weight: 900;
  color: #B70000;
  font-feature-settings: "vrt2";
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .section-label {
    writing-mode: vertical-rl;
    position: absolute;
    height: 100%;
    left: min(40 / 1440 * 100vw, 48px);
    top: 0;
    font-size: min(112 / 1440 * 100vw, 134.4px);
    line-height: 0.96;
  }
}
@media screen and (max-width: 767px) {
  .section-label {
    writing-mode: horizontal-tb;
    position: relative;
    font-size: calc(42 / 375 * 100vw);
    max-width: 100%;
    margin: 0 auto calc(38 / 375 * 100vw) calc(24 / 375 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .section-inner {
    max-width: min(963 / 1440 * 100vw, 1155.6px);
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .section-inner {
    max-width: 100%;
    margin: 0 calc(30 / 375 * 100vw) 0;
  }
}
.section-inner.has-gap {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .section-inner.has-gap {
    gap: min(16 / 1440 * 100vw, 19.2px);
  }
}
@media screen and (max-width: 767px) {
  .section-inner.has-gap {
    gap: calc(16 / 375 * 100vw);
  }
}

@media screen and (max-width: 767px) {
  .section-inner-spnarrow {
    max-width: calc(248 / 375 * 100vw);
  }
}

.section-heading {
  font-weight: 900;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .section-heading {
    font-size: min(120 / 1440 * 100vw, 144px);
    line-height: 1.07;
    margin-bottom: min(16 / 1440 * 100vw, 19.2px);
  }
}
@media screen and (max-width: 767px) {
  .section-heading {
    font-size: calc(48 / 375 * 100vw);
    line-height: 1.05;
    margin-bottom: calc(20 / 375 * 100vw);
  }
}

.section-heading-sm {
  font-weight: 700;
  color: #fff;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .section-heading-sm {
    font-size: min(24 / 1440 * 100vw, 28.8px);
    margin-bottom: min(16 / 1440 * 100vw, 19.2px);
  }
}
@media screen and (max-width: 767px) {
  .section-heading-sm {
    font-size: calc(24 / 375 * 100vw);
    margin-bottom: calc(16 / 375 * 100vw);
  }
}

.section-text {
  font-weight: 700;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .section-text {
    font-size: min(20 / 1440 * 100vw, 24px);
    line-height: min(29 / 1440 * 100vw, 34.8px);
  }
}
@media screen and (max-width: 767px) {
  .section-text {
    font-size: calc(20 / 375 * 100vw);
    line-height: calc(29 / 375 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .section-text + .info-box {
    margin-top: min(16 / 1440 * 100vw, 19.2px);
  }
}
@media screen and (max-width: 767px) {
  .section-text + .info-box {
    margin-top: calc(16 / 375 * 100vw);
  }
}

.work-block {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .work-block {
    margin-top: min(105 / 1440 * 100vw, 126px);
    gap: min(16 / 1440 * 100vw, 19.2px);
  }
}
@media screen and (max-width: 767px) {
  .work-block {
    margin-top: calc(40 / 375 * 100vw);
    gap: calc(16 / 375 * 100vw);
  }
}

.work-tag {
  display: inline-block;
  align-self: flex-start;
  background: #B70000;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .work-tag {
    padding: min(8 / 1440 * 100vw, 9.6px);
    font-size: min(64 / 1440 * 100vw, 76.8px);
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .work-tag {
    padding: calc(8 / 375 * 100vw);
    font-size: calc(32 / 375 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .work-tag-wide {
    font-size: min(64 / 1440 * 100vw, 76.8px);
  }
}
@media screen and (max-width: 767px) {
  .work-tag-wide {
    font-size: calc(32 / 375 * 100vw);
  }
}

.work-title {
  font-weight: 900;
  color: #fff;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .work-title {
    font-size: min(48 / 1440 * 100vw, 57.6px);
  }
}
@media screen and (max-width: 767px) {
  .work-title {
    font-size: calc(35 / 375 * 100vw);
  }
}

.work-note {
  font-weight: 900;
  color: #fff;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .work-note {
    font-size: min(36 / 1440 * 100vw, 43.2px);
    margin-top: min(24 / 1440 * 100vw, 28.8px);
  }
}
@media screen and (max-width: 767px) {
  .work-note {
    font-size: calc(24 / 375 * 100vw);
    margin-top: calc(20 / 375 * 100vw);
  }
}

.info-box {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .info-box {
    margin-top: min(16 / 1440 * 100vw, 19.2px);
  }
}
@media screen and (max-width: 767px) {
  .info-box {
    margin-top: calc(16 / 375 * 100vw);
  }
}

.info-box-header {
  background: #fff;
  font-weight: 700;
  color: #000;
}
@media screen and (min-width: 768px) {
  .info-box-header {
    font-size: min(24 / 1440 * 100vw, 28.8px);
    line-height: min(45 / 1440 * 100vw, 54px);
    padding: min(8 / 1440 * 100vw, 9.6px) min(16 / 1440 * 100vw, 19.2px);
  }
}
@media screen and (max-width: 767px) {
  .info-box-header {
    font-size: calc(24 / 375 * 100vw);
    line-height: calc(35 / 375 * 100vw);
    padding: calc(8 / 375 * 100vw) calc(16 / 375 * 100vw);
  }
}

.info-box-body {
  border: 3px solid #fff;
  border-top: none;
}
@media screen and (min-width: 768px) {
  .info-box-body {
    padding: min(8 / 1440 * 100vw, 9.6px);
  }
}
@media screen and (max-width: 767px) {
  .info-box-body {
    padding: calc(8 / 375 * 100vw);
  }
}
.info-box-body ul li {
  list-style: disc;
  font-weight: 700;
  color: #fff;
  line-height: 1.875;
}
@media screen and (min-width: 768px) {
  .info-box-body ul li {
    margin-left: min(36 / 1440 * 100vw, 43.2px);
    font-size: min(24 / 1440 * 100vw, 28.8px);
  }
}
@media screen and (max-width: 767px) {
  .info-box-body ul li {
    margin-left: calc(36 / 375 * 100vw);
    font-size: calc(24 / 375 * 100vw);
  }
}

.career-mission {
  width: 100%;
  border: 2px solid #fff;
}
@media screen and (min-width: 768px) {
  .career-mission {
    margin-top: min(32 / 1440 * 100vw, 38.4px);
    margin-bottom: min(32 / 1440 * 100vw, 38.4px);
  }
}
@media screen and (max-width: 767px) {
  .career-mission {
    margin-top: calc(32 / 375 * 100vw);
    margin-bottom: calc(32 / 375 * 100vw);
  }
}

.career-mission-header {
  background: #fff;
  text-align: center;
  font-weight: 700;
  color: #000;
}
@media screen and (min-width: 768px) {
  .career-mission-header {
    font-size: min(24 / 1440 * 100vw, 28.8px);
    line-height: min(45 / 1440 * 100vw, 54px);
    padding: min(8 / 1440 * 100vw, 9.6px) min(16 / 1440 * 100vw, 19.2px);
  }
}
@media screen and (max-width: 767px) {
  .career-mission-header {
    font-size: calc(24 / 375 * 100vw);
    line-height: calc(35 / 375 * 100vw);
    padding: calc(8 / 375 * 100vw) calc(16 / 375 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .career-mission-body {
    padding: min(16 / 1440 * 100vw, 19.2px);
  }
}
@media screen and (max-width: 767px) {
  .career-mission-body {
    padding: calc(16 / 375 * 100vw);
  }
}
.career-mission-body .career-mission-item + .career-mission-item {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
}
@media screen and (min-width: 768px) {
  .career-mission-body .career-mission-item + .career-mission-item {
    margin-top: min(16 / 1440 * 100vw, 19.2px);
    padding-top: min(16 / 1440 * 100vw, 19.2px);
  }
}
@media screen and (max-width: 767px) {
  .career-mission-body .career-mission-item + .career-mission-item {
    margin-top: calc(16 / 375 * 100vw);
    padding-top: calc(16 / 375 * 100vw);
  }
}
.career-mission-body .career-mission-item-label {
  font-weight: 700;
  color: #fff;
  line-height: 1.875;
}
@media screen and (min-width: 768px) {
  .career-mission-body .career-mission-item-label {
    font-size: min(24 / 1440 * 100vw, 28.8px);
  }
}
@media screen and (max-width: 767px) {
  .career-mission-body .career-mission-item-label {
    font-size: calc(24 / 375 * 100vw);
  }
}
.career-mission-body .career-mission-item-desc {
  font-weight: 400;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .career-mission-body .career-mission-item-desc {
    font-size: min(18 / 1440 * 100vw, 21.6px);
    line-height: 1.8;
    margin-top: min(8 / 1440 * 100vw, 9.6px);
  }
}
@media screen and (max-width: 767px) {
  .career-mission-body .career-mission-item-desc {
    font-size: calc(16 / 375 * 100vw);
    line-height: 1.8;
    margin-top: calc(8 / 375 * 100vw);
  }
}

.career-message {
  text-align: center;
  font-weight: 900;
  color: #fff;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .career-message {
    font-size: min(36 / 1440 * 100vw, 43.2px);
    margin-top: min(32 / 1440 * 100vw, 38.4px);
  }
}
@media screen and (max-width: 767px) {
  .career-message {
    font-size: calc(24 / 375 * 100vw);
    margin-top: calc(32 / 375 * 100vw);
  }
}

.team-banners {
  display: grid;
}
@media screen and (min-width: 768px) {
  .team-banners {
    grid-template-columns: repeat(2, 1fr);
    gap: min(40 / 1440 * 100vw, 48px) min(24 / 1440 * 100vw, 28.8px);
    margin-top: min(24 / 1440 * 100vw, 28.8px);
  }
}
@media screen and (max-width: 767px) {
  .team-banners {
    grid-template-columns: 1fr;
    gap: calc(32 / 375 * 100vw);
    margin-top: calc(24 / 375 * 100vw);
  }
}

.team-media {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 441 / 256;
  background: #D9D9D9;
  overflow: hidden;
}
.team-media img,
.team-media iframe {
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
}

.team-banner-text {
  display: block;
  text-align: center;
  line-height: 1.4;
}

.team-media-soon {
  background: #ECECEC;
  color: #999;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .team-media-soon {
    font-size: min(20 / 1440 * 100vw, 24px);
  }
}
@media screen and (max-width: 767px) {
  .team-media-soon {
    font-size: calc(16 / 375 * 100vw);
  }
}

.team-caption {
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .team-caption {
    margin-top: min(16 / 1440 * 100vw, 19.2px);
    font-size: min(15 / 1440 * 100vw, 18px);
  }
}
@media screen and (max-width: 767px) {
  .team-caption {
    margin-top: calc(12 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .requirements-list {
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .requirements-list {
    margin-top: calc(24 / 375 * 100vw);
  }
}
.requirements-list dt {
  font-weight: 700;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
@media screen and (min-width: 768px) {
  .requirements-list dt {
    padding: min(32 / 1440 * 100vw, 38.4px) 0 min(12 / 1440 * 100vw, 14.4px);
    font-size: min(20 / 1440 * 100vw, 24px);
    line-height: min(29 / 1440 * 100vw, 34.8px);
  }
}
@media screen and (max-width: 767px) {
  .requirements-list dt {
    padding: calc(14 / 375 * 100vw) 0 calc(6 / 375 * 100vw);
    font-size: calc(20 / 375 * 100vw);
    line-height: calc(29 / 375 * 100vw);
  }
}
.requirements-list dt:first-child {
  padding-top: 0;
}
.requirements-list dd {
  font-weight: 400;
  color: #fff;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .requirements-list dd {
    padding: min(12 / 1440 * 100vw, 14.4px) 0 min(14 / 1440 * 100vw, 16.8px);
    font-size: min(20 / 1440 * 100vw, 24px);
    line-height: min(29 / 1440 * 100vw, 34.8px);
  }
}
@media screen and (max-width: 767px) {
  .requirements-list dd {
    padding: calc(12 / 375 * 100vw) 0 calc(14 / 375 * 100vw);
    font-size: calc(20 / 375 * 100vw);
    line-height: calc(29 / 375 * 100vw);
  }
}
.requirements-list .requirements-note {
  display: inline-block;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .requirements-list .requirements-note {
    font-size: min(15 / 1440 * 100vw, 18px);
    margin-top: min(6 / 1440 * 100vw, 7.2px);
  }
}
@media screen and (max-width: 767px) {
  .requirements-list .requirements-note {
    font-size: calc(14 / 375 * 100vw);
    margin-top: calc(6 / 375 * 100vw);
  }
}

.faq-list {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .faq-list {
    gap: min(32 / 1440 * 100vw, 38.4px);
  }
}
@media screen and (max-width: 767px) {
  .faq-list {
    gap: calc(32 / 375 * 100vw);
  }
}

.faq-item {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .faq-item {
    gap: min(18 / 1440 * 100vw, 21.6px);
  }
}
@media screen and (max-width: 767px) {
  .faq-item {
    gap: calc(18 / 375 * 100vw);
  }
}

.faq-question {
  font-weight: 700;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .faq-question {
    font-size: min(32 / 1440 * 100vw, 38.4px);
  }
}
@media screen and (max-width: 767px) {
  .faq-question {
    font-size: calc(24 / 375 * 100vw);
    line-height: 1.5;
  }
}

.faq-answer {
  font-weight: 700;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .faq-answer {
    font-size: min(20 / 1440 * 100vw, 24px);
    line-height: min(29 / 1440 * 100vw, 34.8px);
  }
}
@media screen and (max-width: 767px) {
  .faq-answer {
    font-size: calc(20 / 375 * 100vw);
    line-height: calc(29 / 375 * 100vw);
  }
}

.section-entry {
  position: relative;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .section-entry {
    padding: min(160 / 1440 * 100vw, 192px) 0;
  }
}
@media screen and (max-width: 767px) {
  .section-entry {
    padding: calc(80 / 375 * 100vw) 0;
  }
}

.entry-label {
  font-weight: 900;
  color: #B70000;
  line-height: 1;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
  .entry-label {
    font-size: min(80 / 1440 * 100vw, 96px);
  }
}
@media screen and (max-width: 767px) {
  .entry-label {
    font-size: calc(48 / 375 * 100vw);
  }
}

.entry-heading {
  font-weight: 900;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .entry-heading {
    font-size: min(40 / 1440 * 100vw, 48px);
    line-height: 1.5;
    margin-top: min(24 / 1440 * 100vw, 28.8px);
  }
}
@media screen and (max-width: 767px) {
  .entry-heading {
    font-size: calc(28 / 375 * 100vw);
    line-height: 1.5;
    margin-top: calc(16 / 375 * 100vw);
  }
}

.entry-text {
  color: #fff;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .entry-text {
    font-size: min(18 / 1440 * 100vw, 21.6px);
    margin-top: min(24 / 1440 * 100vw, 28.8px);
  }
}
@media screen and (max-width: 767px) {
  .entry-text {
    font-size: calc(15 / 375 * 100vw);
    margin-top: calc(16 / 375 * 100vw);
  }
}

.entry-buttons {
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .entry-buttons {
    gap: min(32 / 1440 * 100vw, 38.4px);
    margin-top: min(48 / 1440 * 100vw, 57.6px);
  }
}
@media screen and (max-width: 767px) {
  .entry-buttons {
    flex-direction: column;
    align-items: center;
    gap: calc(16 / 375 * 100vw);
    margin-top: calc(32 / 375 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .btn-entry {
    gap: min(12 / 1440 * 100vw, 14.4px);
    padding: min(18 / 1440 * 100vw, 21.6px) min(18 / 1440 * 100vw, 21.6px) min(18 / 1440 * 100vw, 21.6px) min(32 / 1440 * 100vw, 38.4px);
    font-size: min(28 / 1440 * 100vw, 33.6px);
    min-width: min(340 / 1440 * 100vw, 408px);
  }
}
@media screen and (max-width: 767px) {
  .btn-entry {
    width: calc(300 / 375 * 100vw);
    max-width: 100%;
    padding: calc(14 / 375 * 100vw) calc(14 / 375 * 100vw) calc(14 / 375 * 100vw) calc(24 / 375 * 100vw);
    font-size: calc(26 / 375 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .btn-entry .btn-arrow {
    width: min(40 / 1440 * 100vw, 48px);
    height: min(40 / 1440 * 100vw, 48px);
  }
}
@media screen and (max-width: 767px) {
  .btn-entry .btn-arrow {
    width: calc(36 / 375 * 100vw);
    height: calc(36 / 375 * 100vw);
  }
}

.footer {
  position: relative;
}
@media screen and (min-width: 768px) {
  .footer {
    padding: min(80 / 1440 * 100vw, 96px) 0 min(32 / 1440 * 100vw, 38.4px);
  }
}
@media screen and (max-width: 767px) {
  .footer {
    padding: calc(60 / 375 * 100vw) 0 calc(24 / 375 * 100vw);
  }
}
.footer::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1440/783;
  background: url("../img/bg_bottom.png") no-repeat center bottom/cover;
  z-index: -1;
  pointer-events: none;
}

.footer-inner {
  position: relative;
  z-index: 2;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .footer-inner {
    padding: 0 min(20 / 1440 * 100vw, 24px);
  }
}
@media screen and (max-width: 767px) {
  .footer-inner {
    padding: 0 calc(20 / 375 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .footer-logo {
    margin-bottom: min(16 / 1440 * 100vw, 19.2px);
  }
}
@media screen and (max-width: 767px) {
  .footer-logo {
    margin-bottom: calc(16 / 375 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .footer-logo img {
    width: min(404 / 1440 * 100vw, 484.8px);
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .footer-logo img {
    width: calc(276 / 375 * 100vw);
    height: auto;
  }
}

.copyright {
  display: block;
  font-weight: 500;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .copyright {
    font-size: min(20 / 1440 * 100vw, 24px);
  }
}
@media screen and (max-width: 767px) {
  .copyright {
    font-size: calc(14 / 375 * 100vw);
  }
}

.bodyfixed {
  position: fixed;
  width: 100%;
  height: 100%;
}