@charset "utf-8";
/* common ***************************************************/
h1,
h2,
h3,
p,
li {
  line-height: 1.8;
}
.textCtr {
  text-align: center;
}
/* title ***************************************************/
/* h2 */
.h2-styleA {
  font-size: 2.2em;
  letter-spacing: 0.15em;
  margin-bottom: 35px;
  position: relative;
  padding-top: 15px;
  font-weight: bold;
}
.h2-styleA::after,
.h2-styleA::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
}
.h2-styleA::after {
  width: 100%;
  height: 1px;
  background: #ccc;
  z-index: 0;
}
.h2-styleA::before {
  top: -0.5px;
  width: 50px;
  height: 2px;
  background: #ab7449;
  z-index: 1;
}
.h2-styleA > span.subTitle {
  display: block;
  font-size: 0.5em;
  letter-spacing: 0;
  margin-bottom: 85px;
}

.h2-styleB {
  font-size: 2.2em;
  letter-spacing: 0.15em;
  position: relative;
  font-weight: bold;
  padding-left: 0.7em;
}
.h2-styleB::after {
  content: "";
  position: absolute;
  top: 44%;
  left: 0;
  width: 13px;
  height: 13px;
  background: #ab7449;
}
.h2-styleB > span.subTitle {
  display: inline-block;
  font-size: 0.5em;
  letter-spacing: 0;
}
.h2-styleC {
  font-size: 1.8em;
  font-weight: bold;
  margin-bottom: 12px;
  line-height: 1.3;
}

/* h3 */
.h3-styleA {
  font-size: 1.5em;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
  font-weight: bold;
}

/* styleB */
.h3-styleB {
  font-size: 1.5em;
  letter-spacing: 0.1em;
  margin-bottom: 30px;
  position: relative;
  font-weight: bold;
  padding-top: 3.6em;
}
.h3-styleB::after,
.h3-styleB::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
}
.h3-styleB::after {
  width: 100%;
  height: 1px;
  background: #ccc;
  z-index: 0;
}
.h3-styleB::before {
  top: 7.5px;
  width: 70px;
  height: 2px;
  background: #ab7449;
  z-index: 1;
}
.h3-styleB > span.subTitle {
  display: inline-block;
  font-size: 0.6em;
  background: #fff;
  position: absolute;
  top: 0;
  z-index: 2;
  padding-right: 5px;
  line-height: 1;
}

/* styleC */
.h3-styleC {
  font-size: 1.5em;
  letter-spacing: 0.1em;
  margin-bottom: 30px;
  font-weight: bold;
  line-height: 1;
}
.h3-styleC span {
  font-size: 0.7em;
  padding-left: 0.8em;
  position: relative;
  color: #ab7449;
  margin-bottom: 10px;
  display: inline-block;
}
.h3-styleC span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 7px;
  height: 7px;
  background: #ab7449;
}

/* h4 */
.h4-styleA {
  font-size: 1.2em;
  letter-spacing: 0.1em;
  font-weight: bold;
  margin: 0 auto 5px;
}

/* text ***************************************************/
p,
li {
  font-size: 100%;
}
.textSizeL {
  font-size: 1.4em;
}
.textSizeS {
  font-size: 0.9em;
}

@media only screen and (max-width: 768px) {
  /* common ***************************************************/
  h1,
  h2,
  h3,
  p,
  li {
    line-height: 1.8;
  }
  .textCtr {
    text-align: center;
  }
  /* title ***************************************************/
  /* h2 */
  .h2-styleA {
    font-size: 1.7em;
    margin-bottom: 12px;
    padding-top: 10px;
  }
  .h2-styleA::before {
    top: -0.5px;
    width: 35px;
  }
  .h2-styleA > span.subTitle {
    font-size: 0.5em;
    margin-bottom: 30px;
  }

  .h2-styleB {
    font-size: 1.7em;
    padding-left: 0;
    margin-bottom: 12px;
  }
  .h2-styleB::after {
    content: "";
    position: static;
    width: 0;
    height: 0;
  }
  .h2-styleC {
    font-size: 1.5em;
    margin-bottom: 10px;
  }

  /* h3 */
  .h3-styleA {
    font-size: 1.3em;
    margin-bottom: 12px;
  }

  /* styleB */
  .h3-styleB {
    font-size: 1.3em;
    margin-bottom: 12px;
    padding-top: 35px;
  }
  .h3-styleB::before {
    width: 50px;
  }

  /* styleC */
  .h3-styleC {
    font-size: 1.3em;
    margin-bottom: 12px;
  }
  .h3-styleC span {
    margin-bottom: 7px;
  }
  .h3-styleC span::after {
    width: 6px;
    height: 6px;
  }

  /* h4 */
  .h4-styleA {
    font-size: 1em;
    letter-spacing: 0.1em;
    font-weight: bold;
    margin: 0 auto 5px;
  }

  /* text ***************************************************/
  p,
  li,
  a {
    font-size: 95%;
  }

  .textSizeL {
    font-size: 1.4em;
  }
  .textSizeS {
    font-size: 0.9em;
  }
}
@media only screen and (max-width: 468px) {
  .h2-styleC {
    margin-bottom: 6px;
  }
}
