/* =======================================================
c-intro
======================================================= */
@media screen and (max-width: 767px) {
  .c-intro__link-wrapper {
    grid-template-columns: auto 1fr;
    column-gap: 0.5625rem;
  }
}

/* =======================================================
c-info
======================================================= */
.c-info {
  padding-bottom: 8.75rem;
}
@media screen and (max-width: 767px) {
  .c-info {
    padding-bottom: 5rem;
  }
}
.c-info__txt {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
  .c-info__txt {
    margin-bottom: 1.875rem;
  }
}
.c-info__details[open] .c-info__details-summary::after {
  transform: scale(1, -1);
}
.c-info__details:not(:first-of-type) {
  margin-top: 0.375rem;
}
.c-info__details:last-of-type .c-info__details-content-inner {
  padding-bottom: 0;
}
.c-info__details-summary {
  display: grid;
  grid-template-columns: 1fr auto;
  padding: 1.5625rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: var(--color-white);
  letter-spacing: 0.03em;
  cursor: pointer;
  background: var(--color-black02);
}
@media screen and (max-width: 767px) {
  .c-info__details-summary {
    padding: 0.875rem;
    font-size: 0.9375rem;
  }
}
.c-info__details-summary::-webkit-details-marker {
  display: none;
}
.c-info__details-summary::after {
  width: 1.5rem;
  height: 1.5rem;
  content: "";
  background: url("../images/info/info-arrow.svg") center center/cover no-repeat;
}
@media screen and (max-width: 767px) {
  .c-info__details-summary::after {
    width: 1rem;
    height: 1rem;
  }
}
.c-info__details-content-inner {
  padding: 1.875rem 0 3.375rem;
}
@media screen and (max-width: 767px) {
  .c-info__details-content-inner {
    padding: 1.25rem 0 2.5rem;
  }
}
.c-info__def {
  display: grid;
  grid-template-columns: 19.25rem 1fr;
}
@media screen and (max-width: 767px) {
  .c-info__def {
    grid-template-columns: auto;
  }
}
.c-info__dttl {
  padding-top: 0.4375rem;
  font-weight: 700;
  line-height: 1;
  color: var(--color-accent);
}
.c-info__dttl:not(:first-of-type) {
  padding-top: 1.6875rem;
}
@media screen and (max-width: 767px) {
  .c-info__dttl:not(:first-of-type) {
    padding-top: 1.125rem;
  }
}
.c-info__dttl:not(:last-of-type) {
  padding-bottom: 1.5625rem;
  border-bottom: 0.0625rem solid var(--color-gray);
}
@media screen and (max-width: 767px) {
  .c-info__dttl:not(:last-of-type) {
    padding-bottom: 0;
    border: none;
  }
}
@media screen and (max-width: 767px) {
  .c-info__dttl:first-of-type {
    padding-bottom: 0.5rem;
  }
}
.c-info__ditem:not(:first-of-type) {
  padding-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .c-info__ditem:not(:first-of-type) {
    padding-top: 0.5rem;
  }
}
.c-info__ditem:not(:last-of-type) {
  padding-bottom: 1.5625rem;
  border-bottom: 0.0625rem solid var(--color-gray);
}
@media screen and (max-width: 767px) {
  .c-info__ditem:not(:last-of-type) {
    padding-bottom: 1.125rem;
  }
}

/* =======================================================
flow
======================================================= */
.p-flow .c-hgroup {
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .p-flow .c-hgroup {
    margin-bottom: 2.5rem;
  }
}
.p-flow__item + .p-flow__item {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-flow__item + .p-flow__item {
    margin-top: 2.5rem;
  }
}
.p-flow__item.--halfway .p-flow__step-wrapper {
  grid-template-columns: repeat(5, 1fr);
}
@media screen and (max-width: 767px) {
  .p-flow__item.--halfway .p-flow__step-wrapper {
    grid-template-columns: auto;
  }
}
.p-flow__item.--new-graduates .p-flow__step-wrapper {
  grid-template-columns: repeat(6, 1fr);
}
@media screen and (max-width: 767px) {
  .p-flow__item.--new-graduates .p-flow__step-wrapper {
    grid-template-columns: auto;
  }
}
.p-flow__item-ttl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.5rem;
  align-items: center;
  margin-bottom: 1.875rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .p-flow__item-ttl {
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 767px) {
  .p-flow__item-ttl {
    gap: 0.3125rem;
    margin-bottom: 1.25rem;
    font-size: 0.9375rem;
  }
}
.p-flow__item-ttl::before {
  width: 1.25rem;
  height: 1.25rem;
  content: "";
  background: var(--color-black02);
  transform: translateY(0.125rem);
}
@media screen and (max-width: 767px) {
  .p-flow__item-ttl::before {
    width: 0.9375rem;
    height: 0.9375rem;
    transform: translateY(0.0625rem);
  }
}
.p-flow__step {
  position: relative;
  background: var(--color-gray04);
}
@media screen and (min-width: 768px) {
  .p-flow__step {
    min-height: 15rem;
  }
}
@media screen and (max-width: 767px) {
  .p-flow__step {
    display: grid;
    grid-template: "imgwrapper ttl" "imgwrapper txt";
    grid-template-columns: 4.0625rem 1fr;
    padding: 1.125rem 1.25rem 1.3125rem;
  }
}
.p-flow__step:not(:last-of-type)::after {
  position: absolute;
  width: 0.75rem;
  height: 0.1875rem;
  content: "";
  background: var(--color-gray);
}
@media screen and (min-width: 768px) {
  .p-flow__step:not(:last-of-type)::after {
    top: 50%;
    right: -0.75rem;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 767px) {
  .p-flow__step:not(:last-of-type)::after {
    bottom: -0.625rem;
    left: 50%;
    width: 0.1875rem;
    height: 0.625rem;
    transform: translateX(-50%);
  }
}
.p-flow__step-wrapper {
  display: grid;
  gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-flow__step-wrapper {
    gap: 0.625rem;
  }
}
.p-flow__step-imgwrapper {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-flow__step-imgwrapper {
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .p-flow__step-imgwrapper {
    grid-area: imgwrapper;
    margin: 0;
    transform: translateY(0.3125rem);
  }
}
.p-flow__step-ttl {
  margin-bottom: 0.4375rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .p-flow__step-ttl {
    text-align: center;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 767px) {
  .p-flow__step-ttl {
    grid-area: ttl;
    font-size: 0.9375rem;
  }
}
.p-flow__step-txt {
  font-size: 0.875rem;
  line-height: calc(20/14);
}
@media screen and (min-width: 768px) {
  .p-flow__step-txt {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .p-flow__step-txt {
    grid-area: txt;
    font-size: 0.8125rem;
  }
}
.p-flow__step.--entry .p-flow__step-imgwrapper {
  padding: 4rem 0 2.875rem;
}
@media screen and (max-width: 767px) {
  .p-flow__step.--entry .p-flow__step-imgwrapper {
    padding: 0;
  }
}
.p-flow__step.--entry .p-flow__step-imgwrapper > img {
  width: 4.25rem;
}
@media screen and (max-width: 767px) {
  .p-flow__step.--entry .p-flow__step-imgwrapper > img {
    width: 2.6875rem;
  }
}
.p-flow__step.--document-screening .p-flow__step-imgwrapper {
  padding: 2.9375rem 0 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-flow__step.--document-screening .p-flow__step-imgwrapper {
    padding: 0;
  }
}
.p-flow__step.--document-screening .p-flow__step-imgwrapper > img {
  width: 3.9375rem;
}
@media screen and (max-width: 767px) {
  .p-flow__step.--document-screening .p-flow__step-imgwrapper > img {
    width: 2.25rem;
  }
}
.p-flow__step.--first-selection .p-flow__step-imgwrapper {
  padding: 3.25rem 0 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-flow__step.--first-selection .p-flow__step-imgwrapper {
    padding: 0;
  }
}
.p-flow__step.--first-selection .p-flow__step-imgwrapper > img {
  width: 4.3125rem;
}
@media screen and (max-width: 767px) {
  .p-flow__step.--first-selection .p-flow__step-imgwrapper > img {
    width: 2.4375rem;
  }
}
.p-flow__step.--final-selection .p-flow__step-imgwrapper {
  padding: 3.25rem 0 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-flow__step.--final-selection .p-flow__step-imgwrapper {
    padding: 0;
  }
}
.p-flow__step.--final-selection .p-flow__step-imgwrapper > img {
  width: 4.25rem;
}
@media screen and (max-width: 767px) {
  .p-flow__step.--final-selection .p-flow__step-imgwrapper > img {
    width: 2.875rem;
  }
}
.p-flow__step.--job-offer .p-flow__step-imgwrapper {
  padding: 3.25rem 0 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-flow__step.--job-offer .p-flow__step-imgwrapper {
    padding: 0;
  }
}
.p-flow__step.--job-offer .p-flow__step-imgwrapper > img {
  width: 3.875rem;
}
@media screen and (max-width: 767px) {
  .p-flow__step.--job-offer .p-flow__step-imgwrapper > img {
    width: 2.5rem;
  }
}
.p-flow__step.--non-selection-interview .p-flow__step-imgwrapper {
  padding: 3.25rem 0 2.8125rem;
}
@media screen and (max-width: 767px) {
  .p-flow__step.--non-selection-interview .p-flow__step-imgwrapper {
    padding: 0;
  }
}
.p-flow__step.--non-selection-interview .p-flow__step-imgwrapper > img {
  width: 4.5625rem;
}
@media screen and (max-width: 767px) {
  .p-flow__step.--non-selection-interview .p-flow__step-imgwrapper > img {
    width: 2.5625rem;
  }
}

/* =======================================================
instagram
======================================================= */
.l-instagram {
  overflow: hidden;
}

.p-instagram .c-to-external__btn {
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .p-instagram .c-to-external__btn {
    margin: 0 auto 0 0;
  }
}
.p-instagram #sb_instagram {
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-instagram .p-instagram__slide-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem 0.3125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-instagram .p-instagram__slide {
    width: auto;
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-instagram .p-instagram__slide > img {
    height: 12.875rem;
  }
}

/* =======================================================
lower-mv
======================================================= */
.l-lower-mv {
  background-image: url("../images/info/mv-bg.webp");
}
@media screen and (max-width: 767px) {
  .l-lower-mv {
    background-image: url("../images/info/mv-bg-sp.webp");
  }
}

/* =======================================================
person
======================================================= */
.p-person__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-person__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.375rem 0.3125rem;
  }
}
.p-person__item {
  display: grid;
  grid-template-rows: 1fr auto;
  padding: 5.25rem 0 3.5rem;
  border: 0.125rem solid var(--color-accent);
}
@media screen and (max-width: 767px) {
  .p-person__item {
    display: block;
    min-height: 10.3125rem;
    padding: 0;
  }
}
.p-person__item-imgwrapper {
  align-self: start;
  justify-content: center;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .p-person__item-imgwrapper {
    margin-bottom: 0.9375rem;
  }
}
.p-person__item-ttl {
  font-weight: 700;
  color: var(--color-accent);
  text-align: center;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-person__item-ttl {
    line-height: calc(18/13);
  }
}
@media screen and (max-width: 767px) {
  .p-person__item:first-of-type {
    padding-top: 1.6875rem;
  }
}
.p-person__item:first-of-type .p-person__item-imgwrapper > img {
  width: 5.875rem;
}
@media screen and (max-width: 767px) {
  .p-person__item:first-of-type .p-person__item-imgwrapper > img {
    width: 3.9375rem;
  }
}
@media screen and (max-width: 767px) {
  .p-person__item:nth-of-type(2) {
    padding-top: 1.6875rem;
  }
}
.p-person__item:nth-of-type(2) .p-person__item-imgwrapper > img {
  width: 5.25rem;
}
@media screen and (max-width: 767px) {
  .p-person__item:nth-of-type(2) .p-person__item-imgwrapper > img {
    width: 3.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-person__item:nth-of-type(3) {
    padding-top: 2.375rem;
  }
}
.p-person__item:nth-of-type(3) .p-person__item-imgwrapper > img {
  width: 6.1875rem;
}
@media screen and (max-width: 767px) {
  .p-person__item:nth-of-type(3) .p-person__item-imgwrapper > img {
    width: 4.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-person__item:nth-of-type(4) {
    padding-top: 2.375rem;
  }
}
.p-person__item:nth-of-type(4) .p-person__item-imgwrapper > img {
  width: 5.0625rem;
}
@media screen and (max-width: 767px) {
  .p-person__item:nth-of-type(4) .p-person__item-imgwrapper > img {
    width: 3.25rem;
  }
}