.mainVisual h1 {
  position: static;
  transform: inherit;
}

.contents {
  position: relative;
  margin-top: 70px;
  padding: 60px 70px 70px 70px;
}
@media (max-width: 767px) {
  .contents {
    margin-top: calc((70 / 767) * 100vw);
    padding: calc((70 / 767) * 100vw) calc((30 / 767) * 100vw);
  }
}

.box {
  display: block;
}
.box .box_prof {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 1.1rem;
}
@media (max-width: 767px) {
  .box .box_prof {
    position: static;
  }
}
.box .box_prof .txt_label {
  display: flex;
  line-height: 1.4;
  color: white;
  font-size: 1.3125rem;
}
@media (max-width: 767px) {
  .box .box_prof .txt_label {
    font-size: 0.625rem;
  }
}
.box .box_prof .txt_label span {
  padding: 9px 13px;
  background: #727171;
  font-weight: 400;
}
.box .box_prof .txt_label .num {
  padding: 9px 23px;
  background: #231815;
}
@media (max-width: 767px) {
  .box .box_prof .txt_label .num {
    padding: 9px 18px;
  }
}
.box .box_prof dl {
  padding: 10px 0 0;
  font-weight: 500;
}
.box .box_prof dl dt {
  line-height: calc(32.22/25.72);
  font-size: 1.6075rem;
}
.box .box_prof dl dd {
  font-size: 0.9825rem;
}
@media (max-width: 767px) {
  .box .box_prof dl dd {
    font-size: 0.625rem;
  }
}
@media (max-width: 767px) {
  .box .box_prof {
    font-size: 0.625rem;
  }
}
.box .box_image {
  width: 100%;
  margin-top: 60px;
}
@media (max-width: 767px) {
  .box .box_image {
    width: 100%;
    margin-top: calc((60 / 767) * 100vw);
  }
}
.box figure {
  margin: 0;
}
.box figure img {
  width: 100%;
  vertical-align: top;
}
@media (max-width: 767px) {
  .box figure img {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .box .box_txt {
    width: 100%;
    margin-top: calc((70 / 767) * 100vw);
  }
}
.box .box_txt h2 {
  letter-spacing: calc((70 / 1000)*-1em);
  color: #ad0711;
  line-height: 1.4;
  font-weight: 500;
  font-size: 2.23228125rem;
}
@media (max-width: 767px) {
  .box .box_txt h2 {
    font-size: 1.2rem;
  }
}
.box .box_txt h2 + dl {
  margin-top: 4em;
}
@media (max-width: 767px) {
  .box .box_txt h2 + dl {
    margin-top: 2em;
  }
}
.box .box_txt dl:not(:first-of-type) {
  margin-top: calc(1.4em + 2px);
}
@media (max-width: 767px) {
  .box .box_txt dl:not(:first-of-type) {
    margin-top: 2em;
  }
}
.box .box_txt dl:nth-last-child(1), .box .box_txt dl:nth-last-child(2), .box .box_txt dl:nth-last-child(3) {
  margin-top: 3.2em;
}
@media (max-width: 767px) {
  .box .box_txt dl:nth-last-child(1), .box .box_txt dl:nth-last-child(2), .box .box_txt dl:nth-last-child(3) {
    margin-top: 2em;
  }
}
.box .box_txt dt {
  display: block;
  padding-bottom: 0.8em;
  border-bottom: 1px solid #ad0711;
  color: #ad0711;
  line-height: 1;
  font-weight: bold;
  font-size: 1.57625rem;
}
@media (max-width: 767px) {
  .box .box_txt dt {
    font-size: 1rem;
  }
}
.box .box_txt dd {
  margin-top: .6em;
  padding-left: 15.5em;
  line-height: 2;
  font-size: 1.10728125rem;
}
@media (max-width: 767px) {
  .box .box_txt dd {
    padding-left: 0;
    line-height: 1.7;
    font-size: 1rem;
  }
}
.box:not(:first-child) {
  margin-top: 4.1em;
}
@media (max-width: 767px) {
  .box:not(:first-child) {
    margin-top: calc((60 / 767) * 100vw);
  }
}

ul.pager_link {
  display: flex;
  justify-content: space-between;
  width: 790px;
  margin: 70px auto 0;
}
@media (max-width: 767px) {
  ul.pager_link {
    flex-wrap: wrap;
    width: 100%;
    margin-top: calc((30 / 767) * 100vw);
    padding: 0 calc((30 / 767) * 100vw);
  }
}
ul.pager_link li {
  width: 235px;
}
@media (max-width: 767px) {
  ul.pager_link li {
    width: 50%;
    margin-bottom: 10px;
  }
}
ul.pager_link li.current {
  display: none;
}
ul.pager_link a {
  display: block;
  text-decoration: none;
}
ul.pager_link a:hover figcaption::after {
  background-color: #d0121b;
}
ul.pager_link img {
  vertical-align: top;
}
ul.pager_link figcaption {
  position: relative;
  color: #727171;
  font-weight: 500;
  font-size: 1.3287375rem;
}
@media (max-width: 767px) {
  ul.pager_link figcaption {
    padding: 2px 0 0 2px;
    font-size: 0.8rem;
  }
}
ul.pager_link figcaption::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 100%;
  display: block;
  width: 86px;
  height: 86px;
  background: #727171 url(../img/common/icon_arr.png) no-repeat center;
  background-size: 48px 16px;
}
@media (max-width: 767px) {
  ul.pager_link figcaption::after {
    width: 50px;
    height: 50px;
    background-size: 34px 11px;
  }
}
