/* -------------------------------------------------- */
/* 文字 */
/* -------------------------------------------------- */

/* 文字サイズ：小 */
.t-small {
  font-size: 0.75em;
}

/* 文字色：赤 */
.t-red {
  color: #b62627;
}

/* -------------------------------------------------- */
/* 赤枠 */
/* -------------------------------------------------- */

/* スマホ */
@media (max-width: 767px) {

  /* 赤枠＞文字サイズ：小 */
  .p-company .list_box02_tani {
    font-size: 0.5em !important;
  }

  /* 見出し */
  .p-company .list>div dt {
    display: flex;
    width: 100%;
    min-height: 2.5em;
    align-items: end;
    justify-content: center;
  }

}

/* -------------------------------------------------- */
/* ４列レイアウト */
/* -------------------------------------------------- */

/* コンテナ */
.col-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 24px;
  margin-top: 4em;
}

/* 列 */
.col-4>.col {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* 段落 */
.col-4>.col>p {
  text-align: center;
}

/* 段落：タイトル */
.col-4>.col>p.title {
  display: inline-flex;
  min-height: 3em;
  font-size: 3em;
}

/* 画像 */
.col-4>.col>img {
  object-fit: contain;
  width: auto;
  height: 200px;
  margin: 8px 0;
}

/* スマホ */
@media (max-width: 767px) {

  /* コンテナ */
  .col-4 {
    grid-template-columns: repeat(2, 1fr);
  }

  /* 段落：タイトル */
  .col-4>.col>p.title {
    font-size: 1.5em;
  }

  /* 画像 */
  .col-4>.col>img {
    height: 100px;
  }

}

/* -------------------------------------------------- */
/* プラン */
/* -------------------------------------------------- */

/* 給トク払い */
.txt_kyutoku {
  display: flex;
  background: #b626271D;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  color: #b62627;
  font-size: 1.5em;
}

/* ボタン */
.btn-link {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background: linear-gradient(180deg, #d31618 50%, #b21e22 50.1%);
  border: 4px solid #FFFFFF;
  border-radius: 100px;
  width: fit-content;
  height: fit-content;
  margin: 2em auto;
  padding: 8px 32px;
  padding-right: 40px;
  position: relative;
  box-shadow: 0 0 10px rgba(26, 26, 26, 0.16);
  color: #FFFFFF;
  font-size: 2.6rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.07em;
}

/* ボタン：末尾要素 */
.btn-link::after {
  content: "";
  border: 8px solid transparent;
  border-left: 12px solid #FFFFFF;
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
}

/* スマホ */
@media (max-width: 767px) {

  /* 給トク払い */
  .txt_kyutoku {
    font-size: 1em;
    line-height: 1;
  }

  /* ボタン */
  .btn-link {
    font-size: 1.5rem;
  }

}

/* -------------------------------------------------- */
/* 健康支援 */
/* -------------------------------------------------- */

/* コンテナ */
.p-service .box02 .list.col-2 {
  gap: 24px;
}

/* リスト要素 */
.p-service .box02 .list.col-2 li {
  width: 50%;
}

/* スマホ */
@media screen and (max-width: 767px) {

  /* リスト要素 */
  .p-service .box02 .list.col-2 li {
    width: 100%;
  }

}

/* -------------------------------------------------- */
/* お客様の声 */
/* -------------------------------------------------- */

/* 矢印 */
.slick-arrow {
  cursor: pointer;
}

/* サムネイル */
.thumbnail {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
}

/* サムネイル＞テキストボックス */
.thumbnail>.txt_box {
  background: #fff;
  padding: 8px 16px;
  position: absolute;
  left: 32px;
  right: 32px;
  bottom: 24px;
  font-size: 2em;
  font-weight: bold;
  box-shadow: 8px 8px #b62627;
}

/* 画像 */
.movie img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/* スマホ */
@media (max-width: 767px) {

  /* サムネイル＞テキストボックス */
  .thumbnail>.txt_box {
    padding: 4px 8px;
    font-size: 12px;
    left: 16px;
    right: 16px;
    bottom: 16px;
    box-shadow: 4px 4px #b62627;
  }

}