@charset "utf-8";

/* component.css */
.icon-mail {
  width: 0.78125rem !important;
  height:auto !important;
  aspect-ratio: 12.5/10;
}

.icon-newtab {
  width: 0.78125rem !important;
  height:auto !important;
  aspect-ratio: 12.5/10;
}

.icon-arrow {
  width: 0.625rem !important;
  height:auto !important;
  aspect-ratio: 10/10;
}

.c-btn {
  min-width: 13.75rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background-color: #173491;
  color: #ffffff;
  font-size: 0.875rem;
  padding: 0.25rem 0.25rem 0.25rem 1.25rem;
  border-radius: 0.3125rem;
}
.c-btn .c-btn__icon {
  display: grid;
  place-items: center;
  background-color: #4e70b4;
  backdrop-filter: blur(30px);
  border-radius: 0.25rem;
  width: 2.5rem;
  height: 2.5rem;
  -webkit-margin-start: 2.1875rem;
          margin-inline-start: 2.1875rem;
  position: relative;
}

.c-btn .icon-mail {
  -webkit-margin-end: 0.625rem;
          margin-inline-end: 0.625rem;
}
.c-btn--blur {
  border: 1px solid #e7ecf6;
  background-color: transparent;
  backdrop-filter: blur(30px);
}
.c-btn--blur .c-btn__icon {
  background-color: #e7ecf6;
}

.c-btn--blur p {
  color: #ffffff;
}

.c-btn--clear {
  background-color: rgba(24, 73, 165, 0.0823529412);
  color: #1849a5;
}
.c-btn--clear .c-btn__icon {
  background-color: #4e70b4;
}

.c-btn--white {
  background-color: #e7ecf6;
  color: #1849a5;
}
.c-btn--white .c-btn__icon {
  background-color: #4e70b4;
}

.c-section__ttl--en {
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
  font-size: 1.125rem;
  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.5rem;
     -moz-column-gap: 0.5rem;
          column-gap: 0.5rem;
}
.c-section__ttl--en::before {
  content: "";
  background: url("https://cross-estate.co.jp/system_panel/uploads/images/icon-ttl.png") no-repeat center/contain;
  -webkit-column-gap: 0.5rem;
     -moz-column-gap: 0.5rem;
          column-gap: 0.5rem;
  width: 0.9375rem;
  height: 0.46875rem;
}
.c-section__ttl--ja {
  -webkit-margin-before: 1.25rem;
          margin-block-start: 1.25rem;
  font-size: 1.5rem;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .c-section__ttl--ja {
    font-size: 2rem;
    line-height: 3.125rem;
  }
}

.c-section__ttl--en.c-section__ttl--white {
  color: #ffffff;
}
.c-section__ttl--en.c-section__ttl--white::before {
  content: "";
  background: url("https://cross-estate.co.jp/system_panel/uploads/images/icon-ttl_white.png") no-repeat center/contain;
  -webkit-column-gap: 0.5rem;
     -moz-column-gap: 0.5rem;
          column-gap: 0.5rem;
  width: 0.9375rem;
  height: 0.46875rem;
}

.c-section__ttl--ja.c-section__ttl--white {
  color: #ffffff;
}

.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;
}
@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;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.c-media__img {
  aspect-ratio: 498/430;
  width: 100%;
  border-radius: 0.3125rem;
}
@media (min-width: 768px) {
  .c-media__img {
    width: 41.5%;
  }
}
.c-media__img img {
  border-radius: inherit;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  height: 100%;
}

.c-media__info {
  -webkit-padding-before: 7.5rem;
          padding-block-start: 7.5rem;
  width: 100%;
}
@media (min-width: 768px) {
  .c-media__info {
    width: 48.3333333333%;
    -webkit-padding-before: 4.375rem;
            padding-block-start: 4.375rem;
  }
}

.c-media__text {
  -webkit-margin-before: 2.5rem;
          margin-block-start: 2.5rem;
  font-size: 0.875rem;
  line-height: 1.875rem;
}

.c-media__text + .c-media__text {
  -webkit-margin-before: 1.875rem;
          margin-block-start: 1.875rem;
}
@media (min-width: 768px) {
  .c-media__text + .c-media__text {
    -webkit-nbsp-mode: 4.375rem;
  }
}

.c-stat-card__item {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  color: #ffffff;
  padding-inline: 1.875rem;
  padding-block: 2.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.c-stat-card__item:first-child {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
@media (min-width: 768px) {
  .c-stat-card__item:first-child {
    border-top: none;
  }
}
@media (min-width: 768px) {
  .c-stat-card__item {
    width: 33%;
    border-right: 1px solid rgba(255, 255, 255, 0.2);
    padding-block: unset;
    margin-block: 2.5rem;
  }
}

/* 右端（3の倍数） */
@media (min-width: 768px) {
  .c-stat-card__item:nth-child(3n) {
    border-right: none;
  }
}

/* 最下段（最後の3つ） */
@media (min-width: 768px) {
  .c-stat-card__item:nth-last-child(-n+3) {
    border-bottom: none;
  }
}

.c-stat-card__item-ttl {
  font-size: 1rem;
}

.c-stat-card__item-data {
  -webkit-margin-before: 1.875rem;
          margin-block-start: 1.875rem;
  -ms-flex-item-align: end;
      align-self: flex-end;
  font-size: 1.5rem;
  font-weight: 600;
}
.c-stat-card__item-data span {
  -webkit-margin-end: 0.625rem;
          margin-inline-end: 0.625rem;
  font-size: 5.5rem;
  line-height: 1;
  font-family: "Montserrat", sans-serif;
  color: #4a82d1 !important;
  text-shadow: rgb(255, 255, 255) 1px 0px 0px, rgb(255, 255, 255) 0.540302px 0.841471px 0px, rgb(255, 255, 255) -0.416147px 0.909297px 0px, rgb(255, 255, 255) -0.989992px 0.14112px 0px, rgb(255, 255, 255) -0.653644px -0.756802px 0px, rgb(255, 255, 255) 0.283662px -0.958924px 0px, rgb(255, 255, 255) 0.96017px -0.279415px 0px;
}
@media (min-width: 768px) {
  .c-stat-card__item-data {
    -webkit-margin-before: 4.375rem;
            margin-block-start: 4.375rem;
  }
}

.c-stat-card__item-text {
  font-size: 0.8125rem;
  line-height: 1.625rem;
  -webkit-margin-before: 0.625rem;
          margin-block-start: 0.625rem;
}
@media (min-width: 768px) {
  .c-stat-card__item-text {
    min-height: 6.5rem;
  }
}

.c-stat-card__item--blue {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  color: #4e70b4;
  padding-inline: 1.875rem;
  padding-block: 2.5rem;
  border-bottom: 1px solid #4e70b450;
}
.c-stat-card__item--blue:first-child {
  border-top: 1px solid rgba(78, 112, 180, 0.3137254902);
}
@media (min-width: 768px) {
  .c-stat-card__item--blue:first-child {
    border-top: none;
  }
}
@media (min-width: 768px) {
  .c-stat-card__item--blue {
    width: 33%;
    border-right: 1px solid rgba(78, 112, 180, 0.3137254902);
    padding-block: unset;
    margin-block: 2.5rem;
    
  }
}

/*----------------------------------
  記事アイテム 詳細ページと共通
-----------------------------------*/
.c-info__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid rgba(23, 52, 108, 0.0823529412);
  padding: 0.9375rem 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (min-width: 768px) {
  .c-info__item {
    padding: 1.5625rem 0;
  }
}
@media (any-hover: hover) {
  .c-info__item:hover {
    opacity: 0.7;
  }
}
@media (min-width: 768px) {
  .c-info__item {
    -webkit-column-gap: 3.125rem;
       -moz-column-gap: 3.125rem;
            column-gap: 3.125rem;
  }
}

.webgene-item:first-child .c-info__item {
  border-top: 1px solid rgba(23, 52, 108, 0.0823529412);
}

.c-info__info {
  width: 85%;
}

.c-info__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-column-gap: 1.875rem;
     -moz-column-gap: 1.875rem;
          column-gap: 1.875rem;
}

.c-info__date {
  font-size: 0.75rem;
  line-height: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-column-gap: 0.625rem;
     -moz-column-gap: 0.625rem;
          column-gap: 0.625rem;
}
.c-info__date::before {
  content: "";
  background: rgba(23, 52, 108, 0.0823529412);
  width: 0.0625rem;
}

.c-info__tag {
  background-color: #e7ecf6;
  font-size: 0.75rem;
  line-height: 1.0625rem;
  border-radius: 0.0625rem;
  padding: 0.1875rem 0.625rem;
}

.c-info__title {
  font-size: 0.9375rem;
  -webkit-margin-before: 1.375rem;
          margin-block-start: 1.375rem;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.c-info__arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: #e7ecf6;
  border-radius: 0.25rem;
  width: 2.125rem;
  height: 2.125rem;
  display: grid;
  place-items: center;
}
.c-info__arrow img {
  width: 0.5rem;
  height: auto;
  aspect-ratio: 8.5/8.9;
}

.c-info__btn {
  -webkit-margin-before: 1.875rem;
          margin-block-start: 1.875rem;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media (min-width: 768px) {
  .c-info__btn {
    -webkit-margin-before: 2.5rem;
            margin-block-start: 2.5rem;
    margin-inline: unset;
  }
}