.tab-wrapper {
  max-width: 100%;
  margin: 2rem auto 0;
  background: #ffffff;
  overflow: hidden;
}

/* タブ部分 */
.tab-list {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 18px;
}

.tab-list li {
  background-image: url(../img/common/arrow.png);
  background-repeat: no-repeat;
  background-position: center right 6%;
  background-size: 4% auto;
}

.tab-list li:nth-child(1) {
  margin: 0 5px 0 0;
}

.tab-list li:nth-child(4) {
  margin: 0 0 0 5px;
}

.tab-list li:nth-child(2),
.tab-list li:nth-child(3) {
  margin: 0 5px 0;
}

.tab-item {
  flex: 1;
  padding: 1em;
  background: #86a7bf;
  /* デフォルト */
  color: #ffffff;
  /* 文字色 */
  text-align: center;
  /* センター揃え */
  cursor: pointer;
  user-select: none;
  font-weight: 600;
  letter-spacing: 0.05em;
  transition: background-color 0.25s ease, opacity 0.25s ease;
  opacity: 0.9;
}

.tab-item:hover {
  background-color: #2d4b70;
  opacity: 1;
}

.tab-item.active {
  background-color: #2d4b70;
  opacity: 1;
}

/* コンテンツ部分 */
.tab-contents {
  padding: 3rem 3rem 0;
  position: relative;
  background: #2d4b70;
}

.tab-content {
  display: none;
  /* JSで制御 */
}

.tab-content.active {
  display: block;
  animation: fadeIn 0.45s ease both;
  /* ふわっと表示 */
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media screen and (min-width: 1px) and (max-width: 743px) {
  .tab-wrapper {
    margin: 2rem auto 0;
  }

  .tab-list {
    font-size: 14px;
  }

  .tab-list li {
    background-position: center right 8%;
    background-size: 6% auto;
  }

  .tab-list li:nth-child(1) {
    margin: 0 2px 0 0;
  }

  .tab-list li:nth-child(4) {
    margin: 0 0 0 2px;
  }

  .tab-list li:nth-child(2),
  .tab-list li:nth-child(3) {
    margin: 0 2px 0;
  }

  .tab-item {
    flex: 1;
    padding: 0.8em 0;
  }

  .tab-contents {
    padding: 2rem 5% 1.5rem;
  }

}

@media screen and (min-width: 744px) and (max-width: 1024px) {}

@media screen and (min-width: 1025px) {}