/******************************************************

fonts

******************************************************/

.textbox01 .text + .subbox ,
.textbox01 .wide + .subbox {
    margin-top: 60px;
}

.label_img {
  position: relative;
}

.label_img::before {
  content: "";
  position: absolute;
  top: 24px;
  left: 79px;
  width: 1.5px;
  height: 81px;
  background-color: #b79758;
  transform: rotate(149deg);
}

.label_img::after {
  content: "";
  position: absolute;
  bottom: 83px;
  left: 66px;
  width: 1.5px;
  height: 67px;
  background-color: #b79758;
  transform: rotate(57deg);
}

.subpage .textbox01 figure.label_img figcaption {
  position: absolute;
  padding: 0 ;
  font-size: 1rem;
}

.label_img figcaption span {
  display: block;
  color: #b79758;
  font-size: 1.6rem;
  font-weight: 700;
}

.label_img figcaption.f_label {
  top: 10px;
  left: 5px;
}

.label_img figcaption.s_label {
  bottom: 45px;
  left: 5px;
}

.label_img figcaption.t_label {
  bottom: 45px;
  right: 5px;
}

.label_img figcaption.t_label span {
  position: relative;
}

.label_img figcaption.t_label span::before {
  content: "";
  position: absolute;
  top: -60px;
  right: 84px;
  width: 1.5px;
  height: 62px;
  background-color: #b79758;
  transform: rotate(-34deg);
}

@media screen and (max-width: 740px) {

    .textbox01 .text + .subbox ,
    .textbox01 .wide + .subbox {
        margin-top: 30px;
    }

    .subpage .textbox01 .subbox p {
      padding: 0;
    }

    .subpage .textbox01.arrow .inner {
        display: flex;
        justify-content: space-between;
    }

    .subpage .textbox01.arrow .inner .text p {
        padding: 0;
    }

    .subpage .textbox01 .inner.label_wrap {
      text-align: center;
    }

    .subpage .textbox01 .inner.label_wrap figure.label_img {
      flex-shrink: 0;
      display: inline-block;
      max-width: unset;
      float: unset;
      padding: 0 0 28px;
      text-align: left;
    }

    .subpage .textbox01 .inner.label_wrap .text {
      text-align: left;
    }
}

.subpage .textbox01.arrow.bnot_box::before {
  content: none;
}

.subpage .flex_box figure ,
.subpage .flex_box .text {
  width: 48%;
}

.subpage .flex_box figure img {
  width: 100%;
}

@media screen and (max-width: 740px) {
  .subpage .textbox01 .flex_box .inner.reverse {
    display: flex;
    flex-direction: column;
  }
  .subpage .textbox01 .flex_box .inner.reverse figure {
    float: unset;
    padding: 0 0 20px;
    max-width: unset;
    width: 100%;
  }
  .subpage .textbox01 .flex_box .inner.reverse figure~.text {
    padding: 0;
    width: 100%;
  }
  .subpage .textbox01.arrow {
    margin: 0 20px;
  }
  .subpage .textbox01.arrow +.textbox01.arrow {
    margin: 30px 20px 0;
  }
}
