/* recruit-interview-page.css */

/* -----　hero */

/* RecruitInterviewPageHero.css */

.recruit-interview-page-hero {
  position: relative;
  aspect-ratio: 1280 / 350;
  overflow: clip;
  border-radius: 0 0 0 10px;
}

@media all and (max-width: 1119.98px) {
  .recruit-interview-page-hero {
    aspect-ratio: 375 / 390;
    border-radius: 0;
  }
}

.recruit-interview-page-hero .recruit-interview-page-hero-container {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  height: 100%;
  padding-right: 3%;
}

@media all and (max-width: 1119.98px) {
  .recruit-interview-page-hero .recruit-interview-page-hero-container {
    align-items: flex-end;
    justify-content: center;
    padding-right: 0;
    transform: translateX(0);
  }
}

.recruit-interview-page-hero .profile-info {
  display: flex;
  flex-direction: column;
  gap: 16px; /* Todo: 変数化 */
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  max-width: calc((340 / 1280) * 100%);
  padding: 24px; /* Todo: 変数化 */
  color: #fff;
  background: rgb(19 117 159 / 50%); /* Todo: 変数化 */
  border-radius: var(--radius-sm, 20px);
}

@media all and (max-width: 1119.98px) {
  .recruit-interview-page-hero .profile-info {
    gap: 8px; /* Todo: 変数化 */
    max-width: calc(100% - 32px);
    padding: 16px; /* Todo: 変数化 */
    margin-bottom: 8px;
  }
}

.recruit-interview-page-hero .profile-info .job-name {
  /* style */
}

.recruit-interview-page-hero .profile-info .profile-name {
  /* style */
  display: grid;
  gap: var(--spacing-gap-2xs);
}

.recruit-interview-page-hero .profile-info .name-kanji {
  font-size: 40px;
  font-weight: var(--font-weight-regular);
  line-height: 1;
}

.recruit-interview-page-hero .profile-info .name-romaji {
  /* style */
}

.recruit-interview-page-hero .profile-details .detail-store {
  /* style */
}

@media all and (max-width: 1119.98px) {
  .recruit-interview-page-hero .profile-details .detail-store-text {
    --font-size: 14px;
  }
}

.recruit-interview-page-hero .profile-details .detail-history {
  /* style */
}

.recruit-interview-page-hero .profile-details .detail-history-text {
  font-size: 14px;
  font-weight: var(--font-weight-bold);
}

.recruit-interview-page-hero .hero-picture-figure {
  position: absolute;
  top: 0;
  width: 100%;
  background: #f7f7f7; /* TODO: 変数化 */
}

.recruit-interview-page-hero .hero-picture-photo {
  /* style */
}

/* ----- */

/* IntervieweeCards.css */

.interviewee-cards {
  display: grid;
  grid-template-columns: repeat(var(--columns, 3), 1fr);
  gap: var(--spacing-gap-lg); /* TODO: Space定義の整理 */
}

@media all and (max-width: 1119.98px) {
  .interviewee-cards {
    grid-template-columns: 1fr;
  }
}

.interviewee-card-link {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.interviewee-card-link .interviewee-card-link-foot {
  justify-self: end;
}

.interviewee-card {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px; /* TODO: Space定義の整理 */
}

@media all and (max-width: 1119.98px) {
  .interviewee-card {
    gap: 16px; /* TODO: Space定義の整理 */
  }
}

.interviewee-card .interviewee-card-image {
  width: 100%;
  aspect-ratio: 347 / 200;
  overflow: clip;
  border-radius: 12px;
}

@media all and (max-width: 1119.98px) {
  .interviewee-card .interviewee-card-image {
    aspect-ratio: 347 / 200;
  }
}

.interviewee-card .interviewee-card-image > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.interviewee-card .interviewee-card-info {
  display: flex;
  flex-direction: column;
}

.interviewee-card .interviewee-name {
  margin-bottom: 8px;
  font-size: 20px;
  font-weight: var(--font-weight-bold);
}

/* RecruitInterviewContent.css */

.recruit-interview-content {
  display: flex;
  gap: 40px;
  width: 100%;
}

@media all and (max-width: 1119.98px) {
  .recruit-interview-content {
    flex-direction: column;
    gap: 16px;
  }
}

/* ----- */

.recruit-interview-content .info-block {
  /* style */
  display: flex;
  flex-direction: column;
  gap: var(--spacing-gap-md);
}

.recruit-interview-content .info-block-header {
  /* style */
}

.recruit-interview-content .info-block-body {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-gap-sm);
}

.recruit-interview-content .catchphrase {
  font-family: var(--font-family-heading-jp);
  font-size: var(--font-size-2xl);
  line-height: var(--heading-line-height-base);
  color: var(--color-gray-700);
}

/* ----- */

.recruit-interview-content .image-block {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  overflow: clip;
  border-radius: var(--radius-sm);
}

.recruit-interview-content .image-block > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* DailyScheduleContent.css */

.daily-schedule-content .daily-schedule-content-container {
  display: grid;
  grid-template-columns: auto auto;
  gap: 0 100px;
  justify-content: center;
}

@media all and (max-width: 1119.98px) {
  .daily-schedule-content .daily-schedule-content-container {
    grid-template-columns: auto;
  }
}

.daily-schedule-content .schedule-timeline {
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-rows: max-content;
}

.daily-schedule-content .schedule-timeline .schedule-item {
  display: grid;
  grid-template-rows: max-content;
  grid-template-columns: 2.5em auto 1fr;
  gap: 0 30px;
  align-items: baseline;
}

.daily-schedule-content .schedule-timeline .schedule-time .time-text {
  display: grid;
  font-family: var(--body-font-family-base);
  font-weight: var(--font-weight-bold);
  text-align: right;
}

.daily-schedule-content .schedule-timeline .schedule-connector {
  position: relative;
  display: grid;
  align-self: stretch;
  transform: translateY(8px);
}

.daily-schedule-content .schedule-timeline .time-dot {
  display: grid;
  width: 12px;
  height: 12px;
  background: #515b77;
  border-radius: 9999px;
}

.daily-schedule-content .schedule-timeline .time-line {
  position: absolute;
  inset: 0;
  top: 6px;
  left: calc((12 / 2 * 1px) - 1px);
  display: grid;
  width: 1px;
  padding-bottom: 20px;
  background: #515b77;
}

.daily-schedule-content .schedule-timeline .schedule-content {
  padding-bottom: 30px;
}

@media all and (min-width: 1120px) {
  .daily-schedule-content .schedule-timeline .schedule-item:last-of-type .schedule-content {
    padding-bottom: 0;
  }

  .daily-schedule-content .schedule-timeline .schedule-item:last-of-type .time-line {
    display: none;
  }
}

@media all and (max-width: 1119.98px) {
  .daily-schedule-content .schedule-timeline[data-type="PM"] .schedule-item:last-of-type .time-line {
    display: none;
  }
}

.daily-schedule-content .schedule-timeline .activity-text {
  display: grid;
  font-family: var(--body-font-family-base);
  font-size: var(--body-font-size-base);
  font-weight: var(--font-weight-bold);
}
