@charset "UTF-8";

/**
 * layout
 */
.l-wp-article__contents {
  max-width: calc(var(--container-middle) + var(--global-gutter) * 2);
  width: 100%;
  padding-block-start: 45px;
  margin-inline: auto;
  padding-inline: var(--global-gutter);
}
.l-wp-article__section + .l-wp-article__section {
  margin-block-start: 120px;
}
:root :where(.is-layout-constrained) > *,
:root :where(.is-layout-flow) > * {
  margin-block-start: var(--wp-element-spacer, calc(var(--global-spacer) * 1));
}
.wp-block-group + .wp-block-group {
  margin-block-start: calc(var(--global-spacer) * 3);
}
/* --- for small viewport --- */
@media screen and (max-width: 767px) {
  .l-wp-article__section.u-colored-section {
    padding-block: 20px;
    padding-inline: var(--global-gutter);
  }
}
/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  .l-wp-article__contents {
  }
  .l-wp-article__section.u-colored-section {
    padding-block: 30px;
    padding-inline: 30px;
  }
}

/**
 * wp default initialize
 */
.wp-block-embed.is-type-video,
.wp-block-video {
  aspect-ratio: 380 / 260;
  background-color: var(--color-black);
}
.wp-block-embed.is-type-video > *,
.wp-block-embed.is-type-video iframe,
.wp-block-video video {
  width: 100%;
  height: 100%;
}

/**
 * module / component
 */
/* --- index --- */
.m-wp-article__index {
  display: grid;
  text-align: center;
}
.c-wp-article__index-link {
  position: relative;
  display: grid;
  grid-template-rows: 1fr auto;
  place-items: center;
  gap: 8px;
  height: 100%;
  padding-block: 10px;
  border: 1px solid var(--color-theme);
  font-size: 12px;
  color: var(--color-theme);
  line-height: calc(15 / 12);
  font-weight: 700;
}
.c-wp-article__index-link::after {
  content: "";
  display: block;
  width: 12px;
  height: 6px;
  background-image: url(../../assets/images/global/icon-index-arrow.svg);
  background-repeat: no-repeat;
  background-size: 100%;
}
/* --- for large viewport --- */
@media screen and (max-width: 767px) {
  .m-wp-article__index {
    grid-template-columns: 100%;
    padding-block-end: 60px;
  }
}
/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  .m-wp-article__index {
    grid-template-columns: repeat(4, 1fr);
    column-gap: 20px;
    row-gap: 15px;
    padding-block-end: 120px;
  }
}

/* --- typography --- */
.l-page-article {
  font-size: 16px;
}
.c-wp-article__paragraph--label {
  font-weight: 700;
}
.c-wp-article__paragraph--caption {
  margin-block-start: 10px;
}
.c-top-message-ceo {
  margin-block-start: 40px;
  padding: 0;
  font-family: var(--font-ja-serif);
  font-weight: 700;
  letter-spacing: 0;
}
.c-top-message-ceo__post {
  font-size: 18px;
  line-height: calc(22 / 18);
}
.c-top-message-ceo__name {
  margin-block-start: 8px;
  font-size: 28px;
  line-height: calc(34 / 28);
}
.c-wp-article__heading-circle-icon {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--color-theme);
}
.c-wp-article__heading-circle-icon::after {
  content: "";
  width: 12px;
  height: 12px;
  background-image: url(../../assets/images/global/icon-circle-arrow.svg);
  background-size: 100%;
  background-repeat: no-repeat;
}
.l-page-article a:not(.c-wp-file-link__link)[target="_blank"] {
  display: inline-flex;
  align-items: center;
  word-break: break-all;
}
.l-page-article a:not(.c-button):not(.c-wp-file-link__link)[target="_blank"] {
  gap: 8px;
  text-decoration: underline;
}
.l-page-article a:not(.c-wp-file-link__link).c-button[target="_blank"] {
  gap: 15px;
}
.l-page-article a:not(.c-wp-file-link__link)[target="_blank"]::before {
  content: "";
  background-size: 100%;
  background-repeat: no-repeat;
}
.l-page-article
  a:not(.c-button):not(.c-wp-file-link__link)[target="_blank"]::before {
  width: 20px;
  height: 20px;
  background-image: url(../../assets/images/global/icon-link-square-gray.svg);
  flex-shrink: 0;
}
.c-wp-recruit__custom-link-thumbnail a[target="_blank"]::before,
.m-wp-group-company__thumbnail a[target="_blank"]::before {
  content: none !important;
}
.l-page-article a.c-button[target="_blank"]:not(.c-wp-file-link__link)::before {
  width: 18px;
  height: 18px;
  background-image: url(../../assets/images/global/icon-link-square-white.svg);
}
.c-wp-artcile__link-external {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: underline;
}
.c-wp-artcile__link-external::before {
  content: "";
  width: 13px;
  height: 13px;
  background-image: url(../../assets/images/global/icon-link-square-gray.svg);
  background-size: 100%;
  background-repeat: no-repeat;
}

/* --- button --- */
.m-wp-button-container {
  display: flex;
  margin-block-start: 40px;
}
.m-wp-button-container.is-content-justification-left {
  justify-content: flex-start;
}
.m-wp-button-container.is-content-justification-center {
  justify-content: center;
}
.m-wp-button-container.is-content-justification-right {
  justify-content: flex-end;
}
.l-page-article--page .c-button {
  --button-width: fit-content;
  --button-display: inline-grid;
  padding-block: 8px;
}

/* --- list style --- */
.l-page-article ol,
.l-page-article ul {
  padding-inline-start: 1.5em;
  letter-spacing: 0.03em;
}
.l-page-article ol {
  list-style-type: decimal;
}
.l-page-article ul {
  list-style-type: disc;
}
.l-page-article ol.u-list-wide-line-height,
.l-page-article ul.u-list-wide-line-height {
  line-height: calc(50 / 18);
}
/* --- for large viewport --- */
@media screen and (max-width: 767px) {
  .l-page-article ol,
  .l-page-article ul {
    font-size: 15px;
    line-height: calc(22 / 15);
  }
}
/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  .l-page-article ol,
  .l-page-article ul {
    font-size: 18px;
    line-height: calc(30 / 18);
  }
}

/* --- image --- */
.wp-block-image.aligncenter img {
  display: block;
  margin-inline: auto;
}

/* --- grid column --- */
.m-wp-grid {
  --wp-grid-two-columns-wide: calc(780 / var(--container-middle-value) * 100%);
  display: grid;
  grid-template-columns: var(--wp-grid-template-columns);
  column-gap: var(--wp-grid-column-gap, 20px);
  row-gap: var(--wp-grid-row-gap, 60px);
}
.m-wp-grid.is-narrow-row-gap {
  --wp-grid-row-gap: 20px;
}
.m-wp-grid.is-middle-row-gap {
  --wp-grid-row-gap: 40px;
}
.m-wp-grid--border {
  padding-block-start: 30px;
  padding-block-end: 40px;
  padding-inline: 30px;
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius-default);
}
.m-wp-grid[data-columns="1"] {
  --wp-grid-template-columns: 100%;
}
.m-wp-grid + .m-wp-grid {
  margin-block-start: calc(var(--global-spacer) * 3);
}
/* --- for small viewport --- */
@media screen and (max-width: 767px) {
  .m-wp-grid {
    --wp-grid-row-gap: 10px;
  }
  .m-wp-grid[data-columns="3"] {
    --wp-grid-template-columns: 100%;
  }
  .m-wp-grid[data-columns="2"] {
    --wp-grid-template-columns: 100%;
  }
}
/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  .m-wp-grid[data-columns="3"] {
    --wp-grid-template-columns: repeat(3, 1fr);
  }
  .m-wp-grid[data-columns="2"][data-layout="equal"],
  .m-wp-grid[data-columns="2"][data-layout="horizontal"] {
    --wp-grid-template-columns: repeat(2, 1fr);
  }
  .m-wp-grid[data-columns="2"][data-layout="vertical"] {
    --wp-grid-template-columns: 100%;
  }
  .m-wp-grid[data-columns="2"][data-layout="left-large"] {
    --wp-grid-template-columns: var(--wp-grid-two-columns-wide) 1fr;
  }
  .m-wp-grid[data-columns="2"][data-layout="right-large"] {
    --wp-grid-template-columns: 1fr var(--wp-grid-two-columns-wide);
  }
  .m-wp-grid[data-columns="1"] {
    --wp-grid-row-gap: 20px;
  }
}

/* --- table --- */
.m-wp-table {
  overflow-x: auto;
}
.m-wp-table__shell,
.m-wp-table table {
  width: 100%;
}
.m-wp-table__head {
}
.m-wp-table tbody {
  border-top: 1px solid var(--color-theme-pale);
}
.m-wp-table tbody tr {
  border-bottom: 1px solid var(--color-theme-pale);
}
.m-wp-table tbody td {
  width: auto;
}
.m-wp-table th,
.m-wp-table td {
  vertical-align: middle;
}
.m-wp-table.is-shrink-cell tbody th,
.m-wp-table.is-shrink-cell tbody td {
  width: 1%;
  white-space: nowrap;
}
.m-wp-table.is-default tbody th {
  font-weight: 500;
}
.m-wp-table.is-colored-th {
  line-height: 1.5;
  font-weight: 400;
}
.m-wp-table.is-colored-th tbody th {
  width: 1%;
  background-color: #e9f0f0;
  white-space: nowrap;
}
.m-wp-table.is-colored-th tbody tr:has(th[rowspan="2"]) > th + td,
.m-wp-table.is-colored-th tbody tr:has(th[rowspan="2"]) + tr > td:first-child {
  width: 1%;
  background-color: #f4f9f9;
  white-space: nowrap;
}
.m-wp-table.is-header-top {
  font-size: 15px;
  line-height: calc(22 / 15);
}
.m-wp-table.is-header-top .m-wp-table__head {
  background-color: var(--color-theme-pale);
}
.m-wp-table.is-header-top .m-wp-table__head th:not([colspan="1"]),
.m-wp-table.is-header-top .m-wp-table__head tr:nth-child(n + 2) th {
  padding-block: 8px;
}
.m-wp-table.is-header-top .m-wp-table__head tr:nth-child(n + 2) th {
  background-color: #d1e2ee;
}
.m-wp-table.is-header-top .m-wp-table__head th {
  font-weight: 700;
}
.m-wp-table.is-header-top tr > *:first-child,
.m-wp-table.is-header-top tr > *:nth-child(2) {
  width: 1%;
  white-space: nowrap;
}
.m-wp-table.is-header-top tbody tr:nth-child(even) {
  background-color: #f9f9f9;
}
.m-wp-table.is-centered-th th {
  text-align: center;
}
.m-wp-table.is-exception thead {
  background-color: var(--color-theme-pale);
}
.m-wp-table.is-exception :where(th, td) {
  padding-inline: 20px;
}
.m-wp-table.is-exception thead :where(th, td) {
  padding-block: 10px;
}
.m-wp-table.is-exception tbody :where(th, td) {
  padding-block: 20px;
  vertical-align: initial;
}
.m-wp-table.is-exception tbody > tr > *:first-child {
  width: 1%;
  background-color: var(--color-theme-light);
  white-space: nowrap;
}
.m-wp-table.is-exception tbody > tr > *:not(:first-child) {
  padding-inline: 50px;
}
.c-wp-table__scrollable-message {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  margin-block-end: 1em;
  animation: sway-horizontal 3s ease-in-out infinite;
}
.c-wp-table__scrollable-message::after {
  content: "";
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgaWQ9IlNWR1JlcG9fYmdDYXJyaWVyIiBzdHJva2Utd2lkdGg9IjAiPjwvZz48ZyBpZD0iU1ZHUmVwb190cmFjZXJDYXJyaWVyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvZz48ZyBpZD0iU1ZHUmVwb19pY29uQ2FycmllciI+IDxwYXRoIGQ9Ik01IDEySDE5TTE5IDEyTDEzIDZNMTkgMTJMMTMgMTgiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD4gPC9nPjwvc3ZnPg==");
  background-size: 100%;
  background-position: center center;
  background-repeat: no-repeat;
}
/* --- for small viewport --- */
@media screen and (max-width: 767px) {
  .m-wp-table {
    white-space: nowrap;
  }
  .m-wp-table.is-default {
    font-size: 15px;
    line-height: calc(22 / 15);
  }
  .m-wp-table.is-default tbody tr > * {
    padding-block: 1em;
  }
  .m-wp-table.is-default tbody th,
  .m-wp-table.is-default tbody td {
    padding-inline: 1em;
  }
  .m-wp-table.is-colored-th {
    font-size: 15px;
  }
  .m-wp-table.is-colored-th tbody tr > * {
    padding-block: 1em;
  }
  .m-wp-table.is-colored-th tbody th {
    padding-inline: 1.5em;
  }
  .m-wp-table.is-colored-th tbody td {
    padding-inline: 1.5em;
  }
  .m-wp-table.is-colored-th tbody tr:has(th[rowspan="2"]) > th + td,
  .m-wp-table.is-colored-th
    tbody
    tr:has(th[rowspan="2"])
    + tr
    > td:first-child {
    padding-inline: 1em;
  }
  .m-wp-table.is-header-top .m-wp-table__head th {
    padding-block: 1em;
    padding-inline: 1em;
  }
  .m-wp-table.is-header-top tbody td {
    padding-block: 1em;
    padding-inline: 1em;
  }
}
/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  .m-wp-table.is-default {
    font-size: 18px;
    line-height: calc(26 / 18);
  }
  .m-wp-table.is-default tbody tr > * {
    padding-block: 3rem;
  }
  .m-wp-table.is-default tbody th {
    width: calc(400 / 1180 * 100%);
  }
  .m-wp-table.is-default tbody th,
  .m-wp-table.is-default tbody td {
    padding-inline: 7rem;
  }
  .m-wp-table.is-colored-th {
    font-size: 20px;
  }
  .m-wp-table.is-colored-th tbody tr > * {
    padding-block: 2rem;
  }
  .m-wp-table.is-colored-th tbody th {
    padding-inline: 7.5rem;
  }
  .m-wp-table.is-colored-th tbody td {
    padding-inline: 13rem;
  }
  .m-wp-table.is-colored-th tbody tr:has(th[rowspan="2"]) > th + td,
  .m-wp-table.is-colored-th
    tbody
    tr:has(th[rowspan="2"])
    + tr
    > td:first-child {
    padding-inline: 2.5rem;
  }
  .m-wp-table.is-header-top .m-wp-table__head th {
    padding-block: 2.4rem;
    padding-inline: 4rem;
  }
  .m-wp-table.is-header-top tbody td {
    padding-block: 1.8rem;
    padding-inline: 2rem;
  }
}

/* --- company info --- */
.c-wp-company-info__thumbnail {
  display: none;
}
.m-wp-company-info__summary-box {
  display: grid;
  grid-template-columns: 100%;
  row-gap: 15px;
  max-width: calc(100% - 70 / 380 * 100%);
  margin-block-start: 20px;
  margin-inline: auto;
}
.m-wp-company-info__summary-box .c-wp-article__heading4 {
  --article-heading4-spacer: 0;
}
.c-wp-company-info__description {
  margin-block-start: 15px;
}

/* --- access map --- */
.c-wp-access-map__figure {
  aspect-ratio: 380 / 220;
}
.m-wp-access-map__summary-box {
  margin-block-start: 10px;
}
.m-wp-access-map__summary-box > * {
  padding-block: 10px;
  padding-inline: 15px;
  border-bottom: 1px solid var(--color-theme);
}
.c-wp-access-map__address {
  --rows: 5;
  --map-address-line-height: calc(22 / 15);
  min-height: calc(1em * var(--map-address-line-height) * var(--rows) + (10px * 2));
  font-size: 15px;
  line-height: var(--map-address-line-height);
}
.c-wp-access-map__public,
.c-wp-access-map__car {
  font-size: 15px;
}
.c-wp-access-map__public dt,
.c-wp-access-map__car dt {
  font-weight: 500;
  line-height: calc(22 / 15);
}
.c-wp-access-map__public dd,
.c-wp-access-map__car dd {
  --access-map-car-line-height: calc(22 / 15);
  min-height: calc(1em * var(--access-map-car-line-height) * var(--rows));
  margin-block-start: 10px;
  font-weight: 400;
  line-height: var(--access-map-car-line-height);
}
/* --- for small viewport --- */
@media screen and (max-width: 767px) {
}
/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  .c-wp-access-map__public dd {
    --rows: 5;
  }
  .c-wp-access-map__car dd {
    --rows: 2;
  }
}

/* --- achievements --- */
.c-wp-achievements__thumbnail {
  aspect-ratio: 380 / 260;
  overflow: hidden;
}
.c-wp-achievements__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-wp-achievements__title {
  margin-block-start: 20px;
  padding-block-end: 15px;
  border-bottom: 1px solid var(--color-theme);
}
.c-wp-achievements__info {
  display: grid;
  grid-template-columns: 85px 1fr;
  font-size: 15px;
  line-height: calc(18 / 15);
}
.c-wp-achievements__info > * {
  --achievements-info-spacer: 10px;
  padding-block: var(--achievements-info-spacer);
  border-bottom: 1px solid var(--color-theme);
}
.c-wp-achievements__info dd {
  --rows: 2;
  --achievements-info-line-height: calc(22 / 15);
  min-height: calc(
    1em * var(--achievements-info-line-height) * var(--rows) +
      (var(--achievements-info-spacer) * 2)
  );
}

/* --- for small viewport --- */
@media screen and (max-width: 767px) {
  .c-wp-achievements__title {
    --article-paragraph-font-size: 18px;
  }
}

/* --- company overview --- */
.m-wp-company-overview {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding-block-start: 20px;
  padding-block-end: 30px;
  padding-inline: 20px;
  background-color: var(--color-theme-light);
}
.c-wp-company-overview__title {
  --article-heading3-spacer: 0;
}
.c-wp-company-overview__header {
  display: grid;
  grid-template-columns: 1fr 70px;
  gap: 1em;
  color: var(--color-theme);
}
.c-wp-company-overview__description {
  font-size: 15px;
  line-height: calc(20 / 15);
}

/* --- group company --- */
.m-wp-group-company {
  --group-company-global-font-size: 15px;
  --group-company-global-line-height: calc(22 / 15);
  display: flex;
  flex-direction: column;
  height: 100%;
}
.m-wp-group-company__suumary-box {
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows:
    auto
    auto
    auto
    1fr
    auto;
  height: 100%;
  margin-block-start: 10px;
}
.m-wp-group-company__suumary-box > * {
  --group-company-summary-box-row-spacer: 10px;
  padding-block: var(--group-company-summary-box-row-spacer);
  padding-inline: 15px;
}
.m-wp-group-company__suumary-box > *:not(:last-child) {
  border-bottom: 1px solid var(--color-theme-pale);
}
.c-wp-group-company__heading {
  font-size: 20px;
  line-height: 1.5;
  padding-block-end: 10px;
}
.c-wp-group-company__address {
  --rows: 3;
  min-height: calc(
    1em * var(--group-company-global-line-height) * var(--rows) +
      var(--group-company-summary-box-row-spacer) * 2
  );
  font-size: var(--group-company-global-font-size);
  line-height: var(--group-company-global-line-height);
}
.c-wp-group-company__tel {
  font-size: var(--group-company-global-font-size);
  line-height: var(--group-company-global-line-height);
}
.c-wp-group-company__description {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.c-wp-group-company__description dt {
  font-weight: 500;
}

/* --- sitemap --- */
.m-wp-sitemap dt {
  font-size: 16px;
  font-weight: 500;
}
.m-wp-sitemap dd {
  margin-block-start: 20px;
}
.m-wp-sitemap .c-wp-sitemap__list {
  display: grid;
  padding-inline-start: 0;
  list-style: none;
}
.c-wp-sitemap__list-item {
  border-top: 1px solid var(--color-theme-pale);
  font-size: 15px;
  line-height: calc(18 / 15);
}
.c-wp-sitemap__list-item:nth-child(5n),
.c-wp-sitemap__list-item:last-child {
  border-bottom: 1px solid var(--color-theme-pale);
}
.c-wp-sitemap__list-item > * {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  padding-block: 10px;
}
.c-wp-sitemap__list-item > *::after {
  content: "";
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  background-image: url(../../assets/images/global/icon-circle-arrow.svg);
  background-size: 100%;
  background-repeat: no-repeat;
}
/* --- for small viewport --- */
@media screen and (max-width: 767px) {
  .m-wp-sitemap .c-wp-sitemap__list {
    grid-template-columns: 100%;
  }
}
/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  .m-wp-sitemap.is-row .c-wp-sitemap__list {
    grid-template-columns: 100%;
  }
  .m-wp-sitemap:not(.is-row, .is-single-row) .c-wp-sitemap__list {
    grid-template-columns: auto;
    grid-template-rows: repeat(5, auto);
    grid-auto-flow: column;
    column-gap: 30px;
  }
  .m-wp-sitemap.is-single-row .c-wp-sitemap__list {
    grid-template-columns: 100%;
    column-gap: 30px;
  }
}

/* --- file link --- */
.m-wp-file-link {
  background-color: var(--color-theme-light);
  color: var(--color-theme);
}
.c-wp-file-link__link {
  position: relative;
  display: grid;
  grid-template-columns: 40px 1fr;
  column-gap: 20px;
  row-gap: 5px;
  align-items: center;
  padding-block: 25px;
  padding-inline: 30px;
}
.c-wp-file-link__link::before {
  content: "";
  grid-column: 1;
  grid-row: 1 / span 2;
  aspect-ratio: 1 / 1;
  background-size: 100%;
  background-repeat: no-repeat;
}
.c-wp-file-link__link.is-excel::before {
  background-image: url(../../assets/images/global/icon-excel.png);
}
.c-wp-file-link__link.is-pdf::before {
  background-image: url(../../assets/images/global/icon-pdf.png);
}
.c-wp-file-link__file-name {
  grid-column: 2;
  grid-row: 1;
  font-size: 18px;
  line-height: calc(26 / 18);
  font-weight: 700;
}
.c-wp-file-link__notes {
  grid-column: 2;
  grid-row: 2;
  font-size: 15px;
  line-height: calc(18 / 15);
}

/* --- introduction video --- */
.c-wp-introduction-video__video {
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 380 / 260;
  background-color: var(--color-base);
  overflow: hidden;
}
.ict-video .c-wp-introduction-video__video,
.ict-video .is-type-video {
  aspect-ratio: 580 / 420;
}
.c-wp-introduction-video__video > * {
  /* width: auto !important; */
  height: 100% !important;
}
.c-wp-introduction-video__summary-box {
  display: grid;
  grid-template-columns: 100%;
  row-gap: 20px;
  margin-block-start: 20px;
  padding-inline: 15px;
}
.c-wp-introduction-video__description {
  margin-block-start: 15px;
  font-size: 15px;
  line-height: calc(25 / 15);
}
.c-wp-introduction-video__summary-box .c-wp-introduction-video__title {
  --article-heading4-spacer: 0;
}

/* --- contact form --- */
.l-page-form__shell + * {
  margin-block-start: 60px;
}
.l-page-form__shell dt {
  font-weight: 400;
}
.l-page-form__body {
  border: 1px solid #717171;
}
.c-page-form__tabs {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 60px;
}
.c-page-form__tabs input[type="radio"]::before {
  border-radius: 100vh;
}
.c-page-form__tabs input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 5px;
  display: block;
  width: 14px;
  height: 14px;
  margin: auto;
  border-radius: 100vh;
  background-color: #4b4b4b;
}
.c-page-form__group {
  display: grid;
  align-items: center;
  column-gap: 70px;
  padding-block: 30px;
  padding-inline: 30px;
  font-size: 18px;
  font-weight: 400;
}
.c-page-form__group:not(:last-child) {
  border-bottom: 1px solid #717171;
}
.c-page-form__index {
  position: relative;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
}
.c-page-form__group:has([required="required"]) .c-page-form__index::after,
.c-page-form__group:has([aria-required="true"]) .c-page-form__index::after,
.c-page-form__group:has(input[type="radio"]) .c-page-form__index::after {
  content: "必須";
  display: grid;
  place-items: center;
  width: 35px;
  height: 20px;
  background-color: var(--color-admonition);
  font-size: 12px;
  color: var(--color-white);
}
.c-page-form__field dl {
  display: grid;
  grid-template-columns: 180px 1fr;
  align-items: center;
  row-gap: 20px;
}
.c-page-form__field dd:has(.c-page-form__notes) {
  display: flex;
  align-items: center;
}
.c-page-form__field [name="Inquiry-details"] {
  width: 100%;
  height: 150px;
}
.c-page-form__field input:not([type="radio"]):not([type="checkbox"]),
.c-page-form__field select {
  max-width: var(--form-component-width, 400px);
  width: 100%;
}
.c-page-form__field [name="post-code"] {
  --form-component-width: 220px;
}
*:has(> [name="prefectures"]) {
  max-width: 220px;
}
.c-page-form__field [name="city"],
.c-page-form__field [name="address-2"],
.c-page-form__field [name="address-3"] {
  --form-component-width: 350px;
}
.m-page-form__terms {
  padding-block-start: 30px;
  padding-block-end: 40px;
  padding-inline: 20px;
}
.m-page-form__terms-container {
  display: grid;
  grid-template-columns: 100%;
  row-gap: 15px;
  max-width: 600px;
  margin-inline: auto;
}
.c-page-form__terms-title {
  font-size: 18px;
  line-height: calc(30 / 18);
  text-align: center;
}
.c-page-form__terms-contents {
  height: 145px;
  padding-block: 3px;
  padding-inline: 1em;
  border: 1px solid #d7d7d7;
  box-shadow: inset 0px 1px 2px 0px rgba(0, 0, 0, 0.6);
  line-height: 1.5;
  overflow: auto;
}
.c-page-form__terms-contents ol {
  font-size: 16px;
}
.c-page-form__checkbox {
  text-align: center;
}
.m-page-form__button {
  display: flex;
  justify-content: center;
  margin-block-start: 60px;
}
.c-button.c-button--form-submit {
  --button-width: 165px;
  --button-height: 50px;
  margin-inline: auto;
  border-radius: 100vh;
  background-color: var(--color-black);
}
#form-organization {
  margin-block-start: 30px;
}
.wpcf7-list-item {
  margin-inline-start: 0;
}
.wpcf7-form-control {
  display: flex;
  justify-content: space-between;
}
.m-page-form__terms .wpcf7-form-control {
  justify-content: center;
}

/**
 * exception
 */
.m-multi-column-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2em;
}
.m-multi-column-container > * {
  --wp-element-spacer: 0;
}
.m-multi-column-container[data-justify="justify"] {
  justify-content: space-between;
}
/* --- for small viewport --- */
@media screen and (max-width: 767px) {
  .m-multi-column-container {
    flex-direction: column;
  }
}

/**
 * each page styles
 */
/* --- 会社概要・役員構成 --- */
.m-wp-grid:has(.m-wp-company-overview) {
  margin-block-start: 60px;
}
.l-page-company-overview__section--reason {
  background-image: url(../../assets/images/post/page-company-overview-background.svg);
  background-size: calc(247 / 1180 * 100%);
  background-position: top right;
  background-repeat: no-repeat;
}
.c-company-overview__button .c-button {
  --button-gutter-variable: 60px;
  --button-font-size: 15px;
  padding-block: 15px;
}
.m-wp-table--overview a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--color-theme);
}
.m-wp-table--overview a::before {
  content: "";
  width: 18px;
  height: 18px;
  background-image: url(../../assets/images/global/icon-link-circle.svg);
  background-size: 100%;
  background-repeat: no-repeat;
}
.l-page-company-overview__section--officer .m-wp-table tbody th,
.l-page-company-overview__section--officer .m-wp-table tbody th + td {
  width: 1%;
  white-space: nowrap;
}
.m-page-company-overview__corporate-color-shell {
  gap: 20px;
  align-items: center;
  margin-block-start: 40px;
}
.c-page-company-overview__mascot-thumbnail {
  max-width: 630px;
  margin-block-start: 40px;
  margin-inline: auto;
}
.c-page-company-overview__mascot-thumbnail + * {
  margin-block-start: 30px;
}
/* --- for small viewport --- */
@media screen and (max-width: 767px) {
  .m-page-company-overview__corporate-color-shell {
    flex-direction: column;
    max-width: 600px;
    margin-inline: auto;
  }
}
/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  .m-page-company-overview__corporate-color-shell {
    display: grid !important;
    grid-template-columns: 260px 1fr;
  }
}

/* --- サイトマップ --- */
.m-sitemap-button-container {
  display: grid;
  grid-template-columns: 100%;
  row-gap: 20px;
  padding: 0;
}
.m-sitemap-button-container .m-wp-button-container {
  width: 100%;
  margin-block-start: 0;
}
.m-sitemap-button-container .c-button {
  --button-width: 100%;
}
/* --- for small viewport --- */
@media screen and (max-width: 767px) {
  .m-sitemap-button-container {
    max-width: 400px;
    margin-inline: auto;
  }
}
/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  .m-sitemap-button-container {
    max-width: 150px;
    margin-inline-start: auto;
  }
}

/* --- 採用情報 --- */
.c-wp-recruit__mynavi-link img {
  margin-inline: auto;
}
.m-wp-recruit__archive .c-wp-article__heading4 a {
}
.m-wp-table--recruit.is-colored-th tbody th {
  padding-inline: 35px;
  text-align: center;
}
.m-wp-table--recruit.is-colored-th tbody td {
  padding-inline: 35px;
}
.c-wp-recruit__custom-link-thumbnail {
  text-align: center;
}

/* --- ツイスター工法 --- */
.m-wp-table--page-twister.is-default tbody td {
  text-align: center;
}
.m-wp-table--page-twister.is-colored-th tbody th {
  text-align: center;
}
.m-wp-machine-lineup__summary-box {
  margin-block-start: 10px;
}
.c-wp-machine-lineup__description {
  margin-block-start: 10px;
  font-size: 15px;
  line-height: calc(22 / 15);
}
.m-wp-database-system__section {
  background-color: #cde0f0;
}
.m-wp-database-system__section .c-wp-article__heading2 {
  padding-block-end: 10px;
}
.c-wp-database-system__description {
  padding: 20px;
  background-color: #ffffff;
}
.m-page-twister-video {
  width: 100%;
  margin-inline: auto;
}
.m-page-twister-video--middle {
  max-width: 740px;
}
/* --- for small viewport --- */
@media screen and (max-width: 767px) {
  .m-wp-database-system__section {
    padding-block: 20px;
    padding-inline: 20px;
  }
  .c-page-form__group {
    grid-template-columns: 100%;
    row-gap: 1em;
  }
  .wpcf7-form-control {
    flex-direction: column;
    row-gap: 1em;
  }
  .c-page-form__field dd:has(.c-page-form__notes) {
    flex-direction: column-reverse;
    row-gap: 0.5em;
  }
}
/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  .m-wp-database-system__section {
    padding-block: 40px;
    padding-inline: 40px;
  }
  .c-page-form__group {
    grid-template-columns: auto 750px;
  }
  .wpcf7-form-control {
    align-items: center;
  }
  .c-page-form__tabs .wpcf7-form-control {
    gap: 60px;
  }
  .c-page-form__field dd:has(.c-page-form__notes) {
    gap: 20px;
  }
}

/* --- 問い合わせ完了ページ --- */
.m-inquiry-complete__message {
  max-width: 840px;
  margin-inline: auto;
  padding-block-start: 40px;
  padding-block-end: 30px;
  padding-inline: 30px;
  border: 1px solid var(--color-black);
}
.c-inquiry-notes {
  --wp-element-spacer: 8px;
  font-size: 15px;
  line-height: calc(22 / 15);
  color: #797979;
}
.c-inquiry-complete__thumbnail {
  max-width: 102px;
  margin-block-start: 60px;
  margin-inline: auto;
}
.m-inquiry__form-buttons {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  column-gap: 50px;
  row-gap: 20px;
  margin-block-start: 40px;
}
.m-inquiry__form-buttons--complete-page .c-button--form-submit {
  --button-width: 230px;
  margin: initial;
}

/* --- 機械製造シールド --- */
.m-page-machine-manufacturing-video {
  width: 100%;
  margin-inline: auto;
}
.m-page-machine-manufacturing-video--middle {
  max-width: 996px;
}

/* --- 土木施工管理・重機土木 --- */
.c-page-civil-engineering__simulation-thumbnail {
  max-width: 650px;
  margin-block-start: 40px;
  margin-inline: auto;
}
