@charset "utf-8";

/*----------------------------------
  component.css
-----------------------------------*/
.c-section-ttl {
  letter-spacing: 0.05em;
  color: #2059aa;
}
.c-section-ttl .c-section-ttl__en {
  font-family: "DM Sans", sans-serif;
  font-weight: 500;
  font-size: 2.5rem;
  line-height: 1;
}
@media (min-width: 768px) {
  .c-section-ttl .c-section-ttl__en {
    font-weight: 600;
    font-size: 3.75rem;
  }
}
.c-section-ttl .c-section-ttl__ja {
  font-size: 0.875rem;
  line-height: 1;
  -webkit-margin-before: 0.3125rem;
          margin-block-start: 0.3125rem;
}
@media (min-width: 768px) {
  .c-section-ttl .c-section-ttl__ja {
    font-size: 0.9375rem;
  }
}

.c-section-ttl--white {
  border-bottom: 1px solid #ffffff8e;
  color: #ffffff;
  -webkit-padding-after: 1.25rem;
          padding-block-end: 1.25rem;
}

/*----------------------------------
  card
-----------------------------------*/
.c-card {
  display: grid;
  grid-column: span 4;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 28.75rem;
  width: 100%;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .c-card {
    grid-template-columns: 1fr 1fr;
    max-width: 100%;
  }
}

.c-card__img {
  border-radius: 0.625rem;
  position: relative;
  z-index: 1;
}
.c-card__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  height: 100%;
  border-radius: inherit;
}

@media (min-width: 768px) {
  .c-card--lg {
    grid-template-columns: 1.2fr 1fr;
    -webkit-margin-before: 2.5rem;
            margin-block-start: 2.5rem;
  }
}
.c-card--lg .c-card__head {
  -webkit-padding-after: 1.25rem;
          padding-block-end: 1.25rem;
  -webkit-margin-after: 1.25rem;
          margin-block-end: 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1882352941);
}
@media (min-width: 768px) {
  .c-card--lg .c-card__head {
    -webkit-padding-after: 1.1875rem;
            padding-block-end: 1.1875rem;
    -webkit-margin-after: 2.5rem;
            margin-block-end: 2.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1882352941);
  }
}
.c-card--lg .c-card__img {
  aspect-ratio: 560/480;
  width: 100%;
  height: 100%;
}
@media (min-width: 768px) {
  .c-card--lg .c-card__img {
    max-width: 35rem;
    width: 40.9vw;
  }
}

@media (min-width: 768px) {
  .c-card--sm {
    grid-column: span 4;
    -webkit-column-gap: 1.875rem;
       -moz-column-gap: 1.875rem;
            column-gap: 1.875rem;
    grid-template-columns: 11.5625rem 1fr;
  }
}
@media (min-width: 1024px) {
  .c-card--sm {
    grid-column: span 2;
  }
}
@media (min-width: 768px) {
  .c-card--sm .c-card__text {
    -webkit-margin-before: 1.875rem;
            margin-block-start: 1.875rem;
  }
}
.c-card--sm .c-card__img {
  aspect-ratio: 185/158;
  width: 100%;
  height: 100%;
}
@media (min-width: 768px) {
  .c-card--sm .c-card__img {
    width: 11.5625rem;
  }
}
.c-card--sm .c-card__head {
  -webkit-padding-after: 1.25rem;
          padding-block-end: 1.25rem;
  -webkit-margin-after: 1.25rem;
          margin-block-end: 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1882352941);
}
@media (min-width: 768px) {
  .c-card--sm .c-card__head {
    -webkit-padding-after: unset;
            padding-block-end: unset;
    -webkit-margin-after: unset;
            margin-block-end: unset;
    border-bottom: unset;
  }
}

.c-card__info {
  -webkit-margin-before: 1.875rem;
          margin-block-start: 1.875rem;
}
@media (min-width: 768px) {
  .c-card__info {
    -webkit-margin-before: unset;
            margin-block-start: unset;
  }
}

.c-card__head {
  color: #ffffff;
}

.c-card__head-en {
  font-family: "DM Sans", sans-serif;
  font-size: 0.8125rem;
}
@media (min-width: 768px) {
  .c-card__head-en {
    font-size: 1rem;
  }
}

.c-card__head-ja {
  font-size: 1.25rem;
  font-weight: 600;
  -webkit-margin-before: 0.75rem;
          margin-block-start: 0.75rem;
}
@media (min-width: 768px) {
  .c-card__head-ja {
    font-size: 1.625rem;
  }
}
.c-card__head-ja span {
  font-size: 0.75rem;
}
@media (min-width: 768px) {
  .c-card__head-ja span {
    font-size: 0.9375rem;
  }
}

.c-card__text {
  color: #ffffff;
  font-size: 0.875rem;
  line-height: 2;
}
@media (min-width: 768px) {
  .c-card__text {
    font-size: 0.9375rem;
  }
}

.c-card__text + .c-card__text {
  -webkit-margin-before: 2.5rem;
          margin-block-start: 2.5rem;
}

/*----------------------------------
  title
-----------------------------------*/
.c-section__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.9375rem;
     -moz-column-gap: 0.9375rem;
          column-gap: 0.9375rem;
  border-top: 2px solid transparent;
  -webkit-padding-before: 2.5rem;
          padding-block-start: 2.5rem;
  -o-border-image: linear-gradient(to right, #2059aa 0%, #2059aa 7%, #ffffff 7%, #ffffff 10%, #e0e0e0 10%, #e0e0e0 100%) 1;
     border-image: -webkit-gradient(linear, left top, right top, from(#2059aa), color-stop(7%, #2059aa), color-stop(7%, #ffffff), color-stop(10%, #ffffff), color-stop(10%, #e0e0e0), to(#e0e0e0)) 1;
     border-image: linear-gradient(to right, #2059aa 0%, #2059aa 7%, #ffffff 7%, #ffffff 10%, #e0e0e0 10%, #e0e0e0 100%) 1;
}

.c-section__ttl-ja {
  color: #333;
  font-size: max(1.625rem, 20.8px);
}
@media (min-width: 0px) {
  .c-section__ttl-ja {
    font-size: 1.625rem;
  }
}
.c-section__ttl-ja {
  font-weight: 700;
  line-height: 1.5384615385;
}

.c-section__ttl-en {
  font-family: "DM Sans", sans-serif;
  font-size: max(0.875rem, 11.2px);
}
@media (min-width: 0px) {
  .c-section__ttl-en {
    font-size: 0.875rem;
  }
}
.c-section__ttl-en {
  font-weight: 500;
  line-height: 0.7142857143;
  color: #2059aa;
}

.c-section__ttl--bg {
  background-color: #e2e7f5;
  padding: 0.625rem 1.5625rem;
  border-top: none;
}

/*----------------------------------
  c-media
-----------------------------------*/
.c-media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-block: 1.875rem;
  row-gap: 1.875rem;
  border-bottom: 1px solid #e0e0e0;
}
@media (min-width: 768px) {
  .c-media {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-block: 3.125rem;
    -webkit-column-gap: 3.4375rem;
       -moz-column-gap: 3.4375rem;
            column-gap: 3.4375rem;
  }
}
.c-media:last-child {
  border-bottom: none;
}

.c-media__img {
  aspect-ratio: 290/248;
  border-radius: 0.625rem;
  width: 100%;
  overflow: hidden;
}
@media (min-width: 768px) {
  .c-media__img {
    aspect-ratio: 290/248;
  }
}
@media (min-width: 1024px) {
  .c-media__img {
    aspect-ratio: 290/248;
    width: 18.125rem;
  }
}
.c-media__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  height: 100%;
}

.c-media__info {
  width: 100%;
}
@media (min-width: 768px) {
  .c-media__info {
    max-width: 32.5625rem;
  }
}

.c-media__ttl {
  display: grid;
  row-gap: 0.5rem;
}
@media (min-width: 768px) {
  .c-media__ttl {
    row-gap: 0.9375rem;
  }
}

.c-media__ttl-en {
  color: #3b4bd2;
  font-family: "DM Sans", sans-serif;
  font-size: max(0.8125rem, 10.4px);
}
@media (min-width: 0px) {
  .c-media__ttl-en {
    font-size: 0.8125rem;
  }
}
.c-media__ttl-en {
  font-weight: 500;
  line-height: 0.7692307692;
}
@media (min-width: 1024px) {
  .c-media__ttl-en {
    font-size: max(1rem, 12.8px);
    font-weight: 500;
    line-height: 0.625;
  }
}
@media (min-width: 1024px) and (min-width: 0px) {
  .c-media__ttl-en {
    font-size: 1rem;
  }
}

.c-media__ttl-ja {
  font-size: max(1.125rem, 14.4px);
}
@media (min-width: 0px) {
  .c-media__ttl-ja {
    font-size: 1.125rem;
  }
}
.c-media__ttl-ja {
  font-weight: 700;
  line-height: 1.5555555556;
  letter-spacing: 0.0722222222em;
}
@media (min-width: 768px) {
  .c-media__ttl-ja {
    font-size: max(1.375rem, 17.6px);
    font-weight: 700;
    line-height: 0.9090909091;
    letter-spacing: 0.08em;
  }
}
@media (min-width: 768px) and (min-width: 0px) {
  .c-media__ttl-ja {
    font-size: 1.375rem;
  }
}

.c-media__ttl-ja span {
  font-size: 1.125rem;
}	

.c-media__text {
  -webkit-margin-before: 0.9375rem;
          margin-block-start: 0.9375rem;
  font-size: max(0.875rem, 11.2px);
}
@media (min-width: 0px) {
  .c-media__text {
    font-size: 0.875rem;
  }
}
.c-media__text {
  font-weight: 500;
  line-height: 2.1428571429;
  letter-spacing: 0.0321428571em;
}
@media (min-width: 768px) {
  .c-media__text {
    font-size: max(0.9375rem, 12px);
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.03em;
    -webkit-margin-before: 1.5625rem;
            margin-block-start: 1.5625rem;
  }
}
@media (min-width: 768px) and (min-width: 0px) {
  .c-media__text {
    font-size: 0.9375rem;
  }
}

/*----------------------------------
  c-media-stack
-----------------------------------*/
.c-media-stack {
  border-bottom: 1px solid #e0e0e0;
  -webkit-padding-after: 1.875rem;
  padding-block-end: 1.875rem;
}

@media (min-width: 768px) {
  .c-media-stack {
    border: none;
    border-bottom: none;
  }
}

.c-media-stack:last-child {
  border-bottom: none;
}

.c-media-stack__img {
  border-radius: 0.625rem;
  overflow: hidden;
  width: 100%;
}

@media (min-width: 768px) {
  .c-media-stack__img {
    aspect-ratio: 270/220;
  }
}

.c-media-stack__img img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  height: 100%;
}

.c-media-stack__spec {
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
  display: grid;
  row-gap: 0.4375rem;
}

.c-media-stack__ttl {
  color: #333;
  font-family: "Noto Sans JP";
  font-size: max(1.125rem, 14.4px);
}

@media (min-width: 0px) {
  .c-media-stack__ttl {
    font-size: 1.125rem;
  }
}

.c-media-stack__ttl {
  font-weight: 700;
  line-height: 2.2222222222;
  -webkit-margin-before: 0.9375rem;
  margin-block-start: 0.9375rem;
}

@media (min-width: 768px) {
  .c-media-stack__ttl--lg {
    min-height: 3.375rem;
    line-height: 1.5;
  }
}

.c-media-stack__dl {
  display: grid;
  grid-template-columns: 4.6875rem 1fr;
  -webkit-column-gap: 0.3125rem;
  -moz-column-gap: 0.3125rem;
  column-gap: 0.3125rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-media-stack__dl--md {
  grid-template-columns: 5.625rem 1fr;
}

.c-media-stack__dl--lg {
  grid-template-columns: 6.875rem 1fr;
}

.c-media-stack__dt {
  color: #5c5c5c;
  font-size: max(0.8125rem, 10.4px);
      align-self: flex-start;
}

@media (min-width: 0px) {
  .c-media-stack__dt {
    font-size: 0.8125rem;
  }
}

.c-media-stack__dt {
  font-weight: 500;
  line-height: 1.5384615385;
  letter-spacing: 0.03em;
  border-radius: 5px;
  background-color: #edf3fa;
  padding: 0.1875rem 0.40625rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.c-media-stack__dd {
  color: #5c5c5c;
  font-size: max(0.8125rem, 10.4px);
}

@media (min-width: 0px) {
  .c-media-stack__dd {
    font-size: 0.8125rem;
  }
}

.c-media-stack__dd {
  font-weight: 500;
  line-height: 1.5384615385;
  letter-spacing: 0.03em;
}

.c-media-stack__comment {
  color: #5c5c5c;
  font-size: max(0.75rem, 9.6px);
}

@media (min-width: 0px) {
  .c-media-stack__comment {
    font-size: 0.75rem;
  }
}

.c-media-stack__comment {
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.03em;
}

.c-media-stack__attention {
  color: #eb0000;
  font-size: max(0.8125rem, 10.4px);
}

@media (min-width: 0px) {
  .c-media-stack__attention {
    font-size: 0.8125rem;
  }
}

.c-media-stack__attention {
  font-weight: 500;
  line-height: 1.5384615385;
  letter-spacing: 0.03em;
}

/*----------------------------------
  company
-----------------------------------*/
.c-company-section__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.9375rem;
     -moz-column-gap: 0.9375rem;
          column-gap: 0.9375rem;
  -webkit-margin-after: 1.25rem;
          margin-block-end: 1.25rem;
}

.c-company__ttl-ja {
  color: #333;
  font-size: max(1.625rem, 20.8px);
}
@media (min-width: 0px) {
  .c-company__ttl-ja {
    font-size: 1.625rem;
  }
}
.c-company__ttl-ja {
  font-weight: 700;
  line-height: 1.5384615385;
}

.c-company__ttl-en {
  color: #2059aa;
  font-size: max(0.875rem, 11.2px);
}
@media (min-width: 0px) {
  .c-company__ttl-en {
    font-size: 0.875rem;
  }
}
.c-company__ttl-en {
  font-weight: 500;
  line-height: 0.7142857143;
  font-family: "DM Sans", sans-serif;
}