@charset "UTF-8";
@media all and (min-width: 768px), print {
  .l-page-container__in {
    padding-bottom: calc(100 / var(--fs) * 1rem);
  }
  .l-page-sec {}

  .l-page-sec__in {
    max-width: calc(1140 / var(--fs) * 1rem);
  }

  .l-page-sec__body {
    padding-top: calc(80 / var(--fs) * 1rem);
    padding-bottom: calc(40 / var(--fs) * 1rem);
  }

  .l-page-block__header {
    margin-bottom: calc(60 / var(--fs) * 1rem);
  }
}
@media all and (max-width: 767px) {
  .l-page-container__in {
    padding-bottom: calc(100 / var(--fs) * 1rem);
  }
  .l-page-sec {}

  .l-page-sec__in {
    max-width: calc(1140 / var(--fs) * 1rem);
  }

  .l-page-sec__body {
    padding-top: calc(40 / var(--fs) * 1rem);
    padding-bottom: calc(40 / var(--fs) * 1rem);
  }

  .l-page-block__header {
    margin-bottom: calc(20 / var(--fs) * 1rem);
  }
}


@media all and (min-width: 768px), print {
  .news-tab-button-list {
    display: flex;
    justify-content: center;
  }
  .news-category-select-wrap,
  .news-category-header {
    display: none;
  }

  .news-tab-button {
    width: calc(183 / var(--fs) * 1rem);
    cursor: pointer;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    padding: 0 calc(10 / var(--fs) * 1rem) calc(2 / var(--fs) * 1rem) calc(10 / var(--fs) * 1rem);
  }

  .news-tab-button {
    border-right: calc(1 / var(--fs) * 1rem) solid var(--c-black);
  }
  .news-tab-button.is-active {
    pointer-events: none;
  }

  .news-tab-button.is-active::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(80 / var(--fs) * 1rem);
    height: auto;
    aspect-ratio: 1/1;
    border-radius: 9999px;
    background-color: rgba(34, 172, 56, 0.10);
    z-index: -1;
  }

  .news-tab-button__label {
    transition: all 0.2s;
    font-weight: 500;
    color: var(--c-black);
    font-size: calc(16 / var(--fs) * 1rem);
    letter-spacing: 0.03em;
    line-height: 1.6;
  }

  .news-tab-button.is-active .news-tab-button__label,
  .news-tab-button__label:hover {
    font-weight: 800;
    color: var(--c-main-500);
  }
}

@media all and (max-width: 767px) {
  .news-tab-button-list {
    display: none;
  }
  .news-category-select-wrap { 
    width: 100%;
    position: relative;
    display: inline-block;
    border: solid calc(1 / var(--fs) * 1rem) var(--c-black);
    &::before {
      position: absolute;
      content: "";
      right: 0;
      width: calc(34 / var(--fs) * 1rem);
      height: calc(34 / var(--fs) * 1rem);
      background: rgba(90, 255, 0, 0.30);
    }
    &::after {
      content: '';
      /* custom arrow */
      position: absolute;
      right: calc(19 / var(--fs) * 1rem);
      top: calc(50% - calc(4 / var(--fs) * 1rem));
      pointer-events: none;
      width: calc(6 / var(--fs) * 1rem);
      transform: rotate(90deg) translateY(-50%);
      aspect-ratio: 5.04 / 8.55;
      mask: url("/road/bicycleuse/good-cycle-japan/assets/img/common/arrow-r.svg") no-repeat center / contain;
      background-color: var(--c-black);
    }
  }
  .news-category-select-wrap select {
    position: relative;
    z-index: 1;
    background-color: transparent;
    width: 100%;
    padding-block: calc(6 / var(--fs) * 1rem) calc(6 / var(--fs) * 1rem);
    padding-inline: calc(20 / var(--fs) * 1rem);
    appearance: none;
    border-radius: 0;
    border: none;
    outline: none;
  }
  .news-category-select-wrap select,
  .news-category-select-wrap option {
    font-size: calc(14 / var(--fs) * 1rem);
    line-height: 1.6;
    letter-spacing: 0.03em;
    font-weight: 500;
  }
  .news-category-header {
    margin-top: calc(40 / var(--fs) * 1rem);
  }
}


@media all and (min-width: 768px), print {
  .l-page-block__body {
    position: relative;
  }

  .l-page-block__body::before {
    position: absolute;
    content: "";
    width: 100vw;
    height: calc(100% - calc(80 / var(--fs) * 1rem));
    top: calc(100 / var(--fs) * 1rem);
    left: calc(50% - calc(6 / var(--fs) * 1rem));
    transform: translateX(-50%);
    background-image: radial-gradient(circle, #22ac38 calc(1.75 / var(--fs) * 1rem), transparent calc(1.75 / var(--fs) * 1rem));
    background-position: 0 0;
    background-size: calc(15 / var(--fs) * 1rem) calc(15 / var(--fs) * 1rem);
    opacity: 0.16;
  }

  .pager-list__container {
    z-index: 1;
    position: relative;
  }

  .pager-list {
    display: flex;
    flex-direction: column;
    gap: calc(10 / var(--fs) * 1rem);
    border-radius: calc(60 / var(--fs) * 1rem);
    background: rgba(34, 172, 56, 0.08);
    padding-block: calc(40 / var(--fs) * 1rem);
    padding-inline: calc(40 / var(--fs) * 1rem);
  }

  .pager-list-item {}

  .pager-card {
    display: block;
    padding: calc(28 / var(--fs) * 1rem) calc(50 / var(--fs) * 1rem) calc(25 / var(--fs) * 1rem) calc(40 / var(--fs) * 1rem);
    background: var(--c-white);
  }

}

@media all and (max-width: 767px) {
  .l-page-block__body {
    position: relative;
    margin-right: calc(-20 / var(--fs) * 1rem);
  }

  .l-page-block__body::before {
    position: absolute;
    content: "";
    width: 100vw;
    height: calc(100% - calc(80 / var(--fs) * 1rem));
    top: calc(100 / var(--fs) * 1rem);
    left: calc(50% - calc(6 / var(--fs) * 1rem));
    transform: translateX(-50%);
    background-image: radial-gradient(circle, #22ac38 calc(1.75 / var(--fs) * 1rem), transparent calc(1.75 / var(--fs) * 1rem));
    background-position: 0 0;
    background-size: calc(15 / var(--fs) * 1rem) calc(15 / var(--fs) * 1rem);
    opacity: 0.16;
  }

  .pager-list__container {
    z-index: 1;
    position: relative;
  }

  .pager-list {
    display: flex;
    flex-direction: column;
    gap: calc(10 / var(--fs) * 1rem);
    border-radius: calc(40 / var(--fs) * 1rem) 0 0 calc(40 / var(--fs) * 1rem);
    background: rgba(34, 172, 56, 0.08);
    padding-block: calc(30 / var(--fs) * 1rem) calc(30 / var(--fs) * 1rem);
    padding-inline: calc(20 / var(--fs) * 1rem) calc(20 / var(--fs) * 1rem);
  }

}


/* pagenation */
@media all and (min-width: 768px), print {
  .c-pagination {
    margin-top: calc(40 / var(--fs) * 1rem);
    display: flex;
    justify-content: center;
  }

  .c-pagination__in {
    position: relative;
  }

  .c-pagination-arrow {
    content: "";
    display: block;
    width: calc(30 / var(--fs) * 1rem);
    height: calc(30 / var(--fs) * 1rem);
    background: url("/road/bicycleuse/good-cycle-japan/assets/img/common/pagination_arrow.svg") no-repeat center / contain;
    transition: all .3s ease;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }

  .c-pagination-arrow.c-pagination-arrow--prev {
    left: calc(-60 / var(--fs) * 1rem);
  }

  .c-pagination-arrow.c-pagination-arrow--next {
    transform: scale(-1, 1) translateY(-50%);
    right: calc(-60 / var(--fs) * 1rem);
  }
  .c-pagination-arrow:hover {
  }

  .c-pagination-list {
    display: flex;
    align-items: center;
    gap: calc(20 / var(--fs) * 1rem);
  }

  .c-pagination-list-item .c-pagination-btn__in {
    transition: all .3s ease;
  }

  .c-pagination-list-item:hover .c-pagination-btn__label {
    color: var(--c-main-500);
    transition: all .3s ease;
  }

  .c-pagination-list-item.is-pagination-active:hover .c-pagination-btn__in {
    opacity: 1;
  }
  .c-pagination-list-item.is-pagination-active .c-pagination-btn__in {
    position: relative;
  }
  .c-pagination-list-item.is-pagination-active .c-pagination-btn__in::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(30 / var(--fs) * 1rem);
    height: calc(30 / var(--fs) * 1rem);
    background: rgba(34, 172, 56, 0.10);
    z-index: -1;
    border-radius: 9999px;
  }

  .c-pagination-list-item.is-pagination-active .c-pagination-btn__label {
    color: var(--c-main-500);
  }

  .c-pagination-list-item.is-pagination-active .c-pagination-btn {
    pointer-events: none;
  }

  .c-pagination-list-item__dot {
    position: relative;
    display: block;
    width: calc(16 / var(--fs) * 1rem);
    height: calc(40 / var(--fs) * 1rem);
  }

  .c-pagination-list-item__dot::before {
    content: "";
    display: block;
    background: url('/road/bicycleuse/good-cycle-japan/assets/img/common/pagination_omission.svg') no-repeat center / contain;
    width: calc(16 / var(--fs) * 1rem);
    height: calc(6 / var(--fs) * 1rem);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }

  .c-pagination-list-item:nth-child(4):hover::before {
    opacity: 1;
  }

  .c-pagination-btn {
    display: block;
  }

  .c-pagination-btn__in {
    border-radius: 9999px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .c-pagination-btn__label {
    color: var(--c-black);
    font-size: calc(16 / var(--fs) * 1rem);
    font-weight: bold;
    letter-spacing: 0.03em;
    line-height: 1;
  }
}
@media all and (max-width: 767px) {
  .c-pagination {
    margin-top: calc(30 / var(--fs) * 1rem);
    margin-right: calc(20 / var(--fs) * 1rem);
    display: flex;
    justify-content: center;
  }

  .c-pagination__in {
    position: relative;
  }

  .c-pagination-arrow {
    content: "";
    display: block;
    width: calc(24 / var(--fs) * 1rem);
    height: calc(24 / var(--fs) * 1rem);
    background: url("/road/bicycleuse/good-cycle-japan/assets/img/common/pagination_arrow.svg") no-repeat center / contain;
    transition: all .3s ease;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }

  .c-pagination-arrow.c-pagination-arrow--prev {
    left: calc(-49 / var(--fs) * 1rem);
  }

  .c-pagination-arrow.c-pagination-arrow--next {
    transform: scale(-1, 1) translateY(-50%);
    right: calc(-49 / var(--fs) * 1rem);
  }

  .c-pagination-list {
    display: flex;
    align-items: center;
    gap: calc(20 / var(--fs) * 1rem);
  }

  .c-pagination-list-item .c-pagination-btn__in {
  }

  .c-pagination-list-item.is-pagination-active .c-pagination-btn__in {
    position: relative;
  }
  .c-pagination-list-item.is-pagination-active .c-pagination-btn__in::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(24 / var(--fs) * 1rem);
    height: calc(24 / var(--fs) * 1rem);
    background: rgba(34, 172, 56, 0.10);
    z-index: -1;
    border-radius: 9999px;
  }

  .c-pagination-list-item.is-pagination-active .c-pagination-btn__label {
    color: var(--c-main-500);
  }

  .c-pagination-list-item.is-pagination-active .c-pagination-btn {
    pointer-events: none;
  }

  .c-pagination-list-item__dot {
    position: relative;
    display: block;
    width: calc(14 / var(--fs) * 1rem);
    height: calc(24 / var(--fs) * 1rem);
  }

  .c-pagination-list-item__dot::before {
    content: "";
    display: block;
    background: url('/road/bicycleuse/good-cycle-japan/assets/img/common/pagination_omission.svg') no-repeat center / contain;
    width: calc(14 / var(--fs) * 1rem);
    height: calc(6 / var(--fs) * 1rem);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }


  .c-pagination-btn {
    display: block;
  }

  .c-pagination-btn__in {
    border-radius: 9999px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .c-pagination-btn__label {
    color: var(--c-black);
    font-size: calc(14 / var(--fs) * 1rem);
    font-weight: bold;
    letter-spacing: 0.03em;
    line-height: 1;
  }
}