.c-shop-summary__meta {
  justify-content: flex-start;
}

.c-shop-summary__badge {
  font-size: clamp(10px, 5.71429vw - 8.28571px, 14px);
}

.c-shop-summary__promotion {
  font-size: clamp(12px, 5.71429vw - 6.28571px, 16px);
}

.c-shop-summary__tabs {
  margin-top: 20px;
}

.p-search-timeline-card {
  overflow: hidden;
  background: #f5f5f5;
}

.p-search-timeline-card__media {
  aspect-ratio: 1;
  background: #e6e6e6;
}

.p-search-timeline-card__media img,
.p-search-timeline-card__media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-search-timeline-card__body {
  padding: 15px;
}

.p-search-timeline-card__category,
.p-search-timeline-card__body time {
  color: #777;
  font-size: 12px;
}

.p-search-timeline-card__link,
.p-search-timeline-card__empty {
  display: block;
  padding: 15px;
  text-align: center;
  font-weight: 700;
}

.p-search-pr__placeholder {
  display: grid;
  min-height: 94px;
  place-items: center;
  color: #999;
  background: #f5f5f5;
  border: 1px solid #ddd;
}

/* 同期済み search.css の下部ブロック余白を検索結果側にも適用する。 */
.p-search {
  padding-block: 20px 40px;
}

.p-search-pr {
  padding-block: 40px 30px;
}

.p-search-recommended-job-listings {
  margin-top: 20px;
}

/* バナー掲載枠Aは、スライダー初期化前や初期化失敗時にも非表示にしない。 */
.p-search-recommended-job-listings .splide:not(.is-initialized) {
  visibility: visible;
}

.p-search-recommended-job-listings .splide:not(.is-initialized) .splide__slide {
  flex: 0 0 100%;
}

/* ジョブマッチング非表示後のバナーAは、他のスライダーの初期化状態に依存させない。 */
.p-search-banner-a img {
  display: block;
}

.p-search-recommend .splide__arrow {
  --slider-position-y: -64px;
}

.p-search-timeline__slider {
  --slider-arrow-margin-inline: -24px;
  margin-top: 30px;
}

.p-search-filter__button:disabled {
  cursor: not-allowed;
  color: #999;
  background-color: #f5f5f5;
  border-color: #d2d2d2;
}

/* 同期済みデザインでは、上部バナーの余白は掲載枠自身だけが持つ。 */
.p-search__aside {
  margin-top: 0;
}

.p-search-filter__count,
.p-search-results__count {
  margin-top: var(--spacing-lg-trim);
}

/* search.css の旧チェックボックス指定を、同期済み main.css の表示へ戻す。 */
.c-checkbox {
  align-items: var(--checkbox-align-items, center);
  column-gap: var(--checkbox-column-gap, 10px);
  width: var(--checkbox-width, auto);
  aspect-ratio: var(--checkbox-aspect-ratio, auto);
  font-size: var(--checkbox-font-size, 14px);
  font-weight: var(--font-weight-medium);
  cursor: pointer;
  line-height: 1;
  display: flex;
}

.c-checkbox input[type='checkbox'] {
  width: var(--checkbox-size, 30px);
  height: auto;
  aspect-ratio: 1;
  appearance: none;
  cursor: inherit;
  align-items: center;
  display: grid;
}

.c-checkbox input[type='checkbox']::before,
.c-checkbox input[type='checkbox']::after {
  content: '';
  grid-area: 1 / 1;
}

.c-checkbox input[type='checkbox']::before {
  width: var(--checkbox-size, 30px);
  aspect-ratio: 1;
  background-color: #fff;
  border: 2px solid #b6b6b6;
  border-radius: var(--rounded-xs);
}

.c-checkbox input[type='checkbox']::after {
  width: var(--input-checkbox-size, 20px);
  aspect-ratio: var(--input-checkbox-aspect-ratio, 1.42869);
  background-color: #ff7d64;
  -webkit-mask-image: url('/assets/main/images/icon/check.svg');
  mask-image: url('/assets/main/images/icon/check.svg');
  -webkit-mask-size: cover;
  mask-size: cover;
  transition: opacity var(--duration) var(--easing-primary);
  margin: auto;
}

.c-checkbox input[type='checkbox']:not(:checked)::after {
  opacity: 0;
}

/* 検索結果専用CSSで上書きされたページングを、同期済みデザインの仕様へ戻す。 */
.p-search-pagination {
  margin-top: 20px;
}

.p-search-pagination__container {
  row-gap: 20px;
  display: grid;
}

.p-search-pagination__list--actions {
  grid-template-columns: 1fr 1fr;
  column-gap: 20px;
  display: grid;
}

.p-search-pagination__list--pages {
  column-gap: clamp(8px, 2.85714vw - 1.14286px, 10px);
  display: flex;
}

.p-search-pagination__list--pages li {
  width: 11.696%;
}

.p-search-pagination__list--pages li:last-child {
  margin-left: auto;
}

.p-search-pagination__item.is-active > * {
  --pagination-link-color: #444;
}

.p-search-pagination__item.is-disabled {
  --pagination-link-color: #8c8c8c;
}

.p-search-pagination__item.is-disabled > * {
  --icon-arrow-color: #8c8c8c;
  --icon-chevron-color: #8c8c8c;
  --pagination-link-color: #8c8c8c;
}

.p-search-pagination__link {
  height: var(--pagination-link-height, 100%);
  min-height: 0;
  aspect-ratio: var(--pagination-link-aspect-ratio, 1);
  font-weight: var(--font-weight-medium);
  color: var(--pagination-link-color, #ffb108);
  border: 4px solid var(--color-gray-primary, #d3d3d3);
  border-radius: var(--rounded-sm);
  background-color: #fff;
  justify-content: center;
  align-items: center;
  display: grid;
}

.p-search-pagination__link--prev,
.p-search-pagination__link--next {
  --pagination-link-height: 60px;
  --pagination-link-aspect-ratio: auto;
  --icon-arrow-size: 25px;
  --pagination-link-color: #444;
  grid-template-columns: 1fr auto 1fr;
  padding-inline: 15px;
}

.p-search-pagination__link--prev::before {
  rotate: 180deg;
}

.p-search-pagination__link--prev::after,
.p-search-pagination__link--next::before {
  content: '';
}

.p-search-pagination__link--next::after {
  justify-self: end;
}

.p-search-pagination__link--first,
.p-search-pagination__link--last {
  grid-template-columns: auto auto;
}

.p-search-pagination__link--first::after,
.p-search-pagination__link--last::after {
  margin-right: -2px;
}

/* 背景画像と共通疑似要素のチェックが重ならないよう、共通表示へ統一する。 */
.c-search-area .c-checkbox input[type='checkbox'] {
  width: var(--checkbox-size, 30px);
  height: auto;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.c-search-area .c-checkbox input[type='checkbox']:checked {
  background-image: none !important;
  border: 0;
}

/* ジョブマッチングを非表示にしても、独立したバナー掲載枠Aを維持する。 */
.p-search-recommended-job-listings {
  margin-top: 20px;
}

.c-search-modal__result {
  font-weight: var(--font-weight-medium);
  text-align: center;
}

.p-search-pagination__link--first::before,
.p-search-pagination__link--first::after {
  margin-left: -2px;
  rotate: 180deg;
}

.p-search-pagination__link--last::before,
.p-search-pagination__link--last::after {
  margin-right: -2px;
}
