/*===========================================================================
unique
単一ページで使用するCSS
接頭辞【.u-】

【予測変換用 _base.css記述】
:root {
	--font-color-base: #000;
	--font-family-base: "Noto Sans JP", sans-serif;
	--back-color-base: #fff;
	--design-size-pc: 1400;
	--design-size-sp: 750;
}
===========================================================================*/
.u-mv__row {
  display: flex;
  align-items: start;
  gap: 40rem;
}
.u-mv__col {
  flex: 0 1 535rem;
}
.u-mv__ttl {
  margin-top: 38rem;
  color: var(--font-color-main);
  font-weight: 600;
  font-size: 38rem;
  line-height: 1.58;
}
.u-mv__data {
  display: flex;
  align-items: center;
  gap: 10rem;
  margin-top: 17rem;
  font-weight: 500;
  line-height: 1.5;
}
.u-mv__label {
  padding: 5rem 10rem 6rem;
  border-radius: 4rem;
  background-color: var(--font-color-main);
  color: #fff;
}
.u-mv__txt {
  letter-spacing: 0.04em;
}
.u-mv__img {
  flex: 1 1 570rem;
  margin-right: calc(50% - 50vw);
  border-radius: 0 0 0 10rem;
  overflow: hidden;
}
/* SP
----------------------------------*/
@media screen and (max-width: 767px) {
  .u-mv__row {
    display: block;
  }
  .u-mv__ttl {
    margin-top: 36rem;
    font-size: 24rem;
  }
  .u-mv__data {
    flex-wrap: wrap;
    margin-top: 18rem;
    font-size: 14rem;
    line-height: 1.38;
  }
  .u-mv__label {
    padding: 6rem 8rem;
  }
  .u-mv__txt {
    font-size: 13rem;
  }
  .u-mv__img {
    margin: 26rem 0 0;
    border-radius: 6rem;
  }
}


.u-interviewDtl {
  margin-top: 50rem;
}
.u-interviewDtl p:not([class]) {
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.04em;
}
.u-interviewDtl p:not([class])::before,
.u-interviewDtl p:not([class])::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.u-interviewDtl p:not([class])::before {
  margin-top: -3rem;
}
.u-interviewDtl p:not([class])::after {
  margin-bottom: -3rem;
}
/* SP
----------------------------------*/
@media screen and (max-width: 767px) {
  .u-interviewDtl {
    margin-top: 30rem;
  }
  .u-interviewDtl p:not([class]) {
    font-size: 14rem;
    line-height: 1.86;
  }
}


.u-job {
  padding: 60rem 80rem;
  border-radius: 10rem;
  background-color: rgba(255, 255, 255, 0.7);
}
.u-job__ttl {
  position: relative;
  padding-left: 24rem;
  color: var(--font-color-main);
  font-weight: 600;
  font-size: 20rem;
  line-height: 1.45;
}
.u-job__ttl::before {
  content: "";
  position: absolute;
  top: 8rem;
  left: 0;
  width: 14rem;
  height: 14rem;
  background: url(/recruit/common/images/ttl_subheading_deco.svg) no-repeat center / contain;
}
.u-job__ttl + * {
  margin-top: 30rem;
}
.u-job ul {
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.04em;
}
.u-job li {
  padding-left: 1em;
  text-indent: -1em;
}
.u-job li::before {
  content: "・";
}
/* SP
----------------------------------*/
@media screen and (max-width: 767px) {
  .u-job {
    margin: 0 -10rem;
    padding: 40rem 30rem;
  }
  .u-job__ttl {
    font-size: 18rem;
  }
  .u-job ul {
    font-size: 14rem;
    line-height: 1.86;
  }
}


.u-dtlCts {
  margin-top: 100rem;
}
.u-dtlCts__row {
  align-items: center;
  display: flex;
  gap: 65rem;
}
.u-dtlCts__col {
  flex: 0 1 550rem;
}
.u-dtlCts__ttl {
  display: flex;
  gap: 10rem;
  color: var(--font-color-main);
  font-weight: 600;
  font-size: 24rem;
  line-height: 1.58;
}
.u-dtlCts__ttl::before {
  flex-shrink: 0;
  content: "";
  display: block;
  width: 24rem;
  height: 38rem;
  background: url(/recruit/common/images/icn_q.webp) no-repeat center / contain;
}
.u-dtlCts__txt {
  margin-top: 50rem;
}
.u-dtlCts__img {
  width: 375rem;
  border-radius: 6rem;
  overflow: hidden;
}
.u-dtlCts__row.--align-start {
  align-items: start;
}
.u-dtlCts__row.--col-reverse {
  flex-direction: row-reverse;
}
.u-dtlCts__row.--column {
  flex-direction: column;
  align-items: initial;
}
.u-dtlCts__row.--column .u-dtlCts__col {
  flex: 1;
}
.u-dtlCts__row.--column .u-dtlCts__img {
  width: auto;
}
.u-dtlCts__img.--wid-over {
  flex: 1 1 532rem;
  width: auto;
  margin-left: calc(50% - 50vw);
  border-radius: 0 6rem 6rem 0;
}
/* PC
----------------------------------*/
@media screen and (min-width: 768px) {
  .u-interviewDtl .l-wid > .u-dtlCts:first-child {
    margin-top: 120rem;
  }
  .u-dtlCts__row.--align-start .u-dtlCts__col {
    padding-top: 25rem;
  }
}
/* SP
----------------------------------*/
@media screen and (max-width: 767px) {
  .u-dtlCts {
    margin-top: 80rem;
  }
  .u-dtlCts__row {
    flex-direction: column-reverse;
    gap: 20rem;
  }
  .u-dtlCts__col {
    flex: initial;
  }
  .u-dtlCts__ttl {
    flex-direction: column;
    align-items: center;
    gap: 0;
    font-size: 20rem;
    line-height: 1.5;
    text-align: center;
  }
  .u-dtlCts__ttl::before {
    width: 40rem;
    height: 64rem;
  }
  .u-dtlCts__txt {
    margin-top: 30rem;
  }
  .u-dtlCts__img {
    width: auto;
  }
  .u-dtlCts__row.--col-reverse {
    flex-direction: column-reverse;
  }
  .u-dtlCts__row.--column .u-dtlCts__img {
    margin: 0 -30rem;
    border-radius: initial;
  }
  .u-dtlCts__img.--wid-over {
    flex: initial;
    margin: 0 -30rem;
    width: auto;
    border-radius: initial;
  }
}


.u-schedule {
  margin-top: 100rem;
  padding: 60rem 80rem;
  border: 1px solid #2572e8;
  border-radius: 10rem;
}
.u-schedule__ttl {
  color: var(--font-color-main);
  font-weight: 600;
  font-size: 24rem;
  line-height: 1.46;
  text-align: center;
}
.u-schedule__cts {
  display: flex;
  gap: 60rem;
  margin-top: 40rem;
}
.u-schedule__col {
  flex: 1;
}
.u-schedule__img {
  flex-basis: 310rem;
  border-radius: 6rem;
  overflow: hidden;
}
.u-schedule__timeItem {
  position: relative;
  display: flex;
  gap: 20rem;
  padding-left: 38rem;
}
.u-schedule__timeItem:not(:last-child) {
  padding-bottom: 30rem;
}
.u-schedule__timeItem:not(:last-child)::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  top: 8px;
  left: 2px;
  background-color: #2772e8;
}
.u-schedule__timeItem dt {
  flex-basis: 40rem;
  color: var(--font-color-main);
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  line-height: 1.44;
  letter-spacing: -0.03em;
}
.u-schedule__timeItem dt::before {
  content: "";
  position: absolute;
  top: 8px;
  left: -1px;
  width: 8px;
  height: 8px;
  border: 1px solid #2572e8;
  border-radius: 50%;
  background-color: #fff;
  box-sizing: border-box;
}
.u-schedule__timeItem:first-child dt::before,
.u-schedule__timeItem:last-child dt::before {
  background-color: #2672e8;
  border-color: #2672e8;
}
.u-schedule__timeItem dd {
  flex: 1;
  font-weight: 500;
  font-size: 14rem;
  line-height: 1.71;
  letter-spacing: 0.04em;
}
/* SP
----------------------------------*/
@media screen and (max-width: 767px) {
  .u-schedule {
    margin: 100rem -10rem 0;
    padding: 40rem 30rem 30rem;
  }
  .u-schedule__ttl {
    font-size: 20rem;
    line-height: 1.5;
  }
  .u-schedule__cts {
    display: block;
    margin-top: 28rem;
  }
  .u-schedule__img {
    margin-top: 30rem;
  }
  .u-schedule__timeItem {
    gap: 10rem;
    padding-left: 28rem;
  }
  .u-schedule__timeItem:not(:last-child) {
    padding-bottom: 18rem;
  }
  .u-schedule__timeItem dd {
    font-size: 13rem;
    line-height: 1.69;
  }
  .u-schedule + * {
    margin-top: 100rem;
  }
}


.u-message {
  position: relative;
  margin: 100rem calc(50% - 50vw) 0;
  padding: 20rem 20rem 0;
}
.u-message::before {
  content: "";
  position: absolute;
  top: 0;
  left: 40rem;
  width: 153rem;
  height: 142rem;
  background: url(/recruit/interview/images/message_deco.svg) no-repeat center / contain;
  z-index: 1;
}
.u-message__cts {
  position: relative;
  border-radius: 10rem;
  overflow: hidden;
  background-color: rgba(255, 255, 255, 0.7);
}
.u-message__inr {
  display: flex;
  gap: 60rem;
  max-width: 990rem;
  margin: 0 auto;
}
.u-message__col {
  flex: 1;
  padding: 60rem 0;
}
.u-message__ttl {
  display: flex;
  flex-direction: column;
}
.u-message__jp {
  padding-left: 5rem;
  font-weight: 600;
  font-size: 14rem;
  line-height: 1.43;
}
.u-message__en {
  order: -1;
  color: var(--font-color-main);
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-size: 50rem;
  line-height: 1.42;
  letter-spacing: -0.03em;
}
.u-message__lead {
  margin-top: 38rem;
  color: var(--font-color-main);
  font-weight: 600;
  font-size: 30rem;
  line-height: 1.6;
}
.u-message__txt {
  margin-top: 38rem;
}
.u-message__img {
  display: flex;
  align-items: end;
  flex-basis: 445rem;
  margin-right: -135rem;
}
/* SP
----------------------------------*/
@media screen and (max-width: 767px) {
  .u-message {
    margin: 80rem -10rem 0;
    padding: 31rem 0 0;
  }
  .u-message::before {
    left: 10rem;
    width: 100rem;
    height: 94rem;
  }
  .u-message__inr {
    display: block;
    max-width: initial;
  }
  .u-message__col {
    padding: 40rem 30rem 30rem;
  }
  .u-message__ttl {
    margin-left: -4rem;
  }
  .u-message__jp {
    margin-top: 3rem;
    font-size: 13rem;
    line-height: 1.46;
  }
  .u-message__en {
    font-size: 40rem;
    line-height: 1.4;
  }
  .u-message__lead {
    margin-top: 30rem;
    font-size: 20rem;
    line-height: 1.5;
  }
  .u-message__txt {
    margin-top: 20rem;
  }
  .u-message__img {
    margin-right: 0;
  }
}


/* PC
----------------------------------*/
@media screen and (min-width: 768px) {
  .c-entry {
    margin-top: 18rem;
  }
}
/* SP
----------------------------------*/
@media screen and (max-width: 767px) {
  .c-interview {
    margin-top: 100rem;
  }
}
