@charset "UTF-8";
:root {
  --text-color: #333333;
  --text-hover-color: rgba(51, 51, 51, 0.5);
  --text-link-color: #1767b5;
  --text-link-hover-color: rgba(23, 103, 181, 0.6);
  --text-state-error: #cf1a1a;
  --text-state-success: #1767b5;
  --background-color: #ffffff;
}

/*
 * 目次
 *
 * button-primary
 * is-style-blue-circle
 */
/*--------------------------------------------------------------
>>> button-primary
--------------------------------------------------------------*/
/*--------------------------------------------------------------
>>> is-style-blue-circle
--------------------------------------------------------------*/
:root {
  --font-size-h1: 2.5rem;
  --font-size-h2: 2rem;
  --font-size-h3: 1.5rem;
  --font-size-h4: 1.25rem;
  --font-size-h5: 1.125rem;
  --font-size-h6: 1rem;
  --font-size-p: 0.875rem;
  --font-size-p-read-more-link: 1rem;
  --font-size-large: 1rem;
  --font-size-medium: 0.875rem;
  --font-size-small: 0.75rem;
  --font-size-h2-alt: 1.5rem;
  --font-size-h3-alt: 1.25rem;
}
@media screen and (min-width: 1025px) {
  :root {
    --font-size-h1: 3rem;
    --font-size-h2: 2.5rem;
    --font-size-h3: 2rem;
    --font-size-h4: 1.5rem;
    --font-size-h5: 1.25rem;
    --font-size-h6: 1.125rem;
    --font-size-p: 1rem;
    --font-size-p-read-more-link: 1.125rem;
    --font-size-large: 1.125rem;
    --font-size-medium: 1rem;
    --font-size-small: 0.875rem;
    --font-size-h2-alt: 2.5rem;
    --font-size-h3-alt: 2rem;
  }
}

.single {
  --font-size-h1: 2rem;
  --font-size-h2: 1.5rem;
  --font-size-h3: 1.25rem;
  --font-size-h4: 1.125rem;
  --font-size-h5: 1.125rem;
  --font-size-h6: 1.125rem;
}
@media screen and (min-width: 1025px) {
  .single {
    --font-size-h1: 2.5rem;
    --font-size-h2: 2rem;
    --font-size-h3: 1.5rem;
    --font-size-h4: 1.25rem;
    --font-size-h5: 1.125rem;
    --font-size-h6: 1.125rem;
  }
}

.home {
  --font-size-p-read-more-link: 1rem;
}
@media screen and (min-width: 1025px) {
  .home {
    --font-size-p-read-more-link: 1.25rem;
  }
}

.privacy-policy {
  --font-size-h2: 1.5rem;
  --font-size-h3: 1.25rem;
  --font-size-h4: 1.125rem;
  --font-size-h5: 1.125rem;
  --font-size-h6: 1.125rem;
}
@media screen and (min-width: 1025px) {
  .privacy-policy {
    --font-size-h2: 2rem;
    --font-size-h3: 1.5rem;
    --font-size-h4: 1.25rem;
    --font-size-h5: 1.125rem;
    --font-size-h6: 1.125rem;
  }
}

:root {
  --font-family: "Roboto", "Noto Sans JP", sans-serif;
}

.philosophy-message h2.wp-block-heading {
  margin-block-end: 0;
  font-size: var(--font-size-h2-alt);
}
.philosophy-message .wp-block-media-text {
  margin-block-start: 32px;
  row-gap: 32px;
}
@media screen and (min-width: 1025px) {
  .philosophy-message .wp-block-media-text {
    margin-block-start: 40px;
    align-items: start;
    column-gap: 32px;
    grid-template-columns: 6.66fr 4.14fr;
  }
}
@media screen and (min-width: 1248px) {
  .philosophy-message .wp-block-media-text {
    column-gap: 120px;
  }
}
.philosophy-message .wp-block-media-text > .wp-block-media-text__media img {
  margin-inline: auto;
  width: 100%;
  max-width: 400px;
}
@media screen and (min-width: 1025px) {
  .philosophy-message .wp-block-media-text > .wp-block-media-text__media img {
    max-width: none;
  }
}
.philosophy-message .wp-block-media-text > .wp-block-media-text__content {
  padding: 0;
  height: 100%;
}
.philosophy-message .wp-block-media-text > .wp-block-media-text__content p {
  margin-block-end: 0;
}
.philosophy-message .wp-block-media-text > .wp-block-media-text__content p + p:not(.philosophy-message__byline) {
  margin-block-start: 1.6rem;
}
.philosophy-message .wp-block-media-text > .wp-block-media-text__content p.is-style-intro {
  margin-block-end: 24px;
}
@media screen and (max-width: 1024px) {
  .philosophy-message .wp-block-media-text > .wp-block-media-text__content p.is-style-intro {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 1025px) {
  .philosophy-message .wp-block-media-text > .wp-block-media-text__content p.is-style-intro {
    margin-block-end: 40px;
  }
}
.philosophy-message .wp-block-media-text > .wp-block-media-text__content p.is-style-intro + p {
  margin-block-start: 0;
}
.philosophy-message .wp-block-media-text > .wp-block-media-text__content p.philosophy-message__byline {
  margin-block-start: 48px;
}
@media screen and (min-width: 1025px) {
  .philosophy-message .wp-block-media-text > .wp-block-media-text__content p.philosophy-message__byline {
    margin-block-start: 64px;
  }
}
@media screen and (max-width: 768px) {
  .philosophy-message .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__media {
    grid-row: 1;
  }
  .philosophy-message .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__content {
    grid-row: 2;
  }
}

.philosophy-values h2.wp-block-heading {
  margin-block-end: 0;
  font-size: var(--font-size-h2-alt);
}
.philosophy-values .wp-block-image {
  margin-block-end: 0;
  margin-block-start: 32px;
}
@media screen and (min-width: 1025px) {
  .philosophy-values .wp-block-image {
    margin-block-start: 40px;
  }
}
.philosophy-values .wp-block-image img {
  width: 100%;
  max-width: 400px;
}
@media screen and (min-width: 1025px) {
  .philosophy-values .wp-block-image img {
    max-width: 500px;
  }
}
.philosophy-values p {
  margin-block-end: 0;
}
.philosophy-values p + p {
  margin-block-start: 1.6rem;
}
@media screen and (max-width: 1024px) {
  .philosophy-values p.is-style-intro {
    font-size: 1.25rem;
  }
}
.philosophy-values:not(:has(.is-style-intro)) p:first-of-type, .philosophy-values:has(.is-style-intro) p.is-style-intro {
  margin-block-start: 32px;
}
@media screen and (min-width: 1025px) {
  .philosophy-values:not(:has(.is-style-intro)) p:first-of-type, .philosophy-values:has(.is-style-intro) p.is-style-intro {
    margin-block-start: 40px;
  }
}
.philosophy-values:has(.is-style-intro) p.is-style-intro + p {
  margin-block-start: 24px;
}

.overview-table {
  padding-block: 64px;
}
@media screen and (min-width: 1025px) {
  .overview-table {
    padding-block: 80px;
  }
}
.overview-table.wp-block-flexible-table-block-table table tr th,
.overview-table.wp-block-flexible-table-block-table table tr td {
  padding: 12px 16px;
  display: block;
  border-width: 0;
}
.overview-table.wp-block-flexible-table-block-table table tr th {
  border-radius: 4px 4px 0 0;
}
@media screen and (min-width: 769px) {
  .overview-table.wp-block-flexible-table-block-table table {
    width: 100%;
    border: 2px solid #e7e8e9;
    border-radius: 8px;
  }
  .overview-table.wp-block-flexible-table-block-table table tr th,
  .overview-table.wp-block-flexible-table-block-table table tr td {
    padding: 24px;
    display: table-cell;
  }
  .overview-table.wp-block-flexible-table-block-table table tr th {
    border-radius: 0;
    width: 33.3333333333%;
  }
  .overview-table.wp-block-flexible-table-block-table table tr td {
    width: 66.6666666667%;
  }
  .overview-table.wp-block-flexible-table-block-table table tr:not(:first-of-type) th, .overview-table.wp-block-flexible-table-block-table table tr:not(:first-of-type) td {
    border-block-start: 1px solid #bdc0c4;
  }
  .overview-table.wp-block-flexible-table-block-table table tr:first-of-type th:first-of-type {
    border-top-left-radius: 8px;
  }
  .overview-table.wp-block-flexible-table-block-table table tr:first-of-type td:last-of-type {
    border-top-right-radius: 8px;
  }
  .overview-table.wp-block-flexible-table-block-table table tr:last-of-type th:first-of-type {
    border-bottom-left-radius: 8px;
  }
  .overview-table.wp-block-flexible-table-block-table table tr:last-of-type td:last-of-type {
    border-bottom-right-radius: 8px;
  }
}

.overview-group h2.wp-block-heading {
  margin-block-end: 0;
  font-size: var(--font-size-h2-alt);
}
.overview-group .wp-block-media-text {
  margin-block-start: 32px;
  row-gap: 16px;
}
@media screen and (min-width: 769px) {
  .overview-group .wp-block-media-text {
    margin-block-start: 40px;
    column-gap: 40px;
    grid-template-columns: 4.67fr 6.93fr;
  }
}
.overview-group .wp-block-media-text + .wp-block-media-text {
  margin-block-start: 48px;
}
@media screen and (min-width: 769px) {
  .overview-group .wp-block-media-text + .wp-block-media-text {
    margin-block-start: 48px;
  }
}
.overview-group .wp-block-media-text > .wp-block-media-text__media {
  align-self: start;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 400px;
  aspect-ratio: 3/2;
  border-radius: 8px;
  background-color: #ffffff;
}
@media screen and (min-width: 769px) {
  .overview-group .wp-block-media-text > .wp-block-media-text__media {
    max-width: none;
  }
}
.overview-group .wp-block-media-text > .wp-block-media-text__media img {
  padding-inline: 32px;
  width: 100%;
  max-height: 50px;
}
@media screen and (min-width: 769px) {
  .overview-group .wp-block-media-text > .wp-block-media-text__media img {
    max-height: 70px;
  }
}
.overview-group .wp-block-media-text > .wp-block-media-text__content {
  padding-inline: 0;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .overview-group .wp-block-media-text > .wp-block-media-text__content {
    text-align: start;
  }
}
.overview-group .wp-block-media-text > .wp-block-media-text__content .wp-block-heading {
  margin-block-end: 0;
  padding-block-end: 8px;
  font-size: var(--font-size-h3-alt);
  border-block-end: 2px solid #e7e8e9;
}
.overview-group .wp-block-media-text > .wp-block-media-text__content dl {
  margin-block-start: 16px;
  display: grid;
  row-gap: 16px;
  grid-template-columns: minmax(0, 1fr);
}
@media screen and (min-width: 769px) {
  .overview-group .wp-block-media-text > .wp-block-media-text__content dl {
    margin-block-start: 32px;
    column-gap: 24px;
    grid-template-columns: auto 1fr;
  }
}
.overview-group .wp-block-media-text > .wp-block-media-text__content dl dt {
  padding: 4px 8px;
  font-weight: 700;
  color: #ffffff;
  text-align: center;
  height: fit-content;
  border-radius: 32px;
  background-color: #1767b5;
}
@media screen and (min-width: 769px) {
  .overview-group .wp-block-media-text > .wp-block-media-text__content dl dt {
    width: 120px;
  }
}
.overview-group .wp-block-media-text > .wp-block-media-text__content p.is-style-read-more-link {
  margin-block: 16px 0;
}
@media screen and (min-width: 769px) {
  .overview-group .wp-block-media-text > .wp-block-media-text__content p.is-style-read-more-link {
    margin-block: 8px 0;
  }
}

.overview-history h2.wp-block-heading {
  margin-block-end: 0;
  font-size: var(--font-size-h2-alt);
}
.overview-history dl {
  margin-block-start: 32px;
  display: grid;
  row-gap: 16px;
  grid-template-columns: minmax(0, 1fr);
}
@media screen and (min-width: 769px) {
  .overview-history dl {
    margin-block-start: 40px;
    row-gap: 32px;
    column-gap: 40px;
    grid-template-columns: auto 1fr;
  }
}
.overview-history dl dt {
  margin-block-start: 16px;
  padding: 4px 8px;
  font-weight: 700;
  width: 100%;
  color: #ffffff;
  text-align: center;
  border-radius: 32px;
  background-color: #1767b5;
}
@media screen and (min-width: 769px) {
  .overview-history dl dt {
    margin-block-start: 0;
    width: 200px;
    height: fit-content;
  }
}
.overview-history dl dd {
  padding-block-end: 15px;
  font-weight: 700;
  text-align: center;
  border-block-end: 1px solid #e7e8e9;
}
@media screen and (min-width: 769px) {
  .overview-history dl dd {
    padding-block-end: 0;
    text-align: start;
    border: none;
  }
}

.overview-commitment h2.wp-block-heading {
  margin-block-end: 0;
  font-size: var(--font-size-h2-alt);
}
.overview-commitment .wp-block-media-text {
  margin-block-start: 32px;
  row-gap: 32px;
}
@media screen and (min-width: 769px) {
  .overview-commitment .wp-block-media-text {
    column-gap: 40px;
    grid-template-columns: 6.2fr 5fr;
  }
}
@media screen and (min-width: 1025px) {
  .overview-commitment .wp-block-media-text {
    margin-block-start: 40px;
  }
}
@media screen and (min-width: 1248px) {
  .overview-commitment .wp-block-media-text {
    column-gap: 80px;
  }
}
.overview-commitment .wp-block-media-text > .wp-block-media-text__media {
  padding: 16px 24px;
  border-radius: 8px;
  background-color: #ffffff;
}
@media screen and (min-width: 769px) {
  .overview-commitment .wp-block-media-text > .wp-block-media-text__media {
    align-self: start;
    padding: 24px;
    display: flex;
    align-items: center;
    aspect-ratio: 1/1;
  }
}
@media screen and (min-width: 1025px) {
  .overview-commitment .wp-block-media-text > .wp-block-media-text__media {
    padding: 50px;
  }
}
.overview-commitment .wp-block-media-text > .wp-block-media-text__media img {
  margin-inline: auto;
  width: 100%;
  max-width: 400px;
}
@media screen and (min-width: 769px) {
  .overview-commitment .wp-block-media-text > .wp-block-media-text__media img {
    max-width: none;
  }
}
.overview-commitment .wp-block-media-text > .wp-block-media-text__content {
  padding: 0;
  height: 100%;
}
.overview-commitment .wp-block-media-text > .wp-block-media-text__content p {
  margin-block-end: 0;
}
.overview-commitment .wp-block-media-text > .wp-block-media-text__content p + p {
  margin-block-start: 1.6rem;
}
.overview-commitment .wp-block-media-text > .wp-block-media-text__content p.is-style-intro {
  margin-block-end: 16px;
}
@media screen and (max-width: 1024px) {
  .overview-commitment .wp-block-media-text > .wp-block-media-text__content p.is-style-intro {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 1025px) {
  .overview-commitment .wp-block-media-text > .wp-block-media-text__content p.is-style-intro {
    margin-block-end: 24px;
  }
}
.overview-commitment .wp-block-media-text > .wp-block-media-text__content p.is-style-intro + p {
  margin-block-start: 0;
}
.overview-commitment .wp-block-media-text > .wp-block-media-text__content dl {
  margin-block-start: 16px;
  font-size: 0.875rem;
}
@media screen and (min-width: 769px) {
  .overview-commitment .wp-block-media-text > .wp-block-media-text__content dl {
    margin-block-start: 24px;
    font-size: 1rem;
  }
}
.overview-commitment .wp-block-media-text > .wp-block-media-text__content dl dt {
  font-weight: 700;
}
.overview-commitment .wp-block-media-text > .wp-block-media-text__content dl dt:not(:first-of-type) {
  margin-block-start: 8px;
}
.overview-commitment .wp-block-media-text > .wp-block-media-text__content dl dd {
  margin-block-start: 4px;
}

.recruit-requirements {
  display: grid;
  row-gap: 32px;
}
@media screen and (min-width: 769px) {
  .recruit-requirements {
    column-gap: 40px;
    grid-template-columns: 5.13fr 6.06fr;
  }
}
@media screen and (min-width: 1248px) {
  .recruit-requirements {
    column-gap: 80px;
  }
}
.recruit-requirements .recruit-requirements-text {
  order: 2;
}
@media screen and (min-width: 769px) {
  .recruit-requirements .recruit-requirements-text {
    order: 1;
  }
}
.recruit-requirements .recruit-requirements-text h2.wp-block-heading {
  margin-block-end: 0;
  font-size: var(--font-size-h2-alt);
}
.recruit-requirements .recruit-requirements-text h2.wp-block-heading + p {
  margin-block-start: 32px;
}
@media screen and (min-width: 1025px) {
  .recruit-requirements .recruit-requirements-text h2.wp-block-heading + p {
    margin-block-start: 40px;
  }
}
.recruit-requirements .recruit-requirements-text p {
  margin-block-end: 0;
}
.recruit-requirements .recruit-requirements-text p + p {
  margin-block-start: 1.6rem;
}
.recruit-requirements .recruit-requirements-image {
  margin-inline: auto;
  width: 100%;
  order: 1;
}
@media screen and (min-width: 769px) {
  .recruit-requirements .recruit-requirements-image {
    max-width: 606px;
    order: 2;
  }
}
.recruit-requirements .recruit-requirements-image > .wp-block-group__inner-container {
  display: grid;
  gap: 22px;
  grid-template-columns: 1.27fr 1.78fr;
}
@media screen and (min-width: 769px) {
  .recruit-requirements .recruit-requirements-image > .wp-block-group__inner-container {
    grid-template-columns: 2.36fr 3.31fr;
  }
}
@media screen and (min-width: 1025px) {
  .recruit-requirements .recruit-requirements-image > .wp-block-group__inner-container {
    gap: 40px;
  }
}
.recruit-requirements .recruit-requirements-image .wp-block-image {
  margin-block-end: 0;
}
.recruit-requirements .recruit-requirements-image .wp-block-image:nth-of-type(1) {
  grid-column: span 2;
}
.recruit-requirements .recruit-requirements-image .wp-block-image:nth-of-type(1) img {
  margin-inline-start: 6.4220183486%;
  width: 68.1957186544%;
  aspect-ratio: 223/169;
  object-fit: cover;
}
.recruit-requirements .recruit-requirements-image .wp-block-image:nth-of-type(2) img {
  width: 100%;
  aspect-ratio: 127/168;
  object-fit: cover;
}
.recruit-requirements .recruit-requirements-image .wp-block-image:nth-of-type(3) img {
  width: 100%;
  aspect-ratio: 178/113;
  object-fit: cover;
}

.recruit-job h2.wp-block-heading {
  margin-block-end: 0;
  font-size: var(--font-size-h2-alt);
}
.recruit-job .info-items {
  margin-block-start: 32px;
  row-gap: 24px;
}
@media screen and (min-width: 1025px) {
  .recruit-job .info-items {
    margin-block-start: 40px;
  }
}
.recruit-job .info-items .info-item {
  padding: 24px;
  border-radius: 8px;
  background-color: #ffffff;
}
@media screen and (min-width: 769px) {
  .recruit-job .info-items .info-item p:not(.is-style-read-more-link) {
    margin-block-start: 12px;
  }
}
.recruit-job .info-items .info-item p.is-style-read-more-link > a {
  margin-block-start: 16px;
}
@media screen and (min-width: 1025px) {
  .recruit-job .info-items .info-item p.is-style-read-more-link > a {
    margin-block-start: 32px;
  }
}
.recruit-job .info-items .info-item p.is-style-read-more-link:not(:has(> a)) {
  margin-block-start: 16px;
}
@media screen and (min-width: 769px) {
  .recruit-job .info-items .info-item p.is-style-read-more-link:not(:has(> a)) {
    margin-block-start: auto;
    padding-block-start: 21px;
  }
}
@media screen and (min-width: 1025px) {
  .recruit-job .info-items .info-item p.is-style-read-more-link:not(:has(> a)) {
    padding-block-start: 37.5px;
  }
}

.privacy-policy .entry-content .wp-block-heading {
  margin-block-end: 0;
  color: #1767b5;
}
.privacy-policy .entry-content .wp-block-heading:not(:first-child) {
  margin-block-start: 40px;
}
@media screen and (min-width: 1025px) {
  .privacy-policy .entry-content .wp-block-heading:not(:first-child) {
    margin-block-start: 48px;
  }
}
.privacy-policy .entry-content *:not(.wp-block-heading) {
  margin-block: 12px 0;
}
@media screen and (min-width: 1025px) {
  .privacy-policy .entry-content *:not(.wp-block-heading) {
    margin-block: 16px 0;
  }
}
.privacy-policy .entry-content .wp-block-list > li + li {
  margin-block-start: 0;
}
.privacy-policy .entry-content ul.wp-block-list > li::before {
  background-color: var(--text-color);
}
.privacy-policy .entry-content ol.wp-block-list > li::before {
  color: var(--text-color);
}
