@charset "UTF-8";
/*
|---------------------------------------------------------------
| ec-connector-2025 Column css
|---------------------------------------------------------------
*/
.footerTop__services {
  display: block;
}

.bg-light {
  background-color: var(--ecc-light-color) !important;
}

.blog-category {
  display: inline-block;
  color: inherit;
  font-size: 10px;
  line-height: 1.5;
  padding: 0em 0.5em;
  font-weight: 500;
  border: 1px solid currentColor;
  border-radius: 1.5em;
  overflow: hidden;
  text-decoration: none !important;
}
.blog-category[href] {
  transition: all 0.25s;
}
.blog-category[href]:hover {
  color: #ffffff;
  background-color: #004688;
  border-color: #004688;
  opacity: 1;
}
@media (min-width: 750.02px) {
  .blog-category {
    font-size: 14px;
    line-height: 1.5;
    padding: 0.25em 0.5em;
  }
}

/*
 * Section
------------------------------------------------*/
.blog-section {
  display: block;
  width: 100%;
  padding: clamp(25px, 3.33vw, 50px) 0;
}
.blog-section__header {
  display: block;
  width: 100%;
  margin: 0 0 clamp(30px, 4vw, 40px);
}
.blog-section__body {
  display: block;
  width: 100%;
}

.blog-section-title {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(18px, 2.4vw, 28px);
  font-weight: 700;
  text-align: center;
}
.blog-section-title::before, .blog-section-title::after {
  content: "";
  display: block;
  width: 1em;
  height: 1px;
  flex-shrink: 0;
  background-color: currentColor;
}
.blog-section-title::before {
  margin-right: 1em;
}
.blog-section-title::after {
  margin-left: 1em;
}
.blog-section-title__text {
  display: inline-flex;
  justify-content: center;
  align-items: baseline;
  flex-wrap: wrap;
}

/*
 * Category & Tag
------------------------------------------------*/
.blog-term {
  width: 100%;
  display: flex;
  align-items: center;
  font-size: 10px;
  font-weight: 500;
}
@media (min-width: 750.02px) {
  .blog-term {
    font-size: 14px;
  }
}
.blog-term__head {
  display: block;
  width: auto;
  flex: 0 0 auto;
  max-width: 100%;
  padding: 0.32em 0;
  font-weight: 700;
  margin-right: 0.5em;
}
.blog-term__head::after {
  content: "：";
}
.blog-term__body {
  display: block;
  width: 100%;
}
@media (min-width: 750.02px) {
  .blog-term__head {
    width: 7em;
    flex-shrink: 0;
  }
}
.blog-term .ecc-ct-badge {
  display: block;
  font-size: 7px;
  line-height: 1.5;
  padding: 0.32em 0.5em;
}
@media (min-width: 750.02px) {
  .blog-term .ecc-ct-badge {
    font-size: 14px;
    line-height: 1.5;
    padding: 0.32em 1em;
  }
}
.blog-term__list {
  list-style: none;
  padding-left: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25em 1em;
}
@media (min-width: 750.02px) {
  .blog-term__list {
    gap: 0.5em 1em;
  }
}
.blog-term__list__item {
  display: block;
}

.blog-heading-category .ecc-ct-badge {
  color: var(--ecc-body-color);
  background: #ffffff;
}
@media (max-width: 750px) {
  .blog-heading-category .ecc-ct-badge {
    outline: 1px solid #000000;
    outline-offset: -1px;
  }
}

/*
 * Search
------------------------------------------------*/
.blog-search {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-gap: 40px;
}
.blog-search .blog-term {
  font-size: 1em;
}
@media (min-width: 750.02px) {
  .blog-search .blog-term {
    justify-content: center;
  }
}
.blog-search .blog-term__list {
  gap: 1em;
}
.blog-search__services .blog-term__list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 15px;
}
@media (min-width: 750.02px) {
  .blog-search__services .blog-term__list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
  }
  .blog-search__services .blog-term__list__item {
    flex: 0 0 180px;
    max-width: 100%;
  }
}
.blog-search__services .ecc-ct-badge {
  text-decoration: none;
  background: none;
  color: inherit;
  border: 1px solid #ffffff;
  font-size: 1em;
  color: inherit;
  background: transparent;
  font-size: 13px;
  line-height: 1.5;
  padding-top: 0.79em;
  padding-bottom: 0.79em;
}
@media (min-width: 750.02px) {
  .blog-search__services .ecc-ct-badge {
    font-size: 16px;
    line-height: 1.5;
    padding-top: 0.75em;
    padding-bottom: 0.75em;
  }
}
.blog-search__services .ecc-ct-badge.js--active {
  color: #000000;
  background-color: #ffffff;
  pointer-events: none;
}
.blog-search__tags {
  display: block;
  width: 100%;
  font-size: 13px;
}
.blog-search__terms {
  display: block;
  width: 100%;
  font-size: 13px;
}
.blog-search__terms .ecc-ct-badge {
  text-decoration: none;
  background: none;
  color: inherit;
  border: 1px solid currentColor;
  font-size: 1em;
}

.blog-search-form {
  width: 100%;
  display: flex;
  align-items: center;
  border-radius: 25px;
  padding: 0 1.5em;
  background-color: #ffffff;
  /* border: 2px solid #000000; */
  border: 2px solid currentColor;
}
.blog-search-form__input {
  display: block;
  width: 100%;
  flex-grow: 1;
  flex-basis: 0;
  font-weight: 500;
}
.blog-search-form__input input {
  display: block;
  width: 100%;
  font-size: 13px;
  line-height: 1.5;
  padding: 0.79em 0;
}
@media (min-width: 750.02px) {
  .blog-search-form__input input {
    font-size: 16px;
    line-height: 1.5;
    padding: 0.63em 0;
  }
}
.blog-search-form__action {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 auto;
  max-width: 100%;
  font-size: 1em;
}
@media (min-width: 750.02px) {
  .blog-search-form__action {
    font-size: 20px;
  }
}

.blog-search-btn {
  color: #555555;
  font-size: 1em;
}

.blog-search-nav {
  font-size: 13px;
}
.blog-search-nav__head {
  margin: 0 1em 1em 0;
}
.blog-search-nav__head::after {
  content: "：";
}
@media (min-width: 750.02px) {
  .blog-search-nav {
    font-size: 16px;
    display: flex;
    justify-content: center;
  }
  .blog-search-nav__head {
    margin-bottom: 0;
  }
}

/*
 * entries
------------------------------------------------*/
.blog-posts {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 17.5px 20px;
}
@media (min-width: 750.02px) {
  .blog-posts {
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    grid-gap: 55px 2.67%;
  }
}

.blog-post {
  width: 100%;
  display: flex;
  flex-direction: column;
  border-radius: 5px;
  overflow: hidden;
  box-shadow: var(--ecc-box-shadow);
  color: #000000;
  background: #ffffff;
  text-decoration: none !important;
}
.blog-post__header {
  display: block;
  width: 100%;
  flex-shrink: 0;
  position: relative;
}
.blog-post__body {
  width: 100%;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  padding: 10px 10px;
}
@media (min-width: 750.02px) {
  .blog-post__body {
    padding: 25px 20px;
  }
}
.blog-post__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 345/240;
}
.blog-post__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.blog-post__title {
  display: block;
  width: 100%;
  margin: 0 0 10px;
}
.blog-post__excerpt {
  display: none;
}
.blog-post__category {
  width: 100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.25em 0.5em;
}
.blog-post .ecc-ct-badge {
  font-size: 10px;
  line-height: 1.5;
  padding: 0.13em 0.25em;
}
@media (min-width: 750.02px) {
  .blog-post .ecc-ct-badge {
    font-size: 14px;
    line-height: 1.5;
    padding: 0.32em 0.5em;
  }
}

.blog-post-title {
  display: block;
  width: 100%;
  margin: 0 0 0.25em;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.75;
}
@media (min-width: 750.02px) {
  .blog-post-title {
    font-size: 18px;
  }
}

.blog-post-category {
  display: block;
}
.blog-post-category__list {
  list-style: none;
  padding-left: 0;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
}
.blog-post-category__list__item {
  display: block;
}
.blog-post-category__list__item:nth-child(n+2) {
  display: none;
}
.blog-post-category .ecc-ct-badge {
  color: #000000;
  background-color: #e8e7e7;
  font-weight: 500;
}

.blog-post-hashtag {
  display: block;
  font-size: 10px;
}
@media (min-width: 750.02px) {
  .blog-post-hashtag {
    font-size: 14px;
  }
}
.blog-post-hashtag__list {
  list-style: none;
  padding-left: 0;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
}
.blog-post-hashtag__list__item {
  display: block;
}
.blog-post-hashtag__list__item:nth-child(n+2) {
  display: none;
}

/*
 * Archive
------------------------------------------------*/
.blog-archive {
  --ecc-container-padding: 20px;
}
.blog-archive .ecc-page__header {
  padding: 70px 0 50px;
}
@media (min-width: 750.02px) {
  .blog-archive .ecc-page__header {
    padding: 100px 0;
  }
}
.blog-archive .ecc-page__header::after {
  width: 375px;
  top: auto;
  right: -90px;
  bottom: -70px;
}
@media (min-width: 750.02px) {
  .blog-archive .ecc-page__header::after {
    width: 42.45%;
    top: auto;
    right: -100px;
    bottom: -120px;
  }
}
.blog-archive .ecc-page__body {
  --ecc-container-maxwidth: 1500px;
}

.blog-archive-heading {
  display: block;
  width: 100%;
}
.blog-archive-heading__title {
  display: block;
  width: 100%;
  margin: 0 0 25px;
}
@media (min-width: 750.02px) {
  .blog-archive-heading__title {
    margin-bottom: 25px;
  }
}
.blog-archive-heading__lead {
  display: block;
  width: 100%;
  margin: 0 0 50px;
}
@media (min-width: 750.02px) {
  .blog-archive-heading__lead {
    margin-bottom: 50px;
  }
}

/*
 * Column Article
------------------------------------------------*/
.blog-article {
  --ecc-container-padding: 20px;
}
.blog-article .ecc-page__header {
  padding: 20px 0;
  margin-bottom: 15px;
}
@media (min-width: 750.02px) {
  .blog-article .ecc-page__header {
    padding: 40px 0;
  }
}
.blog-article .ecc-page__header__breadcrumb {
  --ecc-container-maxwidth: 1500px;
  margin-bottom: 30px;
}
@media (max-width: 750px) {
  .blog-article .ecc-page__header__breadcrumb .ecc-breadcrumb {
    width: auto;
    margin-right: calc(-1 * var(--ecc-container-padding));
    overflow-x: auto;
  }
  .blog-article .ecc-page__header__breadcrumb .ecc-breadcrumb__list {
    flex-wrap: nowrap;
  }
  .blog-article .ecc-page__header__breadcrumb .ecc-breadcrumb-text {
    white-space: nowrap;
  }
}
.blog-article .ecc-page__header__heading {
  display: flex;
  align-items: center;
  min-height: 140px;
}
@media (min-width: 750.02px) {
  .blog-article .ecc-page__header__heading {
    min-height: 220px;
  }
}
@media (min-width: 750.02px) {
  .blog-article__body {
    --ecc-container-maxwidth: 940px;
  }
}
.blog-article__lead {
  margin: 0 0 40px;
}
.blog-article__meta {
  margin: 25px 0;
}
@media (min-width: 750.02px) {
  .blog-article__meta {
    margin: 35px 0;
  }
}
.blog-article__image {
  display: block;
  width: 100%;
}
.blog-article__aside {
  display: block;
  width: 100%;
  padding-top: clamp(25px, 3.33vw, 50px);
}

/*--------------- Heading ---------------*/
.blog-heading {
  display: block;
  width: 100%;
}
.blog-heading__title {
  display: block;
  width: 100%;
  margin: 0 0 15px;
}
.blog-heading__meta {
  width: 100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px 10px;
  font-size: 14px;
}
.blog-heading__meta__date {
  flex: 0 0 auto;
  max-width: 100%;
  font-size: 10px;
}
@media (min-width: 750.02px) {
  .blog-heading__meta__date {
    font-size: 14px;
  }
}

.blog-date {
  font-family: var(--ecc-font-family-en, var(--ecc-font-family-base, sans-serif));
}

.blog-heading-title {
  display: block;
  width: 100%;
  font-size: 18px;
  font-weight: 800;
  text-align: left;
  line-height: 1.75;
  font-feature-settings: "halt" 1;
}
@media (min-width: 750.02px) {
  .blog-heading-title {
    font-size: clamp(18px, 2.4vw, 36px);
  }
}

/*--------------- Main Image ---------------*/
.blog-article-mainImage {
  display: block;
  width: 100%;
  margin: 0 0 45px;
  border-radius: 10px;
  overflow: hidden;
}
.blog-article-mainImage img {
  display: block;
  width: 100%;
  height: auto;
}
@media (min-width: 750.02px) {
  .blog-article-mainImage {
    margin-bottom: 60px;
    border-radius: 20px;
  }
}

/*--------------- Meta ---------------*/
.blog-article-meta {
  width: 100%;
  display: flex;
  flex-direction: column-reverse;
}
.blog-article-meta__category {
  display: flex;
  align-items: center;
  gap: 1em;
}
.blog-article-meta__share {
  flex: 0 0 auto;
  max-width: 100%;
  margin-left: auto;
}
@media (min-width: 750.02px) {
  .blog-article-meta {
    flex-direction: row;
    align-items: center;
  }
}

.blog-article-category {
  display: block;
}
.blog-article-category .blog-category {
  display: block;
}

.blog-article-tag {
  display: block;
  font-size: 10px;
}
@media (min-width: 750.02px) {
  .blog-article-tag {
    font-size: 14px;
  }
}
.blog-article-tag__list {
  list-style: none;
  padding-left: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 1em;
}
.blog-article-tag__list__item {
  display: block;
}

/*
 * 目次
------------------------------------------------*/
.blog-article-toc {
  display: block;
  width: 100%;
  margin: 0 0 50px;
  padding: 25px 20px;
  border: 1px solid #d1cfcf;
  border-radius: 5px;
  color: #000000;
  background-color: #ffffff;
}
@media (min-width: 750.02px) {
  .blog-article-toc {
    border-width: 2px;
    padding: 40px 50px;
  }
}
.blog-article-toc:not(.js--active) {
  display: none;
}
.blog-article-toc__head {
  width: 100%;
  margin: 0 0 1em;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
}
@media (min-width: 750.02px) {
  .blog-article-toc__head {
    font-size: clamp(16px, 2.13vw, 20px);
  }
}
.blog-article-toc__head::before, .blog-article-toc__head::after {
  content: "";
  display: block;
  width: 1em;
  height: 1px;
  background-color: currentColor;
}
.blog-article-toc__body {
  font-size: 14px;
  font-weight: 500;
}
@media (min-width: 750.02px) {
  .blog-article-toc__body {
    font-size: clamp(14px, 1.87vw, 16px);
  }
}
.blog-article-toc__list {
  list-style: none;
  padding: 0;
  counter-reset: toc;
}
.blog-article-toc__list li {
  counter-increment: toc;
  padding-left: 3em;
  position: relative;
  line-height: 1.5;
}
.blog-article-toc__list li + li {
  margin-top: 0.75em;
}
.blog-article-toc__list li::before {
  content: counter(toc) ".";
  display: block;
  padding: 0 0.25em;
  font-family: var(--ecc-font-family-en, var(--ecc-font-family-base, sans-serif));
  font-size: 1.25em;
  font-weight: bold;
  line-height: 1;
  position: absolute;
  top: 0.6em;
  left: 0;
  z-index: 1;
  margin: auto;
  transform: translateY(-50%);
}
.blog-article-toc__list li a {
  color: #004688;
  text-decoration: none;
}
.blog-article-toc__list li a[href]:hover {
  text-decoration: underline;
}

/*
 * Column Article
------------------------------------------------*/
.blog-article {
  --ecc-container-padding: 20px;
  --ecc-document-font-size: 14px;
  --ecc-document-padding: 0;
}
.blog-article .ecc-page__content {
  --ecc-container-padding: 20px;
}
@media (min-width: 750.02px) {
  .blog-article {
    --ecc-document-font-size: 16px;
  }
}
.blog-article .ecc-document h2 {
  color: #004688;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.75;
  padding: 0;
}
@media (min-width: 750.02px) {
  .blog-article .ecc-document h2 {
    font-size: clamp(20px, 2.67vw, 28px);
  }
}
.blog-article .ecc-document h2::before {
  display: none;
}
.blog-article .ecc-document h3 {
  display: block;
  margin: 2em 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.75;
  border-left: 4px solid #004688;
  padding: 0 0 0 0.75em;
}
@media (min-width: 750.02px) {
  .blog-article .ecc-document h3 {
    font-size: clamp(16px, 2.13vw, 20px);
  }
}
.blog-article .ecc-document ul {
  list-style: none;
  line-height: 1.75;
}
.blog-article .ecc-document ul li {
  padding-left: 1em;
  position: relative;
}
.blog-article .ecc-document ul li::before {
  content: "";
  display: block;
  width: 10px;
  height: auto;
  aspect-ratio: 1;
  border: 3px solid #004688;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 1;
  margin: auto;
  transform: translateY(-50%);
}
