@charset 'utf-8';

:root {
  --light-blue: #70c1ff;
  --blue: #007aff;
  --light-grey: #eee;
  --dark-grey: #6f6f6f;
  --black: #030202;
  --white: #fff;
  --font-chivo: "Chivo", sans-serif;
  --font-noto-sans: "Noto Sans JP", sans-serif;
}

body,
html {
  background-color: var(--white);
  color: var(--black);
  font-family: var(--font-noto-sans);
}

/*----------------------------------------
	card本体
----------------------------------------*/
.card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--black);
  background: #fff;
  height: 100%;
  color: inherit;
  text-decoration: none;
}
.card__thumb {
  position: relative;
  width: 100%;
  height: auto;
}
.card__thumb img {
  max-width: none;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: 0.3s;
}
.card__body {
  margin: 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.card__title {
  margin-bottom: 0.5em;
  font-size: 1.3rem;
}
.card__footer {
  margin-top: auto;
}
.card__tag {
  margin-top: 10px;
  justify-content: flex-end;
}
.card__btn {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--black);
  text-align: right;
}

/*----------------------------------------
	Card一覧（カード専用レイアウト）
----------------------------------------*/
.card-lists {
  margin-top: 3rem;
  margin-bottom: 3rem;
  padding: 0 20px;

  @media (768px <= width), print {
    max-width: calc(1280px - 20px * 2);
    margin-inline: auto;
  }
}

.card-list {
  display: flex;
  flex-direction: column;
  margin-top: -20px;
}
.card-list__item {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
}

@media (768px <= width), print {
  .card-list--col2 {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .card-list--col2 .card-list__item {
    width: calc((100% - 30px) / 2);
  }

  .card-list--col3 {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .card-list--col3 .card-list__item {
    width: calc((100% - 30px) / 3);
  }
}

/*----------------------------------------
	タグ
----------------------------------------*/
.tag-list {
  display: flex;
  flex-wrap: wrap;
}
.tag-list__item {
  display: inline-block;
  margin-right: 10px;
}
.tag {
  display: inline-block;
  padding: 5px;
  background: #e7e7ff;
  border-radius: 4px;
  font-size: 12px;
  line-height: 1;
}

/*----------------------------------------
	ボタン
----------------------------------------*/
.btn-more {
  position: relative;
  display: inline-block;
  padding: 0 40px 0 10px;
}
.btn-more::after {
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  display: block;
  width: 0.5em;
  height: 0.5em;
  border-top: 1px solid;
  border-right: 1px solid;
  rotate: 45deg;
}
