@charset "UTF-8";
/* 共通
----------------------------- */
#courseflow h4,
#courseflow div,
#courseflow p,
#courseflow span,
#courseflow a {
  line-height: 1.5;
}
.crsflow h4,
.crsflow div,
.crsflow p,
.crsflow span,
.crsflow a {
  line-height: 1.5;
  box-sizing: initial;
}
.crsflow p {
}

/* コースフロー開閉ボタン
----------------------------- */
div#content div#mainColumn h4 {
  width: auto;
  padding: 7px 15px;
}

.btn-accordion {
  border: 1px solid #0078c1;
  padding: 0.5em;
  margin-bottom: 1em;
  position: relative;
}

.btn-accordion h4 {
  font-size: 16px;
  color: #0078c1;
  font-weight: bold;
}

.btn-accordion::after {
  /*縦線*/
  content: "";
  position: absolute;
  top: 50%;
  right: 25px;
  width: 15px;
  height: 2px;
  background: #0078c1;
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
}

.btn-accordion::before {
  /*横線*/
  content: "";
  position: absolute;
  top: 50%;
  right: 25px;
  width: 15px;
  height: 2px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  background: #0078c1;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.btn-accordion.open, .btn-accordion:hover {
  background-color: #8cc2e4;
}

.btn-accordion.open h4,
.btn-accordion:hover h4 {
  color: #fff;
}

.btn-accordion.open::before {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.btn-accordion.open::after {
  opacity: 0;
}

.btn-accordion.open::before, .btn-accordion.open::after, .btn-accordion:hover::after, .btn-accordion:hover::before {
  background-color: #fff;
}

.accordion-content {
  display: none;
}

/* コースフロー
----------------------------- */
.crsflow {
  position: relative;
  overflow-x: auto;
  width: 790px;
}

.crsflow__container {
  position: relative;
  margin-bottom: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  width: 100%;
}

.crsflow__level-title {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 45px;
      -ms-flex: 0 0 45px;
          flex: 0 0 45px;
  font-weight: bold;
  color: #fff;
  font-size: 1.4em;
  padding: 7px;
  margin-right: 5px;
}

.crsflow__level-title--first {
  background: #bdd9bd;
}

.crsflow__level-title--second {
  background: #bcccda;
}

.crsflow__level-title--third {
  background: #d8d6a5;
}

.crsflow__level-flow {
  position: relative;
  -webkit-box-flex: 1;
  -webkit-flex: 1 0;
      -ms-flex: 1 0;
          flex: 1 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  margin-bottom: -10px;
  width: 100%;
}

.crsflow__level-flow--pl-m {
  padding-left: 205px;
}

.crsflow__level-flow--pl-s {
  padding-left: 110px;
}

.crsflow__item {
  margin-right: 10px;
  margin-bottom: 10px;
}

.crsflow__item:last-child {
  margin-right: 0;
}

.spacer {
  width: 100%;
}

/* 縦にコースを入れる用
----------------------------- */
.crsflow__wrapper {
  position: relative;
}

.vertical-container {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  height: 100%;
  position: absolute;
  left: 70px;
  top: 0;
  text-align: left;
  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;
  -webkit-box-sizing: border-box !important;
          box-sizing: border-box !important;
}

.vertical-container .crs-box {
  -webkit-box-sizing: border-box !important;
          box-sizing: border-box !important;
}

.vertical-container .course {
  display: block;
  padding: 11px;
  letter-spacing: 0.04em;
}

.text-combine {
  -webkit-text-combine: horizontal;
  -ms-text-combine-horizontal: all;
  text-combine-upright: all;
}

/* 複数コースのセット（各資格）
----------------------------- */
.crs-box {
  background-color: #f3f3f3;
  padding: 10px;
  border-radius: 3px;
}

.crs-box .spacer {
  height: 26px;
}

.crs-box--white {
  background-color: transparent;
}

.crs-box__title {
  font-weight: bold;
  color: #333;
  letter-spacing: 0.03em;
  font-size: 0.75em;
  text-align: left;
  margin-bottom: 0.7em !important;
}

.crs-box__title span {
  font-size: 110%;
  color: #dc0000;
}

.crs-box__row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  width: 100%;
}

.crs-box__item {
  margin-right: 30px;
}

.crs-box__item:last-child {
  margin-right: 0;
}

.crs-box__txt {
  color: #396fa0;
  font-size: 0.75em;
  padding-top: 0.8em;
  margin: 0 !important;
}

/* 個別コース
----------------------------- */
.course {
  position: relative;
  z-index: 10;
  width: 100%;
  border: 1px solid #0078c1;
  border-radius: 4px;
  -webkit-box-shadow: 0 0 8px #ccc;
          box-shadow: 0 0 8px #ccc;
  color: #396fa0;
  background-color: #fff;
  -webkit-box-sizing: border-box !important;
          box-sizing: border-box !important;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 0.75em;
  text-align: center;
  -webkit-transition: all 0.4s 0s ease;
  transition: all 0.4s 0s ease;
}

.course span.msCode {
  font-weight: bold;
  margin-right: 0.5em;
}

/* （未リンクコース用）hover時のテキスト切替 */
.course span.hover {
  display: none;
  -webkit-transition: all 0.4s 0s ease;
  transition: all 0.4s 0s ease;
}

.course span.normal {
  /* コースコードとコース名が縦に並ぶようにflexにする */
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-transition: all 0.4s 0s ease;
  transition: all 0.4s 0s ease;
}

.vertical-container .course span.normal {
  /* 縦書きのときはflexにしない */
  display: inline;
}

.course:hover span.hover {
  display: inline;
}

.course:hover span.normal {
  display: none;
}

/* （リンク有コース用） */
a.courseLink {
  text-decoration: none;
}

a.courseLink:hover > .course {
  background-color: #0078c1;
  color: #fff;
}

/* サイズの指定 */
.course--s {
  width: 170px;
  height: 75px;
}

.course--m {
  width: 250px;
  height: 75px;
}

/* 矢印
----------------------------- */
.arrow {
  color: #0078c1;
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid currentColor;
  margin: 8px auto;
}

.arrow--third-revel-color {
  color: #d8d6a5;
}

.arrow--right {
  border-left: 10px solid currentColor;
  border-right: none;
  border-bottom: 10px solid transparent;
  border-top: 10px solid transparent;
  margin: 10px;
}

.arrow--top {
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid currentColor;
  border-top: none;
}

/* リンクアイコン
----------------------------- */
a.btn--arrow-right {
  display: inline-block;
  min-width: 90px;
  max-width: 100%;
  padding: 12px 10px;
  border: 1px solid #0077c0;
  background-color: #f1f7ff;
  color: #0077c0;
  font-size: 0.875rem;
  text-align: center;
  -webkit-transition: 0.25s;
  transition: 0.25s;
  text-decoration: none !important;
}

a.btn--arrow-right:focus, a.btn--arrow-right:hover {
  color: #0077c0 !important;
  opacity: 0.7;
}

a.btn--arrow-right {
  position: relative;
  padding-right: 2.5em;
  padding-left: 1.38em;
}

a.btn--arrow-right::after {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #0077c0;
  /* くの字を山なりに見た時、左側の太さと色 */
  border-right: 2px solid #0077c0;
  /* くの字を山なりに見た時、右側の太さと色 */
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  /* くの字の向き */
}

/* テーマで分ける（データ分析コースフローで使用）
----------------------------- */
.crsflow__level-flow .flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.absolute {
  position: absolute;
  z-index: 10;
}

.theme-container {
  margin-right: 8px;
  border: 1px dotted #bf4343;
  border-radius: 5px;
}

.theme-title {
  width: 190px;
  padding: 5px 0;
  margin-bottom: 0.7em !important;
  text-align: center;
  font-size: 0.9em;
  background: #bf92923b;
  color: #a35858;
  font-weight: bold;
  letter-spacing: 0.03em;
}

#opAzureAD .theme-wrapper {
  position: absolute;
  left: 70px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 98%;
}

#opAzureAD .theme-wrapper .theme-container {
  height: 100%;
}

#opAzureAD .theme-wrapper .theme-container.infla {
  width: 492px;
}

#opAzureAD .theme-wrapper .theme-container.app {
  width: 210px;
  margin-right: 0;
}

#opAzureAD .theme-wrapper .theme-title {
  width: auto;
}

/* #cloud-security エリア分類で分ける
----------------------------- */
#opCloud-sec .crsflow .area-container {
  position: absolute;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around;
  width: 100%;
}

#opCloud-sec .crsflow .area-container .area {
  width: 48%;
  height: 490px;
}

#opCloud-sec .crsflow .area-container .area--color1 {
  background: #d0e6ed;
}

#opCloud-sec .crsflow .area-container .area--color2 {
  background: #ffece6;
}

#opCloud-sec .crsflow .area-container .area p {
  padding: 25px;
  font-weight: bold;
  text-align: center;
  font-size: 110%;
}

#opCloud-sec .crsflow .crsflow__level-flow {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 30px;
}

#opCloud-sec .crsflow #cs-fundamentals {
  padding-top: 70px;
}

#opCloud-sec .crsflow #cs-associate .crs-box {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

#opCloud-sec .crsflow .theme-title {
  width: auto;
}

#opCloud-sec .crsflow .crs-box {
  background: none;
}

#opCloud-sec .crsflow .crs-box__title {
  text-align: center;
}

#opCloud-sec .crsflow .crs-box__item {
  margin-right: 0;
}

#opCloud-sec .crsflow .course--m {
  width: 230px;
  height: 75px;
}

/* 横スクロール */
@media screen and (max-width: 760px) {
  div.spscroll {
    overflow-x: auto!important;
    -webkit-overflow-scrolling: touch!important;
    overflow-scrolling: touch!important;
    background: #888!important;
    padding: 8px!important;
    margin-bottom: 20px;
  }
  div.spscroll.w {
    background: none!important;
  }
  div.spscroll > div,
  div.spscroll > table {
    background: #fff!important;
    width: 820px!important;
    max-width: 820px!important;
    min-width: 820px!important;
    margin-bottom: 0!important;
    padding:15px;
  }
  div.spscroll > div[id^="op"] {
    background: #fff!important;
    width: 820px!important;
    max-width: 820px!important;
    min-width: 820px!important;
    margin-bottom: 0!important;
    padding: 15px!important;
    height: inherit!important;
  }
  div.spscroll > table.template-table {
    table-layout: fixed!important;
  }
  div.spscroll > table th,
  div.spscroll > table td {
    padding:5px!important;
  }
  div.spscroll.w > table th, .spscroll.w > table td {
    width: auto!important;
  }
  div.spscroll:before {
    content:'>>'!important;
    color:#fff!important;
  }
  div.spscroll i {
    font-size:20px;
    color: #fff;
    margin-left: 10px!important;
  }
}
