@charset "UTF-8";
/* ==================================================================*/
/* 基本 */
/* ==================================================================*/
.progress li a,
.progress li > span {
  font-size: 1em; }

.progress li a {
  text-decoration: none; }

.progress, .multi_steps {
  width: 90%;
  padding: 0.5em 1em;
  margin: 1em auto;
  background-color: #daf3e8;
  border-radius: .25em; }

.progress:after, .multi_steps:after {
  content: "";
  display: table;
  clear: both; }

.progress li, .multi_steps li {
  display: inline-block;
  float: left;
  margin: 0.5em 0; }

.progress li::after, .multi_steps li::after {
  /* this is the separator between items */
  display: inline-block;
  content: '\00bb';
  margin: 0 .6em;
  color: #959fa5; }

.progress li:last-of-type::after, .multi_steps li:last-of-type::after {
  /* hide separator after the last item */
  display: none; }

.progress li > *, .multi_steps li > * {
  /* single step */
  display: inline-block;
  font-size: 1.4rem;
  color: #2c3f4c; }

.progress li.current > *, .multi_steps li.current > * {
  /* selected step */
  color: #125939; }

.progress a:hover, .multi_steps a:hover {
  /* steps already visited */
  color: #125939;
  outline: none; }

.progress a {
  color: #125939;
  text-decoration: none; }

@media only screen and (min-width: 769px) {
  .progress, .multi_steps {
    padding: 0 1.2em; }
  .progress li, .multi_steps li {
    margin: 1.2em 0; }
  .progress li::after, .multi_steps li::after {
    margin: 0 1em; }
  .progress li > *, .multi_steps li > * {
    font-size: 1.6rem; }
  .progress li a,
  .progress li > span {
    display: block;
    height: 48px; } }

/* ==================================================================*/
/* 三角形 */
/* ==================================================================*/
@media only screen and (max-width: 768px) {
  .progress.triangle li a {
    text-decoration: underline; }
  .progress.triangle li span.cd_pc {
    display: none; } }

@media only screen and (min-width: 769px) {
  .progress.triangle {
    /* reset basic style */
    background-color: transparent;
    padding: 0; }
  .progress.triangle li {
    position: relative;
    padding: 0;
    margin: 4px 4px 4px 0; }
  .progress.triangle li:last-of-type {
    margin-right: 0; }
  .progress.triangle li > * {
    position: relative;
    padding: 1em .5em 1em 2em;
    color: #000000;
    background-color: #daf3e8;
    /* the border color is used to style its ::after pseudo-element */
    border-color: #daf3e8; }
  .progress.triangle li.current > * {
    /* selected step */
    color: #ffffff;
    background-color: #125939;
    border-color: #125939; }
  .progress.triangle li:first-of-type > * {
    padding-left: 1.6em;
    border-radius: .25em 0 0 .25em; }
  .progress.triangle li:last-of-type > * {
    padding-right: 1.6em;
    border-radius: 0 .25em .25em 0; }
  .progress.triangle a:hover, .progress.triangle a:focus {
    /* steps already visited */
    color: #ffffff;
    background-color: #125939;
    border-color: #125939;
    outline: none; }
  .progress.triangle li::after, .progress.triangle li > *::after {
    /*
		li > *::after is the colored triangle after each item
		li::after is the white separator between two items
		*/
    content: '';
    position: absolute;
    top: 0;
    left: 100%;
    content: '';
    height: 0;
    width: 0;
    /* 48px is the height of the <a> element */
    border: 24px solid transparent;
    border-right-width: 0;
    border-left-width: 20px; }
  .progress.triangle li::after {
    /* this is the white separator between two items */
    z-index: 1;
    -webkit-transform: translateX(4px);
    -moz-transform: translateX(4px);
    -ms-transform: translateX(4px);
    -o-transform: translateX(4px);
    transform: translateX(4px);
    border-left-color: #ffffff;
    /* reset style */
    margin: 0; }
  .progress.triangle li > *::after {
    /* this is the colored triangle after each element */
    z-index: 2;
    border-left-color: inherit; }
  .progress.triangle li:last-of-type::after, .progress.triangle li:last-of-type > *::after {
    /* hide the triangle after the last step */
    display: none; }
  .progress.triangle.custom_separator li::after {
    /* reset style */
    background-image: none; }
  .progress.triangle.custom-icons li::after, .progress.triangle.custom-icons li > *::after {
    /* 50px is the height of the <a> element */
    border-top-width: 25px;
    border-bottom-width: 25px; }
  @-moz-document url-prefix() {
    .progress.triangle li::after,
    .progress.triangle li > *::after {
      /* fix a bug on Firefix - tooth edge on css triangle */
      border-left-style: dashed; } } }
