@charset "UTF-8";

[class*="card__"] {
  height: auto;
  position: relative;
  background-color: rgb(255, 255, 255);
  border: 0.0625rem solid rgb(144, 144, 144);
  border-radius: 0.2rem;
  -webkit-box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.25);
  box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.25);
}
.card__notice,
.card__news,
.card__result,
.card__announcement {
  min-height: 5.5rem;
  padding: 0.9375rem 2rem 0.75rem 3.125rem;
}
.card__schedule {
  width: 100%;
  min-height: 6.5rem;
  padding: 0.9375rem 2.5rem 0.9375rem 1.4rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media screen and (max-width: 1366px) and (min-width: 769px) {
  .card__notice,
  .card__news,
  .card__result,
  .card__announcement {
    min-height: 6rem;
  }
}
@media screen and (max-width: 768px) {
  [class*="card__"] {
    min-height: auto;
  }
  .card__notice,
  .card__news,
  .card__result,
  .card__announcement {
    padding: 1rem 1.3rem 1.2rem;
    display: block !important;
  }
  .card__schedule {
    padding: 1.2rem 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  .card__schedule {
    display: block !important;
  }
}

.top-tab__items > *,
.top-tab__items > .pc-only > *,
.result__items > *,
.notice__items > *,
.schedule__items > * {
  margin-top: 1rem;
}
.top-tab__items > a,
.result__items > a,
.notice__items > a {
  width: 100%;
  height: auto;
  display: inline-block;
}

.top-tab__item-dates,
.result__item-dates,
.notice__item-dates {
  text-align: left;
  width: auto;
}
@media screen and (max-width: 768px) {
  .top-tab__item-dates,
  .result__item-dates,
  .notice__item-dates {
    margin-top: 0.2rem;
  }
}

[class*="__item-dates--red"],
[class*="__item-dates--gray"] {
  display: block;
  margin-right: 0.9375rem;
}
@media screen and (max-width: 768px) {
  [class*="__item-dates--red"],
  [class*="__item-dates--gray"] {
    margin-right: 0;
  }
}

.top-tab__item-date,
.notice__item-date,
[class*="__item-dates--red"] [class*="__item-date"],
[class*="__item-dates--gray"] [class*="__item-date"] {
  width: auto;
  font-size: 1.125rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-align: left;
  padding-right: 0.4375rem;
  display: inline-block;
  margin-top: 2px;
}
@media screen and (max-width: 768px) {
  .top-tab__item-date,
  .notice__item-date,
  [class*="__item-dates--red"] [class*="__item-date"],
  [class*="__item-dates--gray"] [class*="__item-date"] {
    font-size: 13px;
    margin-top: 0;
    padding-bottom: 0 !important;
  }
  [class*="__item-dates--red"] [class*="__item-date"],
  [class*="__item-dates--gray"] [class*="__item-date"] {
    width: 100%;
    display: block;
  }
}
@media screen and (max-width: 480px) {
  .top-tab__item-date,
  .notice__item-date,
  [class*="__item-dates--red"] [class*="__item-date"],
  [class*="__item-dates--gray"] [class*="__item-date"] {
    margin-bottom: 0.5rem;
  }
}

.top-tab__item-category,
.notice__item-category {
  display: inline-block;
}
[class*="__item-category"] > span,
[class*="__item-text-red"] {
  width: auto;
  height: 1.6rem;
  font-size: 0.875rem;
  line-height: 1.2rem;
  padding: 0.2rem 0.875rem 0.2rem 0.9375rem;
  display: inline-block;
}
[class*="__item-category"] > span {
  white-space: nowrap;
  margin-left: 0.5rem;
}
[class*="__item-text-red"] {
  width: 100%;
  min-width: calc(100% - 200px);
}
@media screen and (max-width: 1079px) {
  [class*="__item-text-red"] {
    padding-left: 0;
  }
}
@media screen and (max-width: 1079px) and (min-width: 480px) {
  [class*="__item-category"],
  [class*="__item-text-red"] {
    display: inline-block;
  }
  .notice__item-category > span:not(:first-child) {
    margin-left: 9px;
  }
}
@media screen and (max-width: 768px) and (min-width: 480px) {
  [class*="__item-category"],
  [class*="__item-text-red"] {
    display: inline-block;
  }
  [class*="__item-category"] > span {
    position: relative;
    top: -1px;
  }
  [class*="__item-text-red"] {
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  [class*="__item-category"] > span,
  [class*="__item-text-red"] {
    font-size: 13px;
    margin-top: 5px;
  }
  .notice__item-category > span {
    margin-bottom: 0.33rem;
  }
  [class*="__item-text-red"] {
    min-width: calc(100% - 10rem - 10px);
  }
}

.top-tab__item-text,
.result__item-text,
.notice__item-text {
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 0.06em;
  margin-top: 0.25rem;
  /* white-space: nowrap; */
  /* text-overflow: ellipsis; */
  /* overflow: hidden; */
}
@media screen and (max-width: 1365px) {
  .top-tab__item-text,
  .result__item-text,
  .notice__item-text {
    margin-top: 0.66rem;
  }
}
@media screen and (max-width: 768px) {
  .top-tab__item-text,
  .result__item-text,
  .notice__item-text {
    font-size: 13px;
  }
  .notice__item-text {
    margin-top: 0.33rem;
  }
}

[class*="__item-exam"] {
  font-size: 0.875rem;
  white-space: nowrap;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 1px 0.375rem 2px;
  display: inline-block;
  border-width: 1px;
  border-style: solid;
}
@media screen and (max-width: 1366px) {
  [class*="__item-exam"] {
    margin-top: 0.6rem;
  }
}
@media screen and (max-width: 768px) {
  [class*="__item-exam"] {
    font-size: 13px;
    white-space: normal;
    line-height: 1.2;
    padding: 2px 0.375rem 3px;
    margin-top: 0.5rem;
  }
}

[class*="__item-link"] {
  font-size: 0.875rem;
  line-height: 1.15;
  text-align: center;
  letter-spacing: 0.08em;
  padding: 0.8125rem 1rem 0.9375rem 0.5rem;
  width: 100px;
  border-radius: 0.625rem;
  outline-offset: 1px;
  margin: 1px;
  white-space: nowrap;
  margin: auto 0 auto auto;
  display: inline-block;
  position: absolute;
  top: calc((100% - 48px) / 2);
  right: 1.5rem;
}
@media screen and (max-width: 1365px) {
  [class*="__item-link"] {
    width: 6rem;
    padding-top: 0.3rem;
    padding-bottom: 0.4rem;
    margin-top: 0;
  }
}
@media screen and (max-width: 1365px) and (min-width: 1024px) {
  [class*="__item-link"] {
    top: inherit;
    bottom: 1rem;
  }
}
@media screen and (max-width: 1023px) and (min-width: 769px) {
  [class*="__item-link"] {
    top: calc(0.9375rem * 1.4 + 2px);
  }
}
@media screen and (max-width: 768px) and (min-width: 481px) {
  [class*="__item-link"] {
    top: inherit;
    bottom: 1.2rem;
  }
}
@media screen and (max-width: 480px) {
  [class*="__item-link"] {
    width: 50%;
    min-width: auto;
    text-align: left;
    margin-bottom: 1rem;
    position: relative;
    top: 1rem;
    left: 50%;
  }
  .top-tab__item-link,
  .result__item-link {
    padding-left: calc((50% - 4rem - 1rem) / 2);
  }
  .top-tab__item-link--gray,
  .result__item-link--gray {
    padding-left: calc((50% - 3rem - 1rem) / 2);
  }
}
[class*="__item-link"]::after {
  position: absolute;
  content: "";
  background: url(../images/common/link-triangle1.png) no-repeat;
  background-size: contain;
  width: 0.625rem;
  height: 0.9375rem;
  top: 50%;
  right: 0.3125rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

/* pagination */
nav:has(.pagination) {
  width: 90%;
  max-width: 768px;
  text-align: center;
}
@media screen and (min-width: 769px) {
  nav:has(.pagination) {
    position: absolute;
    left: calc((100% - 768px) / 2);
    bottom: 40px;
  }
  .underlayer__contents:has(.pagination) {
    margin-bottom: 120px;
  }
}
@media screen and (max-width: 768px) {
  nav:has(.pagination) {
    position: absolute;
    left: calc((100% - 90%) / 2);
    bottom: 40px;
  }
  .underlayer__contents:has(.pagination) {
    margin-bottom: 100px;
  }
}
.pagination {
  text-align: center;
}
.pagination li {
  display: none;
  margin: 0 0.2em;
}
.pagination li.button {
  display: inline-block;
}
.pagination a {
  border: 1px solid #e6e6e6;
  border-radius: 0.25em;
}
.pagination a:active {
  -webkit-transform: scale(0.9);
  -moz-transform: scale(0.9);
  -ms-transform: scale(0.9);
  -o-transform: scale(0.9);
  transform: scale(0.9);
}
.pagination a.disabled {
  color: rgba(46, 64, 87, 0.4);
  pointer-events: none;
}
.pagination li.button:first-of-type a::before {
  content: "\00ab  ";
}
.pagination li.button:last-of-type a::after {
  content: " \00bb";
}
.pagination .current {
  background-color: rgb(0, 0, 0);
  border-color: rgb(141, 181, 188);
  color: rgb(255, 255, 255);
  pointer-events: none;
}
.pagination a,
.pagination span {
  background-color: rgb(255, 255, 255);
  display: inline-block;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  padding: 0.6em 0.8em;
}
.pagination a.disabled::before,
.pagination a.disabled::after {
  opacity: 0.4;
}
@media only screen and (min-width: 768px) {
  .pagination li {
    display: inline-block;
  }
}

/* 新着 */
.notice__item-category__sp-only {
  position: relative;
}
.notice__item-category__sp-only .new-arrival-mark__sp-only,
.notice__item-category__sp-only > span {
  display: inline-block;
  position: relative;
  border: none;
}
.notice__item-category__sp-only .new-arrival-mark__sp-only::after,
.notice__item-category__sp-only > span {
  width: auto;
  height: auto;
  padding: 5px;
  display: inline-block;
  position: relative;
  margin-right: 5px;
}
.notice__item-category__sp-only .new-arrival-mark__sp-only::after {
  background-color: rgb(238, 51, 0);
  top: 0;
  left: 1rem;
}
.notice__item-category__sp-only > span {
  height: calc(1rem * 1.5 + 5px * 2);
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.5;
  padding: 5px;
  top: -0.1rem;
  left: 0;
}
@media screen and (max-width: 768px) {
  .notice__item-category__sp-only > span {
    height: auto;
    top: -1px;
    margin-left: 0.2rem;
    margin-right: 0;
  }
}

.new-arrival-mark,
.new-arrival-mark__sp-only {
  position: absolute;
  top: -0.0625rem;
  left: calc(-0.8125rem + 0.0625rem / 2);
  border-left: 5rem solid rgb(238, 51, 0);
  border-bottom: 3.75rem solid transparent;
}
@media screen and (max-width: 768px) {
  .new-arrival-mark,
  .new-arrival-mark__sp-only {
    border-left-width: 3.75rem;
  }
}

.new-arrival-mark::after,
.new-arrival-mark__sp-only::after {
  content: "新着";
  position: absolute;
  color: rgb(255, 255, 255);
  font-size: 1rem;
  font-weight: bold;
  white-space: nowrap;
  top: 0.3125rem;
  left: -4.6875rem;
}
@media screen and (max-width: 768px) {
  .new-arrival-mark::after,
  .new-arrival-mark__sp-only::after,
  .notice__item-category__sp-only > span {
    font-size: 12px;
  }
  .new-arrival-mark::after,
  .new-arrival-mark__sp-only::after {
    top: 0.25rem;
    left: -3.35rem;
  }
}

/* 日程 */
.situation-1 {
  background-color: #ff864a;
}
.situation-2 {
  background-color: rgb(0 169 199);
}
.situation-3 {
  background-color: rgb(95 94 94);
}
.situation-4 {
  background-color: #650000;
}

/* グラデーション */
.card-tab2-2line__title,
.card-tab3-2line__title {
  background: -webkit-linear-gradient(left, #006d96 calc(100% - 38px), #005574 38px);
  background: linear-gradient(90deg, #006d96 calc(100% - 38px), #005574 38px);
  color: rgb(255, 255, 255);
}
.color-orange {
  background: -webkit-linear-gradient(left, #d44513 calc(100% - 38px), #9d3e00 38px);
  background: linear-gradient(90deg, #d44513 calc(100% - 38px), #9d3e00 38px);
  color: rgb(255, 255, 255);
}

.bgc-grd-cyan {
  background: -webkit-gradient(linear, left top, right top, color-stop(65%, #f6f6f6), color-stop(65%, #005574), to(#005574));
  background: -webkit-linear-gradient(left, #f6f6f6 65%, #005574 65%, #005574);
  background: linear-gradient(90deg, #f6f6f6 65%, #005574 65%, #005574);
}
@media screen and (max-width: 768px) {
  .bgc-grd-cyan {
    background: #f6f6f6;
  }
}

/* その他背景 */
.bg-grd-check {
  background-image: linear-gradient(-90deg, rgb(227, 227, 227) 15%, transparent 15%), linear-gradient(rgb(227, 227, 227) 15%, transparent 15%);
  background-size: 1rem 1rem;
}

.bg-clear-white {
  background-color: rgba(255, 255, 255, 0.6);
}

.bottom_gray {
  background: linear-gradient(white 80%, #f6f6f6 80%);
}
@media print, screen and (max-width: 768px) {
  .bottom_gray {
    background: linear-gradient(white 50%, #f6f6f6 50%);
  }
}

/* 三角形 */
.triangle-arrow::before {
  /* 背景の表示設定 */
  content: "";
  margin: auto;
  position: absolute;
  top: 0.1875rem;
  bottom: 0;
  right: 0.4375rem;
  width: 0.9375rem;
  height: 0.9375rem;
  background: rgb(255, 255, 255);
  border-radius: 50%;
}
.triangle-arrow::after {
  /* 三角形の表示設定 */
  content: "";
  margin: auto;
  position: absolute;
  top: 0.21875rem;
  bottom: 0;
  right: 0.6375rem;
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}

/* ライン */
[class*="__item-red"],
[class*="__item-blue"],
[class*="__item-gray"] {
  border-left-width: 0.8125rem;
  border-left-style: solid;
}
.bold-left {
  border-left-width: 0.66rem;
  border-left-style: solid;
  border-bottom: none !important;
}
.underline,
.shorter-line > span::after {
  border-bottom-width: 2px;
  border-bottom-style: solid;
}
.bold-line {
  border-width: 2px;
  border-style: solid;
}
[class*="__item-link"] {
  outline-width: 2px;
  outline-style: solid;
}
.innner_line {
  outline: 1px solid rgb(255, 255, 255);
  outline-offset: -0.25rem;
}

/* アイコン付タイトル */
@media screen and (max-width: 768px) {
  [class*="title__"]:has(.title__right__text) {
    padding-bottom: 1.5rem;
  }
}
[class*="title__ico-"] {
  padding-left: calc(1.8rem * 1.5 + 0.75rem);
}
[class*="title__ico-"]::before {
  content: "";
  display: inline-block;
  width: calc(1.8rem * 1.5);
  height: calc(1.8rem * 1.5);
  border-radius: 50%;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  background-size: 70%;
  background-position: 50% 50%;
}
h1[class*="title__ico-"]::before {
  top: 0.25rem;
}
@media screen and (max-width: 768px) {
  [class*="title__ico-"]::before {
    width: calc(1.6rem * 1.5);
    height: calc(1.6rem * 1.5);
  }
}
[class*="title__ico-"].sub__title {
  font-size: 1.4rem;
  padding-left: calc(1.4rem * 1.5 + 0.75rem);
}
[class*="title__ico-"].sub__title::before {
  width: calc(1.4rem * 1.5);
  height: calc(1.4rem * 1.5);
}
.title__ico-jm::before {
  background-image: url(../images/common/white-qualification-icon-jm.png);
}
.title__ico-gp::before {
  background-image: url(../images/common/white-qualification-icon-gp.png);
}
.title__ico-wj::before {
  background-image: url(../images/common/white-qualification-icon-wj.png);
}
.title__ico-mj::before {
  background-image: url(../images/common/white-qualification-icon-mj.png);
}
.title__ico-ji_hi::before {
  background-image: url(../images/common/white-qualification-icon-ji_hi.png);
}
.title__ico-kiki::before {
  background-image: url(../images/common/white-qualification-icon-kiki.png);
}
.title__ico-yuryou::before {
  background-image: url(../images/common/white-qualification-yuryou.png);
}
.title__ico-type::before {
  background-image: url(../images/common/white-member-icon-type.png);
}
.title__ico-membership::before {
  background-image: url(../images/common/white-member-icon-membership.png);
}
.title__ico-benefits::before {
  background-image: url(../images/common/white-member-icon-benefits.png);
}
.title__ico-procedure::before {
  background-image: url(../images/common/white-member-icon-procedure.png);
}
.title__ico-list::before {
  background-image: url(../images/common/white-member-icon-list.png);
}
.title__ico-certificate::before {
  background-image: url(../images/common/white-member-icon-certificate.png);
}
.title__ico-change::before {
  background-image: url(../images/common/white-member-icon-change.png);
}
.title__ico-document::before {
  background-image: url(../images/common/white-subtitle-icon-document.png);
}
.title__ico-topics::before {
  background-image: url(../images/common/white-subtitle-icon-topics.png);
}
.title__ico-about::before {
  background-image: url(../images/common/white-subtitle-icon-about.png);
}
.title__ico-application::before {
  background-image: url(../images/common/white-subtitle-icon-application.png);
}
.title__ico-standard::before {
  background-image: url(../images/common/white-subtitle-icon-standard.png);
}
.title__ico-company::before {
  background-image: url(../images/common/white-subtitle-icon-company.png);
}
.title__ico-certification::before {
  background-image: url(../images/common/white-subtitle-icon-certification.png);
}
.title__ico-alert::before {
  background-image: url(../images/common/white-alert-icon.png);
}
.title__ico-alert {
  font-size: 1.2rem;
  padding: 5px 5px 5px calc(1.2rem * 1.5 + 1rem);
  margin-bottom: 10px;
}
.title__ico-alert::before {
  width: calc(2rem * 1.5);
  border-radius: 0;
  background-size: 45%;
  background-position: 50% 50%;
}
@media screen and (max-width: 768px) {
  .title__ico-alert::before {
    top: 0.1rem;
  }
}

/* カテゴリーリンク */
dl.category dd a {
  color: rgb(255, 255, 255);
  background-color: rgba(2, 90, 106, 1);
  border-color: rgba(2, 90, 106, 1);
}
dl.category dd a.showing {
  color: rgba(2, 90, 106, 1);
  background-color: rgba(255, 255, 255);
}

/* 左右に余白の無い背景色 */
[class*="bgc-"].outer__contents__area {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

/* タブ */
.tab-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
.basic__tab .tab-list,
.bluegreen1__tab .tab-list {
  display: grid;
}
.basic__tab .tab-list {
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 20px;
}
.bluegreen1__tab .tab-list {
  grid-template-columns: repeat(4, 1fr);
  grid-column-gap: 5px;
}
@media screen and (max-width: 768px) {
  .tab-list {
    display: block;
  }
  .basic__tab .tab-list,
  .bluegreen1__tab .tab-list {
    grid-template-columns: repeat(1, 1fr);
    grid-row-gap: 5px;
  }
}

.tab-flex {
  display: contents;
}
.tab-flex .tab {
  line-height: 1.25;
}
@media screen and (max-width: 768px) {
  .tab-flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  .basic__tab .tab-flex,
  .bluegreen1__tab .tab-flex {
    grid-column-gap: 4px;
  }
}

.tab {
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  cursor: pointer;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding-top: 10px;
  padding-bottom: 10px;
}
.top-kv__tab .tab {
  border: 1px solid rgb(255, 255, 255);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1023px) {
  .tab {
    font-size: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .tab {
    font-size: .85rem;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 0;
    padding-right: 0;
  }
}

.top-kv__tab .tab:hover,
.top-kv__tab .tab.-active {
  font-size: 1.875rem;
  text-shadow: 3px 3px 2px #2e2e2e;
}
.basic__tab .tab:hover,
.basic__tab .tab.-active {
  color: rgb(46, 46, 46) !important;
  background-color: rgb(255, 255, 255) !important;
}
.basic__tab .tab.-active {
  opacity: 1;
}
.global__nav li.has-child ul li > .mobile_clickable::before,
.global__nav li.has-child ul.border-T li a::before,
.basic__tab .tab[class*="tri-"]:hover::after,
.basic__tab .tab.-active[class*="tri-"]::after {
  background: url(../images/common/link-triangle3.png) no-repeat;
  background-size: contain;
}
.bluegreen1__tab .tab:hover,
.bluegreen1__tab .tab.-active {
  background-color: rgb(255, 255, 255) !important;
}
.bluegreen1__tab .tab[class*="tri-"]:hover::after,
.bluegreen1__tab .tab.-active[class*="tri-"]::after {
  background: url(../images/common/link-triangle2.png) no-repeat;
  background-size: contain;
}
@media screen and (max-width: 1365px) {
  .top-kv__tab .tab:hover,
  .top-kv__tab .tab.-active {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .top-kv__tab .tab:hover,
  .top-kv__tab .tab.-active {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  .top-kv__tab .tab:hover,
  .top-kv__tab .tab.-active {
    font-size: 1rem;
    text-shadow: 1.5px 1.5px 2px #2e2e2e;
  }
}

.tab-list .tab span {
  display: inline-block;
}

.tab-panel {
  display: none;
  height: auto;
}
.tab-panel.-active {
  display: block;
}

.tab {
  position: relative;
  min-height: calc( 1.875rem * 1.25 * 2 + 10px * 2 );
}
@media screen and (max-width: 768px) {
  .tab {
    min-height: auto;
  }
}

.tab:hover::before,
.tab.-active::before {
  content: "";
  position: absolute;
  top: 0;
  left: -1px;
  height: 10px;
  width: calc(100% + 2px);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.top-kv__tab .tab:hover::before,
.top-kv__tab .tab.-active::before {
  border-top: 1px solid rgb(255, 255, 255);
  border-right: 1px solid rgb(255, 255, 255);
  border-left: 1px solid rgb(255, 255, 255);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.tab:hover,
.tab.-active {
  z-index: 0;
}
.top-kv__tab .tab:hover,
.top-kv__tab .tab.-active {
  border-top: none;
}
.bluegreen1__tab .tab:hover,
.bluegreen1__tab .tab.-active {
  color: rgb(2, 90, 106, 1) !important;
}
.bluegreen1__tab .tab.tri-B::after:hover,
.bluegreen1__tab .tab.-active.tri-B::after {
  color: rgb(2, 90, 106, 1) !important;
}

/* 既存のタブのスタイルに以下を追加 */
.tab::before {
  content: "";
  position: absolute;
  top: 10px;
  left: -1px;
  height: 10px;
  width: calc(100% + 2px);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
  z-index: -1;
}

.tab.tab-reddish:hover::before,
.tab.tab-reddish.-active::before {
  background-color: rgb(211, 47, 47) !important;
}
.tab.tab-orangish:hover::before,
.tab.tab-orangish.-active::before {
  background-color: rgb(166, 80, 40) !important;
}
.tab.tab-yellowishgreen:hover::before,
.tab.tab-yellowishgreen.-active::before {
  background-color: rgb(77, 126, 54) !important;
}
.tab.tab-greenish:hover::before,
.tab.tab-greenish.-active::before {
  background-color: rgb(46, 90, 69) !important;
}
.tab.tab-bluish:hover::before,
.tab.tab-bluish.-active::before {
  background-color: rgb(28, 122, 149) !important;
}

/* 色 */
.bgc-red1,
.flow [class*="bgc-red"].checkpoint:not(:last-child)::before {
  color: rgb(255, 255, 255);
  background-color: rgb(129, 0, 0) !important;
}
[class*="title__ico-"].txc-red1::before {
  background-color: rgb(129, 0, 0) !important;
}
.txc-red1 {
  color: rgb(129, 0, 0) !important;
}
.bdc-red1 {
  border-color: rgb(129, 0, 0) !important;
}
.triangle-arrow__red1::after {
  border-left: 6px solid rgb(129, 0, 0);
}

.bgc-red2,
[class*="__item-link"] {
  color: rgb(255, 255, 255);
  background-color: rgb(204, 0, 51) !important;
}
.txc-red2 {
  color: rgb(204, 0, 51) !important;
}
.bdc-red2,
[class*="__item-link"] {
  border-color: rgb(204, 0, 51) !important;
}
[class*="__item-red"] {
  border-left-color: rgb(204, 0, 51) !important;
}
[class*="__item-link"] {
  outline-color: rgb(204, 0, 51) !important;
}

.bg-red3_stripe {
  background: repeating-linear-gradient(45deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 1) 2px, rgba(247, 170, 170, 0.5490196078) 2px, rgba(247, 170, 170, 0.5490196078) 4px);
}
.bgc-red3,
.flow .bgc-red3::after {
  background-color: rgb(251, 208, 208) !important;
}
.txc-red3 {
  color: rgb(251, 208, 208) !important;
}
.bdc-red3 {
  border-color: rgb(251, 208, 208) !important;
}

.bgc-pink1 {
  color: rgb(255, 255, 255);
  background-color: rgb(209, 76, 98) !important;
}
.txc-pink1 {
  color: rgb(209, 76, 98) !important;
}
.bdc-pink1 {
  border-color: rgb(209, 76, 98) !important;
}

.bgc-pink2 {
  color: rgb(255, 255, 255);
  background-color: rgba(209, 76, 98, 0.5490196078) !important;
}
.txc-pink2 {
  color: rgba(209, 76, 98, 0.5490196078) !important;
}
.bdc-pink2 {
  border-color: rgba(209, 76, 98, 0.5490196078) !important;
}

.bgc-pink3 {
  background-color: rgb(249, 214, 210) !important;
}
.txc-pink3 {
  color: rgb(249, 214, 210) !important;
}
.bdc-pink3 {
  border-color: rgb(249, 214, 210) !important;
}

.bgc-orange1,
[class*="title__ico-"].txc-orange1::before,
.flow [class*="bgc-orange"].checkpoint:not(:last-child)::before {
  color: rgb(255, 255, 255);
  background-color: rgb(166, 66, 0) !important;
}
.txc-orange1,
[class*="__item-exam"] {
  color: rgb(166, 66, 0) !important;
}
.bdc-orange1,
[class*="__item-exam"] {
  border-color: rgb(166, 66, 0) !important;
}
.triangle-arrow__orange1::before {
  border-left: 6px solid rgb(166, 66, 0);
}
.top-kv .triangle-arrow__orange1::before {
  border-left: none;
}

.bgc-orange2 {
  color: rgb(255, 255, 255);
  background-color: rgb(255, 138, 0) !important;
}
.txc-orange2 {
  color: rgb(255, 138, 0) !important;
}
.bdc-orange2 {
  border-color: rgb(255, 138, 0) !important;
}

.bg-orange3_stripe {
  background: repeating-linear-gradient(45deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 1) 2px, rgba(245, 215, 192, 1) 2px, rgba(245, 215, 192, 1) 4px);
}
.bgc-orange3,
.flow .bgc-orange3::after {
  background-color: rgb(245, 215, 192) !important;
}
.txc-orange3 {
  color: rgb(245, 215, 192) !important;
}
.bdc-orange3 {
  border-color: rgb(245, 215, 192) !important;
}

.bgc-paleorange {
  background-color: rgb(255, 2445, 229) !important;
}
.txc-paleorange {
  color: rgb(245, 215, 192) !important;
}
.bdc-paleorange {
  border-color: rgb(245, 215, 192) !important;
}

.bgc-brown1,
[class*="title__ico-"].txc-brown1::before,
.flow [class*="bgc-brown"].checkpoint:not(:last-child)::before {
  color: rgb(255, 255, 255);
  background-color: rgb(92, 50, 9) !important;
}
.txc-brown1 {
  color: rgb(92, 50, 9) !important;
}
.bdc-brown1 {
  border-color: rgb(92, 50, 9) !important;
}
.triangle-arrow__brown1::after {
  border-left: 6px solid rgb(92, 50, 9);
}

.bgc-brown2,
[class*="title__ico-"].txc-brown2::before {
  color: rgb(255, 255, 255);
  background-color: rgb(193, 122, 76) !important;
}
.txc-brown2 {
  color: rgb(193, 122, 76) !important;
}
.bdc-brown2 {
  border-color: rgb(193, 122, 76) !important;
}

.bg-brown3_stripe {
  background: repeating-linear-gradient(45deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 1) 2px, rgba(216, 201, 191, 1) 2px, rgba(216, 201, 191, 1) 4px);
}
.bgc-brown3,
.flow .bgc-brown3::after {
  background-color: rgb(216, 201, 191) !important;
}
.txc-brown3 {
  color: rgb(216, 201, 191) !important;
}
.bdc-brown3 {
  border-color: rgb(216, 201, 191) !important;
}

.bgc-yellow1,
[class*="title__ico-"].txc-yellow1::before,
.flow [class*="bgc-yellow"].checkpoint:not(:last-child)::before {
  color: rgb(255, 255, 255);
  background-color: rgb(124, 96, 0) !important;
}
.txc-yellow1 {
  color: rgb(124, 96, 0) !important;
}
.bdc-yellow1 {
  border-color: rgb(124, 96, 0) !important;
}

.bgc-yellow2 {
  color: rgb(255, 255, 255);
  background-color: rgb(201, 175, 0) !important;
}
.txc-yellow2 {
  color: rgb(201, 175, 0) !important;
}
.bdc-yellow2 {
  border-color: rgb(201, 175, 0) !important;
}

.bg-yellow3_stripe {
  background: repeating-linear-gradient(45deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 1) 2px, rgba(245, 215, 192, 1) 2px, rgba(245, 215, 192, 1) 4px);
}
.bgc-yellow3,
.flow .bgc-yellow3::after {
  background-color: rgb(255, 244, 195) !important;
}
.txc-yellow3 {
  color: rgb(255, 244, 195) !important;
}
.bdc-yellow3 {
  border-color: rgb(255, 244, 195) !important;
}

.bgc-yellowgreen1 {
  color: rgb(255, 255, 255);
  background-color: rgb(64, 109, 37) !important;
}
.txc-yellowgreen1 {
  color: rgb(64, 109, 37) !important;
}
.bdc-yellowgreen1 {
  border-color: rgb(64, 109, 37) !important;
}

.bgc-yellowgreen2 {
  color: rgb(255, 255, 255);
  background-color: rgb(113, 155, 87) !important;
}
.txc-yellowgreen2 {
  color: rgb(113, 155, 87) !important;
}
.bdc-yellowgreen2 {
  border-color: rgb(113, 155, 87) !important;
}

.bgc-yellowgreen3 {
  background-color: rgb(200, 217, 167) !important;
}
.txc-yellowgreen3 {
  color: rgb(200, 217, 167) !important;
}
.bdc-yellowgreen3 {
  border-color: rgb(200, 217, 167) !important;
}

.bgc-green1,
[class*="title__ico-"].txc-green1::before,
.flow [class*="bgc-green"].checkpoint:not(:last-child)::before {
  color: rgb(255, 255, 255);
  background-color: rgb(8, 74, 41) !important;
}
.txc-green1 {
  color: rgb(8, 74, 41) !important;
}
.bdc-green1 {
  border-color: rgb(8, 74, 41) !important;
}
.triangle-arrow__green1::after {
  border-left: 6px solid rgb(8, 74, 41);
}

.bgc-green2 {
  color: rgb(255, 255, 255);
  background-color: rgb(82, 128, 105) !important;
}
.txc-green2 {
  color: rgb(82, 128, 105) !important;
}
.bdc-green2 {
  border-color: rgb(82, 128, 105) !important;
}

.bg-green3_stripe {
  background: repeating-linear-gradient(45deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 1) 2px, rgba(190, 220, 205, 1) 2px, rgba(190, 220, 205, 1) 4px);
}
.bgc-green3 {
  background-color: rgb(190, 220, 205) !important;
}
.txc-green3 {
  color: rgb(190, 220, 205) !important;
}
.bdc-green3,
.flow .bgc-green3::after {
  border-color: rgb(190, 220, 205) !important;
}

.bgc-bluegreen1,
.flow [class*="bgc-bluegreen"].checkpoint:not(:last-child)::before {
  color: rgb(255, 255, 255);
  background-color: rgba(2, 90, 106, 1) !important;
}
.txc-bluegreen1 {
  color: rgba(2, 90, 106, 1) !important;
}
.bdc-bluegreen1 {
  border-color: rgba(2, 90, 106, 1) !important;
}
[class*="__item-blue"] {
  border-left-color: rgba(2, 90, 106, 1) !important;
}

.bgc-bluegreen2,
.flow .bgc-bluegreen2::after {
  color: rgb(255, 255, 255);
  background-color: rgba(141, 181, 188, 1) !important;
}
.txc-bluegreen2 {
  color: rgba(141, 181, 188, 1) !important;
}
.bdc-bluegreen2 {
  border-color: rgba(141, 181, 188, 1) !important;
}

.bgc-bluegreen3,
.side-nav dl.category dd a:hover {
  background-color: rgba(2, 90, 106, 0.2) !important;
}
.txc-bluegreen3 {
  color: rgba(2, 90, 106, 0.2) !important;
}
.bdc-bluegreen3 {
  border-color: rgba(2, 90, 106, 0.2) !important;
}

.bgc-blue1,
[class*="title__ico-"].txc-blue1::before,
.flow [class*="bgc-blue"].checkpoint:not(:last-child)::before {
  color: rgb(255, 255, 255);
  background-color: rgb(2, 38, 106) !important;
}
.txc-blue1 {
  color: rgb(2, 38, 106) !important;
}
.bdc-blue1,
.item-quote {
  border-color: rgb(2, 38, 106) !important;
}
.item-quote {
  border-left-width: 0.8125rem;
  border-left-style: solid;
}
.triangle-arrow__blue1::after {
  border-left: 6px solid rgb(2, 38, 106);
}

.bgc-blue2 {
  color: rgb(255, 255, 255);
  background-color: rgb(76, 153, 181) !important;
}
.txc-blue2 {
  color: rgb(76, 153, 181) !important;
}
.bdc-blue2 {
  border-color: rgb(76, 153, 181) !important;
}

.bg-blue3_stripe {
  background: repeating-linear-gradient(45deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 1) 2px, rgba(173, 203, 232, 1) 2px, rgba(173, 203, 232, 1) 4px);
}
.bgc-blue3,
.flow .bgc-blue3::after {
  background-color: rgb(173, 203, 232) !important;
}
.txc-blue3 {
  color: rgb(173, 203, 232) !important;
}
.bdc-blue3 {
  border-color: rgb(173, 203, 232) !important;
}

.bgc-cyan1 {
  color: rgb(255, 255, 255);
  background-color: rgb(0, 85, 116) !important;
}
.txc-cyan1 {
  color: rgb(0, 85, 116) !important;
}
.bdc-cyan1 {
  border-color: rgb(0, 85, 116) !important;
}

.bgc-cyan2 {
  color: rgb(255, 255, 255);
  background-color: rgb(0, 109, 150) !important;
}
.txc-cyan2 {
  color: rgb(0, 109, 150) !important;
}
.bdc-cyan2 {
  border-color: rgb(0, 109, 150) !important;
}

.bgc-cyan3 {
  background-color: rgb(228, 242, 242) !important;
}
.txc-cyan3 {
  color: rgb(228, 242, 242) !important;
}
.bdc-cyan3 {
  border-color: rgb(228, 242, 242) !important;
}

.bgc-cobalt {
  color: rgb(255, 255, 255);
  background-color: rgb(89, 152, 193) !important;
}
.txc-cobalt {
  color: rgb(89, 152, 193) !important;
}
.bdc-cobalt {
  border-color: rgb(89, 152, 193) !important;
}

.bgc-black {
  color: rgb(255, 255, 255);
  background-color: rgb(0, 0, 0) !important;
}
.txc-black {
  color: rgb(0, 0, 0) !important;
}
.bdc-black {
  border-color: rgb(0, 0, 0) !important;
}

.bgc-basic,
[class*="title__ico-"].txc-basic::before {
  color: rgb(255, 255, 255);
  background-color: rgb(46, 46, 46) !important;
}
.txc-basic,
.info-link,
[class*="__item-date"],
[class*="__item-text"],
[class*="__item-exam--gray"] {
  color: rgb(46, 46, 46) !important;
}
.bdc-basic,
[class*="__item-exam--gray"],
.shorter-line > span::after {
  border-color: rgb(46, 46, 46) !important;
}
[class*="__item-gray"] {
  border-left-color: rgb(46, 46, 46) !important;
}

.bgc-gray,
[class*="__item-link--gray"] {
  background-color: rgb(171, 171, 171) !important;
}
.txc-gray {
  color: rgb(171, 171, 171) !important;
}
.bdc-gray,
[class*="__item-link--gray"] {
  border-color: rgb(171, 171, 171) !important;
}
[class*="__item-link--gray"] {
  outline-color: rgb(171, 171, 171) !important;
}

.bgc-lightgray {
  background-color: rgb(246, 246, 246);
}
.txc-lightgray {
  color: rgb(246, 246, 246) !important;
}
.bdc-lightgray {
  border-color: rgb(246, 246, 246) !important;
}

.bgc-white {
  background-color: rgb(255, 255, 255);
}
.txc-white {
  color: rgb(255, 255, 255) !important;
}
.bdc-white {
  border-color: rgb(255, 255, 255) !important;
}
