@charset "UTF-8";

/* cmn_header */
.cmn_header a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

/* cmn_sticky */
.cmn_sticky {
  padding-top: 6rem;
  padding-bottom: 12rem;
}
@media screen and (min-width: 768px) {
  .cmn_sticky {
    padding-top: 7rem;
    padding-bottom: 14rem;
  }
}

/* cmn_sticky > nav (override) */
@media screen and (min-width: 768px) {
  .cmn_sticky > nav ul {
    padding: 1.8rem 0;
  }
  .cmn_sticky > nav li {
    padding: 0;
  }
  .cmn_sticky > nav li + li {
    margin-top: 1.8rem;
  }
  .cmn_sticky > nav li a {
    padding: 0 0.5em;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 2.4rem;
    border: solid 1px rgb(255, 255, 255);
    border-radius: 6px;
    box-sizing: border-box;
    font-size: 1.2rem;
    font-weight: 500;
  }
  #wrapper .cmn_sticky > nav li:not(.current-cat) a,
  #wrapper .cmn_sticky > nav li a:hover {
    opacity: 0.75;
  }
  #wrapper .cmn_sticky > nav li:first-of-type {
    display: none;
  }
  #wrapper .cmn_sticky > nav li:first-of-type.current-cat ~ li a {
    opacity: 1;
  }
  .cmn_sticky > nav li a::before {
    content: none;
  }
}

/* cmn_content */
.cmn_content {
  padding: 3.6rem 2.2rem;
  border-radius: 10px;
  background-color: rgb(255, 255, 255, 0.85);
}
@media screen and (min-width: 768px) {
  .cmn_content {
    padding: 5.8rem;
  }
}

/* artlist */
@media screen and (min-width: 768px) {
  #artlist {
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    row-gap: 3rem;
  }
  #artlist > article {
    flex-basis: 21.8rem;
  }
}
#artlist article {
  padding-bottom: 2.8rem;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  #artlist article {
    padding-bottom: 3.8rem;
  }
}
#artlist article h2 {
  margin: 0;
}
#artlist article h2 a {
  margin-top: -0.28em;
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.56;
  letter-spacing: 0.05em;
  color: rgb(35, 24, 21);
}
@media screen and (min-width: 768px) {
  #artlist article h2 {
    padding: 0.28em 0;
  }
}
#artlist article .meta {
  padding: 1.3rem 0;
  display: flex;
  align-items: center;
  gap: 1.2rem;
  order: -10;
}
@media screen and (min-width: 768px) {
  #artlist article .meta {
    padding: 1.5rem 0;
    gap: 1.6rem;
  }
}
#artlist article .cat ul {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
#artlist article .cat li a {
  padding: 0 1em;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 1.8rem;
  border: solid 1px;
  border-radius: 6px;
  box-sizing: border-box;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  word-break: keep-all;
  color: rgb(72, 68, 68);
}
@media screen and (min-width: 768px) {
  #artlist article .cat li a {
    padding: 0 0.5em;
    min-height: 2.4rem;
    font-size: 1.2rem;
  }
}
#artlist article .time {
  font-size: 1.3rem;
  color: rgb(35, 24, 21);
}
@media screen and (min-width: 768px) {
  #artlist article .time {
    font-size: 1.4rem;
  }
}
#artlist article .thumb {
  order: -20;
}
#artlist article .thumb a {
  display: block;
  height: 16.4rem;
  background-color: rgb(208, 220, 239);
  background: rgb(208, 220, 239) url(../images/logo.webp) no-repeat 50% 50% / 50% auto;
  background-blend-mode: color-dodge;
}
@media screen and (min-width: 768px) {
  #artlist article .thumb a {
    height: 14rem;
  }
}
#artlist article .thumb a img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* pagination */
#pagination {
  padding: 2rem 0;
}
@media screen and (min-width: 768px) {
  #pagination {
    padding: 5rem 0;
  }
}
#pagination > div {
  display: flex;
  align-items: center;
  justify-content: center;
}
#pagination a,
#pagination span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2em;
  height: 2em;
  font-size: 1.3rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.05em;
  color: rgb(196, 189, 189);
  transition: 0.2s color ease-out;
}
@media screen and (min-width: 768px) {
  #pagination a,
  #pagination span {
    font-size: 1.7rem;
  }
}
#pagination .current,
#pagination a:hover {
  opacity: 1;
  color: rgb(112, 112, 112);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.25em;
}
#pagination a.first,
#pagination a.last,
#pagination a[rel="prev"],
#pagination a[rel="next"] {
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
  transition: 0.2s opacity ease-out;
}
#pagination a.first:hover,
#pagination a.last:hover,
#pagination a[rel="prev"]:hover,
#pagination a[rel="next"]:hover {
  opacity: 0.75;
}
#pagination a.first::before,
#pagination a.last::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background: url(../images/ico_news_arrow_db.svg) no-repeat 100% 50% / calc(20 / 17 * 1em) auto;
}
#pagination a[rel="prev"]::before,
#pagination a[rel="next"]::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background: url(../images/ico_news_arrow.svg) no-repeat 100% 50% / calc(11 / 17 * 1em) auto;
}
#pagination a.first,
#pagination a[rel="prev"] {
  scale: -1 1;
}
