/* p-pageLinks
---------------------------------------------------------------------------- */
.p-pageLinks {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: 3rem 4rem;
  width: 100%;
  max-width: 920px;
  margin-inline: auto;
}

.p-pageLink {
  width: 27rem;
}

.p-pageLink.pageLink--width {
  width: 30rem;
}

.p-pageLink-link {
  display: inline-block;
  font-size: 1.8rem;
  line-height: 1.6111111111;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #062551;
  width: 100%;
  height: 6.4rem;
  border: 0.2rem solid #062551;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.p-pageLink-link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.6rem;
  transform: translateY(-50%);
  width: 1.6rem;
  height: 1rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../../images/common/icn_arrow_page_link.svg);
}

.p-pageLink-link.pr {
  padding-right: 1.5rem;
}

@media screen and (max-width: 767px) {
  .p-pageLinks {
    display: block;
  }
  .p-pageLink,
  .p-pageLink.pageLink--width {
    width: 100%;
  }
  .p-pageLink:nth-child(n+2) {
    margin-top: 2.6666666667vw;
  }
  .p-pageLink-link {
    font-size: 4.2666666667vw;
    height: 14.4vw;
  }
  .p-pageLink-link::after {
    right: 3.2vw;
    width: 4.2666666667vw;
    height: 2.1333333333vw;
  }
  .p-pageLink-link.pr {
    padding-right: initial;
  }
}
/* p-sec01
---------------------------------------------------------------------------- */
.p-sec01 {
  padding-top: 9.7rem;
  padding-bottom: 7.7rem;
}

.p-sec01-wrapper {
  padding: 2.4rem 4rem 2.6rem;
  border: 0.2rem solid #D5D9E1;
}

.p-sec01-wrapper.wrapper--01 {
  padding-bottom: 3.7rem;
}

.p-sec01-subTitle {
  font-size: 2.2rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #062551;
  padding-left: 1.9rem;
  position: relative;
}

.p-sec01-subTitle::before {
  content: "";
  position: absolute;
  top: 1.8rem;
  left: 0;
  transform: translateY(-50%);
  width: 1rem;
  height: 1rem;
  background-color: #062551;
  border-radius: 50%;
}

.p-sec01-wrap.wrap--01 {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2.5rem;
}

.p-sec01-img01 {
  width: 40rem;
  aspect-ratio: 400/247;
  position: relative;
}

.p-sec01-img01 img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.p-sec01-box01 {
  margin-left: 8rem;
}

.p-sec01-txt {
  font-size: 1.6rem;
  line-height: 1.625;
  letter-spacing: 0.04em;
  font-weight: 500;
}

.p-sec01-txt a {
  text-decoration: underline;
  color: #006dc9;
}

.p-sec01-container {
  margin-top: 4rem;
  margin-bottom: 4rem;
  display: flex;
  gap: 0 4rem;
}

.p-sec01-wrapper.wrapper--02 {
  width: 48.3333333333%;
}

.p-sec01-wrap.wrap--02 {
  margin-top: 3rem;
}

.p-sec01-img02 {
  width: 29.9rem;
  aspect-ratio: 299/246;
  margin-inline: auto;
  position: relative;
}

.p-sec01-img02 img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.p-sec01-box02 {
  margin-top: 2.5rem;
}

.p-sec01-wrapper.wrapper--03 {
  width: 48.3333333333%;
}

.p-sec01-box03 {
  margin-top: 2.5rem;
}

@media screen and (max-width: 767px) {
  .p-sec01 {
    padding-top: 9.8666666667vw;
    padding-bottom: 10.1333333333vw;
  }
  .p-sec01-wrapper {
    padding: 4vw 6.1333333333vw;
    border: 0.2rem solid #D5D9E1;
  }
  .p-sec01-wrapper.wrapper--01 {
    padding-bottom: 4.2666666667vw;
  }
  .p-sec01-subTitle {
    font-size: 4.8vw;
    line-height: 1.8;
    padding-left: 4.8vw;
  }
  .p-sec01-subTitle::before {
    top: 3.7333333333vw;
    transform: initial;
    width: 2.1333333333vw;
    height: 2.1333333333vw;
  }
  .p-sec01-wrap.wrap--01 {
    display: block;
    margin-top: 5.3333333333vw;
  }
  .p-sec01-img01 {
    width: 78.6666666667vw;
    aspect-ratio: 295/194;
    margin-inline: auto;
  }
  .p-sec01-box01 {
    margin-left: initial;
    margin-top: 4vw;
  }
  .p-sec01-txt {
    font-size: 4vw;
  }
  .p-sec01-container {
    margin-top: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
    display: block;
  }
  .p-sec01-wrapper.wrapper--02 {
    width: 100%;
  }
  .p-sec01-wrapper.wrapper--02:nth-of-type(2) {
    margin-top: 5.3333333333vw;
  }
  .p-sec01-wrap.wrap--02 {
    margin-top: 4.2666666667vw;
  }
  .p-sec01-img02 {
    width: 78.6666666667vw;
    aspect-ratio: 295/243;
  }
  .p-sec01-box02 {
    margin-top: 4.5333333333vw;
  }
  .p-sec01-wrapper.wrapper--03 {
    width: 100%;
  }
  .p-sec01-box03 {
    margin-top: 4.5333333333vw;
  }
}
/* p-sec02
---------------------------------------------------------------------------- */
.p-sec02 {
  padding-bottom: 7.2rem;
}

.p-sec02-txt {
  font-size: 1.6rem;
  line-height: 1.625;
  letter-spacing: 0.04em;
  font-weight: 500;
}

.p-sec02-container {
  margin-top: 4rem;
  padding: 4rem 8rem;
  background-color: #EEF0F4;
}

.p-sec02-txt01 {
  font-size: 1.6rem;
  line-height: 1.625;
  letter-spacing: 0.04em;
  font-weight: 500;
}

.p-sec02-txt01.mt {
  margin-top: 1.7rem;
}

.p-sec02-txt02 {
  font-size: 1.4rem;
  line-height: 1.6428571429;
  letter-spacing: 0.04em;
  font-weight: 500;
  color: #898989;
  text-align: right;
  margin-top: 2rem;
}

.p-sec02-wrapper {
  border: 0.2rem solid #D6DAE2;
  padding: 2.2rem 8rem 3.5rem;
  margin-top: 4rem;
}

.p-sec02-subTitle {
  font-size: 2.2rem;
  line-height: 1.7727272727;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #062551;
  text-align: center;
  padding-bottom: 1.5rem;
  border-bottom: 0.2rem solid #D6DAE2;
}

.p-sec02-wrap {
  margin-top: 3rem;
  display: flex;
  justify-content: center;
}

.p-sec02-boxText01 {
  font-size: 1.6rem;
  line-height: 1.625;
  letter-spacing: 0.04em;
  font-weight: 500;
}

.p-sec02-boxText01 span {
  font-size: 1.8rem;
  line-height: 1.4444444444;
  letter-spacing: 0.04em;
  font-weight: 700;
}

.p-sec02-box:nth-of-type(2) {
  margin-left: 9.2rem;
}

.p-sec02-boxText02 {
  font-size: 1.6rem;
  line-height: 1.625;
  letter-spacing: 0.04em;
  font-weight: 700;
}

.p-sec02-boxText02 span {
  font-size: 1.4rem;
  line-height: 1.8571428571;
  letter-spacing: 0.04em;
  font-weight: 500;
  color: #898989;
}

@media screen and (max-width: 767px) {
  .p-sec02 {
    padding-bottom: 10.1333333333vw;
  }
  .p-sec02-txt {
    font-size: 4vw;
    line-height: 1.6;
  }
  .p-sec02-container {
    margin-top: 5.3333333333vw;
    padding: 4.5333333333vw 6.6666666667vw;
    background-color: #EEF0F4;
  }
  .p-sec02-txt01 {
    font-size: 4vw;
    line-height: 1.6;
    letter-spacing: 0.02em;
  }
  .p-sec02-txt01.mt {
    margin-top: 3.4666666667vw;
  }
  .p-sec02-txt02 {
    font-size: 3.7333333333vw;
    margin-top: 3.4666666667vw;
    line-height: 1.7;
    letter-spacing: 0.02em;
  }
  .p-sec02-wrapper {
    padding: 4.5333333333vw 6.1333333333vw 4vw;
    margin-top: 4.8vw;
  }
  .p-sec02-subTitle {
    font-size: 4.8vw;
    letter-spacing: normal;
    padding-bottom: 2.9333333333vw;
  }
  .p-sec02-wrap {
    margin-top: 4vw;
    display: block;
  }
  .p-sec02-boxText01 {
    font-size: 3.7333333333vw;
    line-height: 1.7;
  }
  .p-sec02-boxText01 span {
    font-size: 4vw;
  }
  .p-sec02-box:nth-of-type(2) {
    margin-left: initial;
    margin-top: 2.9333333333vw;
  }
  .p-sec02-boxText02 {
    font-size: 4vw;
    line-height: 1.7;
  }
  .p-sec02-boxText02 span {
    font-size: 3.7333333333vw;
  }
}
/* p-sec03
---------------------------------------------------------------------------- */
.p-sec03 {
  padding-bottom: 7.7rem;
}

.p-sec03-block {
  margin-top: 3.8rem;
}

.p-sec03-block:first-of-type {
  margin-top: initial;
}

.p-sec03-subTitle {
  margin-bottom: 1.5rem;
  font-size: 1.8rem;
  line-height: 1.7777777778;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #062551;
}

.p-sec03-txt {
  font-size: 1.6rem;
  line-height: 1.625;
  letter-spacing: 0.04em;
  font-weight: 500;
}

.p-sec03-txt.indent {
  padding-left: 1.7em;
  text-indent: -1.7em;
}

.p-sec03-txt.indent01 {
  padding-left: 1em;
  text-indent: -1em;
}

.p-sec03-txt.mt {
  margin-top: 1.4rem;
}

.p-sec03-txt.mtLarge {
  margin-top: 4rem;
}

.p-sec03-blockBox {
  margin-top: 1.2rem;
  margin-bottom: 3.7rem;
  padding-left: 8rem;
}

.p-sec03-blockBox.blockBox--01 {
  margin-bottom: 1.2rem;
}

.p-sec03-container {
  display: flex;
  margin-top: 4rem;
}

.p-sec03-wrapper {
  padding: 2.4rem 4rem;
  border: 0.2rem solid #D6DAE2;
  width: 48.3333333333%;
}

.p-sec03-wrapper:nth-child(2) {
  margin-left: 3.3333333333%;
}

.p-sec03-read {
  font-size: 2.2rem;
  line-height: 1.7727272727;
  letter-spacing: 0.04em;
  font-weight: 700;
  text-align: center;
  color: #062551;
  padding-bottom: 1.5rem;
  border-bottom: 0.2rem solid #D6DAE2;
}

.p-sec03-items {
  margin-top: 2.7rem;
}

.p-sec03-items.items--01 {
  margin-top: initial;
}

.p-sec03-item {
  display: flex;
}

.p-sec03-itemLeft {
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0.04em;
  font-weight: 700;
}

.p-sec03-itemLeft.itemLeft--01 {
  width: 15.7258064516%;
}

.p-sec03-itemLeft.itemLeft--02 {
  width: 35.4838709677%;
}

.p-sec03-itemRight {
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0.04em;
  font-weight: 500;
}

.p-sec03-itemRight.itemRight--01 {
  width: 84.2741935484%;
}

.p-sec03-itemRight.itemRight--02 {
  width: 64.5161290323%;
}

@media screen and (max-width: 767px) {
  .p-sec03 {
    padding-bottom: 9.6vw;
  }
  .p-sec03-block {
    margin-top: 4.8vw;
  }
  .p-sec03-subTitle {
    margin-bottom: 3.4666666667vw;
    font-size: 4.2666666667vw;
    line-height: 1.6;
  }
  .p-sec03-txt {
    font-size: 4vw;
    line-height: 1.6;
  }
  .p-sec03-txt.mt {
    margin-top: 3.2vw;
  }
  .p-sec03-txt.mtLarge {
    margin-top: 5.3333333333vw;
  }
  .p-sec03-blockBox {
    margin-top: 4.2666666667vw;
    margin-bottom: 4.2666666667vw;
    padding-left: 6.6666666667vw;
  }
  .p-sec03-blockBox.blockBox--01 {
    margin-top: 3.4666666667vw;
    margin-bottom: 3.7333333333vw;
  }
  .p-sec03-container {
    display: block;
    margin-top: 5.3333333333vw;
  }
  .p-sec03-wrapper {
    padding: 5.3333333333vw 6.1333333333vw 3.4666666667vw;
    width: 100%;
  }
  .p-sec03-wrapper:nth-child(2) {
    margin-left: initial;
    margin-top: 5.3333333333vw;
  }
  .p-sec03-wrapper.wrapper--01 {
    padding: 3.4666666667vw 4.8vw;
  }
  .p-sec03-read {
    font-size: 4.8vw;
    padding-bottom: 2.4vw;
    line-height: 1.45;
  }
  .p-sec03-items {
    margin-top: 3.2vw;
  }
  .p-sec03-itemLeft {
    font-size: 4vw;
  }
  .p-sec03-itemLeft.itemLeft--01 {
    width: 25.0859106529%;
  }
  .p-sec03-itemLeft.itemLeft--02 {
    width: 35.7388316151%;
  }
  .p-sec03-itemRight {
    font-size: 4vw;
    line-height: 2;
  }
  .p-sec03-itemRight.itemRight--01 {
    width: 74.9140893471%;
  }
  .p-sec03-itemRight.itemRight--02 {
    width: 64.2611683849%;
  }
}
/* p-sec04
---------------------------------------------------------------------------- */
.p-sec04 {
  padding-bottom: 7.4rem;
}

.p-sec04-block {
  margin-top: 2.5rem;
}

.p-sec04-txt {
  font-size: 1.6rem;
  line-height: 1.625;
  letter-spacing: 0.04em;
  font-weight: 500;
}

.p-sec04-txt.indent01 {
  padding-left: 1em;
  text-indent: -1em;
}

.p-sec04-txtRight {
  font-size: 1.4rem;
  line-height: 1.6428571429;
  letter-spacing: 0.04em;
  font-weight: 500;
  color: #898989;
  text-align: right;
  margin-top: 1.7rem;
}

@media screen and (max-width: 767px) {
  .p-sec04 {
    padding-bottom: 9.6vw;
  }
  .p-sec04-block {
    margin-top: 6.1333333333vw;
  }
  .p-sec04-txt {
    font-size: 4vw;
    line-height: 1.6;
  }
  .p-sec04-txtRight {
    font-size: 3.7333333333vw;
    margin-top: 3.7333333333vw;
  }
}
/* p-sec05
---------------------------------------------------------------------------- */
.p-sec05-block {
  margin-top: 2.5rem;
}

.p-sec05-txt {
  font-size: 1.6rem;
  line-height: 1.625;
  letter-spacing: 0.04em;
  font-weight: 500;
}

.p-sec05-txt.indent01 {
  padding-left: 1em;
  text-indent: -1em;
}

.p-sec05-txtRight {
  font-size: 1.4rem;
  line-height: 1.6428571429;
  letter-spacing: 0.04em;
  font-weight: 500;
  color: #898989;
  text-align: right;
  margin-top: 1.7rem;
}

@media screen and (max-width: 767px) {
  .p-sec05-block {
    margin-top: 5.8666666667vw;
  }
  .p-sec05-txt {
    font-size: 4vw;
    line-height: 1.6;
  }
  .p-sec05-txtRight {
    font-size: 3.7333333333vw;
    margin-top: 3.4666666667vw;
  }
}
