@charset "UTF-8";
:root {
  --color-primary: #343399;
  --color-accent-primary: #b3424a;
  --color-accent-primary-sub: #cc525c;
  --color-accent-secondary: #0058e2;
  --color-accent-secondary-sub: #3477e3;
  --color-background-primary: #fff;
  --color-background-secondary: #fbfbfb;
  --color-background-tertiary: #f4f4f4;
  --color-background-dark: #0a0933;
  --color-background-sub-dark: #4e4dad;
  --color-background-sub-light: #a6c8ff;
  --color-text-primary: #343399;
  --color-text-secondary: #333;
  --color-text-dark: #252479;
  --color-text-highdark: #0a0933;
  --color-text-tertiary: #757575;
  --color-text-on-dark: #e2e2ff;
  --color-text-on-accent: #fff;
  --color-text-logo: #1f1f1f;
  --color-border-light: #f4f4f4;
  --color-border-medium: #757575;
  --color-shadow-light: rgb(0 0 0/4%);
  --color-shadow-medium: rgba(0, 0, 0, 0.16);
  --color-blue-light: #deebff;
  --color-blue-lighter: #f3f7ff;
  --color-violet-lighter: #f6f6ff;
  --color-red-primary: #d40c0c;
  --color-red-subtle: #f7f0f0;
  --font-jp: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic", "Yu Gothic Medium", "YuGothic", yugothic;
  --font-en: "Roboto", helvetica, arial;
  --size-none: 0;
  --size-2: 0.625vw;
  --size-4: 1.25vw;
  --size-6: 1.875vw;
  --size-8: 2.5vw;
  --size-10: 3.125vw;
  --size-12: 3.75vw;
  --size-14: 4.375vw;
  --size-16: 5vw;
  --size-18: 5.625vw;
  --size-20: 6.25vw;
  --size-24: 7.5vw;
  --size-28: 8.75vw;
  --size-32: 10vw;
  --size-40: 12.5vw;
  --size-48: 15vw;
  --size-56: 17.5vw;
  --size-64: 20vw;
  --size-80: 25vw;
  --size-100: 31.25vw;
  --size-120: 37.5vw;
  --size-160: 50vw;
}
* {
  box-sizing: border-box;
}
html {
  background-color: var(--color-blue-light);
  color: var(--color-text-secondary);
  font-family: var(--font-jp), sans-serif;
  letter-spacing: 0.02em;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
[lang="en"] {
  font-family: var(--font-en), sans-serif;
}
body {
  background-color: var(--color-background-primary);
  color: var(--color-text-secondary);
  font-size: var(--size-16);
  line-height: 1.75;
  margin: 0;
  padding: 0;
}
a {
  color: var(--color-accent-secondary);
  text-decoration: underline;
  transition: color 0.2s ease;
}
ol,
ul {
  list-style: none;
  padding-left: 0;
}
dd,
ol,
ul {
  margin: 0;
}
table {
  border: none;
  border-collapse: collapse;
  width: 100%;
}
table th {
  font-weight: 700;
  text-align: center;
}
table td,
table th {
  border: 1px solid var(--color-border-light);
  padding: var(--size-8) var(--size-16);
}
table caption {
  caption-side: bottom;
  color: var(--color-text-tertiary);
  font-size: var(--size-14);
  margin-top: var(--size-8);
}
.l-contents-wrapper {
  background-color: var(--color-blue-light);
  background-repeat: no-repeat;
}
.l-inner {
  margin: auto;
}
.l-header {
  background-color: var(--color-background-primary);
  display: flex;
  justify-content: space-between;
  left: 0;
  overflow: hidden;
  position: sticky;
  right: 0;
  top: 0;
  z-index: 999;
}
.l-header,
.l-header .l-header__nav-container {
  align-items: center;
}
.l-header .l-header__nav-container {
  display: flex;
}
.l-footer .l-footer__top {
  background: var(--color-background-sub-light) url(/assets/img/common/bg_dotted.svg) repeat center;
  background-attachment: fixed;
  color: var(--color-text-highdark);
  overflow: hidden;
}
.l-footer .l-footer__bottom {
  background-color: var(--color-background-dark);
  color: var(--color-text-on-dark);
}
.l-contact-area .c-btn.c-btn--md-cta {
  justify-content: center;
  margin-inline: auto;
}
.c-menu-btn.c-btn {
  background-color: var(--color-primary);
  color: var(--color-text-on-accent);
}
.c-menu-btn .c-menu-btn__burger {
  display: flex;
  flex-direction: column;
  gap: 4px;
  height: 32px;
  justify-content: center;
  margin-inline: auto;
  width: 32px;
}
.c-menu-btn .c-menu-btn__burger > span {
  background-color: var(--color-background-primary);
  border-radius: 10em;
  display: block;
  height: 4px;
  transform-origin: center;
  transition:
    transform 0.3s ease-in-out,
    opacity 0.3s ease-in-out,
    width 0.3s ease-in-out;
  width: 100%;
}
.c-menu-btn .c-menu-btn__burger > span:nth-child(2) {
  width: 80%;
}
.c-menu-btn .c-menu-btn__burger > span:nth-child(3) {
  width: 60%;
}
.c-menu-btn.is-active .c-menu-btn__burger > span:first-child {
  transform: translateY(8px) rotate(45deg);
}
.c-menu-btn.is-active .c-menu-btn__burger > span:nth-child(2) {
  opacity: 0;
  width: 100%;
}
.c-menu-btn.is-active .c-menu-btn__burger > span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
  width: 100%;
}
.c-btn {
  background-color: var(--color-primary);
  border: none;
  box-shadow: 0 var(--size-2) var(--size-4) 0 var(--color-shadow-medium);
  color: var(--color-text-on-accent);
  display: block;
  font-weight: 700;
  text-decoration: none;
  width: -moz-fit-content;
  width: fit-content;
}
.c-btn.c-btn--primary {
  background-color: var(--color-accent-primary);
}
.c-btn.c-btn--secondary {
  background-color: var(--color-background-primary);
  color: var(--color-text-primary);
}
.c-btn.c-btn--s {
  border-radius: var(--size-4);
  font-size: var(--size-12);
  padding: var(--size-2) var(--size-12) var(--size-4);
}
.c-btn.c-btn--contact-l .c-btn__label-en {
  font-weight: 400;
  line-height: 1.4;
}
.c-btn.c-btn--contact-l .c-btn__label-ja {
  line-height: 1.5;
}
.c-btn .c-btn__label-ja {
  margin: 0;
}
.c-btn.c-btn--md-cta {
  align-items: center;
  display: flex;
  flex: 1 0 auto;
}
.c-btn.c-btn--md-cta .c-label-en {
  font-weight: 400;
}
.c-label-en {
  align-items: center;
  display: flex;
  gap: 0.5em;
}
.c-label-en:before {
  content: ">";
  font-family: var(--font-en), sans-serif;
  font-weight: 400;
}
.c-card {
  align-items: center;
  background: url(/assets/img/common/bg_card-wave.svg) var(--color-background-primary) no-repeat left top;
  display: flex;
  overflow: hidden;
  position: relative;
}
.c-card:before {
  background-position: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: "";
  display: block;
  height: 100%;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 1;
}
.c-card.c-card--business:before {
  background-image: url(/assets/img/common/bg_card-business.png);
}
.c-card.c-card--company:before {
  background-image: url(/assets/img/common/bg_card-company.png);
}
.c-card.c-card--recruit:before {
  background-image: url(/assets/img/common/bg_card-recruit.png);
}
.c-card .c-card__inner {
  position: relative;
  z-index: 2;
}
.c-card-link {
  color: inherit;
  display: block;
  text-decoration: none;
}
.c-card-title .c-card-title__en {
  color: var(--color-text-primary);
  line-height: 1.2;
  margin: 0;
}
.c-card-title .c-card-title__main {
  color: var(--color-text-dark);
  line-height: 1.5;
  margin: 0;
}
.c-error-area {
  background-color: var(--color-red-subtle);
  border: 1px solid var(--color-red-primary);
  border-radius: var(--size-8);
  padding: var(--size-24) var(--size-32);
}
.c-error-area__title {
  color: var(--color-red-primary);
  margin: 0;
}
.c-error-area ul {
  color: var(--color-red-primary);
  margin-top: var(--size-8);
}
.c-data-list dt {
  align-items: baseline;
  display: flex;
  gap: 0.5em;
}
.c-data-list dt:before {
  background-color: var(--color-text-secondary);
  content: "";
  display: inline-block;
  height: 0.8em;
  width: 0.8em;
}
.c-data-list dd + dt {
  margin-top: 0.5em;
}
.c-logo {
  color: var(--color-text-logo);
}
.c-logo .c-logo__image {
  aspect-ratio: 1/1;
  display: block;
  overflow: hidden;
}
.c-logo .c-logo__text {
  font-weight: 700;
  line-height: 1.29;
  margin: 0;
}
.c-logo .c-logo__text > span {
  display: block;
  font-size: 75%;
  font-style: italic;
  margin-top: 0.25em;
}
.c-gnav .c-gnav__item {
  color: var(--color-text-primary);
  font-size: var(--size-18);
}
.c-gnav .c-gnav__link {
  display: block;
}
.c-page-head {
  color: var(--color-text-primary);
  display: flex;
}
.c-page-head__title {
  font-weight: 700;
  line-height: 1.57;
  margin: 0;
}
.c-page-head__en {
  font-weight: 400;
  line-height: 1.33;
  margin: 0;
}
.c-contact-cta .c-contact-cta__text {
  color: var(--color-text-primary);
  font-weight: 700;
  line-height: 1.57;
  margin: 0;
}
.c-sec-head__title {
  color: var(--color-text-dark);
  line-height: 1.5;
  margin: 0;
}
.c-block-title {
  align-items: center;
  display: flex;
  margin: 0;
}
.c-block-title__caption {
  font-size: var(--size-14);
  font-weight: 400;
}
.c-grid-table {
  border-bottom: 1px solid var(--color-primary);
}
.c-grid-table .c-grid-table__content {
  border-top: 1px solid var(--color-primary);
}
.c-grid-table .c-grid-table__title {
  font-weight: 700;
}
.c-grid-data {
  display: grid;
  gap: var(--size-6) var(--size-24);
  grid-template-columns: auto 1fr;
}
.c-grid-data .c-grid-data__title {
  font-weight: 700;
}
.c-table-data {
  background-color: var(--color-background-primary);
  font-size: var(--size-16);
}
.c-table-data th {
  line-height: 1.45;
  vertical-align: middle;
}
.c-table-data th[scope="row"] {
  text-align: left;
  vertical-align: top;
}
.c-table-data .c-table-data__cell {
  border: 1px solid var(--color-primary);
  padding: var(--size-8) var(--size-16);
}
.c-table-data .c-table-data__body--bold td {
  font-size: var(--size-24);
  font-weight: 700;
}
.c-table-data .c-table-data__caption {
  color: var(--color-text-secondary);
  font-size: var(--size-14);
  text-align: right;
}
.c-table-data .c-table-data__caption:before {
  content: "※";
  display: inline-block;
}
.c-footer-info .c-footer-info__title {
  align-items: center;
  display: flex;
  font-weight: 700;
  line-height: 1.29;
  margin: 0;
  width: -moz-fit-content;
  width: fit-content;
}
.c-footer-info .c-footer-info__title span {
  display: inline-block;
  font-size: 75%;
  font-style: italic;
}
.c-footer-info .c-footer-info__title > .c-footer-info__logo-text {
  align-items: baseline;
  display: flex;
  flex-direction: column;
}
.c-footer-info .c-footer-info__logo {
  aspect-ratio: 1/1;
  display: block;
}
.c-footer-subnav .c-footer-subnav__item {
  line-height: 1;
}
.c-footer-subnav .c-footer-subnav__link {
  color: var(--color-text-on-dark);
  text-decoration: none;
}
.c-pmark .c-pmark__link {
  background-color: var(--color-background-primary);
  display: flex;
}
.c-pmark .c-pmark__image {
  align-content: center;
  display: block;
  height: auto;
}
.c-copyright {
  display: block;
  font-size: var(--size-14);
}
.c-copyright .c-copyright__company {
  text-transform: uppercase;
}
.p-recruit-banner img {
  display: block;
  filter: drop-shadow(0 var(--size-2) var(--size-4) var(--color-shadow-medium));
  height: auto;
  width: 100%;
}
a.u-link-alpha {
  color: inherit !important;
  opacity: 1;
  text-decoration: none;
  transition: opacity 0.2s ease-in-out;
}
.u-point-list > li {
  padding-left: 1em;
  text-indent: -1em;
}
.u-point-list > li:before {
  content: "・";
  display: inline-block;
  height: 1em;
  text-align: center;
  text-indent: 0;
  width: 1em;
}
.u-number-list {
  counter-reset: numlis;
}
.u-number-list > li {
  counter-increment: numlis;
  padding-left: 1em;
  text-indent: -1em;
}
.u-number-list > li:before {
  content: counter(numlis) ".";
  display: inline-block;
  text-align: center;
  text-indent: 0;
  width: 1em;
}
.u-text-right {
  text-align: right;
}
@media (min-width: 769px) and (max-width: 1280px) {
  :root {
    --size-2: 0.156vw;
    --size-4: 0.313vw;
    --size-6: 0.469vw;
    --size-8: 0.625vw;
    --size-10: 0.781vw;
    --size-12: 0.938vw;
    --size-14: 1.094vw;
    --size-16: 1.25vw;
    --size-18: 1.406vw;
    --size-20: 1.563vw;
    --size-24: 1.875vw;
    --size-28: 2.188vw;
    --size-32: 2.5vw;
    --size-40: 3.125vw;
    --size-48: 3.75vw;
    --size-56: 4.375vw;
    --size-64: 5vw;
    --size-80: 6.25vw;
    --size-100: 7.813vw;
    --size-120: 9.375vw;
    --size-160: 12.5vw;
  }
  .l-inner {
    padding-inline: var(--size-100);
  }
  .l-inner.l-inner--l {
    padding-inline: var(--size-40);
  }
  .l-footer .l-footer__top {
    background-size: 150vw auto;
  }
  .l-colum .c-sec-head {
    flex: 0 1 12.5vw;
    min-width: 12.5vw;
  }
  .c-btn.c-btn--md-cta .c-label-en {
    font-size: var(--size-14);
  }
  .c-logo .c-logo__text {
    font-size: var(--size-18);
  }
  .c-gnav .c-gnav__link {
    padding: var(--size-8) var(--size-4);
  }
  .c-contact-cta .c-contact-cta__text {
    font-size: var(--size-24);
  }
  .c-footer-subnav .c-footer-subnav__list {
    gap: var(--size-20);
  }
  .c-pmark .c-pmark__image {
    width: 6.25vw;
  }
}
@media (min-width: 1281px) and (max-width: 1920px) {
  :root {
    --size-2: 0.104vw;
    --size-4: 0.208vw;
    --size-6: 0.313vw;
    --size-8: 0.417vw;
    --size-10: 0.521vw;
    --size-12: 0.625vw;
    --size-14: 0.729vw;
    --size-16: 0.833vw;
    --size-18: 0.938vw;
    --size-20: 1.042vw;
    --size-24: 1.25vw;
    --size-28: 1.458vw;
    --size-32: 1.667vw;
    --size-40: 2.083vw;
    --size-48: 2.5vw;
    --size-56: 2.917vw;
    --size-64: 3.333vw;
    --size-80: 4.167vw;
    --size-100: 5.208vw;
    --size-120: 6.25vw;
    --size-160: 8.333vw;
  }
  .l-inner {
    width: 66.667vw;
  }
  .l-inner.l-inner--l {
    width: 83.333vw;
  }
  .l-footer .l-footer__top {
    background-size: 100vw auto;
  }
  .l-colum .c-sec-head {
    flex: 0 1 12.5vw;
    min-width: 12.5vw;
  }
  .c-logo .c-logo__text {
    font-size: var(--size-20);
  }
  .c-gnav .c-gnav__link {
    padding: var(--size-12) var(--size-16);
  }
  .c-contact-cta .c-contact-cta__text {
    font-size: var(--size-28);
  }
  .c-pmark .c-pmark__image {
    width: 5.208vw;
  }
}
@media (min-width: 1921px) {
  :root {
    --size-2: 0.078vw;
    --size-4: 0.156vw;
    --size-6: 0.234vw;
    --size-8: 0.313vw;
    --size-10: 0.391vw;
    --size-12: 0.469vw;
    --size-14: 0.547vw;
    --size-16: 0.625vw;
    --size-18: 0.703vw;
    --size-20: 0.781vw;
    --size-24: 0.938vw;
    --size-28: 1.094vw;
    --size-32: 1.25vw;
    --size-40: 1.563vw;
    --size-48: 1.875vw;
    --size-56: 2.188vw;
    --size-64: 2.5vw;
    --size-80: 3.125vw;
    --size-100: 3.906vw;
    --size-120: 4.688vw;
    --size-160: 6.25vw;
  }
  body {
    font-size: var(--size-20);
  }
  .l-inner {
    width: 62.5vw;
  }
  .l-inner.l-inner--l {
    width: 75vw;
  }
  .l-header {
    padding-block: var(--size-24);
  }
  .l-header .c-btn {
    font-size: var(--size-20);
    padding: var(--size-16) var(--size-40);
  }
  .l-footer .l-footer__top {
    background-size: 75vw auto;
  }
  .l-colum .c-sec-head {
    flex: 0 1 12.5vw;
    min-width: 12.5vw;
  }
  .c-btn {
    font-size: var(--size-16);
  }
  .c-btn.c-btn--s {
    font-size: var(--size-14);
  }
  .c-btn.c-btn--l {
    font-size: var(--size-20);
  }
  .c-btn.c-btn--xl {
    font-size: var(--size-32);
  }
  .c-card {
    background-size: 25.391vw auto;
    min-height: 12.5vw;
  }
  .c-card-title .c-card-title__en {
    font-size: var(--size-24);
  }
  .c-card-title .c-card-title__main {
    margin-top: var(--size-6);
  }
  .c-logo .c-logo__text {
    font-size: var(--size-24);
  }
  .c-gnav .c-gnav__item {
    font-size: var(--size-20);
  }
  .c-gnav .c-gnav__link {
    padding: var(--size-16) var(--size-20);
  }
  .c-page-head {
    gap: var(--size-32);
  }
  .c-page-head__title {
    font-size: var(--size-40);
  }
  .c-contact-cta .c-contact-cta__text,
  .c-page-head__en {
    font-size: var(--size-32);
  }
  .c-sec-head__title {
    font-size: var(--size-48);
  }
  .c-block-title {
    font-size: var(--size-32);
    gap: var(--size-32);
    margin-bottom: var(--size-20);
  }
  .c-block-title__caption {
    font-size: var(--size-18);
  }
  .c-footer-nav .c-footer-nav__list {
    font-size: var(--size-20);
    gap: var(--size-48);
  }
  .c-pmark .c-pmark__image {
    width: 3.906vw;
  }
}
@media (max-width: 768px) {
  body {
    font-size: var(--size-14);
  }
  body.is-menu-open {
    overflow: hidden;
  }
  .l-contents-wrapper {
    background-image: url(/assets/img/common/bg-pattern-sp.svg), radial-gradient(ellipse 50% 50% at 50% 50%, #fff 0, var(--color-blue-light) 100%);
    background-position: top, top;
    background-size:
      100vw 100vh,
      100vw 100vh;
  }
  .l-header {
    height: 72px;
    padding: 8px 20px;
  }
  .l-header .l-header__nav-container {
    gap: 12px;
  }
  .l-header .c-btn {
    aspect-ratio: 1/1;
    border-radius: 4px;
    box-shadow: 0 2px 4px var(--color-shadow-medium);
    display: flex;
    flex-direction: column;
    font-size: 7px;
    justify-content: center;
    padding: 4px;
    text-align: center;
    white-space: nowrap;
    width: 56px;
    word-break: keep-all;
  }
  .l-header .c-btn--cta:before {
    background: url(/assets/img/common/icon_contact.svg) no-repeat 50%;
    background-size: 24px 20px;
    content: "";
    display: block;
    height: 32px;
    margin-inline: auto;
    width: 32px;
  }
  .l-footer .l-footer__top {
    background-size: 600vw auto;
  }
  .l-footer .l-footer__top-inner {
    padding: 20px;
    position: relative;
  }
  .l-footer .l-footer__bottom-inner {
    padding: 20px;
    text-align: center;
  }
  .l-footer .c-footer-info .c-footer-info__title {
    margin-bottom: 20px;
  }
  body:not(#home) .l-main .l-section:last-child {
    padding-bottom: var(--size-20);
  }
  .l-main .c-page-head {
    padding: var(--size-20);
    padding-bottom: 0;
  }
  .l-section {
    padding: var(--size-10) var(--size-20);
  }
  .l-contact-area .l-inner {
    padding: 20px;
  }
  .l-contact-area .c-btn.c-btn--md-cta {
    margin-top: 20px;
  }
  .c-btn {
    border-radius: var(--size-6);
    font-size: var(--size-14);
    padding: var(--size-6) var(--size-20) var(--size-8);
  }
  .c-btn.c-btn--s {
    font-size: var(--size-10);
  }
  .c-btn.c-btn--md-cta {
    font-size: var(--size-16);
    gap: var(--size-16);
    padding: var(--size-16);
    width: 100%;
  }
  .c-btn.c-btn--md-cta .c-label-en {
    font-size: var(--size-10);
  }
  .c-card {
    background-size: 90% auto;
    border-radius: var(--size-8);
    padding: var(--size-24);
  }
  .c-card:before {
    background-position: right -5% bottom -200%;
    background-size: auto 90%;
  }
  .c-card.c-card--business:before {
    background-position: center bottom -10%;
    background-size: 115% auto;
  }
  .c-card.c-card--koryu {
    padding-bottom: 40vw;
  }
  .c-card.c-card--koryu:before {
    background-image: url(/assets/img/common/bg_card-koryu_sp.png);
    background-position: left 20% bottom -20%;
    background-size: 120% auto;
  }
  .c-card .c-btn {
    margin-top: var(--size-16);
  }
  .c-card-title .c-card-title__en {
    font-size: var(--size-12);
  }
  .c-card-title .c-card-title__main {
    font-size: var(--size-20);
    margin-top: var(--size-4);
  }
  .c-card-title + p {
    margin-block: var(--size-4) var(--size-16);
  }
  .c-logo .c-logo__image {
    width: 48px;
  }
  .c-logo .c-logo__text {
    display: none;
  }
  .c-gnav {
    background-color: rgba(0, 0, 0, 0.5);
    inset: 72px 0 0;
    opacity: 0;
    position: fixed;
    transition:
      opacity 0.3s ease-in-out,
      visibility 0.3s;
    visibility: hidden;
  }
  .c-gnav.is-open {
    opacity: 1;
    visibility: visible;
  }
  .c-gnav .c-gnav__list {
    background-color: var(--color-background-primary);
    display: flex;
    flex-direction: column;
    gap: 0;
    height: 100%;
    margin-left: auto;
    max-width: 320px;
    overflow-y: auto;
    padding: 24px 0;
    transition: translate 0.3s ease-in-out;
    translate: 100% 0;
    width: 80%;
  }
  .c-gnav.is-open .c-gnav__list {
    translate: 0 0;
  }
  .c-gnav .c-gnav__link {
    border-bottom: 1px solid var(--color-border-light, #e0e0e0);
    padding: 16px 24px;
  }
  .c-page-head {
    flex-direction: column-reverse;
    gap: 0;
  }
  .c-page-head__title {
    font-size: var(--size-18);
  }
  .c-page-head__en {
    font-size: var(--size-14);
  }
  .c-contact-cta .c-contact-cta__text {
    font-size: var(--size-18);
    text-align: center;
  }
  .c-sec-head {
    margin-bottom: var(--size-10);
  }
  .c-sec-head__title {
    font-size: var(--size-24);
  }
  .c-block-title {
    font-size: var(--size-18);
    gap: var(--size-14);
    margin-bottom: var(--size-8);
  }
  .c-block-title__caption {
    font-size: var(--size-12);
  }
  .c-grid-table .c-grid-table__content:nth-child(odd) {
    padding-top: var(--size-8);
  }
  .c-grid-table .c-grid-table__content:nth-child(2n) {
    border-top: none;
    padding-block: var(--size-8) var(--size-8);
  }
  .c-table-data-wrap {
    scrollbar-width: none;
    -ms-overflow-style: none;
    margin-inline: calc(var(--size-20) * -1);
    overflow-x: scroll;
    padding-inline: var(--size-20);
  }
  .c-table-data-wrap::-webkit-scrollbar {
    display: none;
  }
  .c-table-data {
    font-size: var(--size-14);
    width: 360%;
  }
  .c-footer-info .c-footer-info__title {
    font-size: 16px;
    gap: 8px;
  }
  .c-footer-info .c-footer-info__title > .c-footer-info__logo-text {
    gap: 4px;
  }
  .c-footer-info .c-footer-info__logo {
    width: 48px;
  }
  .c-footer-nav .c-footer-nav__list {
    font-size: 14px;
  }
  .c-footer-nav__item + .c-footer-nav__item {
    margin-top: 16px;
  }
  .c-footer-subnav .c-footer-subnav__item {
    font-size: 14px;
  }
  .c-footer-subnav .c-footer-subnav__item + .c-footer-subnav__item {
    margin-top: 20px;
  }
  .c-pmark {
    bottom: 20px;
    position: absolute;
    right: 20px;
  }
  .c-pmark .c-pmark__link {
    border-radius: 9px;
    padding: 10px;
  }
  .c-pmark .c-pmark__image {
    width: 64px;
  }
  .c-copyright {
    font-size: 10px;
    margin-top: 24px;
  }
  .u-view-pc {
    display: none;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-btn:hover,
  a:hover {
    text-decoration: none;
  }
  .c-btn:hover {
    background-color: var(--color-accent-secondary);
    cursor: pointer;
  }
  .c-btn.c-btn--primary:hover {
    background-color: var(--color-accent-primary-sub);
  }
  .c-btn.c-btn--secondary:hover {
    background-color: var(--color-background-secondary);
    color: var(--color-accent-secondary-sub);
  }
  .c-footer-subnav .c-footer-subnav__link:hover {
    color: var(--color-text-on-dark);
    opacity: 0.6;
  }
  a.u-link-alpha:hover {
    opacity: 0.6;
  }
}
@media (min-width: 769px) {
  .l-contents-wrapper {
    background-image: url(/assets/img/common/bg-pattern.svg), radial-gradient(ellipse 50% 50% at 50% 50%, #fff 0, var(--color-blue-light) 100%);
    background-position: top, top;
    background-size:
      100vw 100vh,
      100vw 100vh;
  }
  .l-header {
    padding: var(--size-20) var(--size-40);
  }
  .l-header .l-header__nav-container {
    gap: var(--size-32);
  }
  .l-header .c-btn {
    border-radius: var(--size-8);
  }
  .l-footer .l-footer__top-inner {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding-block: var(--size-32);
  }
  .l-footer .l-footer__bottom-inner {
    align-items: center;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    padding-block: var(--size-24);
  }
  .l-footer .c-footer-info .c-footer-info__title {
    margin-bottom: var(--size-20);
  }
  body:not(#home) .l-main {
    padding-top: var(--size-48);
  }
  body:not(#home) .l-main .l-section:last-child {
    padding-bottom: var(--size-80);
  }
  .l-main .c-page-head {
    margin-bottom: var(--size-24);
  }
  .l-section {
    padding: var(--size-28) 0;
  }
  .l-colum {
    display: flex;
    gap: var(--size-64);
  }
  .l-colum .c-sec-content {
    flex: 1 1 auto;
  }
  .l-contact-area .l-inner {
    padding-block: var(--size-40);
    text-align: center;
  }
  .l-contact-area .c-btn.c-btn--md-cta {
    margin-top: var(--size-24);
    width: 31.25vw;
  }
  .c-menu-btn.c-btn {
    display: none;
  }
  .c-btn {
    border-radius: var(--size-6);
    font-size: var(--size-14);
    padding: var(--size-6) var(--size-20) var(--size-8);
    transition: background-color 0.2s ease-in-out;
  }
  .c-btn.c-btn--l {
    font-size: var(--size-18);
    padding: var(--size-12) var(--size-24) var(--size-16);
  }
  .c-btn.c-btn--xl {
    font-size: var(--size-24);
    padding: var(--size-16) var(--size-48);
  }
  .c-btn.c-btn--contact-l {
    border-radius: var(--size-12);
    padding: var(--size-24) var(--size-32);
  }
  .c-btn.c-btn--contact-l .c-btn__label-en {
    font-size: var(--size-16);
  }
  .c-btn.c-btn--contact-l .c-btn__label-ja {
    font-size: var(--size-28);
  }
  .c-btn.c-btn--md-cta {
    border-radius: var(--size-12);
    font-size: var(--size-20);
    gap: var(--size-32);
    padding: var(--size-20);
    width: 31.25vw;
  }
  .c-card {
    background-size: 37.5vw auto;
    border-radius: var(--size-12);
    min-height: 18.75vw;
    padding: var(--size-32) var(--size-40);
  }
  .c-card:before {
    background-position: right -30% center;
    background-size: auto 120%;
  }
  .c-card.c-card--koryu:before {
    background-image: url(/assets/img/common/bg_card-koryu_pc.png);
    background-position: right -10% center;
    background-size: auto 150%;
  }
  .c-card .c-btn {
    margin-top: var(--size-16);
  }
  .c-card-title .c-card-title__en {
    font-size: var(--size-18);
  }
  .c-card-title .c-card-title__main {
    font-size: var(--size-28);
    margin-top: var(--size-6);
  }
  .c-logo__link {
    align-items: center;
    display: flex;
    gap: var(--size-20);
  }
  .c-logo .c-logo__image {
    width: var(--size-56);
  }
  .c-gnav .c-gnav__list {
    align-items: center;
    display: flex;
    gap: var(--size-32);
  }
  .c-page-head {
    align-items: center;
    flex-direction: row-reverse;
    gap: var(--size-20);
    justify-content: flex-end;
  }
  .c-page-head__title {
    font-size: var(--size-28);
  }
  .c-page-head__en {
    font-size: var(--size-20);
  }
  .c-sec-head {
    margin-bottom: var(--size-28);
  }
  .c-sec-head__title {
    font-size: var(--size-28);
  }
  .c-block-title {
    font-size: var(--size-20);
    gap: var(--size-20);
    margin-bottom: var(--size-16);
  }
  .c-grid-table {
    display: grid;
    gap: 0;
    grid-template-columns: 17.188vw auto;
  }
  .c-grid-table .c-grid-table__content {
    padding: var(--size-20) 0;
  }
  .c-grid-table .c-grid-table__title {
    padding-right: var(--size-20);
  }
  .c-footer-info .c-footer-info__title {
    font-size: var(--size-16);
    gap: var(--size-16);
  }
  .c-footer-info .c-footer-info__title > .c-footer-info__logo-text {
    gap: var(--size-4);
  }
  .c-footer-info .c-footer-info__logo {
    width: var(--size-56);
  }
  .c-footer-nav .c-footer-nav__list {
    display: flex;
    font-size: var(--size-16);
    gap: var(--size-20);
  }
  .c-footer-subnav .c-footer-subnav__list {
    align-items: center;
    display: flex;
  }
  .c-pmark .c-pmark__link {
    border-radius: var(--size-6);
    padding: var(--size-8);
  }
  .u-view-sp {
    display: none;
  }
}
@media (min-width: 1281px) {
  .l-header {
    padding: var(--size-28) var(--size-40);
  }
  .l-header .l-header__nav-container {
    gap: var(--size-40);
  }
  body:not(#home) .l-main {
    padding-top: var(--size-80);
  }
  body:not(#home) .l-main .l-section:last-child {
    padding-bottom: var(--size-120);
  }
  .l-main .c-page-head {
    margin-bottom: var(--size-40);
  }
  .l-section {
    padding: var(--size-40) 0;
  }
  .l-colum {
    gap: var(--size-80);
  }
  .l-contact-area .l-inner {
    padding-block: var(--size-48);
  }
  .l-contact-area .c-btn.c-btn--md-cta {
    width: 33.333vw;
  }
  .c-btn {
    border-radius: var(--size-8);
    font-size: var(--size-14);
    padding: var(--size-8) var(--size-24) var(--size-10);
  }
  .c-btn.c-btn--s {
    padding: var(--size-4) var(--size-16) var(--size-6);
  }
  .c-btn.c-btn--l {
    padding: var(--size-12) var(--size-32) var(--size-14);
  }
  .c-btn.c-btn--contact-l {
    border-radius: var(--size-16);
    padding: var(--size-32) var(--size-48);
  }
  .c-btn.c-btn--contact-l .c-btn__label-en {
    font-size: var(--size-20);
  }
  .c-btn.c-btn--contact-l .c-btn__label-ja {
    font-size: var(--size-40);
  }
  .c-btn.c-btn--md-cta {
    border-radius: var(--size-16);
    font-size: var(--size-32);
    gap: var(--size-40);
    padding: var(--size-32);
    width: 25vw;
  }
  .c-btn.c-btn--md-cta .c-label-en {
    font-size: var(--size-16);
  }
  .c-card {
    background-size: 33.854vw auto;
    border-radius: var(--size-16);
    min-height: 16.042vw;
    padding: var(--size-28) var(--size-56);
  }
  .c-card:before {
    background-size: auto 140%;
  }
  .c-card .c-btn {
    margin-top: var(--size-24);
  }
  .c-card-title .c-card-title__en {
    font-size: var(--size-20);
  }
  .c-card-title .c-card-title__main {
    font-size: var(--size-40);
    margin-top: var(--size-8);
  }
  .c-logo__link {
    gap: var(--size-24);
  }
  .c-logo .c-logo__image {
    width: var(--size-80);
  }
  .c-page-head {
    gap: var(--size-24);
  }
  .c-page-head__en {
    font-size: var(--size-24);
  }
  .c-sec-head {
    margin-bottom: var(--size-40);
  }
  .c-sec-head__title {
    font-size: var(--size-40);
  }
  .c-block-title {
    font-size: var(--size-24);
    gap: var(--size-24);
    margin-bottom: var(--size-16);
  }
  .c-block-title__caption {
    font-size: var(--size-16);
  }
  .c-grid-table {
    grid-template-columns: 14.583vw auto;
  }
  .c-grid-table .c-grid-table__content {
    padding: var(--size-24) 0;
  }
  .c-grid-table .c-grid-table__title {
    padding-right: var(--size-80);
  }
  .c-footer-subnav .c-footer-subnav__list {
    gap: var(--size-24);
  }
  .c-pmark .c-pmark__link {
    border-radius: var(--size-8);
    padding: var(--size-10);
  }
}
@media (min-width: 769px) and (max-width: 1920px) {
  .l-header .c-btn {
    font-size: var(--size-18);
    padding: var(--size-12) var(--size-32);
  }
  .c-footer-nav .c-footer-nav__list {
    font-size: var(--size-18);
    gap: var(--size-40);
  }
}
@media (scripting: enabled) and (min-width: 769px) {
  .l-header.is-home {
    background-color: transparent;
    transition: background-color 0.3s ease;
  }
  .l-header.is-home.is-active {
    background-color: var(--color-background-primary);
  }
}
@media only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
  .c-card.c-card--business:before {
    background-image: url(/assets/img/common/bg_card-business@2x.png);
  }
  .c-card.c-card--company:before {
    background-image: url(/assets/img/common/bg_card-company@2x.png);
  }
  .c-card.c-card--recruit:before {
    background-image: url(/assets/img/common/bg_card-recruit@2x.png);
  }
}
@media only screen and (max-width: 768px) and (min-resolution: 192dpi), only screen and (max-width: 768px) and (min-resolution: 2dppx) {
  .c-card.c-card--koryu:before {
    background-image: url(/assets/img/common/bg_card-koryu_sp@2x.png);
  }
}
@media only screen and (min-width: 769px) and (min-resolution: 192dpi), only screen and (min-width: 769px) and (min-resolution: 2dppx) {
  .c-card.c-card--koryu:before {
    background-image: url(/assets/img/common/bg_card-koryu_pc@2x.png);
  }
}
@media (max-width: 768px) and (min-width: 1281px) {
  .u-view-lt {
    display: none;
  }
}
