@charset "UTF-8";

:root{
    --font-inter: 'Inter', sans-serif;
    --main-textColor: #4A5565;
}

.inner {
  padding-inline: 0;
  max-width: 1180px;
}

@media screen and (max-width:1180px) {
  .inner {
    padding-inline: 1rem;
  }
}

.works{
  margin-top: 80px;
}

.works__wrap{
  display: flex;
  justify-content: left;
  align-items: flex-start;
  gap: 5rem;
}

.works__main{
  width: 66.3%;
  max-width: 46.875rem;
  display: grid;
  grid-template-columns: repeat(2,1fr);
  column-gap: 1.5rem;
  row-gap: 1.5rem;
}

.works__card{
  max-width: 22.6875rem;
}

.works__card--thumb img{
  border-radius: 11px 11px 0 0;
  aspect-ratio: 363/193;
}

.works__card--body{
  border-radius: 0 0 11px 11px;
  padding: 18px 18px 25px 18px;
  box-shadow:
    0px 3.03px 4.54px -3.03px rgba(0, 0, 0, 0.1),
    0px 7.57px 11.35px -2.27px rgba(0, 0, 0, 0.1);
}

.works__card--meta{
  color: #4379B8;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.26;
  margin-bottom: 8px;
}

.works__card--title{
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--main-textColor);
  margin-bottom: 9px;
}

.works__card--excerpt{
  font-size: .875rem;
  font-weight: 400;
  line-height: 1.4;
  color: var(--main-textColor);
}


.works__sidebar{
  width: 300px;
}

.sidebar__block + .sidebar__block{
  margin-top: 55px;
}

.sidebar__title{
  line-height: 1.38;
  font-size: 21px;
  font-weight: 500;
  color: var(--main-textColor);
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 2px solid #4379B8;
}


.sidebar__category--item{
  border-bottom: 1px solid #D9D9D9;
}

/* ============================
   input を完全に隠す（クリック領域は label）
============================ */
.sidebar__category--item input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}


/* ============================
   ラベル全体をクリック可能に
============================ */
.sidebar__category--item label {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    padding: 10px 10px 10px 46px; /* 左にチェックアイコン分の余白 */
    line-height: 1.8;
    font-size: 1rem;
    color: var(--main-textColor);
    cursor: pointer;
    transition: background-color .2s;
}


/* ============================
   ホバー時の軽い反応
============================ */
.sidebar__category--item label:hover {
    background-color: #EFEEF1;
}


/* ============================
   チェックボックスの枠（□）
============================ */
.sidebar__category--item label::before {
    content: "";
    position: absolute;
    left: 10px;
    top: 50%;
    width: 22px;
    height: 22px;
    border-radius: 4px;
    transform: translateY(-50%);
}


/* ============================
   ★ チェックされたときのチェックマーク画像
============================ */
.sidebar__category--item input[type="checkbox"]:checked + span::after {
    content: "";
    position: absolute;
    left: 10px;
    top: 50%;
    width: 22px;
    height: 22px;
    background-image: url(../img/icon-check.png);
    background-size: contain;
    background-color: transparent;
    background-repeat: no-repeat;
    transform: translateY(-50%);
}


.sidebar__category--item label.is-checked {
    background-color: #EFEEF1;
}


/* ============================
    詳細ページ
============================ */
.works-single {
  margin: 0 auto;
  max-width: 62.25rem;
}

.works-meta{
  color: var(--main-textColor);
  font-size: 1rem;
  font-family: var(--font-inter);
  font-weight: 400;
}

.works-title{
  color: var(--main-textColor);
  font-weight: 700;
  margin-top: 1rem;
  font-size: 24px;
  line-height: 1.67;
}

.works__meta{
  font-size: 18px;
  font-weight: 500;
  color: #4379B8;
  font-family: var(--font-inter);
  margin-top: 1rem;
}

.works__thumb--big img{
  margin-top: 2rem;
  border-radius: 10px;
}

.works-content{
  font-size: 1rem;
  font-weight: 350;
  color: var(--main-textColor);
  line-height: 1.8;
  margin-top: 2rem;
}

.works-content p {
  line-height: 1.8;
  margin-top: 1rem;
}

.works-content h2 {
  line-height: 1.8;
  margin-top: 1.5rem;
}

.work__btn {
  text-align: center;
}

.work__btn a {
  font-size: 1.125rem;
  color: #4A5565;
}

.work__footer {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 2.5rem;
    gap: 44px;
}

/* ページネーションの横並び */
.work__pagination {
    display: flex;
    gap: 8px;
    align-items: center;
}


.pagination{
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: center;
  margin-block: 3.9375rem 0.625rem;
}

.page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.125rem;
    font-weight: 800;
    color: #4A5565;
    width: 4rem;
}

.page-numbers.prev::before,
.page-numbers.next::before {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    display: block;
}

.prev.page-numbers,.next.page-numbers{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  border: 1px solid #BCBCBC;
  border-radius: 999px;
  text-decoration: none;
  color: #BCBCBC;
}

.page-numbers.current{
  color: #4379B8;
}

/* 有効状態（進める） → 4379B8 */
.page-numbers.prev:not([href="#"])::before,
.page-numbers.next:not([href="#"])::before {
    border-color: #4379B8;
}

/* 無効状態（進めない） → BCBCBC */
.page-numbers.prev[href="#"]::before,
.page-numbers.next[href="#"]::before {
    border-color: #BCBCBC;
}


.page-numbers.prev::before {
    transform: translateX(25%) rotate(-135deg);
}

.page-numbers.next::before {
    transform: translateX(-25%) rotate(45deg)
}

.works__none{
  color: #4A5565;
}

@media screen and (max-width:767px) {

  .works {
    margin-top: 3.125rem;
  }

  .works__wrap{
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .works__main{
    width: unset;
    max-width: 100%;
    grid-template-columns: repeat(auto-fit,343px);
  }

  .works__card--meta{
    display: flex;
    font-size: 12px;
  }

  .works__card--service{
    display: block;
  }

  .works__card--title{
    font-size: 14px;
  }
  
  .works__sidebar {
    width: 100%;
  }

  .works-title {
    margin-top: 0.5625rem;
  }

  .works__meta {
    display: flex;
  }

  .work__btn a {
    font-size: 0.875rem;
  }

  .prev.page-numbers, .next.page-numbers {
    width: 2.285625rem;
    height: 2.285625rem;
  }
}