body {
  background-color: #fff;
}

.site,
#page,
#content,
.site-content,
#primary,
.site-main,
.front-page,
#top {
  background-color: var(--systemColor--thin--blueGreen--clear);
}

.site-content {
  padding: 0;
}

.front-page__hero {
  padding-top: 12px;
}

.front-page__heroInner {
  width: 100%;
}

.front-page__heroContent {
  width: 100%;
}

#top {
  width: 100%;
}

#topBlock__fvCard {
  padding: var(--space-md) 0 var(--space-xl);
  overflow: hidden;
}

#top .splide {
  max-width: 1280px;
  margin: 0 auto;
}

#top .splide__track {
  overflow: hidden;
  filter: var(--box-shadow-thin);
}

#top .splide__slide {
  overflow: visible;
}

#top .splide__slide .zoom {
  display: block;
}

#top .splide__slide img {
  display: block;
  width: 100%;
  height: auto;
}

#top .splide__pagination {
  bottom: -30px;
}

#top .splide__pagination__page {
  width: 10px;
  height: 10px;
  background: none;
  border: solid 1px var(--systemColor--red);
  opacity: 1;
}

#top .splide__pagination__page.is-active {
  background-color: var(--systemColor--red);
  transform: scale(1);
}

#top .splide:not(.is-overflow) .splide__pagination {
  display: flex;
}

#topBlock__search {
  background-color: var(--systemColor--thin3--gray);
  padding: var(--space-xl) var(--space-md) var(--space-md);
  margin: var(--space-xl) var(--space-md) 0;
  border-radius: 10px;
}

.topBlock__search--child {
  max-width: 950px;
  margin: auto;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

#top #topBlock__search > .topBlock__search--child > p {
  background-color: var(--systemColor--blueGreen);
  color: #fff;
  font-size: var(--font-size-lg);
  font-weight: bold;
  padding: 0 var(--space-md);
  border-radius: 5rem;
  width: fit-content;
  margin: -2.5rem auto var(--space-md);
}

.front-page__searchBox .searchandfilter > div {
  display: block;
}

.front-page__searchBox .searchandfilter ul {
  display: flex;
  justify-content: space-between;
  margin: 0;
  padding: 0;
  list-style: none;
  gap: 5px;
}

.front-page__searchBox .searchandfilter li {
  list-style: none;
  padding: 0;
  width: 100%;
  position: relative;
}

.front-page__searchBox .searchandfilter {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}

.front-page__searchBox .searchandfilter select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  height: 50px;
  font-size: 0.85rem;
  color: var(--systemColor--defaultText);
  padding: 0 30px 0 35px;
  background-color: #fff;
}

.front-page__searchBox .searchandfilter input,
.front-page__searchBox .searchandfilter select {
  border-radius: 2px;
  font-weight: bold;
  border: 1px solid var(--systemColor--thin--gray);
  width: 100%;
  cursor: pointer;
}

.front-page__searchBox .searchandfilter ul > li:last-child input:last-child {
  height: 100%;
  background-color: var(--systemColor--red);
  border: none;
  color: #fff;
}

.front-page__searchBox .searchandfilter li::before {
  content: "";
  display: block;
  width: 30px;
  height: 100%;
  position: absolute;
  left: 5px;
}

.front-page__searchBox .searchandfilter li:nth-child(1)::before {
  background: url(../images/header/jobtype.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
}

.front-page__searchBox .searchandfilter li:nth-child(2)::before {
  background: url(../images/header/workplace.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
}

.front-page__searchBox .searchandfilter li:nth-child(3)::before {
  background: url(../images/header/vibestag.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
}

.front-page__searchBox .searchandfilter li::after {
  content: "";
  display: block;
  width: 20px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 2px;
  background: url(../images/header/btn_open.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
}

.front-page__searchBox .searchandfilter ul > li:last-child::before,
.front-page__searchBox .searchandfilter ul > li:last-child::after {
  display: none;
}

#topBlock__recList .parts__recList_S {
  padding: var(--space-lg) 0;
}

#topBlock__recList .front-page__section--latest {
  background-color: #fff;
}

#topBlock__recList .front-page__section--popular {
  background-color: var(--systemColor--thin3--gray);
}

#topBlock__recList .front-page__section--recent {
  background-color: #fff;
}

#topBlock__recList .parts__recList_S--child {
  max-width: 950px;
  margin: 0 auto;
}

#topBlock__recList .recList_S__title {
  margin-bottom: var(--space-md);
}

#topBlock__recList .recList_S__mainContent {
  margin-bottom: var(--space-md);
}

.front-page__emptyState {
  margin: 0;
  color: var(--systemColor--grayText);
}

#topBlock__infoList {
  margin: 0 auto;
  padding: 0 var(--space-md) 40px;
  background-color: #fff !important;
  width: 100%;
}

.topClass_infoList--title {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 5px;
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}

.topClass_infoList--title .recList_S__moreBtn {
  position: static;
  top: auto;
  right: auto;
  display: flex;
  align-items: center;
  margin: 0;
  width: fit-content;
}

.topClass_infoList--title .recList_S__moreBtn a {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}

.topClass_infoList--title .recList_S__title {
  padding-left: 5px;
  font-size: var(--font-size-ml);
  font-weight: bold;
  margin: 0;
  line-height: 1;
}

#topBlock__infoList p {
  margin: 0;
}

.topClass_infoList--child {
  background-color: var(--systemColor--thin3--gray);
  padding: var(--space-md);
  font-size: var(--font-size-xs);
  max-width: 950px;
  margin: 0 auto var(--space-sm);
}

.topClass_infoListCont {
  margin: 0 0 5px;
}

.topClass_infoListCont:last-child {
  margin: 0;
}

.topClass_infoDate {
  display: inline-block;
  margin-right: var(--space-sm);
  font-size: var(--font-size-xs);
}

@media (max-width: 768px) {
  .hitorikuTop__searchItem--sp {
    display: grid;
    width: 350%;
    gap: 12px;
  }

  .hitorikuTop__searchItem-2S--sp {
    display: grid;
    gap: 12px;
  }
}

@media (min-width: 768px) {
  #topBlock__fvCard {
    padding: var(--space-xl) 0 3.5rem;
    background-color: var(--systemColor--thin--blueGreen--clear);
  }

  #top .splide__slide .zoom {
    transform: scale(0.9);
    transition: transform 0.3s ease, opacity 0.3s ease;
    transform-origin: center center;
    will-change: transform;
  }

  #top .splide__slide.is-active .zoom {
    transform: scale(1);
    z-index: 2;
  }

  #top .splide__pagination {
    bottom: -32px;
  }

  #top #topBlock__search {
    margin: 0;
    border-radius: 0;
  }

  #top #topBlock__search > .topBlock__search--child > p {
    font-size: var(--font-size-lg);
    padding: 0 var(--space-md);
    margin-left: auto;
    margin-right: auto;
  }

  .front-page__searchBox .searchandfilter {
    margin: 0 auto;
    max-width: 600px;
  }

  .front-page__searchBox .searchandfilter select,
  .front-page__searchBox .searchandfilter input {
    height: 36px;
    font-size: 0.75rem;
  }

  .front-page__searchBox .searchandfilter select {
    padding: 0 20px 0 25px;
  }

  .front-page__searchBox .searchandfilter ul > li:last-child {
    width: fit-content;
  }

  .front-page__searchBox .searchandfilter ul > li:last-child input:last-child {
    background-color: var(--systemColor--blueGreen);
  }

  .front-page__searchBox .searchandfilter li::before {
    width: 20px;
  }

  .front-page__searchBox .searchandfilter li::after {
    width: 15px;
  }

  .topClass_infoList--title {
    padding-right: 5px;
  }

  .topClass_infoList--child {
    font-size: var(--font-size-sm);
  }

  .topClass_infoDate {
    width: 70px;
    font-size: var(--font-size-sm);
  }
}

.hitorikuFooter_linkContent,
.hitorikuFooter_navContent,
.hitorikuFooter_navContent ul,
.copyright,
#colophon.site-footer {
  background-color: #fff !important;
}

.hitorikuFooter_logoContent,
.hitorikuFooter_logoContent > div {
  background-color: var(--systemColor--thin--blueGreen) !important;
}

/* 求人カードの色を front-page で確実に反映（旧CSS上書き対策） */
#topBlock__recList .parts__recCard .recCard__catchPhrase {
  color: #fff !important;
  background-color: var(--recColor, var(--systemColor--pink)) !important;
}

#topBlock__recList .parts__recCard .recCard__atmosphere p {
  color: #fff !important;
  background-color: var(--recColor, var(--systemColor--pink)) !important;
  border-radius: 50px;
}
