@charset "UTF-8";
.c-dc-wrapper {
  background: #F8FBFF;
  -webkit-padding-after: 120px;
          padding-block-end: 120px;
}
@media screen and (max-width: 767px) {
  .c-dc-wrapper {
    -webkit-padding-after: 64px;
            padding-block-end: 64px;
  }
}

.c-dc-mv img {
  width: 100%;
  height: auto;
}
.c-dc-mv__pagination {
  display: flex;
  -webkit-column-gap: 12px;
     -moz-column-gap: 12px;
          column-gap: 12px;
  justify-content: center;
  -webkit-margin-before: 24px;
          margin-block-start: 24px;
}
.c-dc-mv__pagination.swiper-pagination {
  position: relative;
  bottom: auto;
}
.c-dc-mv__pagination.swiper-pagination .swiper-pagination-bullet {
  width: 32px;
  height: 8px;
  margin: 0;
  border-radius: 100px;
  background-color: #aaaaaa;
}
.c-dc-mv__pagination.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #004FB2;
}

.c-dc-overview {
  max-width: 832px;
  margin-inline: auto;
  padding-inline: 16px;
  -webkit-margin-before: 120px;
          margin-block-start: 120px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-dc-overview {
    -webkit-margin-before: 80px;
            margin-block-start: 80px;
  }
}
.c-dc-overview > *:first-child {
  -webkit-margin-before: 0;
          margin-block-start: 0;
}
.c-dc-overview__logo {
  -webkit-margin-before: 120px;
          margin-block-start: 120px;
}
.c-dc-overview__logo img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .c-dc-overview__logo {
    -webkit-margin-before: 80px;
            margin-block-start: 80px;
  }
}
.c-dc-overview__catch {
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 1.7;
  -webkit-margin-before: 72px;
          margin-block-start: 72px;
}
@media screen and (max-width: 767px) {
  .c-dc-overview__catch {
    font-size: 3.2rem;
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
  }
}
.c-dc-overview__text {
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 2;
  -webkit-margin-before: 48px;
          margin-block-start: 48px;
}
.c-dc-overview__text p + p {
  -webkit-margin-before: 40px;
          margin-block-start: 40px;
}
@media screen and (max-width: 767px) {
  .c-dc-overview__text {
    font-size: 2rem;
  }
}

.c-dc-heading {
  text-align: center;
  font-weight: bold;
  line-height: 1.6;
}
.c-dc-heading.-level2 {
  font-size: 4.8rem;
  color: #004FB2;
  background-color: #E2EEFC;
  -webkit-margin-before: 160px;
          margin-block-start: 160px;
}
@media screen and (max-width: 767px) {
  .c-dc-heading.-level2 {
    font-size: 3.2rem;
    -webkit-margin-before: 80px;
            margin-block-start: 80px;
  }
}
.c-dc-heading.-level2 .c-dc-heading__inner {
  display: inline-block;
  max-width: 1392px;
  width: 100%;
  margin-inline: auto;
  padding-block: 64px;
  padding-inline: 16px;
}
@media screen and (max-width: 767px) {
  .c-dc-heading.-level2 .c-dc-heading__inner {
    padding-block: 40px;
  }
}
.c-dc-heading.-level3 {
  font-size: 4rem;
  -webkit-padding-after: 24px;
          padding-block-end: 24px;
  border-bottom: 6px solid #004FB2;
  -webkit-margin-before: 112px;
          margin-block-start: 112px;
}
@media screen and (max-width: 767px) {
  .c-dc-heading.-level3 {
    font-size: 2.8rem;
    -webkit-padding-after: 16px;
            padding-block-end: 16px;
    -webkit-margin-before: 64px;
            margin-block-start: 64px;
  }
}
.c-dc-heading.-level4 {
  font-size: 3.2rem;
  background-color: #E2EEFC;
  -webkit-margin-before: 64px;
          margin-block-start: 64px;
  padding: 24px;
}
@media screen and (max-width: 767px) {
  .c-dc-heading.-level4 {
    font-size: 2.4rem;
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
    padding: 16px;
  }
}
.c-dc-heading.-level5 {
  font-size: 2.8rem;
  -webkit-margin-before: 56px;
          margin-block-start: 56px;
}
@media screen and (max-width: 767px) {
  .c-dc-heading.-level5 {
    font-size: 2.2rem;
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
  }
}

.c-dc-content-inner {
  max-width: 1392px;
  margin-inline: auto;
  padding-inline: 16px;
}
.c-dc-text-box {
  font-size: 1.8rem;
  line-height: 1.6;
  text-align: center;
  -webkit-margin-before: 32px;
          margin-block-start: 32px;
}
@media screen and (max-width: 767px) {
  .c-dc-text-box {
    -webkit-margin-before: 24px;
            margin-block-start: 24px;
  }
}
.c-dc-text-box p + p {
  -webkit-margin-before: 32px;
          margin-block-start: 32px;
}
@media screen and (max-width: 767px) {
  .c-dc-text-box p + p {
    -webkit-margin-before: 32px;
            margin-block-start: 32px;
  }
}
.c-dc-text-box__bold {
  font-weight: bold;
}

.c-dc-text-catch {
  font-size: 4rem;
  font-weight: bold;
  text-align: center;
  -webkit-margin-before: 64px;
          margin-block-start: 64px;
  -webkit-margin-after: 40px;
          margin-block-end: 40px;
  color: #004FB2;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .c-dc-text-catch {
    font-size: 3.2rem;
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
  }
}

.c-dc-button {
  background-color: #004FB2;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 680px;
  width: 100%;
  -webkit-margin-before: 40px;
          margin-block-start: 40px;
  margin-inline: auto;
  padding: 32px 72px;
  border-radius: 6px;
  font-size: 2.8rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  text-decoration: none;
  position: relative;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .c-dc-button {
    -webkit-margin-before: 24px;
            margin-block-start: 24px;
    padding: 24px 48px;
    font-size: 2rem;
  }
}
.c-dc-button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 24px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: inline-block;
  width: 40px;
  height: 40px;
  background-image: url(../img/icon_arrow.svg);
}
@media screen and (max-width: 767px) {
  .c-dc-button::after {
    right: 16px;
    width: 24px;
    height: 24px;
    background-size: 100% auto;
  }
}
.c-dc-button:hover {
  opacity: 0.8;
}
.c-dc-button[target=_blank]::after {
  width: 16px;
  height: 16px;
  background-image: url(../img/icon_blank_white.svg);
}
.c-dc-button[href$=".pdf"]::after {
  width: 16px;
  height: 19px;
  background-image: url(../img/icon_pdf.svg);
}

.c-dc-text-link {
  color: #004FB2;
}
.c-dc-text-link[target=_blank]::after {
  content: "";
  position: relative;
  top: 2px;
  display: inline-block;
  width: 16px;
  height: 16px;
  -webkit-margin-start: 8px;
          margin-inline-start: 8px;
  background-color: #004FB2;
  -webkit-mask-image: url(../img/icon_blank_white.svg);
  mask-image: url(../img/icon_blank_white.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}
.c-dc-text-link[href$=".pdf"]::after {
  width: 16px;
  height: 19px;
  background-image: url(../img/icon_pdf.svg);
  background-color: transparent;
  -webkit-mask-image: none;
          mask-image: none;
}
.c-dc-list {
  font-size: 1.4rem;
  -webkit-margin-before: 16px;
          margin-block-start: 16px;
  text-align: center;
}
.c-dc-list li {
  display: flex;
  justify-content: center;
  color: #666666;
  margin-bottom: 8px;
  position: relative;
  line-height: 2;
}
.c-dc-list li::before {
  content: "※";
  display: inline-block;
  width: auto;
  height: auto;
  border-radius: 0;
}
.c-dc-list li:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .c-dc-list {
    text-align: left;
  }
  .c-dc-list li {
    justify-content: flex-start;
  }
}

.c-dc-column {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  row-gap: 40px;
  -webkit-margin-before: 40px;
          margin-block-start: 40px;
}
@media screen and (max-width: 767px) {
  .c-dc-column {
    row-gap: 24px;
  }
}
.c-dc-column__item {
  max-width: 680px;
}
.c-dc-column__item a {
  transition: 0.3s;
}
.c-dc-column__item a:hover {
  opacity: 0.8;
}
.c-dc-column__item img {
  width: 100%;
  height: auto;
}
.c-dc-column.-column2 {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 40px 2.9411764706%;
}
.c-dc-column.-column2 .c-dc-column__item {
  max-width: none;
  width: 48.5294117647%;
}
@media screen and (max-width: 767px) {
  .c-dc-column.-column2 {
    flex-direction: column;
    row-gap: 24px;
  }
  .c-dc-column.-column2 .c-dc-column__item {
    width: 100%;
  }
}
.c-dc-column.-column3 {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 40px 2.9411764706%;
}
.c-dc-column.-column3 .c-dc-column__item {
  max-width: none;
  width: 31.3235294118%;
}
@media screen and (max-width: 767px) {
  .c-dc-column.-column3 {
    flex-direction: column;
    row-gap: 24px;
  }
  .c-dc-column.-column3 .c-dc-column__item {
    width: 100%;
  }
}
.c-dc-column.-column4 {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 40px 2.9411764706%;
}
.c-dc-column.-column4 .c-dc-column__item {
  max-width: none;
  width: 22.7941176471%;
}
@media screen and (max-width: 767px) {
  .c-dc-column.-column4 {
    gap: 16px;
  }
  .c-dc-column.-column4 .c-dc-column__item {
    width: calc(50% - 8px);
  }
}

.c-dc-only.-pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .c-dc-only.-pc {
    display: none;
  }
}
.c-dc-only.-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .c-dc-only.-sp {
    display: block;
  }
}