	/* 文字色クラス */
	.has-vivid-red-color {
	    color: #ff4d4d;
	}

	.has-pale-pink-color {
	    color: #ffc0cb;
	}

	.has-vivid-orange-color {
	    color: #ff9900;
	}

	.has-luminous-vivid-orange-color {
	    color: #ffb84d;
	}

	.has-vivid-yellow-color {
	    color: #ffff66;
	}

	.has-light-green-color {
	    color: #99ff66;
	}

	.has-vivid-green-color {
	    color: #33cc33;
	}

	.has-pale-cyan-color {
	    color: #a0ffff;
	}

	.has-vivid-cyan-color {
	    color: #00cccc;
	}

	.has-pale-blue-color {
	    color: #cce0ff;
	}

	.has-vivid-blue-color {
	    color: #3399ff;
	}

	.has-vivid-purple-color {
	    color: #cc33ff;
	}

	.has-vivid-pink-color {
	    color: #ff66cc;
	}

	.has-vivid-cyan-blue-color {
	    color: #00cccc;
	}

	/* 背景色（ハイライト）クラス */
	.has-vivid-red-background-color {
	    background-color: #ff4d4d;
	}

	.has-pale-pink-background-color {
	    background-color: #ffc0cb;
	}

	.has-vivid-orange-background-color {
	    background-color: #ff9900;
	}

	.has-luminous-vivid-orange-background-color {
	    background-color: #ffb84d;
	}

	.has-vivid-yellow-background-color {
	    background-color: #ffff66;
	}

	.has-light-green-background-color {
	    background-color: #99ff66;
	}

	.has-vivid-green-background-color {
	    background-color: #33cc33;
	}

	.has-pale-cyan-background-color {
	    background-color: #a0ffff;
	}

	.has-vivid-cyan-background-color {
	    background-color: #00cccc;
	}

	.has-pale-blue-background-color {
	    background-color: #cce0ff;
	}

	.has-vivid-blue-background-color {
	    background-color: #3399ff;
	}

	.has-vivid-purple-background-color {
	    background-color: #cc33ff;
	}

	.has-vivid-pink-background-color {
	    background-color: #ff66cc;
	}

	.has-vivid-cyan-blue-background-color {
	    background-color: #0693e3;
	}

	/* 必要に応じて優先度を上げる */
	.has-vivid-red-background-color,
	.has-pale-pink-background-color,
	.has-vivid-orange-background-color,
	.has-luminous-vivid-orange-background-color,
	.has-vivid-yellow-background-color,
	.has-light-green-background-color,
	.has-vivid-green-background-color,
	.has-pale-cyan-background-color,
	.has-vivid-cyan-background-color,
	.has-pale-blue-background-color,
	.has-vivid-blue-background-color,
	.has-vivid-purple-background-color,
	.has-vivid-pink-background-color {
	    background-color: inherit !important;
	    /* 上書きが必要なら削除 or 個別に !important */
	}

	.has-text-align-left {
	    text-align: left;
	}

	.has-text-align-center {
	    text-align: center;
	}

	.has-text-align-right {
	    text-align: right;
	}

	.alignleft,
	.wp-block-image.alignleft,
	.wp-block-embed.alignleft,
	.wp-block-group.alignleft {
	    float: left !important;
	    margin-right: 1.5em;
	    margin-bottom: 1em;
	    display: block;
	}

	/* 右寄せ */
	.alignright,
	.wp-block-image.alignright,
	.wp-block-embed.alignright,
	.wp-block-group.alignright {
	    float: right !important;
	    margin-left: 1.5em;
	    margin-bottom: 1em;
	    display: block;
	}

	.aligncenter,
	.wp-block-image.aligncenter {
	    display: table !important;
	    /* blockより中央寄せに強い */
	    margin-left: auto !important;
	    margin-right: auto !important;
	    text-align: center;
	    float: none !important;
	    /* floatを完全に打ち消す */
	}

	/* 中の画像自体の挙動を整える */
	.wp-block-image.aligncenter img {
	    display: block;
	    margin: 0 auto;
	    vertical-align: middle;
	}

	.breadcrumb {
	    display: flex;
	    justify-content: flex-end;
	    font-size: 0.75rem;
	    padding-bottom: 20px;
	}

	.breadcrumb__list {
	    display: flex;
	    align-items: center;
	}

	.breadcrumb__item {
	    display: flex;
	    align-items: center;
	}

	.breadcrumb__item+.breadcrumb__item::before {
	    content: "";
	    display: inline-block;
	    width: 0.75rem;
	    height: 2px;
	    margin: 0 10px;
	    background-color: var(--main-blue);
	}

	.breadcrumb__item--last {
	    width: 12ch;
	    overflow: hidden;
	    text-overflow: ellipsis;
	}

	.news-single {
	    counter-reset: h3counter;
	}

	.news-single .bg {
	    padding: 100px 0;
	}

	@media only screen and (max-width: 768px) {
	    .news-single .bg {
	        padding: min(8vw, 60px) 0;
	    }
	}

	.news-single .l-wrapper {
	    max-width: 1080px;
	    width: 100%;
	    padding: 0 20px;
	    margin-inline: auto;
	}

	@media only screen and (max-width: 768px) {
	    .news-single .l-wrapper {
	        padding: 0 min(5.33vw, 40px);
	    }
	}

	.news-single__header {
	    background-color: #fff;
	    border-radius: 40px;
	    padding: 60px;
	    position: relative;
	    margin-bottom: 1px;
	}

	@media only screen and (max-width: 768px) {
	    .news-single__header {
	        border-radius: 20px;
	        padding: 20px 10px;
	    }
	}

	.news-single__header::after {
	    content: "";
	    position: absolute;
	    bottom: -2px;
	    right: 25px;
	    left: 25px;
	    border-bottom: 4px dotted #cacaca;
	}

	@media only screen and (max-width: 768px) {
	    .news-single__header::after {
	        right: 15px;
	        left: 15px;
	    }
	}

	.news-single__member-badge {
	    position: absolute;
	    top: 30px;
	    right: 30px;
	}

	@media only screen and (max-width: 768px) {
	    .news-single__member-badge {
	        top: 10px;
	        right: 10px;
	    }
	}

	.news-single__member-badge img {
	    max-width: 110px;
	    width: 100%;
	    height: auto;
	}

	.news-single__meta {
	    display: flex;
	    align-items: center;
	    gap: 0 20px;
	}

	@media only screen and (max-width: 768px) {
	    .news-single__meta {
	        margin-top: 20px;
	        gap: 0 10px;
	    }
	}

	.news-single__category-link {
	    display: flex;
	    align-items: center;
	    justify-content: center;
	    width: 6rem;
	    height: 1.75rem;
	    border-radius: 5px;
	    font-size: 0.875rem;
	}

	.cat-info {
	    background-color: #fdd854;
	}

	.cat-recruit {
	    background-color: #f7afba;
	}

	.cat-event {
	    background-color: #89d5ee;
	}

	.news-single__date {
	    font-family: "Roboto", sans-serif;
	    font-size: 0.8125rem;
	    line-height: 1;
	    font-weight: 300;
	}

	.news-single__title {
	    padding-top: 20px;
	    font-size: 2.25rem;
	    line-height: 160%;
	    font-weight: 700;
	}

	@media only screen and (max-width: 768px) {
	    .news-single__title {
	        padding-top: 1em;
	        font-size: 1.5rem;
	    }
	}

	.news-single__content {
	    background-color: #fff;
	    border-radius: 40px;
	    padding: 100px 140px;
	    margin-top: 1px;
	}

	@media only screen and (max-width: 768px) {
	    .news-single__content {
	        border-radius: 20px;
	        padding: 20px 10px;
	    }
	}

	.has-text-align-right {
	    text-align: right;
	}

	.has-text-align-center {
	    text-align: center;
	}

	.news-single__content h2 {
	    font-size: 1.75rem;
	    line-height: 160%;
	    font-weight: 700;
	    padding-bottom: 30px;
	    margin-bottom: 40px;
	    position: relative;
	    border-bottom: 2px solid #ECEDF2
	}

	@media only screen and (max-width: 768px) {
	    .news-single__content h2 {
	        font-size: 1.5rem;
	        padding-bottom: 20px;
	        margin-bottom: 30px;
	    }
	}

	.news-single__content h2:before {
	    position: absolute;
	    bottom: -2px;
	    left: 0;
	    width: 8.75rem;
	    height: 2px;
	    content: '';
	    background: var(--main-blue);
	}

	.news-single__content h3 {
	    font-size: 1.5rem;
	    line-height: 150%;
	    font-weight: 700;
	    padding-bottom: 30px;
	}

	@media only screen and (max-width: 768px) {
	    .news-single__content h3 {
	        font-size: 1.25rem;
	        padding-bottom: 20px;
	    }
	}

	.news-single__content h4 {
	    font-size: 1.25rem;
	    line-height: 150%;
	    font-weight: 700;
	    padding-bottom: 10px;
	    margin-bottom: 30px;
	    border-bottom: 1px solid #ECEDF2;
	}

	@media only screen and (max-width: 768px) {
	    .news-single__content h4 {
	        font-size: 1.0625rem;
	        margin-bottom: 20px;
	    }
	}

	.news-single__content h5 {
	    font-size: 1.25rem;
	    line-height: 150%;
	    font-weight: 700;
	    padding-bottom: 30px;
	}

	@media only screen and (max-width: 768px) {
	    .news-single__content h5 {
	        font-size: 1.0625rem;
	        padding-bottom: 20px;
	    }
	}

	.news-single__content p {
	    font-size: 1rem;
	    line-height: 200%;
	    padding-bottom: 30px;
	}

	@media only screen and (max-width: 768px) {
	    .news-single__content p {
	        font-size: 0.9375rem;
	        padding-bottom: 20px;
	    }
	}

	.news-single__content a {
	    display: block;
	    font-size: 1rem;
	    line-height: 200%;
	    text-decoration: underline;
	}

	@media only screen and (max-width: 768px) {
	    .news-single__content a {
	        font-size: 0.9375rem;
	    }
	}

	.news-single__content .external-link {
	    position: relative;
	}

	.news-single__content .pdf-link {
	    position: relative;
	}

	.news-single__content .external-link::after {
	    content: "";
	    display: inline-block;
	    margin-left: 0.5em;
	    vertical-align: middle;
	    width: 16px;
	    height: 16px;
	    background-image: url('../img/common/icon_link.svg');
	    background-size: contain;
	    background-repeat: no-repeat;
	    background-position: center;
	    position: absolute;
	    top: 50%;
	    transform: translateY(-50%);
	}

	.news-single__content .pdf-link::after {
	    content: "";
	    display: inline-block;
	    margin-left: 0.5em;
	    vertical-align: middle;
	    width: 16px;
	    height: 16px;
	    background-image: url('../img/common/icon_pdf.svg');
	    background-size: contain;
	    background-repeat: no-repeat;
	    background-position: center;
	    position: absolute;
	    top: 50%;
	    transform: translateY(-50%);
	}

	.news-single__content ul {
	    font-size: 1rem;
	    line-height: 180%;
	    padding-left: 0.2em;
	    padding-bottom: 30px;
	}

	@media only screen and (max-width: 768px) {
	    .news-single__content ul {
	        font-size: 0.9375rem;
	        padding-left: 1.5em;
	        padding-bottom: 20px;
	    }
	}

	.news-single__content ul li {
	    padding-left: 1.2em;
	    text-indent: -1.4em;
	}

	.news-single__content ul li::before {
	    content: "•";
	    font-size: 1rem;
	    font-weight: 700;
	    color: var(--main-blue);
	    margin-right: 1rem;
	}

	@media only screen and (max-width: 768px) {

	    .news-single__content ul li {
	        padding-left: 0.5em;
	    }

	    .news-single__content ul li::before {
	        font-size: 0.9375rem;
	    }
	}

	.news-single__content ol {
	    font-size: 1rem;
	    line-height: 180%;
	    list-style: decimal;
	    padding-left: 0.8em;
	    padding-bottom: 30px;
	}

	@media only screen and (max-width: 768px) {
	    .news-single__content ol {
	        font-size: 0.9375rem;
	        padding-left: 2em;
	        padding-bottom: 20px;
	    }
	}

	.news-single__content ol li {
	    padding-left: 0.5rem;
	}

	.news-single__content ol li::marker {
	    color: var(--main-blue);
	    font-size: 1rem;
	    font-weight: 700;
	}

	@media only screen and (max-width: 768px) {
	    .news-single__content ol li {
	        padding-left: 0;
	    }

	    .news-single__content ol li::marker {
	        font-size: 0.9375rem;
	    }
	}

	.news-single__content figure {
	    padding: 20px 0;
	}

	.news-single__content figcaption {
	    font-size: 0.875rem;
	    line-height: 160%;
	    padding-top: 20px;
	}

	.news-list__title {
	    display: flex;
	    justify-content: center;
	    align-items: center;
	    height: 4.375rem;
	    background-color: #fff;
	    border-radius: 20px;
	    margin-top: 30px;
	}

	.news-list__title-link {
	    position: relative;
	    font-size: 0.9375rem;
	    line-height: 1;
	    font-weight: 500;
	    letter-spacing: 0.2em;
	}

	@media only screen and (max-width: 768px) {
	    .news-list__title-link {
	        font-size: 0.875rem;
	    }
	}

	.news-list__title-link::before {
	    position: absolute;
	    content: "";
	    width: 0;
	    height: 0;
	    border-radius: 6px;
	    border-left: 8px solid transparent;
	    border-right: 8px solid transparent;
	    border-bottom: 10px solid #1E74D4;
	    top: 50%;
	    left: -2rem;
	    transform: translateY(-50%) rotate(-90deg);
	}

	.clearfix::after {
	    content: "";
	    display: table;
	    clear: both;
	}


.wp-block-columns-is-layout-flex {
  margin: 0 !important;
}

.company-card {
  border: 2px solid #252525;
  border-radius: 20px;
  padding: 20px;
  margin-bottom: 20px;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}

.company-name {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 20px;
  text-align: center;
}

.company-info {
  border: 1px solid #eee;
  padding: 10px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.company-row {
  display: flex;
  margin-bottom: 6px;
  font-size: 1rem;
}

.company-row .label {
  width: 5rem;
}

.company-row .text {
  flex: 1;
}

.news-single__content h1 {
  font-size: 1.75rem;
  line-height: 150%;
  font-weight: 700;
  padding: 8px 20px;
  margin-bottom: 40px;
  background: #ecf3f9;
  color: var(--main-blue);
  border-left: 4px solid var(--main-blue);
}

@media only screen and (max-width: 768px) {
  .news-single__content h1 {
    font-size: 1.5rem;
    padding: 8px 10px;
    margin-bottom: 30px;
    border-left: 2px solid var(--main-blue);
  }
}


.job-card.one-column {
  display: block;
}

.job-box {
  background: #ecf3f9;
  border-radius: 25px;
  padding: 30px;
  margin-bottom: 30px;
}

.job-company {
  font-size: 1.25rem !important;
  line-height: 150%;
  font-weight: 700;
  padding-bottom: 15px !important;
  margin-bottom: 15px;
  border-bottom: 1px solid var(--blue);
}

.job-address {
  font-size: 1rem;
  padding-bottom: 0 !important;

}

.job-tel {
  font-size: 1rem;
  padding-bottom: 20px !important;

}

.job-url {
  display: block;
  font-size: 0.875rem !important;
  padding-bottom: 0 !important;
  position: relative;
}

.job-url::after {
  content: "";
  display: inline-block;
  margin-left: 0.5em;
  vertical-align: middle;
  width: 1em;
  height: 1em;
  background-image: url('../img/common/icon_link.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 50%;
  transform: translateY(-33%);
}

@media only screen and (max-width: 768px) {
  .job-box {
    border-radius: 15px;
    padding: 10px;
    margin-bottom: 20px;
  }

  .job-company {
    font-size: 1rem !important;
    padding-bottom: 10px !important;
  }

  .job-address {
    font-size: 0.9375rem !important;
    padding-bottom: 0 !important;
  }

  .job-tel {
    font-size: 0.9375rem !important;
    padding-bottom: 10px !important;
  }

}

.btn-box {
  margin-bottom: 30px;
}

.btn-text {
  font-size: 1rem !important;
  font-weight: 500;
  padding-bottom: 15px !important;
}

.btn-link {
  display: block;
  font-size: 1.25rem !important;
  font-weight: 700;
  color: var(--white);
  padding: 21px 30px 20px 40px !important;
  position: relative;
  text-decoration: none !important;
  background: var(--blue);
  border-radius: 126px;
}

.btn-link::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 1rem;
  height: 1rem;
  margin-left: 8px;
  background-image: url('../img/common/icon_link-wh.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 30px;
}

@media only screen and (max-width: 768px) {
  .btn-text {
    font-size: 0.9375rem !important;
  }

  .btn-link {
    display: block;
    font-size: 1rem !important;
    font-weight: 700;
    color: var(--white);
    padding: 10px 20px !important;
    position: relative;
    text-decoration: none !important;
    background: var(--blue);
    border-radius: 126px;
  }

  .btn-link::after {
    right: 50px;
  }
}

.notes-box {
  background: #ecf3f9;
  border-radius: 25px;
  padding: 30px;
  margin-bottom: 30px;
}

.notes-title {
  font-size: 1.25rem !important;
  line-height: 150%;
  font-weight: 700;
  padding-bottom: 15px !important;
  margin-bottom: 15px;
  border-bottom: 1px solid var(--blue);
}

.notes-text {
  font-size: 1rem;
  padding-bottom: 0 !important;

}

@media only screen and (max-width: 768px) {
  .notes-box {
    border-radius: 15px;
    padding: 10px;
    margin-bottom: 20px;
  }

  .notes-title {
    font-size: 1rem !important;
    padding-bottom: 10px !important;
  }

  .notes-text {
    font-size: 0.9375rem !important;
    padding-bottom: 0 !important;
  }
}

.img-text-wrap {
  display: flex;
  gap: 20px;
  align-items: center;
  margin-bottom: 30px;
}

.img-text-wrap .col-img {
  flex: 1;
}

.img-text-wrap .col-img img {
  width: 100%;
  height: auto;
  display: block;
}

.img-text-wrap .col-text {
  flex: 1;
}

@media (max-width: 768px) {
  .img-text-wrap {
    flex-direction: column;
    margin-bottom: 20px;
  }

  .img-text-wrap.reverse-img {
    flex-direction: column-reverse;
  }
}

.wp-block-flexible-table-block-table.t1 table {
  width: 100%!important;
  border-collapse: collapse!important;
  margin-bottom: 30px!important;
}

.wp-block-flexible-table-block-table.t1 table thead th,
.wp-block-flexible-table-block-table.t1 table thead td {
  border: 1px solid #ECEDF2!important;
}

.wp-block-flexible-table-block-table.t1 table thead th {
  background: #5890D1!important;
  color: #fff!important;
}

.wp-block-flexible-table-block-table.t1 table tbody td {
  border: 1px solid #ECEDF2!important;
}

.wp-block-flexible-table-block-table.t1 table tbody td:first-child {
  background: #ecedf3!important;
  font-weight: 500!important;
}

@media only screen and (max-width: 768px) {
  .wp-block-flexible-table-block-table.t1 table {
    margin-bottom: 20px!important;
  }

}

.wp-block-flexible-table-block-table.t2 table {
  border-collapse: collapse!important;
  width: 100%!important;
  margin-bottom: 30px!important;
}

.wp-block-flexible-table-block-table.t2 table tbody td {
  border: 1px solid #ECEDF2!important;
  padding: 20px!important;
}

.wp-block-flexible-table-block-table.t2 table tbody td:first-child {
  background-color: #5890D1 !important;
  color: #fff!important;
}

@media only screen and (max-width: 768px) {
  .wp-block-flexible-table-block-table.t2 table {
    margin-bottom: 20px!important;
  }
}