.p-intro {
  margin: 35px 0 110px; }
  @media screen and (max-width: 767px) {
    .p-intro {
      margin: 5vw 5vw 10vw; } }
  .p-intro-ttl {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.02em;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .p-intro-ttl {
        font-size: 4.2vw; } }
    .p-intro-ttl span {
      font-size: 1.4rem;
      vertical-align: 0.8em; }
      @media screen and (max-width: 767px) {
        .p-intro-ttl span {
          font-size: 3.2vw;
          vertical-align: 0.4em; } }
  .p-intro-txt {
    max-width: 970px;
    width: 90%;
    margin: 0 auto;
    text-align: left;
    font-size: 1.8rem;
    line-height: 2;
    margin-top: 1.5em;
    letter-spacing: 0.08em; }
    @media screen and (max-width: 767px) {
      .p-intro-txt {
        font-size: 3.6vw;
        text-align: left; } }
  .p-intro-notes {
    text-align: center;
    font-size: 1.4rem;
    letter-spacing: 0.08em;
    margin: 2em 0 0 0; }
    @media screen and (max-width: 767px) {
      .p-intro-notes {
        font-size: 3.4vw;
        line-height: 1.6;
        margin-top: 1.5em; } }

.p-intro-b {
  position: relative;
  width: 1200px;
  font-weight: 900;
  font-size: 4.2rem;
  margin: 0 auto 1.5em;
  padding-left: 1em; }
  .p-intro-b::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: #9b0332; }
  .p-intro-b::after {
    content: '';
    position: absolute;
    top: 0;
    left: 10px;
    width: 6px;
    height: 100%;
    background: #9b0332; }

@media screen and (max-width: 767px) {
  .p-intro-b {
    font-size: 6vw; }

  .p-intro-b::before,
  .p-intro-b::after {
    width: 1.5vw; }

  .p-intro-b::after {
    left: 3vw; } }
.p-intro-b--rd {
  color: #9b0332; }

.p-intro-b--pk {
  color: #f98199; }

.p-intro-b--pk::before,
.p-intro-b--pk::after {
  background: #f98199; }

.p-support-block {
  width: 1200px;
  background: #fff;
  margin: 80px auto 0;
  padding: 30px 60px 40px; }
  @media screen and (max-width: 767px) {
    .p-support-block {
      width: auto;
      margin: 8vw 5vw 0;
      padding: 5vw; } }
  .p-support-block + .p-support-block {
    margin-top: 40px; }
    @media screen and (max-width: 767px) {
      .p-support-block + .p-support-block {
        margin-top: 5vw; } }
.p-support-ttl {
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  border-bottom: 2px solid #c7c7c7;
  padding-bottom: 20px;
  margin-bottom: 1.2em; }
  @media screen and (max-width: 767px) {
    .p-support-ttl {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
      justify-content: flex-start;
      -webkit-align-items: flex-start;
      -ms-flex-align: start;
      align-items: flex-start;
      line-height: 1.4;
      font-size: 4.6vw;
      margin-bottom: 1em;
      padding-bottom: 3vw; } }
  .p-support-ttl::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 60px;
    height: 4px;
    background: #9b0332; }
    @media screen and (max-width: 767px) {
      .p-support-ttl::after {
        width: 10vw;
        height: 1vw;
        bottom: -1vw; } }
  .p-support-ttl-img {
    height: 64px; }
    @media screen and (max-width: 767px) {
      .p-support-ttl-img {
        height: 10vw; } }
  .p-support-ttl-txt {
    display: block;
    padding-left: 1em; }
.p-support-inner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start; }
  @media screen and (max-width: 767px) {
    .p-support-inner {
      display: block; } }
.p-support-img {
  width: 310px;
  height: auto; }
  @media screen and (max-width: 767px) {
    .p-support-img {
      width: 100%;
      margin-top: 5vw; } }
.p-support-txt {
  width: 710px;
  font-size: 1.5rem;
  line-height: 1.8; }
  @media screen and (max-width: 767px) {
    .p-support-txt {
      width: 100%;
      font-size: 3.4vw; } }
.p-support-btn {
  display: inline-block;
  font-size: 1.5rem;
  line-height: 1.0;
  margin-top: 2em; }
  @media screen and (max-width: 767px) {
    .p-support-btn {
      font-size: 3.4vw;
      margin-top: 1em; } }
  .p-support-btn-link {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    color: #333;
    transition: 0.3s; }
    .p-support-btn-link:hover {
      opacity: 0.7; }
  .p-support-btn-img {
    width: 1.5em;
    height: auto;
    margin-right: 0.5em; }

.p-exam {
  width: 1200px;
  background: #fff;
  margin: 100px auto 0;
  padding: 75px 100px 80px; }
  @media screen and (max-width: 767px) {
    .p-exam {
      width: auto;
      margin: 10vw 5vw 0;
      padding: 5vw; } }
  .p-exam-load {
    margin-top: 50px; }
    @media screen and (max-width: 767px) {
      .p-exam-load {
        overflow: scroll;
        margin-top: 5vw; } }
    .p-exam-load-img {
      width: 100%;
      height: auto; }
      @media screen and (max-width: 767px) {
        .p-exam-load-img {
          width: 1000px;
          max-width: inherit; } }
  .p-exam-block {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    flex-flow: row-reverse;
    margin-top: 80px; }
    @media screen and (max-width: 767px) {
      .p-exam-block {
        display: block;
        margin-top: 10vw; } }
    .p-exam-block + .p-exam-block {
      margin-top: 70px; }
      @media screen and (max-width: 767px) {
        .p-exam-block + .p-exam-block {
          margin-top: 8vw; } }
    .p-exam-block-inner {
      width: 500px; }
      @media screen and (max-width: 767px) {
        .p-exam-block-inner {
          width: auto; } }
    .p-exam-block-img {
      width: 440px;
      height: auto; }
      @media screen and (max-width: 767px) {
        .p-exam-block-img {
          width: 100%;
          margin: 3vw 0 0; } }
    .p-exam-block-ttl {
      font-size: 2.4rem;
      letter-spacing: 0.08em;
      color: #9b0332;
      font-weight: 700; }
      @media screen and (max-width: 767px) {
        .p-exam-block-ttl {
          font-size: 4.6vw; } }
    .p-exam-block-sub {
      font-size: 1.8rem;
      letter-spacing: 0.08em;
      line-height: 1.4;
      font-weight: 700;
      margin: 0.8em 0; }
      @media screen and (max-width: 767px) {
        .p-exam-block-sub {
          font-size: 3.8vw; } }
    .p-exam-block-txt {
      font-size: 1.5rem;
      line-height: 1.7; }
      @media screen and (max-width: 767px) {
        .p-exam-block-txt {
          font-size: 3.4vw; } }

.p-intro-txt2 {
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
  font-size: 2.2rem; }

@media screen and (max-width: 767px) {
  .p-intro-txt2 {
    font-size: 4vw;
    text-align: left; } }
.p-kind {
  margin-top: 100px; }

@media screen and (max-width: 767px) {
  .p-kind {
    margin-top: 10vw; } }
.p-kind-ttl {
  text-align: center;
  margin-bottom: 60px; }

@media screen and (max-width: 767px) {
  .p-kind-ttl {
    width: 60vw;
    margin: 0 auto 5vw; } }
.p-kind-txt {
  text-align: center;
  font-size: 1.8rem;
  line-height: 2; }

@media screen and (max-width: 767px) {
  .p-kind-txt {
    font-size: 3.6vw;
    text-align: left; } }
.p-kind-block {
  position: relative;
  width: 1200px;
  background: #fff;
  margin: 0 auto;
  padding: 60px 80px; }

@media screen and (max-width: 767px) {
  .p-kind-block {
    width: auto;
    padding: 5vw;
    margin: 5vw 5vw 0; } }
.p-kind-block-ttl {
  text-align: center;
  margin-bottom: 25px; }

@media screen and (max-width: 767px) {
  .p-kind-block-ttl {
    margin-bottom: 5vw; } }
.p-kind-lists {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
  align-items: stretch;
  margin-top: 45px; }

@media screen and (max-width: 767px) {
  .p-kind-lists {
    display: block;
    margin-top: 5vw; } }
.p-kind-list {
  width: 215px;
  text-align: center; }

@media screen and (max-width: 767px) {
  .p-kind-list {
    width: auto; } }
.p-kind-list-img {
  width: 76px;
  height: auto; }

@media screen and (max-width: 767px) {
  .p-kind-list-img {
    width: 15vw; } }
.p-kind-list-ttl {
  font-weight: 700;
  text-align: center;
  font-size: 2rem;
  letter-spacing: 0.08em;
  margin: 1.2em 0 1em 0; }

@media screen and (max-width: 767px) {
  .p-kind-list-ttl {
    font-size: 4vw; } }
.p-kind-list-txt {
  text-align: left;
  font-size: 1.5rem;
  line-height: 1.8;
  letter-spacing: 0.08em; }

@media screen and (max-width: 767px) {
  .p-kind-list-txt {
    font-size: 3.4vw; } }
@media screen and (max-width: 767px) {
  .p-kind-list + .p-kind-list {
    margin-top: 5vw; } }
