/* 見出し */
h1,
h2,
h3,
h4,
h5,
h6,
.post_title {
  font-weight: 700;
}


/* H2 共通 */
.h2A,
.h2B,
.h2C,
.h2D,
.h2E,
.h2F,
.h2G,
.h2H,
.h2I {
  font-size: 32px;
  line-height: 48px;
  margin-bottom: 40px;
  text-align: center;
  font-weight: 700;
  letter-spacing: 3px;
  font-family: inherit;
}

.h2A small,
.h2B small,
.h2C small,
.h2D small,
.h2E small,
.h2F small,
.h2G small,
.h2H small,
.h2I small {
  font-size: 12px;
  display: block;
  text-align: center;
  font-weight: normal;
  line-height: 24px;
  letter-spacing: 1px;
}

.h2A > span,
.h2B > span,
.h2C > span,
.h2D > span,
.h2E > span,
.h2F > span,
.h2G > span,
.h2H > span,
.h2I > span {
  color: #000000;
  font-size: 40px;
}


/* SP */
@media (max-width: 767px) {
  .h2A,
  .h2B,
  .h2C,
  .h2D,
  .h2E,
  .h2F,
  .h2G,
  .h2H,
  .h2I {
    font-size: 24px;
    line-height: 36px;
    margin-bottom: 30px;
  }

  .h2A > span,
  .h2B > span,
  .h2C > span,
  .h2D > span,
  .h2E > span,
  .h2F > span,
  .h2G > span,
  .h2H > span,
  .h2I > span {
    font-size: 32px;
  }
}


/* h2G */
.h2G {
  position: relative;
}

.h2G::after {
  content: "";
  display: block;
  width: 2px;
  height: 24px;
  background: #333333;
  margin: auto;
}

.h2G > small,
.h2G span {
  margin-bottom: 10px;
}


/* h2B */
.h2B {
  position: relative;
  padding-bottom: 10px;
}

.h2B::after {
  content: "";
  position: absolute;
  display: block;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 60px;
  height: 2px;
  background: #dddddd;
}


/* h2C / h2E */
.h2C small,
.h2C a,
.h2E small,
.h2E a {
  color: #000000;
}

.h2C .arrow::after,
.h2E .arrow::after {
  border-color: #000000;
  border-width: 2px;
}


/* h2D */
.h2D span {
  display: block;
  margin-top: 6px;
  letter-spacing: 1px;
  line-height: 24px;
}

.h2D small {
  letter-spacing: 1px;
  display: inline-block;
  padding: 2px 10px;
  color: #ffffff;
  background: #666666;
}


/* h2E */
.h2E small {
  font-weight: bold;
}


/* h2F */
.h2F {
  padding-bottom: 10px;
  text-align: left;
  display: -ms-flex;
  display: flex;
  align-items: center;
  border-bottom: 3px solid #000000;
}

.h2F small {
  margin-left: 20px;
  font-size: 14px;
  font-weight: 500;
}


/* h2 button */
.h2-button {
  position: relative;
}

.h2-button_area {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  display: flex;
  align-items: center;
}

.h2-button-typeA,
.h2-button-typeB,
.h2-button-typeC {
  font-size: 12px;
  color: #000000 !important;
  line-height: 1.4;
  display: inline-flex;
  align-items: center;
}

.h2-button-typeA::after,
.h2-button-typeB::after,
.h2-button-typeC::after {
  border-top: 1px solid #000000;
  border-right: 1px solid #000000;
}

.h2-button-typeA {
  padding-right: 25px;
}

.h2-button-typeB,
.h2-button-typeC {
  padding: 5px 25px;
  text-align: center;
  border-bottom: 1px solid #000000;
}

.h2-button-typeC {
  border: 1px solid #000000;
}