@charset "UTF-8";
/* ------------------------------------ */
/* ------- archive-case-study.php ------- */
/* ----------------------------------- */
.cover {
  background-image: url(../images/case-study/case-study--cover.jpg);
}
.section__container {
  padding: var(--px-80) 0;
  max-width: 1600px;
  margin: 0 auto;
}
.section__container.case__cat--container {
  padding: var(--px-40) 0 0;
}
.case__cat--list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 80px;
  padding-left: 24px;
}
.case__cat--list.case__tags--list {
  margin-top: 24px;
}
.case__cat--list li {
  margin-right: 56px;
}
.cases__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
  grid-row-gap: 40px;
}
.case__cat--list li {
  position: relative;
}
.case__cat--list li a::before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border-color: var(--base-lgray);
  position: absolute;
  top: 0;
  left: -24px;
  background-image: repeating-conic-gradient(from 0deg, var(--base-gray) 0deg 20deg, transparent 20deg 40deg);
  -webkit-mask-image: radial-gradient(transparent 62%, currentColor 62% 70%, transparent 70%);
  mask-image: radial-gradient(transparent 62%, var(--base-gray) 62% 70%, transparent 70%);
}
.case__cat--list li a:hover::before,
.case__cat--list li a.active::before,
.case__cat--list li a:focus::before {
  mask-image: inherit;
  background-image: none;
  background-color: var(--base-lgray);
}
.case__cat--list li.current-cat a::before {
  mask-image: inherit;
  background-image: none;
  background-color: var(--base-lgray);
  transition: all 0.2s;
}
/*  */
.case__thumbnail {
  display: flex;
}
figure.case__thumb--fig {
  width: 100%;
  height: 100%;
  min-width: 340px;
  max-width: 340px;
  max-height: calc(340px * 1.414);
  aspect-ratio: 1/ 1.414;
  position: relative;
}
figure.case__thumb--fig .case__links--container {
  position: absolute;
  bottom: 0;
  right: 0;
}
figure.case__thumb--fig img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
figure.case__thumb--fig::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.32);
  top: 0;
  left: 0;
  transition: all 0.3s;
}
figure.case__thumb--fig:hover::before {
  background-color: rgba(0, 0, 0, 0.12);
  transition: all 0.3s;
}
.case__thumbnail .archive__item--box {
  display: flex;
  flex-direction: column;
  width: min-content;
}
.case__thumbnail .archive__tags {
  display: inline-flex;
  flex-direction: column;
}
.case__thumbnail .archive__tag {
  display: inline-block;
  direction: ltr;
  -ms-writing-mode: tb-lr;
  -webkit-writing-mode: vertical-lr;
  -moz-writing-mode: vertical-lr;
  -ms-writing-mode: vertical-lr;
  writing-mode: vertical-lr;
  margin-bottom: var(--px-8);
  letter-spacing: 0.15em;
  /* text-orientation: sideways; */
}
.case__thumbnail .archive__tag a {
  color: var(--base-gray);
}
.text__upright {
  text-orientation: upright;
  font-size: xx-small;
  padding-bottom: var(--px-4);
  color: var(--base-lgray);
}
.archive__item--box .archive__item--linkbtn,
.archive__item--box .detail__link {
  display: block;
  text-align: center;
  border: 0.5px solid var(--base-white);
}
.archive__item--box .detail__link {
  margin-top: 8px;
}
.archive__item--box .archive__item--linkbtn a,
.archive__item--box .detail__link a {
  color: var(--base-white);
  padding: 8px 24px 8px 16px;
  position: relative;
  min-width: 120px;
}
.archive__item--box .detail__link a span {
  position: absolute;
  top: 50%;
  margin-top: 2px;
}
.archive__item--box .detail__link:hover a span {
  margin-top: 0;
}
/* ページネーション　*/
.post__pagination {
  margin: 40px 0;
  display: flex;
  justify-content: center;
  gap: 8px;
  font-size: 0.875rem;
}

.page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: var(--base-lgray);
}
.page-numbers *:not(.current) {
  transition: color 0.3s ease, background 0.3s ease;
}
.page-numbers.current,
a.page-numbers:hover {
  background: var(--base-gray);
  color: var(--base-white);
}

main.tax h1 {
  display: flex;
  align-items: center;
  line-height: 1;
}
main.tax h1 span.tax__cat--h {
  line-height: 1;
  text-transform: uppercase;
  margin-left: 4%;
}
main.tax h1 span.tax__cat--h.kigou {
  font-weight: 200;
  color: var(--base-white);
  margin-left: 4%;
}
/* -------  single-case-study.php  ------- */
.single.article_case .article__content--table {
  border-collapse: separate;
  border-spacing: 0 16px;
  font-size: 0.875rem;
}
.single.article_case .article__content--table th {
  display: flex;
  padding-right: 24px;
  min-width: 124px;
  color: var(--base-gray);
}
.single.article_case .article__img--main {
  width: 100%;
  aspect-ratio: 4 / 3;
  background-size: contain;
  max-width: 600px;
  margin-left: 40px;
}

.single.article_case .article__contents .flex__row {
  flex-wrap: wrap;
  justify-content: space-between;
}
.single.article_case .article__contents .flex__row img {
  width: 48%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.single.article_case .article__contents .flex__row p {
  width: 48%;
}
.single.article_case .case__cat--container {
  margin-bottom: var(--px-80);
}
.article__pagenation {
  justify-content: space-between;
}
.article__prev,
.article__next {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.article__prev .prev-line,
.article__next .next-line {
  transition: 0.3s;
}
.article__prev:hover .prev-line,
.article__next:hover .next-line {
  transition: 0.3s;
}
.article__prev:hover .prev-line {
  transform: translateX(-12px);
}
.article__next:hover .next-line {
  transform: translateX(12px);
}
.a__case-study .overft__nav--box.overft__nav--prev {
  background-image: url(../images/common/overft__nav--bg02.jpg);
  background-position: bottom;
}
.a__case-study .overft__nav--box.overft__nav--next {
  background-image: url(../images/common/overft__nav--bg04.jpg);
  background-position: bottom;
}
/* --------------------------------------- */
/* ------------ media query ------------- */
/* --------------------------------------- */
@media screen and (width > 1920px) {
  .single.article_case .cover__container {
    max-width: none;
  }
  .single.article_case .article__img--main {
    max-width: 1200px;
  }
}
@media screen and (width <= 1920px) {
  .section__container {
    padding: var(--px-80) 9.6%;
  }
  .section__container.case__cat--container {
    padding: var(--px-40) 9.6% 0;
  }
}

@media screen and (width <= 1600px) {
  ul.cases__list {
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  }
  figure.case__thumb--fig {
    min-width: 300px;
    max-width: 300px;
    max-height: calc(300px * 1.414);
  }
}

@media screen and (width <= 1440px) {
  ul.cases__list {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }
  figure.case__thumb--fig {
    min-width: 260px;
    max-width: 260px;
    max-height: calc(260px * 1.414);
  }
}
@media screen and (width <= 1280px) {
  /* ul.cases__list {
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  } */
  /* figure.case__thumb--fig {
    min-width: 220px;
    max-width: 320px;
    max-height: inherit;
    width: calc(var(--vw) * 40);
  } */
}
@media screen and (width <= 1024px) {
  ul.cases__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
  }
  /* figure.case__thumb--fig {
    width: calc(var(--vw) * 32);
    min-width: initial;
    max-width: initial;
  } */
  figure.case__thumb--fig img,
  figure.case__thumb--fig::before {
    max-width: 290px;
    max-height: 409px;
  }
  /* ----- single-case-study.php ----- */
  .single .cover__container.flex__row {
    flex-direction: column-reverse;
  }
  .single.article_case .article__img--main {
    margin-left: 0;
  }
}
@media screen and (width <= 768px) {
  ul.case__cat--list {
    display: flex;
    margin-top: 40px;
  }
  .archive__item--box .archive__item--linkbtn a,
  .archive__item--box .detail__link a {
    padding: 8px 8px 8px 0;
    font-size: 0.75rem;
    min-width: 96px;
  }
  .archive__item--title {
    font-size: 0.875rem;
  }
}
