@charset "UTF-8";
/* line 1, app/assets/stylesheets/shared/_job_cards.scss */
.job_slide {
  flex: none;
  justify-content: center;
  align-items: center;
}

/* line 7, app/assets/stylesheets/shared/_job_cards.scss */
.job_card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 15px;
  border: 1px solid #ddd;
  border-radius: 10px;
  background: white;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
}

/* line 20, app/assets/stylesheets/shared/_job_cards.scss */
.job_card_link,
.job_card_link * {
  text-decoration: none;
}

/* line 25, app/assets/stylesheets/shared/_job_cards.scss */
.job_sticker {
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: auto;
}

/* line 33, app/assets/stylesheets/shared/_job_cards.scss */
.job_sticker img {
  width: 90%;
  height: auto;
}

/* line 38, app/assets/stylesheets/shared/_job_cards.scss */
.job_content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  box-sizing: border-box;
}

/* line 46, app/assets/stylesheets/shared/_job_cards.scss */
.job_content a {
  width: 100%;
  text-decoration: none;
  color: inherit;
}

/* line 52, app/assets/stylesheets/shared/_job_cards.scss */
.job_show_content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  box-sizing: border-box;
}

/* line 60, app/assets/stylesheets/shared/_job_cards.scss */
.job_show_content a {
  width: 100%;
  height: 20px;
  text-decoration: none;
  color: inherit;
}

/* line 67, app/assets/stylesheets/shared/_job_cards.scss */
.job_company_name {
  display: block;
  margin-block-start: 0.4em;
  margin-block-end: 0.2em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  max-height: 17px;
  font-size: 14px;
}

/* line 77, app/assets/stylesheets/shared/_job_cards.scss */
.job_card_img_wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 190px;
  overflow: hidden;
  position: relative;
}

/* line 88, app/assets/stylesheets/shared/_job_cards.scss */
.job_card_img {
  width: 100%;
  height: 190px;
  max-height: 190px;
  object-fit: cover;
}

/* line 97, app/assets/stylesheets/shared/_job_cards.scss */
.job_show_card_img_wrapper {
  max-height: 254px;
  width: 100%;
  aspect-ratio: 3 / 2;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  background: #f5f5f5;
}

/* line 108, app/assets/stylesheets/shared/_job_cards.scss */
.job_show_card_img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* line 118, app/assets/stylesheets/shared/_job_cards.scss */
.job_name {
  display: block;
  font-size: 1.17em;
  margin-block-start: 0.7em;
  margin-block-end: 0.3em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  font-weight: bold;
  max-height: 21px;
}

/* line 130, app/assets/stylesheets/shared/_job_cards.scss */
.job_show_card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 15px;
  border: 1px solid #ddd;
  border-radius: 10px;
  background: white;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
  overflow: hidden;
  height: 100%;
  max-height: 500px;
}

/* line 146, app/assets/stylesheets/shared/_job_cards.scss */
.job_name_show_card {
  display: block;
  font-size: 1.17em;
  margin-block-start: 0.7em;
  margin-block-end: 0.3em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  font-weight: bold;
  max-height: 52px;
  text-wrap: balance;
  line-height: 1.2;
}

@media (max-width: 670px) {
  /* line 146, app/assets/stylesheets/shared/_job_cards.scss */
  .job_name_show_card {
    font-size: 1.0em;
  }
}

/* line 167, app/assets/stylesheets/shared/_job_cards.scss */
.job_points {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  margin-bottom: 5px;
  width: 100%;
  overflow: visible;
}

/* line 177, app/assets/stylesheets/shared/_job_cards.scss */
.job_points img {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px;
  margin-right: 10px;
}

/* line 184, app/assets/stylesheets/shared/_job_cards.scss */
.job_show_card_points_wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 16px;
  width: 100%;
  box-sizing: border-box;
}

/* line 193, app/assets/stylesheets/shared/_job_cards.scss */
.job_show_points {
  display: flex;
  align-items: flex-center;
  width: 100%;
  overflow: hidden;
}

/* line 201, app/assets/stylesheets/shared/_job_cards.scss */
.job_show_points img {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px;
}

/* line 207, app/assets/stylesheets/shared/_job_cards.scss */
.job_show_points span,
.job_show_points div {
  white-space: nowrap;
}

/* line 215, app/assets/stylesheets/shared/_job_cards.scss */
.job_show_points_content {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  max-width: 90%;
}

/* line 224, app/assets/stylesheets/shared/_job_cards.scss */
.job_show_points_button {
  font-size: 12px;
  padding: 6px 14px;
  border-radius: 4px;
  border: 1px solid #6ec1e4;
  background-color: #fff;
  color: #6ec1e4 !important;
  text-align: center;
  align-content: center;
  align-self: flex-end;
  justify-self: end;
  max-width: 100%;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.2s ease;
}

/* line 244, app/assets/stylesheets/shared/_job_cards.scss */
.job_show_points_button:hover {
  background-color: #6ec1e4;
  color: #fff;
}

/* line 250, app/assets/stylesheets/shared/_job_cards.scss */
.job_show_card_divider_line {
  border: none;
  height: 1px;
  background-color: #a6a6a6;
  margin: 10px 0px;
  width: 100%;
}

/* line 262, app/assets/stylesheets/shared/_job_cards.scss */
.job_card_keeps_apply {
  display: flex;
  flex-direction: row;
  align-content: space-between;
  align-items: center;
  width: 100%;
}

/* line 270, app/assets/stylesheets/shared/_job_cards.scss */
.job_card_keeps_apply img {
  width: 20px;
  margin-right: 10px;
}

/* line 275, app/assets/stylesheets/shared/_job_cards.scss */
.job_card_keeps_wrapper {
  display: flex;
  flex-direction: row;
  margin-right: 3%;
  align-items: center;
}

/* line 282, app/assets/stylesheets/shared/_job_cards.scss */
.job_card_keeps_wrapper img {
  width: 25px !important;
  height: 25px !important;
}

/* line 287, app/assets/stylesheets/shared/_job_cards.scss */
.keep_star_icon {
  margin-right: 10px;
}

/* line 290, app/assets/stylesheets/shared/_job_cards.scss */
.keep_star_icon svg {
  height: 30px;
  width: 30px;
}

@media (max-width: 670px) {
  /* line 290, app/assets/stylesheets/shared/_job_cards.scss */
  .keep_star_icon svg {
    height: 20px;
    width: 20px;
  }
}

/* line 301, app/assets/stylesheets/shared/_job_cards.scss */
.show_keep_star_icon {
  margin-right: 10px;
}

/* line 305, app/assets/stylesheets/shared/_job_cards.scss */
.show_keep_star_icon svg {
  height: 30px;
  width: 30px;
}

/* line 310, app/assets/stylesheets/shared/_job_cards.scss */
.keeps_count {
  display: flex;
  align-items: center;
  justify-content: center;
  color: black;
  font-style: bold;
  font-size: 10px;
  white-space: nowrap;
}

/* line 321, app/assets/stylesheets/shared/_job_cards.scss */
.show_keeps_count {
  display: flex;
  align-items: center;
  justify-content: center;
  color: black;
  font-style: bold;
  font-size: 10px;
  white-space: nowrap;
}

/* Card list */
/* line 333, app/assets/stylesheets/shared/_job_cards.scss */
.new_job_card_list {
  display: flex;
  flex-direction: column;
}

/* Outer wrapper draws borders & spacing */
/* line 339, app/assets/stylesheets/shared/_job_cards.scss */
.new_job_card_wrapper {
  border: 2px solid #d9d9d9;
  padding: 10px;
  background-color: white;
}

/* Separator between cards */
/* line 346, app/assets/stylesheets/shared/_job_cards.scss */
.new_job_card_wrapper + .new_job_card_wrapper {
  border-top: none;
  /* avoids double-thick border */
}

/* line 351, app/assets/stylesheets/shared/_job_cards.scss */
.new_job_card {
  display: flex;
  height: 80px;
  background: #fff;
  border-radius: 0;
  overflow: hidden;
}

/* Image */
/* line 361, app/assets/stylesheets/shared/_job_cards.scss */
.new_job_card_image {
  height: 100%;
  aspect-ratio: 3 / 2;
  flex-shrink: 0;
  overflow: hidden;
}

/* line 369, app/assets/stylesheets/shared/_job_cards.scss */
.new_job_card_img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #f5f5f5;
}

/* Right side */
/* line 378, app/assets/stylesheets/shared/_job_cards.scss */
.new_job_card_content {
  flex: 1;
  padding: 8px 12px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* line 387, app/assets/stylesheets/shared/_job_cards.scss */
.job_card_link:hover .new_job_card_title_arrow {
  transform: translateX(2px);
}

/* Company */
/* line 393, app/assets/stylesheets/shared/_job_cards.scss */
.new_job_card_company {
  font-size: 16px;
  color: #000;
  font-weight: 500;
  line-height: 1.2;
}

/* Job title */
/* Title row */
/* line 402, app/assets/stylesheets/shared/_job_cards.scss */
.new_job_card_title_row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Job title */
/* line 409, app/assets/stylesheets/shared/_job_cards.scss */
.new_job_card_title {
  font-size: 16px;
  color: #00b7e0;
  font-weight: 400;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Blue arrow on the right */
/* line 420, app/assets/stylesheets/shared/_job_cards.scss */
.new_job_card_title_arrow {
  color: #004aad;
  font-size: 25px;
  font-weight: 700;
  margin-left: 8px;
  flex-shrink: 0;
}

/* Meta row */
/* line 430, app/assets/stylesheets/shared/_job_cards.scss */
.new_job_card_meta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
}

/* Employment type badge */
/* line 438, app/assets/stylesheets/shared/_job_cards.scss */
.employment_type_badge {
  background-color: #ffc107;
  color: #fff;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 600;
  white-space: nowrap;
}

/* Salary */
/* line 448, app/assets/stylesheets/shared/_job_cards.scss */
.employment_salary {
  color: #000;
  white-space: nowrap;
}

/* line 455, app/assets/stylesheets/shared/_job_cards.scss */
.top_ranking_job_list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Outer wrapper draws borders & spacing */
/* line 463, app/assets/stylesheets/shared/_job_cards.scss */
.ranking_job_card_wrapper {
  position: relative;
  border-radius: 4px;
  padding: 10px;
  background-color: white;
}

/* line 472, app/assets/stylesheets/shared/_job_cards.scss */
.ranking_job_card {
  position: relative;
  display: flex;
  height: 95px;
  background: #fff;
  border-radius: 0;
  overflow: hidden;
}

@media (max-width: 670px) {
  /* line 472, app/assets/stylesheets/shared/_job_cards.scss */
  .ranking_job_card {
    height: 80px;
  }
}

/* line 486, app/assets/stylesheets/shared/_job_cards.scss */
.ranking_job_card_company {
  font-size: 14px;
  color: #000;
  font-weight: 500;
  line-height: 1.0;
}

/* Title row */
/* line 494, app/assets/stylesheets/shared/_job_cards.scss */
.new_job_card_title_row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Job title */
/* line 501, app/assets/stylesheets/shared/_job_cards.scss */
.ranking_job_card_title {
  font-size: 16px;
  color: #00b7e0;
  font-weight: 400;
  line-height: 1.2;
}

@media (max-width: 670px) {
  /* line 501, app/assets/stylesheets/shared/_job_cards.scss */
  .ranking_job_card_title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: 14px;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* line 523, app/assets/stylesheets/shared/_job_cards.scss */
.new_job_card_wrapper {
  position: relative;
}

/* Ribbon body */
/* line 528, app/assets/stylesheets/shared/_job_cards.scss */
.ranking_ribbon {
  position: absolute;
  top: -6px;
  /* slightly above card */
  left: 6px;
  background: #ffc107;
  color: black;
  font-size: 14px;
  font-weight: 700;
  padding: 6px 14px 10px 10px;
  line-height: 1;
  z-index: 2;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
  width: 4px;
  height: 19px;
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 50% 70%, 0% 100%);
}

/*.ranking_ribbon::after {
  content: "";
  position: absolute;
  left: -2px;
  /* shift left edge slightly */
/* extend right side */
/* line 576, app/assets/stylesheets/shared/_job_cards.scss */
.ranking_meta_container {
  display: grid;
  grid-template-columns: 120px 1fr;
  column-gap: 16px;
  row-gap: 4px;
  color: black;
}

@media (max-width: 670px) {
  /* line 576, app/assets/stylesheets/shared/_job_cards.scss */
  .ranking_meta_container {
    grid-template-columns: 100px 1fr;
  }
}

/* line 589, app/assets/stylesheets/shared/_job_cards.scss */
.ranking_meta_item {
  display: flex;
  flex-direction: row;
  gap: 5px;
}

@media (max-width: 670px) {
  /* line 589, app/assets/stylesheets/shared/_job_cards.scss */
  .ranking_meta_item {
    font-size: 12px;
  }
}

/* line 599, app/assets/stylesheets/shared/_job_cards.scss */
.ranking_icon {
  width: 20px;
  height: 20px;
}

/* line 1, app/assets/stylesheets/shared/_top_banner.scss */
.career_desire_list_wrapper {
  width: 100%;
  background: #fff;
  display: flex;
  justify-content: center;
  padding-bottom: 20px;
}

/* line 9, app/assets/stylesheets/shared/_top_banner.scss */
.career_desire_list_inner {
  width: 95%;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* One column block */
/* line 17, app/assets/stylesheets/shared/_top_banner.scss */
.career_desire_section {
  display: flex;
  flex-direction: column;
}

/* Title row */
/* line 23, app/assets/stylesheets/shared/_top_banner.scss */
.career_desire_section_title {
  background: #daf5f9;
  color: #000;
  font-size: 14pt;
  padding: 10px 12px;
  font-weight: normal;
}

/* Link rows */
/* line 32, app/assets/stylesheets/shared/_top_banner.scss */
.career_desire_item {
  display: block;
  padding: 10px 12px;
  font-size: 14pt;
  color: #000;
  text-decoration: none;
  border-left: 2px solid #d9d9d9;
  border-right: 2px solid #d9d9d9;
  border-bottom: 2px solid #d9d9d9;
}

/* Optional: subtle hover without breaking the table look */
/* line 45, app/assets/stylesheets/shared/_top_banner.scss */
.career_desire_item:hover {
  background: #f7f7f7;
}

/* line 51, app/assets/stylesheets/shared/_top_banner.scss */
.top_search_banner_item_inner {
  display: flex;
  gap: 10px;
  margin: 10px 0;
}

/* line 57, app/assets/stylesheets/shared/_top_banner.scss */
.top_search_banner_item_rect {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 90px !important;
  height: 60px !important;
  padding: 10px;
  margin: 10px;
  background-color: #30aadd;
  border-radius: 15px;
  text-align: center;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* line 71, app/assets/stylesheets/shared/_top_banner.scss */
.top_search_banner_item_rect a {
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 0.8rem;
  font-weight: bold;
  text-decoration: none;
  width: 100%;
  height: 100%;
  text-align: center;
  line-height: 1.4;
  white-space: normal;
}

/* line 86, app/assets/stylesheets/shared/_top_banner.scss */
.top_search_banner_item_rect span {
  display: inline-block;
  text-align: center;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* line 1, app/assets/stylesheets/shared/_keijiban_shared.scss */
.keijiban-post {
  background-color: #ffffff;
  padding: 1rem;
  border-radius: 0.5rem;
  margin: 2px;
  font-family: "Helvetica Neue", sans-serif;
  text-align: left;
}

/* line 9, app/assets/stylesheets/shared/_keijiban_shared.scss */
.keijiban-post .post-header {
  display: flex;
  justify-content: space-between;
  font-size: 0.9rem;
}

/* line 14, app/assets/stylesheets/shared/_keijiban_shared.scss */
.keijiban-post .post-header .post-owner-info {
  font-weight: bold;
}

/* line 17, app/assets/stylesheets/shared/_keijiban_shared.scss */
.keijiban-post .post-header .post-owner-info .age-gender {
  margin-left: 0.5rem;
  color: #555;
}

/* line 23, app/assets/stylesheets/shared/_keijiban_shared.scss */
.keijiban-post .post-header .post-time {
  color: #888;
}

/* line 28, app/assets/stylesheets/shared/_keijiban_shared.scss */
.keijiban-post .post-divider {
  border: none;
  border-top: 2px solid #4fd1eb;
  margin: 0.5rem 0;
}

/* line 34, app/assets/stylesheets/shared/_keijiban_shared.scss */
.keijiban-post .post-content {
  color: #000;
  font-size: 1rem;
  position: relative;
}

/* line 39, app/assets/stylesheets/shared/_keijiban_shared.scss */
.keijiban-post .post-content .post-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  line-height: 1.5;
  max-height: calc(1.5em * 4);
  transition: max-height 0.3s ease;
}

/* line 51, app/assets/stylesheets/shared/_keijiban_shared.scss */
.keijiban-post .post-content.expanded .post-text {
  -webkit-line-clamp: unset;
  max-height: none;
  overflow: visible;
}

/* line 57, app/assets/stylesheets/shared/_keijiban_shared.scss */
.keijiban-post .post-content .see-more-button {
  margin-top: 8px;
  background: none;
  border: none;
  color: #4fd1eb;
  cursor: pointer;
  font-size: 0.9rem;
  padding: 0;
  text-decoration: underline;
  text-align: right;
}

/* line 71, app/assets/stylesheets/shared/_keijiban_shared.scss */
.keijiban_post_company_link {
  text-decoration: none;
  color: black;
}

/* line 1, app/assets/stylesheets/shared/_common_containers.scss */
.contents_header_title {
  background: #00B4DE;
  color: #fff;
  padding: 30px 0 0;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  position: relative;
}

/* line 11, app/assets/stylesheets/shared/_common_containers.scss */
.contents_header_title::before {
  content: "";
  border-bottom: 3px solid #fff;
  width: 50px;
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translate(-50%, 0);
}

/* line 21, app/assets/stylesheets/shared/_common_containers.scss */
.contents_header_title_pale {
  background: #E5F7FC;
  color: #00B4DE;
}

/* line 26, app/assets/stylesheets/shared/_common_containers.scss */
.contents_header_title_pale::before {
  border-bottom: 3px solid #00B4DE;
}

/* line 30, app/assets/stylesheets/shared/_common_containers.scss */
.horizontal_centering_wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* line 37, app/assets/stylesheets/shared/_common_containers.scss */
.centering_wrapper {
  display: flex;
  justify-content: center;
  /* Horizontally center */
  align-items: center;
  /* Vertically center */
  /* Full viewport height */
  text-align: center;
  /* Optional: center text inside the content */
}

/* line 49, app/assets/stylesheets/shared/_common_containers.scss */
.sizing_wrapper {
  max-width: 100vw;
  width: 80%;
}

/* line 55, app/assets/stylesheets/shared/_common_containers.scss */
.single_button_centering_wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
  width: 100%;
}

/* line 63, app/assets/stylesheets/shared/_common_containers.scss */
.horizontal_justification_wrapper {
  display: flex;
  flex-direction: column;
  /*align-items: center;*/
  /* Centers the form and login link */
}

/* line 70, app/assets/stylesheets/shared/_common_containers.scss */
.bottom_padding {
  padding-bottom: 10px;
}

/* line 74, app/assets/stylesheets/shared/_common_containers.scss */
.top_margin_10 {
  margin-top: 10px;
}

/* line 78, app/assets/stylesheets/shared/_common_containers.scss */
.bottom_margin_20 {
  margin-bottom: 20px;
}

/* line 82, app/assets/stylesheets/shared/_common_containers.scss */
.bottom_margin_40 {
  margin-bottom: 40px;
}

/* line 86, app/assets/stylesheets/shared/_common_containers.scss */
.top_margin_20 {
  margin-top: 20px;
}

/* line 90, app/assets/stylesheets/shared/_common_containers.scss */
.top_margin_40 {
  margin-top: 40px;
}

/* line 94, app/assets/stylesheets/shared/_common_containers.scss */
.bottom_margin_80 {
  margin-bottom: 80px;
}

/* line 98, app/assets/stylesheets/shared/_common_containers.scss */
.bottom_padding_20 {
  padding-bottom: 20px;
}

/* line 102, app/assets/stylesheets/shared/_common_containers.scss */
.top_padding_20 {
  padding-top: 20px;
}

/* line 106, app/assets/stylesheets/shared/_common_containers.scss */
.top_padding_40 {
  padding-top: 40px;
}

/* line 110, app/assets/stylesheets/shared/_common_containers.scss */
.left_margin_20 {
  margin-left: 20px;
}

/* line 114, app/assets/stylesheets/shared/_common_containers.scss */
.sides_margin_20 {
  margin-left: 20px;
  margin-right: 20px;
}

/* line 119, app/assets/stylesheets/shared/_common_containers.scss */
.unstyled-link {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

/* line 125, app/assets/stylesheets/shared/_common_containers.scss */
.no_bottom_margin {
  margin-bottom: 0 !important;
}

/* line 129, app/assets/stylesheets/shared/_common_containers.scss */
.form_inner_basic {
  margin-top: 5px;
  margin-bottom: 5px;
}

/* line 134, app/assets/stylesheets/shared/_common_containers.scss */
.form_field_wrapper_basic {
  width: 100%;
}

/* line 138, app/assets/stylesheets/shared/_common_containers.scss */
.form_field_wrapper_basic input {
  width: 100%;
  height: 30px;
}

/* line 143, app/assets/stylesheets/shared/_common_containers.scss */
.banner_large_width {
  width: 90%;
}

/* line 147, app/assets/stylesheets/shared/_common_containers.scss */
.large_width {
  width: 80%;
}

/* line 151, app/assets/stylesheets/shared/_common_containers.scss */
.medium_width {
  width: 50%;
}

/* line 155, app/assets/stylesheets/shared/_common_containers.scss */
.top_lower_banner_wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  list-style: none;
  background-color: white;
  padding-inline-start: 0;
}

/* line 171, app/assets/stylesheets/shared/_common_containers.scss */
.top_lower_banner_wrapper a img {
  max-width: 100vw;
  width: 100%;
}

/* line 176, app/assets/stylesheets/shared/_common_containers.scss */
.top_lower_banner_wrapper li {
  width: 100%;
  text-align: center;
}

/* line 183, app/assets/stylesheets/shared/_common_containers.scss */
.top_lower_banner_wrapper li img {
  max-width: 100vw;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* line 190, app/assets/stylesheets/shared/_common_containers.scss */
.company_padding_top {
  padding-top: 40px !important;
}

/* line 194, app/assets/stylesheets/shared/_common_containers.scss */
.company_centering_wrapper {
  display: flex;
  justify-content: center;
  /* Horizontally center */
  align-items: center;
  /* Vertically center */
  /* Full viewport height */
  text-align: center;
  margin: 0 auto;
}

/* line 208, app/assets/stylesheets/shared/_common_containers.scss */
.ends_padding_10 {
  padding-top: 10px;
  padding-bottom: 10px;
}

/* line 213, app/assets/stylesheets/shared/_common_containers.scss */
.ends_padding_20 {
  padding-top: 20px;
  padding-bottom: 20px;
}

/* line 218, app/assets/stylesheets/shared/_common_containers.scss */
.ends_padding_40 {
  padding-top: 40px;
  padding-bottom: 40px;
}

/* line 223, app/assets/stylesheets/shared/_common_containers.scss */
.ends_margin_20 {
  margin-top: 20px;
  margin-bottom: 20px;
}

/* line 228, app/assets/stylesheets/shared/_common_containers.scss */
.small_spread {
  margin-top: 10px;
}

/* line 232, app/assets/stylesheets/shared/_common_containers.scss */
.empty-message-space {
  height: 40px;
}

/* line 1, app/assets/stylesheets/shared/_buttons.scss */
.button-group {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 20px;
}

/* line 8, app/assets/stylesheets/shared/_buttons.scss */
.scout_button_unpaid {
  cursor: pointer;
}

/* line 12, app/assets/stylesheets/shared/_buttons.scss */
.user_index_item_scout_button_wrapper {
  width: 100%;
}

/* line 17, app/assets/stylesheets/shared/_buttons.scss */
.toggle-password {
  position: absolute;
  right: 10px;
  cursor: pointer;
  font-size: 20px;
  color: #666;
  width: 20px;
  height: 20px;
}

/* line 28, app/assets/stylesheets/shared/_buttons.scss */
.centered_button {
  display: flex;
  justify-content: center;
}

/* line 34, app/assets/stylesheets/shared/_buttons.scss */
.job_apply_button {
  color: white;
  border: none;
  cursor: pointer;
  height: 100%;
  border-radius: 50px;
  font-size: 12px;
  width: 100%;
}

/* line 44, app/assets/stylesheets/shared/_buttons.scss */
.job_apply_button {
  text-align: center;
}

/* line 48, app/assets/stylesheets/shared/_buttons.scss */
.job_apply_button span,
.job_apply_button a,
.job_apply_button button,
.job_apply_button input {
  max-width: 100%;
  width: 100%;
  text-align: center;
  text-decoration: none;
  color: #fff;
  border-radius: 50px;
  font-size: 13px;
  display: inline-block;
  padding: 10px 0;
  border: none;
  cursor: pointer;
}

/* line 65, app/assets/stylesheets/shared/_buttons.scss */
.job_apply_non_link {
  padding: 10px 0;
}

/* line 71, app/assets/stylesheets/shared/_buttons.scss */
.job_apply_button a,
.job_apply_button button,
.job_apply_button input {
  background: linear-gradient(to right, #5de0e6, #014bae);
  color: #fff !important;
}

/* line 78, app/assets/stylesheets/shared/_buttons.scss */
.job_apply_button button:hover,
.job_apply_button a:hover {
  background: linear-gradient(to right, #4ccbd6, #013a87);
}

/* line 84, app/assets/stylesheets/shared/_buttons.scss */
.job_apply_link.disabled {
  background-color: #d3d3d3 !important;
  color: #808080 !important;
  border: 1px solid #ccc !important;
  cursor: not-allowed;
}

/* line 91, app/assets/stylesheets/shared/_buttons.scss */
.job_apply_button button.disabled {
  background-color: #d3d3d3 !important;
  color: #808080 !important;
  border: 1px solid #ccc !important;
  cursor: not-allowed;
  background: #d3d3d3 !important;
}

/* line 99, app/assets/stylesheets/shared/_buttons.scss */
.job_apply_button {
  display: block;
  width: 100%;
  text-align: center;
}

/* line 105, app/assets/stylesheets/shared/_buttons.scss */
.job_apply_button button {
  max-width: 100%;
  width: 100%;
  text-align: center;
  text-decoration: none;
  color: #fff !important;
  border-radius: 50px;
  font-size: 13px;
  display: inline-block;
  padding: 10px 0;
  border: none;
  cursor: pointer;
  background: linear-gradient(to right, #5de0e6, #014bae) !important;
}

/* line 120, app/assets/stylesheets/shared/_buttons.scss */
.job_apply_button button:hover {
  background: linear-gradient(to right, #4ccbd6, #013a87) !important;
}

/* line 124, app/assets/stylesheets/shared/_buttons.scss */
.job_apply_button button.disabled {
  background-color: #d3d3d3 !important;
  color: #808080 !important;
  border: 1px solid #ccc !important;
  cursor: not-allowed !important;
  background: #d3d3d3 !important;
}

/* line 11, app/assets/stylesheets/pages/top.scss */
.top_hero_wrapper {
  display: flex;
  align-content: space-around;
  align-items: center;
  flex-direction: column;
}

/* line 18, app/assets/stylesheets/pages/top.scss */
.top_keyvisual_wrapper {
  display: flex;
  flex-direction: column;
  justify-content: left;
  text-align: center;
  position: relative;
}

/* line 26, app/assets/stylesheets/pages/top.scss */
.main_text {
  font-size: 4.5vw;
  font-weight: bold;
  color: white;
  position: absolute;
  left: 0;
  right: 0;
  top: 75px;
  height: 0px;
}

@media (min-width: 768px) {
  /* line 38, app/assets/stylesheets/pages/top.scss */
  .main_text {
    font-size: 1.8rem;
  }
}

@media (max-width: 670px) {
  /* line 44, app/assets/stylesheets/pages/top.scss */
  .main_text {
    top: 40px;
  }
}

/* line 49, app/assets/stylesheets/pages/top.scss */
.announcement_text {
  font-size: 4vw;
  color: black;
  font-weight: bold;
  position: absolute;
  top: 270px;
  /* adjust visually */
  left: 0;
  right: 0;
}

@media (min-width: 768px) {
  /* line 61, app/assets/stylesheets/pages/top.scss */
  .announcement_text {
    font-size: 1.4rem;
  }
}

@media (max-width: 670px) {
  /* line 67, app/assets/stylesheets/pages/top.scss */
  .announcement_text {
    top: 150px;
  }
}

/* line 72, app/assets/stylesheets/pages/top.scss */
.white_band {
  background-color: white;
  width: 100%;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  /* padding: 1rem 0; */
}

/* line 81, app/assets/stylesheets/pages/top.scss */
.white_band .band_link {
  font-size: 3.8vw;
  color: black;
  font-weight: bold;
  text-decoration: none;
  margin: 0.5rem 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* Media query for .band_link */
@media (min-width: 768px) {
  /* line 94, app/assets/stylesheets/pages/top.scss */
  .white_band .band_link {
    font-size: 1.4rem;
  }
}

/* line 99, app/assets/stylesheets/pages/top.scss */
.white_band .band_link a {
  color: black;
  text-decoration: none;
  display: flex;
  align-items: center;
}

/* line 106, app/assets/stylesheets/pages/top.scss */
.white_band .band_link a img {
  margin-left: 6px;
}

/* line 119, app/assets/stylesheets/pages/top.scss */
.top_search_wrapper {
  width: 670px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #6bd5ed;
  padding-bottom: 20px;
}

/* line 128, app/assets/stylesheets/pages/top.scss */
.job_search_text {
  margin-top: 1rem;
  font-size: 1.6rem;
  font-weight: bold;
  color: white;
}

/* line 135, app/assets/stylesheets/pages/top.scss */
.top_searchbar_wrapper {
  display: flex;
  justify-content: center;
  width: 469px;
  height: 50px;
  margin: 20px 0;
}

/* line 145, app/assets/stylesheets/pages/top.scss */
.top_searchbar {
  display: flex;
  align-items: center;
  background: white;
  border-radius: 50px 6px 6px 50px;
  overflow: hidden;
  flex-grow: 1;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  flex: 8;
  height: 50px;
}

/* line 157, app/assets/stylesheets/pages/top.scss */
.top_searchbar_form {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 367px;
  height: 50px;
}

/* line 165, app/assets/stylesheets/pages/top.scss */
.top_search_icon {
  display: flex;
  flex: 0 0 50px;
  align-items: center;
  justify-content: center;
  background: white;
}

/* line 172, app/assets/stylesheets/pages/top.scss */
.top_search_icon img {
  width: 24px;
  height: 24px;
}

/* line 178, app/assets/stylesheets/pages/top.scss */
.top_custom_text_field {
  min-width: 0;
  width: 300px;
  flex-grow: 1;
  border: none;
  outline: none;
  background: white;
  font-size: 16px;
  padding: 10px 10px 12px 0;
  font-family: 'Zen Maru Gothic', sans-serif;
  border-radius: 0 6px 6px 0;
}

/* line 193, app/assets/stylesheets/pages/top.scss */
.top_search_button {
  background: #ffc107;
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 6px 50px 50px 6px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  white-space: nowrap;
  flex: 1;
}

@media (max-width: 670px) {
  /* line 207, app/assets/stylesheets/pages/top.scss */
  .top_search_button {
    padding: 10px 10px;
  }
}

/* line 212, app/assets/stylesheets/pages/top.scss */
.hero_action_buttons_container {
  width: 503px;
  display: flex;
  justify-content: space-between;
  position: relative;
  overflow: visible;
}

/* line 220, app/assets/stylesheets/pages/top.scss */
.hero_action_button_wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 228, app/assets/stylesheets/pages/top.scss */
.hero_action_button_wrapper .hero_action_button_image {
  width: 230px;
  z-index: 1;
  position: relative;
}

/* line 234, app/assets/stylesheets/pages/top.scss */
.hero_action_button_wrapper.hero_action_left .hero_decoration_left {
  width: 120px;
  height: 67px;
  position: absolute;
  bottom: 6px;
  left: -44px;
  z-index: 2;
  pointer-events: none;
}

/* line 244, app/assets/stylesheets/pages/top.scss */
.hero_action_button_wrapper.hero_action_right .hero_decoration_right {
  right: -25px;
}

/* line 248, app/assets/stylesheets/pages/top.scss */
.hero_action_button_wrapper.hero_action_left .hero_decoration_left {
  position: absolute;
  bottom: 6px;
  left: -44px;
  z-index: 2;
  pointer-events: none;
}

/* line 256, app/assets/stylesheets/pages/top.scss */
.hero_action_button_wrapper.hero_action_right .hero_decoration_right {
  position: absolute;
  top: 45%;
  transform: translateY(-50%) translateX(20%);
  right: -30px;
  z-index: 2;
  pointer-events: none;
}

/* line 265, app/assets/stylesheets/pages/top.scss */
.top_recommended_outer_wrapper {
  background: repeating-linear-gradient(135deg, #ffffff, #ffffff 10px, #b4e2e2 10px, #b4e2e2 20px);
  padding-bottom: 10px;
}

/* line 274, app/assets/stylesheets/pages/top.scss */
.top_recommended_inner_wrapper {
  display: flex;
  justify-content: center;
  padding: 0 10px;
  box-sizing: border-box;
}

/* line 283, app/assets/stylesheets/pages/top.scss */
.recommended-sparks-img {
  height: auto;
  height: 100%;
  margin-left: 20px;
}

/* line 290, app/assets/stylesheets/pages/top.scss */
.featured-title-wrapper {
  display: flex;
  gap: 8px;
  margin-bottom: 10px;
  margin-top: -10px;
  margin-left: 60px;
}

@media (max-width: 670px) {
  /* line 290, app/assets/stylesheets/pages/top.scss */
  .featured-title-wrapper {
    gap: 1px;
    margin-bottom: -2px;
    margin-left: 48px;
  }
}

/* line 304, app/assets/stylesheets/pages/top.scss */
.featured-title-box {
  width: 30px;
  height: 31px;
  background-color: #5b93eb;
  color: white;
  font-size: 19px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
}

/* DESKTOP placeholder card */
/* line 321, app/assets/stylesheets/pages/top.scss */
.placeholder-card {
  /* skeleton shimmer */
  background: linear-gradient(90deg, #eee 0%, #ddd 50%, #eee 100%);
  background-size: 300% 100%;
  animation: shimmer 1.4s infinite;
}

@keyframes shimmer {
  0% {
    background-position: -300px 0;
  }
  100% {
    background-position: 300px 0;
  }
}

/* TOP RECOMMENDED CAROUSEL SLICK */
/* Remove the default gray dot from Slick */
/* line 343, app/assets/stylesheets/pages/top.scss */
.recommended-carousel .slick-dots li button::before {
  display: none !important;
}

/* Outer dot container */
/* line 348, app/assets/stylesheets/pages/top.scss */
.recommended-carousel .slick-dots li {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin: 0 6px;
  position: relative;
}

/* Outer ring */
/* line 357, app/assets/stylesheets/pages/top.scss */
.recommended-carousel .slick-dots li button {
  width: 100%;
  height: 100%;
  border: 2px solid black;
  background: white;
  border-radius: 50%;
  padding: 0;
  cursor: pointer;
  font-size: 0;
  position: relative;
}

/* Centered inner dot for the active state */
/* line 370, app/assets/stylesheets/pages/top.scss */
.recommended-carousel .slick-dots li.slick-active button::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  background: black;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

/* END TOP RECOMMENDED SLICK */
/* line 384, app/assets/stylesheets/pages/top.scss */
.recommended-title-wrapper {
  display: flex;
}

/* line 388, app/assets/stylesheets/pages/top.scss */
.recommended-title-img {
  height: auto;
  max-width: 30%;
  margin-left: 20px;
}

@media (max-width: 670px) {
  /* line 388, app/assets/stylesheets/pages/top.scss */
  .recommended-title-img {
    max-width: 60%;
  }
}

/* line 398, app/assets/stylesheets/pages/top.scss */
.recommended-slide {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
  max-width: 650px;
  width: 100%;
}

/* line 408, app/assets/stylesheets/pages/top.scss */
.recommended-slide > .recommended-job-slide:not(:last-child) {
  margin-bottom: 16px;
}

/* line 412, app/assets/stylesheets/pages/top.scss */
.recommended-job-slide.empty-slide {
  visibility: hidden;
  height: 130px;
  /* same height as other cards */
}

/* line 418, app/assets/stylesheets/pages/top.scss */
.recommended-job-slide {
  display: block;
  width: 610px;
  height: 170px;
  margin: 0px auto;
  background: white;
  padding: 10px;
  box-sizing: border-box;
  text-decoration: none;
  color: inherit;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

@media (max-width: 670px) {
  /* line 418, app/assets/stylesheets/pages/top.scss */
  .recommended-job-slide {
    height: 130px;
    width: 333px;
  }
}

/* line 438, app/assets/stylesheets/pages/top.scss */
.recommended-job-container {
  display: flex;
  height: 100%;
}

/* line 443, app/assets/stylesheets/pages/top.scss */
.recommended-job-left {
  flex: 0 0 40%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-right: 10px;
  height: 100%;
}

/* line 452, app/assets/stylesheets/pages/top.scss */
.recommended_image-wrapper {
  width: auto;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* line 461, app/assets/stylesheets/pages/top.scss */
.recommended_job_card_img {
  max-width: 236px;
  max-height: 150px;
  height: auto;
  width: auto;
  object-fit: contain;
  border-radius: 4px;
  display: block;
}

@media (max-width: 670px) {
  /* line 461, app/assets/stylesheets/pages/top.scss */
  .recommended_job_card_img {
    max-height: 100px;
    max-width: 125px;
  }
}

/* line 477, app/assets/stylesheets/pages/top.scss */
.recommended-job-right {
  flex: 0 0 55%;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding-left: 10px;
}

@media (max-width: 670px) {
  /* line 477, app/assets/stylesheets/pages/top.scss */
  .recommended-job-right {
    padding-left: 5px;
  }
}

/* line 490, app/assets/stylesheets/pages/top.scss */
.recommended_job_name {
  text-align: left;
  font-size: 18px;
  font-weight: bold;
  text-decoration: underline;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  /* ✅ Limit to 2 lines */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.2em;
  max-height: 2.4em;
  /* 1.2em × 2 lines */
}

@media (max-width: 670px) {
  /* line 490, app/assets/stylesheets/pages/top.scss */
  .recommended_job_name {
    font-size: 11px;
  }
}

/* line 511, app/assets/stylesheets/pages/top.scss */
.recommended_job_company_name {
  font-size: 16px;
  margin-bottom: 8px;
  text-align: left;
}

@media (max-width: 670px) {
  /* line 511, app/assets/stylesheets/pages/top.scss */
  .recommended_job_company_name {
    font-size: 11px;
  }
}

/* line 521, app/assets/stylesheets/pages/top.scss */
.job-meta-row {
  display: flex;
  gap: 8px;
  align-items: center;
}

/* line 527, app/assets/stylesheets/pages/top.scss */
.job-label {
  background-color: #ffeb3b;
  color: #000;
  font-size: 14px;
  padding: 4px 8px;
  border-radius: 6px;
  white-space: nowrap;
}

@media (max-width: 670px) {
  /* line 527, app/assets/stylesheets/pages/top.scss */
  .job-label {
    font-size: 11px;
  }
}

/* line 540, app/assets/stylesheets/pages/top.scss */
.job-category {
  font-size: 14px;
  color: #555;
}

@media (max-width: 670px) {
  /* line 540, app/assets/stylesheets/pages/top.scss */
  .job-category {
    font-size: 11px;
  }
}

/* line 549, app/assets/stylesheets/pages/top.scss */
.job-extra {
  flex: 1;
}

/* line 553, app/assets/stylesheets/pages/top.scss */
.recommended_job-top-half {
  flex: 0 0 35%;
  display: flex;
  align-items: flex-start;
  padding-top: 10px;
}

@media (max-width: 670px) {
  /* line 553, app/assets/stylesheets/pages/top.scss */
  .recommended_job-top-half {
    padding-top: 8px;
  }
}

/* line 564, app/assets/stylesheets/pages/top.scss */
.recommended_job-bottom-half {
  flex: 0 0 35%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* line 575, app/assets/stylesheets/pages/top.scss */
.top_job_keyvisual_wrapper {
  display: flex;
  align-items: center;
  flex-direction: column;
}

/* line 581, app/assets/stylesheets/pages/top.scss */
.top_job_keyvisual {
  position: relative;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  background-color: #6bd5ed;
}

/* line 589, app/assets/stylesheets/pages/top.scss */
.top_job_keyvisual_title {
  background-color: #6bd5ed;
}

/* line 596, app/assets/stylesheets/pages/top.scss */
.top_job_carousel_outer_wrapper .slick-list {
  padding-left: 0px !important;
}

/* line 602, app/assets/stylesheets/pages/top.scss */
.top_job_list_wrapper {
  gap: 10px;
  padding: 0;
}

/* line 606, app/assets/stylesheets/pages/top.scss */
.top_job_list_wrapper .slick-slide {
  margin: 0 5px !important;
}

@media (max-width: 670px) {
  /* line 602, app/assets/stylesheets/pages/top.scss */
  .top_job_list_wrapper {
    /* Slick list should clip overflow */
    /* Force horizontal flow WITHOUT overriding Slick transforms */
  }
  /* line 613, app/assets/stylesheets/pages/top.scss */
  .top_job_list_wrapper .slick-list {
    overflow: hidden;
    padding-left: 10px;
    /* centers the slides safely */
  }
  /* line 620, app/assets/stylesheets/pages/top.scss */
  .top_job_list_wrapper .slick-track {
    height: auto;
  }
  /* line 624, app/assets/stylesheets/pages/top.scss */
  .top_job_list_wrapper .slick-slide {
    height: auto !important;
  }
}

/* line 631, app/assets/stylesheets/pages/top.scss */
.top_job_keyvisual_wrapper {
  width: 670px;
  height: 1232px;
}

/* line 636, app/assets/stylesheets/pages/top.scss */
.top_job_keyvisual {
  width: 670px;
  height: 548px;
  padding: 14px 0 43px 0;
}

/* line 642, app/assets/stylesheets/pages/top.scss */
.top_job_keyvisual_title {
  width: 670px;
  height: 50px;
}

/* line 647, app/assets/stylesheets/pages/top.scss */
.top_job_keyvisual_title img {
  width: 201px;
  height: 46px;
  margin-left: 20px;
}

/* line 653, app/assets/stylesheets/pages/top.scss */
.top_job_carousel_outer_wrapper {
  width: 670px;
  height: 400px;
}

/* line 658, app/assets/stylesheets/pages/top.scss */
.top_job_list_wrapper {
  width: 670px;
  height: 392px;
}

/* line 663, app/assets/stylesheets/pages/top.scss */
.job_slide {
  width: 250px;
  height: 392px;
  margin: 0 5px;
}

@media (max-width: 670px) {
  /* line 672, app/assets/stylesheets/pages/top.scss */
  .top_job_keyvisual_wrapper {
    width: 100%;
    height: 1150px;
  }
  /* line 677, app/assets/stylesheets/pages/top.scss */
  .top_job_keyvisual {
    width: 100%;
    height: 534px;
    padding: 10px 0 12px 0;
  }
  /* line 683, app/assets/stylesheets/pages/top.scss */
  .top_job_keyvisual_title {
    width: 344px;
    height: 52px;
    padding-left: 40px;
  }
  /* line 689, app/assets/stylesheets/pages/top.scss */
  .top_job_keyvisual_title img {
    width: 206px;
    height: 48px;
  }
  /* line 694, app/assets/stylesheets/pages/top.scss */
  .top_job_carousel_outer_wrapper {
    width: 100%;
    margin-bottom: 20px;
  }
  /* line 699, app/assets/stylesheets/pages/top.scss */
  .top_job_list_wrapper {
    width: 100%;
    height: 400px;
    margin-top: 10px;
  }
  /* line 705, app/assets/stylesheets/pages/top.scss */
  .job_slide {
    height: 400px;
  }
}

/* Outer container width */
/* line 711, app/assets/stylesheets/pages/top.scss */
.top_video_outer_wrapper {
  display: flex;
  background-color: #6bd5ed;
  flex-direction: column;
  width: 670px;
}

/* TOP ONLY SLICK CODE */
/* line 722, app/assets/stylesheets/pages/top.scss */
.slick_prev {
  right: 10%;
}

/* line 726, app/assets/stylesheets/pages/top.scss */
.slick-next {
  right: 30px;
}

/* line 731, app/assets/stylesheets/pages/top.scss */
.a-left,
.a-right {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px !important;
  /* Adjust size */
  height: 40px !important;
  cursor: pointer;
  z-index: 10;
}

/* line 743, app/assets/stylesheets/pages/top.scss */
.a-left {
  left: 50px !important;
}

@media (max-width: 670px) {
  /* line 743, app/assets/stylesheets/pages/top.scss */
  .a-left {
    left: 15px !important;
  }
}

/* line 751, app/assets/stylesheets/pages/top.scss */
.a-right {
  right: -50px;
}

@media (max-width: 670px) {
  /* line 751, app/assets/stylesheets/pages/top.scss */
  .a-right {
    right: 5px !important;
  }
}

/* line 759, app/assets/stylesheets/pages/top.scss */
.a-left:hover,
.a-right:hover {
  opacity: 0.8;
}

/* line 764, app/assets/stylesheets/pages/top.scss */
.slick-slider {
  z-index: 1;
  /* Keep slider below modal */
}

/* END TOP ONLY SLICK */
/* ============================================================
   NEW JOB LIST
   (total of 6 entries)
   ============================================================ */
/* line 781, app/assets/stylesheets/pages/top.scss */
.top_title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  padding: 10px 8px 10px 14px;
  /* extra left padding for the line */
  font-size: 18px;
  line-height: 18px;
  /* match font size */
  font-weight: 600;
}

/* line 794, app/assets/stylesheets/pages/top.scss */
.top_title::before {
  content: "";
  position: absolute;
  left: 6px;
  /* distance from left edge */
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 1em;
  /* matches text height */
  background-color: #ffc107;
}

/* Left title text */
/* line 809, app/assets/stylesheets/pages/top.scss */
.top_title_text {
  position: relative;
}

/* Right link */
/* line 814, app/assets/stylesheets/pages/top.scss */
.top_title_all_link {
  color: #004aad;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

/* line 822, app/assets/stylesheets/pages/top.scss */
.top_title_all_link:hover {
  text-decoration: underline;
}

/* line 826, app/assets/stylesheets/pages/top.scss */
.white_background {
  background-color: white;
}

/* line 832, app/assets/stylesheets/pages/top.scss */
.top_new_job_wrapper {
  width: 100%;
  position: relative;
  padding: 2px 2% 0;
  box-sizing: border-box;
  background-color: #eefafc;
}

/* line 841, app/assets/stylesheets/pages/top.scss */
.top_featured_job_wrapper {
  width: 100%;
  position: relative;
  padding: 2px 2% 0;
  box-sizing: border-box;
  background-color: #daf5f9;
  padding-bottom: 16px;
}

/* line 851, app/assets/stylesheets/pages/top.scss */
.top_ranking_job_wrapper {
  width: 100%;
  position: relative;
  padding: 2px 2% 0;
  box-sizing: border-box;
  background-color: #daf5f9;
  padding-bottom: 16px;
  gap: 12px;
}

/* line 861, app/assets/stylesheets/pages/top.scss */
.ranking_description_wrapper {
  margin-top: 6px;
  margin-bottom: 10px;
}

/* line 866, app/assets/stylesheets/pages/top.scss */
.ranking_description {
  color: black;
}

@media (max-width: 670px) {
  /* line 866, app/assets/stylesheets/pages/top.scss */
  .ranking_description {
    font-size: 13px;
  }
}

/* line 874, app/assets/stylesheets/pages/top.scss */
.ranking_view_more_wrapper {
  display: flex;
  justify-content: center;
}

/* line 879, app/assets/stylesheets/pages/top.scss */
.ranking_view_more_button {
  width: 50%;
  text-align: center;
  padding: 10px 25px;
  margin-top: 10px;
  border-radius: 9999px;
  /* capsule shape */
  font-weight: 400;
  color: #ffffff;
  text-decoration: none;
  background: linear-gradient(to right, #ff66c4, #ffdd5a);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

/* line 899, app/assets/stylesheets/pages/top.scss */
.ranking_view_more_button:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

/* line 906, app/assets/stylesheets/pages/top.scss */
.top_new_job_all_link_wrapper {
  display: flex;
  justify-content: right;
  margin-top: 20px;
  margin-right: 20px;
}

@media (min-width: 671px) {
  /* line 915, app/assets/stylesheets/pages/top.scss */
  .a-left {
    top: 110% !important;
    left: 300px !important;
  }
  /* line 920, app/assets/stylesheets/pages/top.scss */
  .top_new_job_all_link_wrapper {
    margin-top: 20px !important;
    max-width: 670px;
  }
  /* line 924, app/assets/stylesheets/pages/top.scss */
  .top_new_job_all_link_wrapper a {
    color: white;
    font-weight: bold;
  }
}

/* line 931, app/assets/stylesheets/pages/top.scss */
.top_keijiban_keyvisual {
  display: flex;
  flex-direction: column;
  /* 50% opacity */
  padding-top: 2%;
  padding-bottom: 3%;
  box-sizing: border-box;
  max-width: 670px;
  background-color: rgba(234, 249, 252, 0.5);
}

/* line 944, app/assets/stylesheets/pages/top.scss */
.top_keijiban_carousel_title {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 0 auto;
  margin-top: 50px;
}

/* line 952, app/assets/stylesheets/pages/top.scss */
.top_keijiban_carousel_title img {
  width: 80%;
}

/* line 957, app/assets/stylesheets/pages/top.scss */
.top_keijiban_carousel_outer_wrapper {
  display: flex;
  flex-direction: column;
  /* 👈 Important to stack posts and link vertically */
  justify-content: space-between;
  /* 👈 Pushes list to top and link to bottom */
  height: 300px;
  margin-top: 20px;
  margin-bottom: 20px;
  background-color: #daf5f9;
  margin-left: 20px;
  margin-right: 20px;
  padding: 20px;
  padding-bottom: 30px;
  /* uniform padding */
  border-radius: 12px;
}

@media (max-width: 670px) {
  /* line 976, app/assets/stylesheets/pages/top.scss */
  .top_keijiban_carousel_outer_wrapper {
    padding-left: 2px;
    padding-right: 2px;
  }
}

/* line 983, app/assets/stylesheets/pages/top.scss */
.top_keijiban_list_wrapper {
  display: flex;
  gap: 10px;
  margin: 0;
  padding: 0;
  max-width: 100vw;
  width: 100%;
}

/* line 991, app/assets/stylesheets/pages/top.scss */
.top_keijiban_list_wrapper .slick-list {
  height: 190px;
  padding: 50px 0px;
}

@media (max-width: 670px) {
  /* line 998, app/assets/stylesheets/pages/top.scss */
  .top_keijiban_list_wrapper {
    max-height: 190px;
  }
  /* line 1001, app/assets/stylesheets/pages/top.scss */
  .top_keijiban_list_wrapper .slick-list {
    height: 160px !important;
  }
}

/* line 1007, app/assets/stylesheets/pages/top.scss */
.top_keijiban_list_wrapper li {
  max-width: 90%;
  width: 90%;
  max-height: 200px;
  margin: 0 20px;
}

/* Keijiban Carousel Post SCSS */
/* END Keijiban Carousel Posts */
/* line 1032, app/assets/stylesheets/pages/top.scss */
.top_keijiban_posts_all_link_wrapper {
  display: flex;
  justify-content: flex-end;
  /* 👈 better than 'right' */
  align-items: flex-end;
  margin-top: 10px;
}

/* line 1039, app/assets/stylesheets/pages/top.scss */
.top_keijiban_posts_all_link_wrapper a {
  text-decoration: none;
  color: #007acc;
  font-weight: bold;
  font-size: 0.9rem;
}

/* TOP Video section */
/* Outer container width */
/* line 1053, app/assets/stylesheets/pages/top.scss */
.top_video_outer_wrapper {
  display: flex;
  background-color: #6bd5ed;
  flex-direction: column;
  width: 670px;
  padding-bottom: 15px;
}

@media (max-width: 670px) {
  /* line 1062, app/assets/stylesheets/pages/top.scss */
  .top_video_outer_wrapper {
    width: 100%;
  }
}

/* Title row */
/* line 1068, app/assets/stylesheets/pages/top.scss */
.video-title-wrapper {
  color: white;
  font-size: 25px;
  gap: 20px;
  align-items: center;
  padding: 20px;
}

/* line 1076, app/assets/stylesheets/pages/top.scss */
.video-title-img {
  height: 30px;
  max-width: 30%;
  margin-left: 20px;
}

/* Scroll wrapper */
/* line 1083, app/assets/stylesheets/pages/top.scss */
.top_video_inner_wrapper {
  display: flex;
  margin-left: 20px;
  overflow-x: auto;
  width: 650px;
}

@media (max-width: 670px) {
  /* line 1091, app/assets/stylesheets/pages/top.scss */
  .top_video_inner_wrapper {
    width: 100%;
    margin-left: 10px;
    overflow: hidden;
  }
}

/* Carousel row */
/* line 1099, app/assets/stylesheets/pages/top.scss */
.video-carousel {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  width: 650px;
  overflow: hidden;
  gap: 10px;
}

@media (max-width: 670px) {
  /* line 1109, app/assets/stylesheets/pages/top.scss */
  .video-carousel {
    width: 100%;
  }
}

/* Click indicator */
/* line 1115, app/assets/stylesheets/pages/top.scss */
.video-thumbnail-wrapper::after {
  content: "▶";
  position: absolute;
  right: 12px;
  bottom: 12px;
  font-size: 26px;
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.6);
  pointer-events: none;
}

/* -------------------------------------
     Image inside slide 
     (same size as parent)
  -------------------------------------- */
/* line 1130, app/assets/stylesheets/pages/top.scss */
.video-thumb {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background-color: #1a1a1a;
  border-radius: 12px;
}

/* PLACEHOLDER slides */
/* line 1142, app/assets/stylesheets/pages/top.scss */
.placeholder-slide--video {
  margin-right: 10px;
}

/* line 1147, app/assets/stylesheets/pages/top.scss */
.placeholder-card--instagram::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 200%;
  height: 100%;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0) 100%);
  animation: shimmer-instagram 1.5s infinite;
}

@keyframes shimmer-instagram {
  0% {
    left: -100%;
  }
  100% {
    left: 100%;
  }
}

/* line 1174, app/assets/stylesheets/pages/top.scss */
.DEI_cluster_divider {
  display: flex;
  justify-content: center;
  max-width: 100vw;
  width: 100%;
  margin-top: 50px;
}

/* line 1183, app/assets/stylesheets/pages/top.scss */
.DEI_cluster_divider_image {
  width: 50%;
}

/* line 1187, app/assets/stylesheets/pages/top.scss */
.SNS_cards_wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  background-color: white;
}

/* line 1198, app/assets/stylesheets/pages/top.scss */
.SNS_cards {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

/* line 1207, app/assets/stylesheets/pages/top.scss */
.SNS_card_link {
  max-width: 100vw;
  width: 100%;
}

/* line 1212, app/assets/stylesheets/pages/top.scss */
.SNS_card_link_small {
  max-width: 100vw;
  width: 100%;
}
