/* -----------------------
  タブリスト
----------------------- */
.tab_box {
  max-width: 900px;
  margin: auto;
}
.tabs {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  border-bottom: 2px solid #ccc;
}

.tabs li a {
  display: block;
  padding: 15px 10px;
  background: #ffffff;
  text-decoration: none;
  font-weight: 500;
  border: 2px solid var(--main-color);
  border-bottom: 0;
  border-radius: 10px 10px 0 0;
  transition:
    border-color 0.3s,
    color 0.3s;
}

.tabs li a:hover {
  color: var(--main-color);
  border-bottom-color: var(--main-color);
}

.tabs li a.is-active {
  color: #ffffff;
  font-weight: 700;
  background: var(--main-color);
}

/* -----------------------
  コンテンツ
----------------------- */
/* タブボックス専用クラス */
.tab-box {
  display: none; /* hidden でも可 */
  background-color: #fafafa;
  transition: all 0.5s;
}

.tab-box.active {
  display: block;
  transition: all 0.5s;
}

/* コンテンツボックス内専用クラス */
.tab_conts {
  margin: 0 auto 20px;
  padding: 60px;
  position: relative;
  width: 100%;
  height: auto;
  /* overflow-y: scroll; */
  border: 1px solid #ccc;
  border-top: none;
  background-color: #fafafa;
}
.tab_conts .cntns_hl3 {
  min-width: 8em;
  line-height: 1;
}
.tab_conts .cntns_hl3 small {
  font-size: 50%;
  color: #777777;
}

.company_inner {
  margin: 40px auto;
}

@media screen and (max-width: 821px) {
  .tab_box {
    width: 80%;
  }
  .tab_conts {
    padding: 6vw 4vw;
  }
}
@media screen and (max-width: 768px) {
  .tab_box {
    width: 90%;
  }
  .tabs {
    display: flex;
    flex-wrap: wrap;
    border-bottom: none;
    gap: 10px;
    padding-bottom: 10px;
    position: relative;
  }
  .tabs li a:before {
    content: "▶";
    display: inline-block;
    font-size: 80%;
    margin-right: 5px;
  }
  .tabs li a {
    display: block;
    padding: 1.5svh 3vw;
    text-decoration: none;
    font-weight: 500;
    border: 2px solid var(--main-color);
    border-radius: 20px;
    transition:
      border-color 0.3s,
      color 0.3s;
  }
  /* コンテンツボックス内専用クラス */
  .tab_conts {
    margin: 0 auto 2svh;
    padding: 6vw 4vw;
    border-top: 1px solid #ccc;
  }
}
