@charset "UTF-8";
/* =====================
	私たちにできる30のことページ
 ======================= */

/** ------------------------ 一覧 ------------------------ **/

/** ------------------------ thirty-things ------------------------ **/
.thirty-things .thirty-things-content {
  background-color: var(--c_floral-white);
  padding: 7rem 0 10.6rem;
  border-radius: 100% 100% 75px 75px / 408px 408px 75px 75px;
  margin-top: -20.4rem;
  margin-bottom: -6.2rem;
  position: relative;
  z-index: 1;
}

.thirty-things .thirty-things-cat-nav {
  margin-bottom: 10rem;
}

.thirty-things .thirty-things-cat-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 2rem;
}

.thirty-things .btn-cat {
  font-weight: bold;
  color: var(--c_navy);
  width: 9.38em;
  aspect-ratio: 150 / 46;
  background-color: var(--c_white);
  border: 1px solid var(--c_navy);
  border-radius: 999px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.thirty-things .thirty-things-cat-item.is-active .btn-cat {
  color: var(--c_white);
  background-color: var(--c_navy);
}

.thirty-things .btn-cat:hover {
  opacity: 1;
  color: var(--c_white);
  background-color: var(--c_navy);
}

.thirty-things .thirty-things-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(370px, 1fr));
  justify-items: center;
  gap: 5rem 4.5rem;
}

.thirty-things .thirty-things-item.is-hidden {
  display: none;
}

.thirty-things .thirty-things-article {
  max-width: 370px;
  width: 100%;
  background-color: var(--c_white);
  border-radius: 10px;
}

.thirty-things .thirty-things-article a:hover {
  opacity: 1;
}

.thirty-things .thirty-things-article-inner {
  padding: 2rem 2rem 3rem;
}

.thirty-things .thirty-things-article-img {
  aspect-ratio: 330 / 245;
  overflow: hidden;
  border-radius: 10px;
  position: relative;
  margin-bottom: 2rem;
}

.thirty-things .thirty-things-article-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  transition: var(--anim);
}

.thirty-things
  .thirty-things-article
  a:hover
  .thirty-things-article-img::after {
  background: rgba(0, 0, 0, 0.3);
}

.thirty-things .thirty-things-article-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.thirty-things .number-box {
  font-family: var(--font_Quicksand);
  font-weight: bold;
  color: var(--c_white);
  background-color: var(--c_navy);
  padding: 0.5rem 2.5rem;
  border-top-left-radius: 10px;
  border-bottom-right-radius: 10px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.thirty-things .number {
  font-size: 3.6rem;
  line-height: 1.25;
  color: #d1b36f;
}

.thirty-things .thirty-things-article-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
}

.thirty-things .thirty-things-article-date {
  font-family: var(--font_Quicksand);
  font-weight: bold;
  color: #c8c8c8;
}

.thirty-things .thirty-things-cat {
  font-size: 1.4rem;
  font-weight: bold;
  color: var(--c_white);
  background-color: var(--c_navy);
  padding: 0 1.43em 0.14em;
  border-radius: 999px;
}

.thirty-things .thirty-things-article-title {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.5;
}

.thirty-things .btn-wrapper {
  text-align: center;
}

.thirty-things .btn-more {
  margin-top: 5rem;
}

/** ------------------------ 詳細 ------------------------ **/

/** ------------------------ thirty-things-single ------------------------ **/
.thirty-things-single {
  padding: 8.6rem 0 10.6rem;
  background:
    url(../../img/30th/thirty-things/thirty-things-single-bg.png) no-repeat
      center top/ cover,
    url(../../img/30th/thirty-things/thirty-things-single-bg-illustration.svg)
      no-repeat right calc(50% - 400px + 114.5px) top 2rem / 229px,
    var(--c_floral-white);
  border-bottom-left-radius: 75px;
  border-bottom-right-radius: 75px;
  margin-bottom: -6.2rem;
  position: relative;
  z-index: 1;
}

.thirty-things-single .thirty-things-article {
  margin-bottom: 6rem;
}

.thirty-things-single .thirty-things-article-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 2rem;
  margin-bottom: 3rem;
}

.thirty-things-single .thirty-things-cat {
  font-weight: bold;
  color: var(--c_white);
  background-color: var(--c_navy);
  padding: 0 1.25em 0.13em;
  border-radius: 999px;
}

.thirty-things-single .thirty-things-article-ttl {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 1.08;
}

.thirty-things-single .thirty-things-article-date {
  font-family: var(--font_Quicksand);
  font-weight: bold;
  color: #c8c8c8;
}

.thirty-things-single .thirty-things-article-content ul,
.thirty-things-single .thirty-things-article-content ol {
  list-style-position: inside;
}

.thirty-things-single .thirty-things-article-content ul {
  list-style-type: disc;
}

.thirty-things-single .thirty-things-article-content ol {
  list-style-type: decimal;
}

.thirty-things-single .thirty-things-article-content img {
  display: initial;
}

.thirty-things-single .thirty-things-article-content p:has(img.aligncenter) {
  text-align: center;
}

.thirty-things-single .thirty-things-article-content p:has(img.alignright) {
  text-align: right;
}

.thirty-things-single .thirty-things-article-content p:has(img.alignleft) {
  text-align: left;
}

.thirty-things-single .thirty-things-article-content a {
  color: revert;
  text-decoration: underline;
}

.thirty-things-single .btn-wrapper {
  text-align: center;
}

.thirty-things-single .btn-articles {
  font-weight: bold;
  color: var(--c_white);
  width: 20.5em;
  padding: 0.69em 1.25em;
  background-color: var(--c_ochre);
  border-radius: 35px;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
}

.thirty-things-single .btn-articles::after {
  content: "";
  width: 1.5em;
  aspect-ratio: 1;
  background-image: url(../../img/30th/common/icon-btn-arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  transition: var(--anim);
}

/** -------------------- タブレット -------------------- **/
@media (max-width: 1248px) {
  /** ------------------------ 一覧 ------------------------ **/

  /** ------------------------ thirty-things ------------------------ **/
  .thirty-things .thirty-things-cat-nav {
    width: 80%;
    margin: 0 auto 10rem;
  }
}

/** -------------------- スマホ -------------------- **/
@media (max-width: 699px) {
  /** ------------------------ 一覧 ------------------------ **/

  /** ------------------------ thirty-things ------------------------ **/
  .thirty-things .thirty-things-content {
    padding: 8rem 0;
    border-radius: 100% 100% 75px 75px / 204px 204px 75px 75px;
    margin-top: -10rem;
    margin-bottom: -8rem;
  }

  .thirty-things .thirty-things-cat-nav {
    width: auto;
    margin-bottom: 8rem;
  }

  .thirty-things .thirty-things-list {
    grid-template-columns: repeat(auto-fit, minmax(100%, 1fr));
    gap: 4rem;
  }

  .thirty-things .number {
    font-size: 2.4rem;
  }

  .thirty-things .btn-more {
    margin-top: 4rem;
  }

  /** ------------------------ 詳細 ------------------------ **/

  /** ------------------------ thirty-things-single ------------------------ **/
  .thirty-things-single {
    padding: 8rem 0;
    margin-bottom: -8rem;
    background:
      url(../../img/30th/thirty-things/thirty-things-single-bg.png) no-repeat
        center top/ cover,
      url(../../img/30th/thirty-things/thirty-things-single-bg-illustration.svg)
        no-repeat right 2.4rem top 2rem / 114.5px,
      var(--c_floral-white);
  }

  .thirty-things-single .thirty-things-article {
    margin-bottom: 8rem;
  }

  .thirty-things-single .thirty-things-article-header {
    margin-bottom: 4rem;
    row-gap: 1.6rem;
  }

  .thirty-things-single .thirty-things-article-ttl {
    font-size: 2.4rem;
  }
}
