/* section[data-tab-content] {
  display: none;
} */

/* [data-tab-content] {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  z-index: -1;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

[data-tab-content].is-active {
  visibility: visible;
  opacity: 1;
  position: static;
  z-index: auto;
  pointer-events: auto;
} */

[data-tab-content] {
  opacity: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

[data-tab-content].is-active {
  opacity: 1;
  height: auto; /* 注意：このままだと height のトランジションは効かない */
  pointer-events: auto;
}


main .tab_page {
  border-bottom: #0169b2 1px solid;
  margin-bottom: 40px;
}
main .tab_page:after {
  content: "";
  clear: both;
  display: block;
}
main .tab_page > li {
  font-size: 14px;
  float: left;
  position: relative;
}
main .tab_page > li {
  color: #2d2d2d;
  display: block;
  padding: 10px 40px;
  text-decoration: none;
  position: relative;
}
main .tab_page > li span {
  padding-left: 13px;
  background: url(/design/img/cmn/a_d_b.png) no-repeat left center;
  background-size: 8px 5px;
  display: inline-block;
  text-decoration: none !important;
}
main .tab_page > li span:hover {
  text-decoration: underline;
}
main .tab_page > li .br {
  display: none;
}
main .tab_page > li:after {
  transition: 0.3s;
  position: absolute;
  left: 50%;
  margin-left: -7px;
  bottom: -14px;
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: 7px solid transparent;
  border-top: #0169b2 7px solid;
  visibility: hidden;
  opacity: 0;
}
main .tab_page > li.is-active,
main .tab_page > li:hover {
  background-color: #0169b2;
  color: #fff;
  cursor: pointer;
}
main .tab_page > li.is-active span,
main .tab_page > li:hover span {
  padding-left: 13px;
  background: url(/design/img/cmn/a_d_w.png) no-repeat left center;
  background-size: 8px 5px;
  display: inline-block;
}
main .tab_page > li.is-active span:hover,
main .tab_page > li:hover span:hover {
  text-decoration: underline;
}
main .tab_page > li.is-active:after,
main .tab_page > li:hover:after {
  visibility: visible;
  opacity: 10;
}
main .tab_page > li + li {
  margin-left: 1px;
}
main .tab_page > li + li:before {
  position: absolute;
  content: "";
  top: 15px;
  left: -1px;
  display: block;
  background: #c6c6c6;
  width: 1px;
  height: 20px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  height: 50%;
}

@media only screen and (max-width: 768px) {
  main .tab_page > li a {
    padding: 15px 10px 12px;
    font-size: 12px;
    display: table;
    line-height: 1.3;
  }
  main .tab_page li > span {
    display: table-cell;
    vertical-align: middle;
    padding-left: 0;
    background: none;
  }
  main .tab_page li > .br {
    display: inline;
  }
  main .tab_page > li.is-active span,
  main .tab_page > li:hover span {
    display: table-cell;
    vertical-align: middle;
    padding-left: 0;
    background: none;
  }
