@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;
}

@media screen and (min-width: 769px) {
  .top-main {
    margin-inline-start: calc(50% - 50dvw);
    width: 100dvw;
  }
}
.top-main > .wp-block-group__inner-container {
  display: grid;
}
@media screen and (min-width: 769px) {
  .top-main > .wp-block-group__inner-container {
    grid-template-columns: 0.328fr 1.112fr;
  }
}
.top-main .top-main-text {
  margin-block: 32px 0;
  font-size: 2rem;
}
@media screen and (min-width: 769px) {
  .top-main .top-main-text {
    margin-block: 0;
    margin-inline-start: 52px;
    padding-block: 20%;
    font-size: 2.25rem;
    writing-mode: vertical-rl;
    order: 1;
  }
}
@media screen and (min-width: 1025px) {
  .top-main .top-main-text {
    font-size: 3rem;
  }
}
@media screen and (min-width: 1248px) {
  .top-main .top-main-text {
    padding-block: 25%;
  }
}
.top-main .top-main-image {
  margin-block-end: 0;
  animation: fadeInUp 3s ease;
}
@media screen and (min-width: 769px) {
  .top-main .top-main-image {
    order: 2;
  }
}
@media (min-width: 1440px) {
  .top-main .top-main-image {
    max-height: 100vh;
  }
}
.top-main .top-main-image img {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .top-main .top-main-image img {
    aspect-ratio: 1112/923;
    object-fit: cover;
    object-position: center;
  }
}
@media (min-width: 1440px) {
  .top-main .top-main-image img {
    height: 100%;
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media screen and (min-width: 769px) {
  .top-main .top-main-image--sp {
    display: none;
  }
}
.top-main .top-main-image--pc {
  display: none;
}
@media screen and (min-width: 769px) {
  .top-main .top-main-image--pc {
    margin-block-start: -74px;
    display: block;
  }
  .top-main .top-main-image--pc img {
    border-radius: 0 0 0 8px;
  }
}
@media screen and (min-width: 1025px) {
  .top-main .top-main-image--pc {
    margin-block-start: calc(-1 * (64px + 1.6rem));
  }
}

.top-latest-news .heading-label-title {
  font-size: var(--font-size-h2-alt);
}
.top-latest-news > .wp-block-group__inner-container {
  display: grid;
  row-gap: 32px;
  grid-template-columns: minmax(0, 1fr);
}
@media screen and (min-width: 1025px) {
  .top-latest-news > .wp-block-group__inner-container {
    row-gap: 0;
    column-gap: 32px;
    grid-template-columns: 4.12fr 7.26fr;
  }
}
@media screen and (min-width: 1248px) {
  .top-latest-news > .wp-block-group__inner-container {
    column-gap: 62px;
  }
}
@media screen and (min-width: 1025px) {
  .top-latest-news .heading-label {
    grid-column: 1;
    grid-row: 1;
  }
}
.top-latest-news p.is-style-read-more-link {
  margin-block-end: 0;
}
@media screen and (min-width: 1025px) {
  .top-latest-news p.is-style-read-more-link {
    grid-column: 1;
    grid-row: 2;
    align-self: end;
  }
}
@media screen and (min-width: 1025px) {
  .top-latest-news .latest-post-list {
    grid-column: 2;
    grid-row: 1/span 2;
  }
}

.top-company .heading-label-title {
  font-size: var(--font-size-h2-alt);
}
.top-company > .wp-block-group__inner-container {
  display: grid;
  row-gap: 32px;
  grid-template-columns: minmax(0, 1fr);
}
@media screen and (min-width: 1025px) {
  .top-company > .wp-block-group__inner-container {
    row-gap: 64px;
    column-gap: 32px;
    grid-template-columns: 5fr 5.8fr;
    grid-template-rows: auto 1fr;
  }
}
@media screen and (min-width: 1248px) {
  .top-company > .wp-block-group__inner-container {
    column-gap: 120px;
  }
}
@media screen and (min-width: 1025px) {
  .top-company .top-company-title {
    grid-column: 1;
    grid-row: 1;
  }
}
.top-company .top-company-image {
  margin-block-end: 0;
}
@media screen and (min-width: 1025px) {
  .top-company .top-company-image {
    grid-column: 2;
    grid-row: 1/span 2;
  }
}
.top-company .top-company-image img {
  margin-inline: auto;
  width: 100%;
  max-width: 400px;
}
@media screen and (min-width: 1025px) {
  .top-company .top-company-image img {
    max-width: none;
  }
}
@media screen and (min-width: 1025px) {
  .top-company .top-company-text {
    grid-column: 1;
    grid-row: 2;
  }
}
.top-company .top-company-text > .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 1025px) {
  .top-company .top-company-text > .wp-block-group__inner-container {
    height: 100%;
  }
}
.top-company .top-company-text p {
  margin-block-end: 0;
}
.top-company .top-company-text p + p:not(.is-style-read-more-link) {
  margin-block-start: 1.6rem;
}
.top-company .top-company-text p.is-style-intro {
  margin-block-end: 24px;
}
@media screen and (min-width: 1025px) {
  .top-company .top-company-text p.is-style-intro {
    margin-block-end: 20px;
  }
}
.top-company .top-company-text p.is-style-intro + p {
  margin-block-start: 0;
}
.top-company .top-company-text p.is-style-read-more-link {
  margin-block-start: 32px;
}
@media screen and (min-width: 1025px) {
  .top-company .top-company-text p.is-style-read-more-link {
    margin-block-start: auto;
  }
}
@media screen and (min-width: 1025px) {
  .top-company .top-company-text p.is-style-read-more-link > a {
    margin-block-start: 32px;
  }
}

.top-business .heading-label-title {
  font-size: var(--font-size-h2-alt);
}
.top-business .info-items {
  margin-block-start: 32px;
  row-gap: 32px;
}
@media screen and (min-width: 1025px) {
  .top-business .info-items {
    margin-block-start: 64px;
  }
}
.top-business .info-item .wp-block-image {
  margin-block-end: 16px;
}
.top-business .info-item .wp-block-heading {
  color: #1767b5;
}
.top-business .info-item p {
  margin-block-start: 16px;
}
.top-business p.is-style-read-more-link {
  margin-block-end: 0;
  margin-block-start: 40px;
}
@media screen and (min-width: 1025px) {
  .top-business p.is-style-read-more-link {
    margin-block-start: 32px;
  }
}
