@charset "UTF-8";
/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -moz-appearance: textfield;
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

@keyframes splide-loading {
  0% {
    transform: rotateZ(0);
  }
  100% {
    transform: rotateZ(360deg);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}
.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}
.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}
.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}
.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}
.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}
.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s infinite linear;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle__pause {
  display: none;
}
.splide__toggle.is-active .splide__toggle__play {
  display: none;
}
.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

summary {
  list-style: none;
  cursor: pointer;
}
summary::-webkit-details-marker {
  display: none;
}

dialog {
  position: fixed;
  max-width: 100%;
  max-height: 100%;
  padding: 0;
  margin: 0;
  background: transparent;
  border: none;
}
dialog::backdrop {
  background: transparent;
}

:root {
  --color-black: #000;
  --color-white: #fff;
  --color-primary: #40444b;
  --color-accent: #a4b3bc;
  --color-primary-rgb: 64, 68, 75;
  --color-accent-rgb: 164, 179, 188;
  --color-accent-dark: #90a2ad;
  --color-text-gray: #61727c;
  --color-text-placeholder: #ababab;
  --color-border: var(--color-accent);
  --color-validation: #ee3e3e;
  --color-validation-background: #ffc0be;
  --color-sub-20: rgba(181, 199, 210, 0.2);
  --color-sub-50: rgba(181, 199, 210, 0.5);
  --color-recruit-text-gray: #45555e;
  --color-recruit-text-link: #1b647b;
  --color-recruit-border: #88939d;
  --letter-spacing: 0.05em;
  --transition-duration-hover: 0.2s;
  --transition-duration-motion: 0.4s;
  --z-index-dropdown: 100;
  --z-index-header: 200;
  --z-index-recruit-topics-category: 1;
  --icon-arrow-right: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 14.2 19.8"><path d="M1.5,19.8c-0.4,0-0.9-0.2-1.2-0.6c-0.5-0.7-0.4-1.6,0.3-2.1l9.6-7.5L0.6,2.7c-0.7-0.5-0.8-1.4-0.3-2.1c0.5-0.7,1.4-0.8,2.1-0.3l11.2,8.1c0.4,0.3,0.6,0.7,0.6,1.2s-0.2,0.9-0.6,1.2L2.4,19.5C2.1,19.7,1.8,19.8,1.5,19.8z"/></svg>');
  --icon-arrow-right-recruit: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none"><path d="M6.3125 11.3531C6.48498 11.5255 6.76502 11.5255 6.9375 11.3531L11.6123 6.67827C12.1297 6.16088 12.1297 5.32163 11.6123 4.80424L6.9375 0.129439C6.76502 -0.0430292 6.48498 -0.0430292 6.3125 0.129439C6.14003 0.301907 6.14003 0.581975 6.3125 0.754439L10.8613 5.30229L0.441407 5.30229C0.197739 5.3024 0.000217678 5.50004 5.01695e-07 5.7437C4.80378e-07 5.98754 0.197605 6.18597 0.441407 6.18608L10.8555 6.18608L6.3125 10.729C6.14034 10.9015 6.14031 11.1807 6.3125 11.3531Z" fill="black"/></svg>');
  --icon-arrow-right-thin: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 35"><path d="M1.8,35c-0.4,0-0.9-0.2-1.2-0.6c-0.5-0.7-0.4-1.6,0.3-2.1L20.7,17L1,2.7C0.3,2.2,0.1,1.3,0.6,0.6C1.1,0,2-0.2,2.7,0.3L24,15.7c0.4,0.3,0.6,0.7,0.6,1.2s-0.2,0.9-0.6,1.2L2.8,34.7C2.5,34.9,2.2,35,1.8,35z"/></svg>');
  --icon-straight-arrow-right: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13.585 13"><path d="M7.5,13c-.128,0-.256-.049-.354-.146-.195-.195-.195-.512,0-.707l5.293-5.293c.195-.195.195-.512,0-.708L7.146.854c-.195-.195-.195-.512,0-.707s.512-.195.707,0l5.293,5.292c.585.585.585,1.537,0,2.122l-5.293,5.293c-.098.098-.226.146-.354.146Z"/><path d="M12.5,7H.5c-.276,0-.5-.224-.5-.5s.224-.5.5-.5h12c.276,0,.5.224.5.5s-.224.5-.5.5Z"/></svg>');
  --icon-open-in-new: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 20 20"><path d="M15 10C14.448 10 14 10.448 14 11V15.5C14 15.776 13.776 16 13.5 16H4.5C4.224 16 4 15.776 4 15.5V6.5C4 6.224 4.224 6 4.5 6H9C9.552 6 10 5.552 10 5C10 4.448 9.552 4 9 4H3C2.448 4 2 4.448 2 5V17C2 17.552 2.448 18 3 18H15C15.552 18 16 17.552 16 17V11C16 10.448 15.552 10 15 10Z"/><path d="M17.976 2.876C17.965 2.789 17.958 2.702 17.924 2.62C17.823 2.374 17.627 2.178 17.381 2.077C17.286 2.038 17.185 2.026 17.084 2.017C17.055 2.014 17.03 2 17.001 2H13.001C12.449 2 12.001 2.448 12.001 3C12.001 3.552 12.449 4 13.001 4H14.587L8.637 9.951C8.246 10.342 8.246 10.975 8.637 11.365C8.832 11.56 9.088 11.658 9.344 11.658C9.6 11.658 9.856 11.56 10.051 11.365L16.001 5.414V7C16.001 7.552 16.449 8 17.001 8C17.553 8 18.001 7.552 18.001 7V3C18.001 2.956 17.981 2.918 17.976 2.876Z"/></svg>');
  --icon-play: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15.382 15.382"><path d="M2,15.382V0L15.382,7.691Z"></path></svg>');
  --icon-pause: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12.8 12.8"><rect class="st0" width="5" height="12.8"/><rect x="7.3" class="st0" width="5" height="12.8"/></svg>');
  --icon-pause-thin: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9 13"><path d="M.5,13c-.276,0-.5-.224-.5-.5V.5C0,.224.224,0,.5,0s.5.224.5.5v12c0,.276-.224.5-.5.5Z"/><path d="M8.5,13c-.276,0-.5-.224-.5-.5V.5c0-.276.224-.5.5-.5s.5.224.5.5v12c0,.276-.224.5-.5.5Z"/></svg>');
  --icon-pdf: url('data:image/svg+xml;charset=UTF-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 21"><path d="M17.707,6.078l-3.414-3.414c-0.188-0.188-0.442-0.293-0.707-0.293H5c-0.552,0-1,0.448-1,1v5H2.5c-0.276,0-0.5,0.224-0.5,0.5v3c0,0.276,0.224,0.5,0.5,0.5H4v5c0,0.552,0.448,1,1,1h12.001c0.552,0,1-0.448,1-1V6.785C18.001,6.52,17.895,6.265,17.707,6.078z M16,15.871c0,0.276-0.224,0.5-0.5,0.5h-9c-0.276,0-0.5-0.224-0.5-0.5v-3.5h5.5c0.276,0,0.5-0.224,0.5-0.5v-3c0-0.276-0.224-0.5-0.5-0.5H6v-3.5c0-0.276,0.224-0.5,0.5-0.5h6.193c0.133,0,0.26,0.053,0.354,0.146l2.808,2.808c0.094,0.094,0.146,0.221,0.146,0.354L16,15.871z"/></svg>');
  --icon-ellipsis: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 4"><circle cx="2" cy="2" r="2" fill="black" /><circle cx="10" cy="2" r="2" fill="black" /><circle cx="18" cy="2" r="2" fill="black" /></svg>');
  --icon-external-link: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none"><path d="M0.832579 0.588615C0.832579 0.263497 1.09608 -2.48109e-08 1.42119 0L10.2342 2.48109e-08C11.2094 6.78082e-05 11.9999 0.790591 12 1.76584V10.5788C12 10.9039 11.7365 11.1674 11.4114 11.1674C11.0863 11.1674 10.8228 10.9039 10.8228 10.5788V1.76584C10.8227 1.44083 10.5592 1.1773 10.2342 1.17723H1.42119C1.09608 1.17723 0.832579 0.913733 0.832579 0.588615Z" fill="black"/><path d="M10.1626 1.00487C10.3925 0.774979 10.7652 0.77498 10.9951 1.00487C11.225 1.23477 11.225 1.6075 10.9951 1.83739L1.00494 11.8276C0.775043 12.0575 0.402313 12.0575 0.17242 11.8276C-0.0574732 11.5977 -0.0574732 11.225 0.17242 10.9951L10.1626 1.00487Z" fill="black"/></svg>');
  --container-spacing-horizontal: 8%;
  --recruit-container-spacing-horizontal: 6.4%;
  --container-max-width: 67.5rem;
  --recruit-container-narrow-max-width: 65rem;
}
@media screen and (min-width: 60em), print {
  :root {
    --header-height: 6.5rem;
    --recruit-header-height: 4.75rem;
    --design-frame-width: 14.4;
  }
}
@media screen and (max-width: 59.99em) {
  :root {
    --header-height: 4rem;
    --recruit-header-height: 4.5rem;
    --design-frame-width: 3.9;
  }
}
@media screen and (min-width: 67.5em), print {
  :root {
    --recruit-header-height: 4.75rem;
  }
}
@media screen and (max-width: 67.49em) {
  :root {
    --recruit-header-height: 4.5rem;
  }
}

html {
  overflow-x: hidden;
  font-family: "Noto Sans JP", sans-serif;
  line-height: normal;
  scroll-behavior: smooth;
}
@media screen and (min-width: 96em), print {
  html {
    font-size: 110%;
  }
}

*,
*::before,
*::after {
  --container-width: min(
    calc(100% - var(--container-spacing-horizontal) * 2),
    var(--container-max-width)
  );
  --recruit-container-width: min(
    calc(100% - var(--recruit-container-spacing-horizontal) * 2),
    var(--container-max-width)
  );
  --recruit-container-narrow-width: min(
    calc(100% - var(--recruit-container-spacing-horizontal) * 2),
    var(--recruit-container-narrow-max-width)
  );
  --container-gutter: calc((100% - var(--container-width)) / 2);
  letter-spacing: var(--letter-spacing);
}

:target {
  scroll-margin-top: var(--header-height);
}

:where(:not(.editor-styles-wrapper *))::-moz-selection {
  background-color: rgba(var(--color-accent-rgb), 0.5);
}

:where(:not(.editor-styles-wrapper *))::selection {
  background-color: rgba(var(--color-accent-rgb), 0.5);
}

body.page-template-front-page {
  --container-max-width: 72.5rem;
}

body.single-news,
body.single-story {
  --container-max-width: 56.25rem;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  img {
    image-rendering: -webkit-optimize-contrast;
  }
  img _::-webkit-full-page-media,
  img _:future, :root img {
    image-rendering: auto;
  }
}

select {
  cursor: pointer;
}
select:disabled {
  cursor: default;
}

b {
  font-weight: inherit;
}

[data-cloak] {
  visibility: hidden;
}

.announcement {
  display: block;
  padding-block: 0.5rem;
  color: var(--color-white);
  background-color: var(--color-validation);
}

.announcement__content {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .announcement__content {
    grid-template-columns: auto 1fr;
    align-items: center;
  }
}
@media screen and (max-width: 59.99em) {
  .announcement__content {
    padding-inline: 1rem;
  }
}

.announcement__label {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .announcement__label {
    padding-inline: 2rem;
    border-right: 1px solid currentColor;
  }
}
@media screen and (max-width: 59.99em) {
  .announcement__label {
    padding-bottom: 0.5rem;
    border-bottom: 1px solid currentColor;
  }
}

.announcement__text {
  display: grid;
  grid-template-columns: 1fr auto;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  align-items: center;
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .announcement__text {
    padding-inline: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .announcement__text {
    padding-top: 0.25rem;
  }
}
.announcement__text::after {
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  vertical-align: middle;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-arrow-right);
          mask-image: var(--icon-arrow-right);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.announcement__clamp {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
}
@media screen and (min-width: 60em), print {
  .announcement__clamp {
    -webkit-line-clamp: 1;
  }
}
@media screen and (max-width: 59.99em) {
  .announcement__clamp {
    -webkit-line-clamp: 2;
  }
}
.announcement__clamp > * {
  background-image: linear-gradient(to top, currentColor 0 1px, transparent 0 100%);
  background-repeat: no-repeat;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  background-position: right;
  background-size: 0 100%;
}
@media (prefers-reduced-motion: no-preference) {
  .announcement__clamp > * {
    transition-duration: 0.4s;
    transition-property: background-size;
  }
}
@media (hover: hover) {
  :where(:-moz-any-link, :enabled, summary):hover .announcement__clamp > * {
    background-position: left;
    background-size: 100% 100%;
  }
  :where(:any-link, :enabled, summary):hover .announcement__clamp > * {
    background-position: left;
    background-size: 100% 100%;
  }
}

.header {
  position: sticky;
  top: 0;
  z-index: var(--z-index-header);
  min-height: var(--header-height);
  animation: show 0.2s;
}
@keyframes show {
  from {
    visibility: visible;
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.header.is-hidden:where(:not(.is-open):not(.is-submenu-open)) {
  visibility: hidden;
  animation: hide 0.2s;
}
@keyframes hide {
  from {
    visibility: visible;
    opacity: 1;
  }
  to {
    visibility: hidden;
    opacity: 0;
  }
}

.header__content {
  display: grid;
  min-height: var(--header-height);
  background-color: var(--color-white);
  border-bottom: 1px solid var(--color-border);
  transition-duration: 0.2s;
  transition-property: padding, min-height;
}
@media screen and (min-width: 60em), print {
  .header__content {
    grid-template-columns: minmax(auto, 30%) minmax(0, 50rem);
    -moz-column-gap: 2%;
         column-gap: 2%;
    justify-content: space-between;
    padding: 0.5rem 2% 0.5rem 2%;
  }
  .header.is-scroll .header__content {
    min-height: 3.5rem;
    padding-block: 0;
  }
}
@media screen and (max-width: 59.99em) {
  .header__content {
    grid-template-columns: auto auto;
    -moz-column-gap: 6%;
         column-gap: 6%;
    justify-content: space-between;
    padding: 0.5rem 2% 0.5rem 4%;
  }
}

.header__logo {
  align-self: center;
}
@media screen and (min-width: 60em), print {
  .header__logo {
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .header__logo {
    font-size: 2.5rem;
  }
}
.header__logo img {
  width: auto;
  height: 1em;
  transition: height 0.3s;
}
@media screen and (min-width: 60em), print {
  .header.is-scroll .header__logo img {
    height: 0.7em;
  }
}

@media screen and (min-width: 60em), print {
  .header__menu {
    display: grid;
    align-self: center;
    min-height: 3.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .header__menu {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    height: calc(100vh - var(--header-height));
    padding: 3rem 12%;
    overflow-y: auto;
    overscroll-behavior: contain;
    visibility: hidden;
    background-color: var(--color-white);
    opacity: 0;
    transition-duration: 0.3s;
    transition-property: opacity, visibility;
  }
  .header__toggle[aria-expanded=true] ~ .header__menu {
    visibility: visible;
    opacity: 1;
  }
}

@media screen and (min-width: 60em), print {
  .header__list {
    display: grid;
    grid-auto-columns: minmax(max-content, 1fr);
    grid-auto-flow: column;
    height: 100%;
  }
  .header__list > li {
    position: relative;
  }
  .header__list > li:nth-child(n+2) {
    border-left: 2px solid var(--color-black);
  }
}
@media screen and (max-width: 59.99em) {
  .header__list > li {
    border-top: 1px solid var(--color-border);
  }
  .header__list > li:last-child {
    border-bottom: 1px solid var(--color-border);
  }
}

.header__link {
  display: grid;
  width: 100%;
  height: 100%;
  font-weight: 700;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media screen and (min-width: 60em), print {
  .header__link {
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .header__link {
    justify-content: space-between;
    padding-block: 1.125rem;
  }
}
@media (hover: hover) {
  .header__link:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.35);
  }
  .header__link:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.35);
  }
}
@media screen and (min-width: 60em), print {
  .header__link.header__link--colored {
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
}
@media screen and (min-width: 60em) and (hover: hover), print and (hover: hover) {
  .header__link.header__link--colored:where(:-moz-any-link, :enabled, summary):hover {
    color: var(--color-white);
    background-color: var(--color-primary);
  }
  .header__link.header__link--colored:where(:any-link, :enabled, summary):hover {
    color: var(--color-white);
    background-color: var(--color-primary);
  }
}
.header__link[aria-expanded] {
  position: relative;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
@media screen and (max-width: 59.99em) {
  .header__link[aria-expanded] {
    padding-right: 0.5rem;
  }
}
.header__link[aria-expanded]::before, .header__link[aria-expanded]::after {
  display: block;
  grid-area: 1/2;
  height: 2px;
  margin-top: auto;
  margin-bottom: auto;
  content: "";
  border-radius: 9999px;
  transition: transform var(--transition-duration-motion);
}
@media screen and (min-width: 60em), print {
  .header__link[aria-expanded]::before, .header__link[aria-expanded]::after {
    width: 12px;
    background-color: currentColor;
  }
}
@media screen and (max-width: 59.99em) {
  .header__link[aria-expanded]::before, .header__link[aria-expanded]::after {
    width: 16px;
    background-color: var(--color-accent);
  }
}
.header__link[aria-expanded]::before {
  transform: rotate(90deg);
}
.header__link[aria-expanded][aria-expanded=true]::before, .header__link[aria-expanded][aria-expanded=true]::after {
  transform: rotate(180deg);
}
.header__link.header__link--with-icon > span {
  position: relative;
}
.header__link.header__link--with-icon > span::after {
  position: absolute;
  top: 0;
  right: -0.65rem;
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  content: "";
  background-color: var(--color-validation);
  border-radius: 50%;
}

@media screen and (min-width: 60em), print {
  .header__submenu {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    visibility: hidden;
    opacity: 0;
    transition-duration: 0.3s;
    transition-property: opacity, visibility, transform;
    transform: translateY(-1rem);
  }
  .header__submenu:is([aria-expanded=true] ~ *) {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
  }
}

.header__submenu-content {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .header__submenu-content {
    position: relative;
    grid-template-columns: 100% max-content;
    align-items: center;
    background-color: var(--color-white);
    box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.25);
  }
}
@media screen and (max-width: 59.99em) {
  .header__submenu-content {
    grid-template-columns: repeat(auto-fill, minmax(16em, 1fr));
    gap: 0.25rem;
    padding-bottom: 0.5rem;
    padding-left: 1rem;
  }
}

@media screen and (max-width: 59.99em) {
  .header__submenu-title,
  .header__submenu-link {
    width: -moz-fit-content;
    width: fit-content;
    padding-block: 0.5rem;
    font-size: 0.875rem;
    color: var(--color-text-gray);
    background-image: linear-gradient(to top, currentColor 0 1px, transparent 0 100%);
    background-repeat: no-repeat;
    -webkit-box-decoration-break: clone;
            box-decoration-break: clone;
    background-position: right;
    background-size: 0 100%;
  }
}
@media screen and (max-width: 59.99em) and (prefers-reduced-motion: no-preference) {
  .header__submenu-title,
  .header__submenu-link {
    transition-duration: 0.2s;
    transition-property: background-size;
  }
}
@media screen and (max-width: 59.99em) and (hover: hover) {
  .header__submenu-title:where(:-moz-any-link, :enabled, summary):hover, .header__submenu-link:where(:-moz-any-link, :enabled, summary):hover {
    background-position: left;
    background-size: 100% 100%;
  }
  .header__submenu-title:where(:any-link, :enabled, summary):hover,
  .header__submenu-link:where(:any-link, :enabled, summary):hover {
    background-position: left;
    background-size: 100% 100%;
  }
}

@media screen and (min-width: 60em), print {
  .header__submenu-title {
    justify-self: center;
    padding-block: 0.25rem;
    font-weight: 700;
    background-image: linear-gradient(to top, currentColor 0 1px, transparent 0 100%);
    background-repeat: no-repeat;
    -webkit-box-decoration-break: clone;
            box-decoration-break: clone;
    background-position: right;
    background-size: 0 100%;
  }
}
@media screen and (min-width: 60em) and (prefers-reduced-motion: no-preference), print and (prefers-reduced-motion: no-preference) {
  .header__submenu-title {
    transition-duration: 0.2s;
    transition-property: background-size;
  }
}
@media screen and (min-width: 60em) and (hover: hover), print and (hover: hover) {
  .header__submenu-title:where(:-moz-any-link, :enabled, summary):hover {
    background-position: left;
    background-size: 100% 100%;
  }
  .header__submenu-title:where(:any-link, :enabled, summary):hover {
    background-position: left;
    background-size: 100% 100%;
  }
}

@media screen and (min-width: 60em), print {
  .header__submenu-list {
    display: grid;
    gap: 0.25rem;
    padding-block: 1.5rem;
    color: var(--color-white);
    background-color: var(--color-primary);
    box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.25);
  }
}
@media screen and (max-width: 59.99em) {
  .header__submenu-list {
    display: contents;
  }
}

.header__submenu-link {
  display: block;
}
@media screen and (min-width: 60em), print {
  .header__submenu-link {
    --marker-bar-width: 3.25rem;
    --marker-circle-size: 0.5rem;
    position: relative;
    padding-block: 0.5rem;
    padding-right: 1.5rem;
    padding-left: calc(var(--marker-bar-width) + var(--marker-circle-size) + 0.75rem);
  }
  .header__submenu-link::before, .header__submenu-link::after {
    position: absolute;
    top: 0;
    bottom: 0;
    display: block;
    margin: auto;
    content: "";
    background-color: currentColor;
    transition-timing-function: ease-in;
  }
  .header__submenu-link::before {
    right: calc(100% - var(--marker-bar-width) - var(--marker-circle-size) / 2);
    left: 0;
    height: 1px;
    transition-duration: 0.1s;
    transition-property: transform;
    transform: scaleX(0);
    transform-origin: left;
  }
  .header__submenu-link::after {
    left: var(--marker-bar-width);
    width: var(--marker-circle-size);
    height: var(--marker-circle-size);
    border-radius: 9999px;
    transition-duration: 0.1s;
    transition-property: transform;
    transform: scale(0);
  }
}
@media screen and (min-width: 60em) and (hover: hover), print and (hover: hover) {
  .header__submenu-link:where(:-moz-any-link, :enabled, summary):hover::before {
    transform: scaleX(1);
  }
  .header__submenu-link:where(:any-link, :enabled, summary):hover::before {
    transform: scaleX(1);
  }
  .header__submenu-link:where(:-moz-any-link, :enabled, summary):hover::after {
    transition-delay: 0.1s;
    transform: scale(1);
  }
  .header__submenu-link:where(:any-link, :enabled, summary):hover::after {
    transition-delay: 0.1s;
    transform: scale(1);
  }
}

@media screen and (min-width: 60em), print {
  .header__toggle {
    display: none;
  }
}
@media screen and (max-width: 59.99em) {
  .header__toggle {
    position: relative;
    display: grid;
    row-gap: 0.125rem;
    align-content: center;
    justify-content: center;
    justify-items: center;
    width: 3rem;
    height: 100%;
  }
  .header__toggle::after {
    font-size: 0.75rem;
    font-weight: 700;
    content: "Menu";
  }
  .header__toggle[aria-expanded=true]::after {
    content: "Close";
  }
  .header__toggle.header__toggle--with-icon:not([aria-expanded=true])::before {
    position: absolute;
    right: 0;
    z-index: 1;
    display: block;
    width: 0.75rem;
    height: 0.75rem;
    content: "";
    background-color: var(--color-validation);
    border-radius: 50%;
  }
}

.header__toggle__icon {
  --line-gap: 5px;
  position: relative;
  display: block;
  width: 100%;
  height: 1em;
  font-size: 1.4rem;
}
.header__toggle__icon > span {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 3px;
  margin: auto;
  background-color: currentColor;
  transition-duration: 0.3s;
  transition-property: transform, opacity, width;
}
.header__toggle__icon > span:nth-child(1) {
  transform: translateY(calc(var(--line-gap) * -1));
}
.header__toggle__icon > span:nth-child(2) {
  transform: translateY(calc(var(--line-gap) * 1));
}
.header__toggle__icon > span:is([aria-expanded=true] *) {
  width: 1em;
}
.header__toggle__icon > span:is([aria-expanded=true] *):nth-child(1) {
  transform: rotate(45deg);
}
.header__toggle__icon > span:is([aria-expanded=true] *):nth-child(2) {
  transform: rotate(-45deg);
}

.footer {
  background-color: var(--color-white);
  border-top: 1px solid var(--color-accent);
}
@media screen and (min-width: 60em), print {
  .footer {
    display: grid;
    grid-template-columns: 1fr minmax(10%, 6rem);
  }
}

.footer__page-top {
  display: grid;
  align-content: center;
  justify-items: center;
  font-size: 0.875rem;
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .footer__page-top {
    grid-template-rows: 60% auto;
    row-gap: 1rem;
    order: 1;
    color: var(--color-white);
    background-color: var(--color-primary);
  }
}
@media screen and (max-width: 59.99em) {
  .footer__page-top {
    padding: 0.5rem;
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
}
.footer__page-top::before, .footer__page-top::after {
  display: block;
  grid-area: 1/1;
  content: "";
  background-color: currentColor;
}
@media screen and (min-width: 60em), print {
  .footer__page-top::before {
    position: relative;
    top: 0;
    width: 0.75rem;
    height: 0.75rem;
    -webkit-clip-path: polygon(0 100%, 100% 100%, 50% 0%);
            clip-path: polygon(0 100%, 100% 100%, 50% 0%);
    transition-duration: var(--transition-duration-hover);
    transition-property: top;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__page-top::before {
    width: 1.2rem;
    height: 1.2rem;
    background-color: currentColor;
    transform: rotate(-90deg);
    -webkit-mask-image: var(--icon-arrow-right);
            mask-image: var(--icon-arrow-right);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
  }
}
@media screen and (min-width: 60em), print {
  .footer__page-top::after {
    align-self: end;
    width: 2px;
    height: calc(100% - 4px);
    transition-duration: var(--transition-duration-hover);
    transition-property: transform;
    transform-origin: bottom;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__page-top::after {
    display: none;
  }
}
@media (hover: hover) {
  .footer__page-top:where(:-moz-any-link, :enabled, summary):hover::before {
    top: -8%;
  }
  .footer__page-top:where(:any-link, :enabled, summary):hover::before {
    top: -8%;
  }
  .footer__page-top:where(:-moz-any-link, :enabled, summary):hover::after {
    transform: scaleY(1.08);
  }
  .footer__page-top:where(:any-link, :enabled, summary):hover::after {
    transform: scaleY(1.08);
  }
}

@media screen and (min-width: 60em), print {
  .footer__inner {
    padding: 7rem 6% 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__inner {
    padding: 4rem 10% 3rem;
  }
}

.footer__logo {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  transition-duration: var(--transition-duration-hover);
  transition-property: opacity;
}
@media screen and (min-width: 60em), print {
  .footer__logo {
    font-size: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__logo {
    font-size: 3.5rem;
  }
}
@media (hover: hover) {
  .footer__logo:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.6;
  }
  .footer__logo:where(:any-link, :enabled, summary):hover {
    opacity: 0.6;
  }
}
.footer__logo img {
  width: auto;
  height: 1em;
}

@media screen and (min-width: 60em), print {
  .footer__main {
    display: grid;
    grid-template-columns: 1fr 25%;
    -moz-column-gap: 6%;
         column-gap: 6%;
    align-items: start;
    justify-content: space-between;
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__main {
    margin-top: 4rem;
  }
}

@media screen and (min-width: 60em), print {
  .footer__categories {
    display: grid;
    grid-template-columns: repeat(4, minmax(18%, auto));
    row-gap: 2.5rem;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
@media screen and (min-width: 60em), print {
  .footer__categories > li:nth-child(1) {
    grid-row: span 4;
    grid-column: 1;
  }
  .footer__categories > li:nth-child(2) {
    grid-row: span 4;
    grid-column: 2;
  }
  .footer__categories > li:nth-child(3) {
    grid-column: 3;
  }
  .footer__categories > li:nth-child(n+4) {
    grid-column: 4;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__categories > li {
    border-top: 1px solid var(--color-border);
  }
  .footer__categories > li:where(:last-child) {
    border-bottom: 1px solid var(--color-border);
  }
}

.footer__category-link {
  font-weight: 700;
  transition-duration: var(--transition-duration-hover);
  transition-property: color;
}
@media (hover: hover) {
  .footer__category-link:where(:-moz-any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
  }
  .footer__category-link:where(:any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
  }
}
@media screen and (max-width: 59.99em) {
  .footer__category-link {
    display: grid;
    width: 100%;
    padding-block: 1rem;
  }
  .footer__category-link[aria-expanded] {
    grid-template-columns: 1fr auto;
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
    padding-right: 0.5rem;
  }
  .footer__category-link[aria-expanded]::before, .footer__category-link[aria-expanded]::after {
    display: block;
    grid-area: 1/2;
    width: 1rem;
    height: 1px;
    margin-top: auto;
    margin-bottom: auto;
    content: "";
    background-color: var(--color-accent);
    transition: transform var(--transition-duration-motion);
  }
  .footer__category-link[aria-expanded]::before {
    transform: rotate(90deg);
  }
  .footer__category-link[aria-expanded][aria-expanded=true]::before, .footer__category-link[aria-expanded][aria-expanded=true]::after {
    transform: rotate(180deg);
  }
}

.footer__submenu {
  display: grid;
  row-gap: 1rem;
}
@media screen and (min-width: 60em), print {
  .footer__submenu {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__submenu {
    padding-bottom: 1rem;
  }
}

.footer__submenu-link {
  display: grid;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 0.875rem;
  font-weight: 700;
  transition-duration: var(--transition-duration-hover);
  transition-property: color;
}
@media screen and (min-width: 60em), print {
  .footer__submenu-link {
    grid-template-columns: auto 1fr;
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
  }
  .footer__submenu-link::before {
    display: block;
    width: 1.5rem;
    height: 1px;
    content: "";
    background-color: currentColor;
    transform-origin: left;
  }
}
@media screen and (min-width: 60em) and (prefers-reduced-motion: no-preference), print and (prefers-reduced-motion: no-preference) {
  .footer__submenu-link::before {
    transition-duration: var(--transition-duration-hover);
    transition-property: transform;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__submenu-link {
    padding-left: 1rem;
    color: var(--color-text-gray);
  }
}
@media (hover: hover) {
  .footer__submenu-link:where(:-moz-any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
  }
  .footer__submenu-link:where(:any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
  }
  .footer__submenu-link:where(:-moz-any-link, :enabled, summary):hover::before {
    transform: scaleX(0);
    transform-origin: right;
  }
  .footer__submenu-link:where(:any-link, :enabled, summary):hover::before {
    transform: scaleX(0);
    transform-origin: right;
  }
}

.footer__address {
  display: grid;
  font-size: 0.75rem;
  line-height: 2;
}
@media screen and (min-width: 60em), print {
  .footer__address {
    row-gap: 1rem;
    justify-self: end;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__address {
    row-gap: 0.75rem;
    margin-top: 3.5rem;
  }
}

.footer__address__name {
  font-size: 0.875rem;
  font-weight: 700;
}

.footer__links {
  display: flex;
  flex-wrap: wrap;
  row-gap: 1.5rem;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
  font-size: 0.75rem;
}
@media screen and (min-width: 60em), print {
  .footer__links {
    padding-top: 2.5rem;
    margin-top: 2.5rem;
    border-top: 2px solid currentColor;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__links {
    flex-direction: column;
    margin-top: 4rem;
  }
}
.footer__links a {
  transition-duration: var(--transition-duration-hover);
  transition-property: color;
}
@media (hover: hover) {
  .footer__links a:where(:-moz-any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
  }
  .footer__links a:where(:any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
  }
}

.footer__copyright {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .footer__copyright {
    margin-top: 4.75rem;
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__copyright {
    margin-top: 4rem;
    font-size: 0.625rem;
  }
}

.container {
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
}

.container-alternative > * {
  width: var(--container-width);
  margin-inline: auto;
}

.container-alternative__full {
  width: 100%;
}

@media screen and (max-width: 59.99em) {
  .container-alternative__sp-full {
    width: 100%;
  }
}

.button-primary {
  display: inline-grid;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: 0.75rem;
  font-size: 0.875rem;
  font-weight: 700;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  border-radius: 9999px;
  box-shadow: 10px 10px 20px rgba(var(--color-accent-rgb), 0.2);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .button-primary:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .button-primary:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .button-primary:where(:-moz-any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 1.4s cubic-bezier(0, 0, 0.2, 1);
  }
  .button-primary:where(:any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 1.4s cubic-bezier(0, 0, 0.2, 1);
  }
  @keyframes shiny {
    0% {
      background-position-x: 100%;
    }
    100% {
      background-position-x: 0%;
    }
  }
}

.breadcrumbs {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.8125;
}
@media screen and (min-width: 60em), print {
  .breadcrumbs {
    padding: 0 5rem 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .breadcrumbs {
    padding: 0 2rem 1.5rem;
  }
}
.breadcrumbs li {
  display: inline-block;
}
.breadcrumbs li:not(:first-child)::before {
  display: inline-block;
  padding-right: 0.75rem;
  padding-left: 0.75rem;
  content: "＞";
}
.breadcrumbs a {
  background-image: linear-gradient(to top, currentColor 0 1px, transparent 0 100%);
  background-repeat: no-repeat;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  background-position: right;
  background-size: 0 100%;
}
@media (prefers-reduced-motion: no-preference) {
  .breadcrumbs a {
    transition-duration: 0.2s;
    transition-property: background-size;
  }
}
@media (hover: hover) {
  .breadcrumbs a:where(:-moz-any-link, :enabled, summary):hover {
    background-position: left;
    background-size: 100% 100%;
  }
  .breadcrumbs a:where(:any-link, :enabled, summary):hover {
    background-position: left;
    background-size: 100% 100%;
  }
}

.page-hero {
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .page-hero {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
@media screen and (max-width: 59.99em) {
  .page-hero {
    padding-top: 2.25rem;
    padding-bottom: 2.5rem;
  }
}

@media screen and (max-width: 59.99em) {
  .page-hero__wrapper {
    padding-left: 1.75rem;
  }
}

.page-hero__heading {
  display: flex;
  flex-wrap: wrap;
  row-gap: 0.25rem;
  -moz-column-gap: 1.85rem;
       column-gap: 1.85rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 60em), print {
  .page-hero__heading {
    align-items: flex-end;
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .page-hero__heading {
    flex-direction: column;
    font-size: 1.5rem;
  }
}

.page-hero__heading__english {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .page-hero__heading__english {
    margin-top: -0.3em;
    margin-bottom: -0.2em;
    font-size: 3.75rem;
    line-height: 1.5;
  }
}
@media screen and (max-width: 59.99em) {
  .page-hero__heading__english {
    font-size: 2.5rem;
    line-height: 1.3;
  }
}

.page-hero__heading__sub,
.page-hero__heading__japanese {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .page-hero__heading__sub,
  .page-hero__heading__japanese {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .page-hero__heading__sub,
  .page-hero__heading__japanese {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}

.page-hero__marker-star {
  position: relative;
}
.page-hero__marker-star::before {
  position: absolute;
  top: 0.2em;
  right: calc(100% + 1.3rem);
  bottom: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  margin: auto;
  pointer-events: none;
  content: "";
  border: 1px solid currentColor;
  transform: translateX(0) rotate(45deg);
}

.heading2-decoration {
  position: relative;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 60em), print {
  .heading2-decoration {
    font-size: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .heading2-decoration {
    padding-top: 1.5rem;
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .heading2-decoration:where(:not(:first-child)) {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .heading2-decoration:where(:not(:first-child)) {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 60em), print {
  .heading2-decoration:where(:not(:last-child)) {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .heading2-decoration:where(:not(:last-child)) {
    margin-bottom: 2.5rem;
  }
}
.heading2-decoration::before {
  position: absolute;
  top: 0;
  display: block;
  content: "";
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .heading2-decoration::before {
    left: -2rem;
    width: 2px;
    height: 100%;
  }
}
@media screen and (max-width: 59.99em) {
  .heading2-decoration::before {
    left: 0;
    width: 70px;
    height: 2px;
  }
}

.heading3-decoration {
  position: relative;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 60em), print {
  .heading3-decoration {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .heading3-decoration {
    padding-top: 1rem;
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 60em), print {
  .heading3-decoration:where(:not(:first-child)) {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .heading3-decoration:where(:not(:first-child)) {
    margin-top: 2.5rem;
  }
}
.heading3-decoration:where(:not(:last-child)) {
  margin-bottom: 1.75rem;
}
.heading3-decoration::before {
  position: absolute;
  top: 0;
  display: block;
  content: "";
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .heading3-decoration::before {
    left: -2rem;
    width: 2px;
    height: 100%;
  }
}
@media screen and (max-width: 59.99em) {
  .heading3-decoration::before {
    left: 0;
    width: 24px;
    height: 1px;
  }
}

.heading-normal {
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 60em), print {
  .heading-normal {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .heading-normal {
    font-size: 1.125rem;
  }
}
.heading-normal:where(:not(:first-child)) {
  margin-top: 1.75rem;
}
.heading-normal:where(:not(:last-child)) {
  margin-bottom: 1.25rem;
}

.heading2-center {
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 60em), print {
  .heading2-center {
    font-size: 2rem;
    text-align: center;
  }
}
@media screen and (max-width: 59.99em) {
  .heading2-center {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .heading2-center:where(:not(:first-child)) {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .heading2-center:where(:not(:first-child)) {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 60em), print {
  .heading2-center:where(:not(:last-child)) {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .heading2-center:where(:not(:last-child)) {
    margin-bottom: 2.5rem;
  }
}

.heading3-center {
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 60em), print {
  .heading3-center {
    font-size: 1.5rem;
    text-align: center;
  }
}
@media screen and (max-width: 59.99em) {
  .heading3-center {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 60em), print {
  .heading3-center:where(:not(:first-child)) {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .heading3-center:where(:not(:first-child)) {
    margin-top: 2.5rem;
  }
}
.heading3-center:where(:not(:last-child)) {
  margin-bottom: 1.75rem;
}

.interviewer {
  font-size: 1.125rem;
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .interviewer {
    display: grid;
    grid-template-columns: auto 1fr;
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .interviewer {
    position: relative;
    padding-top: 1rem;
    line-height: 1.5;
  }
}
@media screen and (min-width: 60em), print {
  .interviewer:where(:not(:first-child)) {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .interviewer:where(:not(:first-child)) {
    margin-top: 2.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .interviewer:where(:not(:last-child)) {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .interviewer:where(:not(:last-child)) {
    margin-bottom: 2.5rem;
  }
}
.interviewer::before {
  display: block;
  width: 24px;
  height: 1px;
  content: "";
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .interviewer::before {
    margin-top: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .interviewer::before {
    position: absolute;
    top: 0;
  }
}

@media screen and (min-width: 60em), print {
  .talk {
    display: grid;
    grid-template-columns: minmax(5.2rem, auto) 1fr;
  }
}
@media screen and (min-width: 60em), print {
  .talk:where(:not(:first-child)) {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .talk:where(:not(:first-child)) {
    margin-top: 2.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .talk:where(:not(:last-child)) {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .talk:where(:not(:last-child)) {
    margin-bottom: 2.5rem;
  }
}

.talk__name {
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .talk__name {
    padding-right: 2rem;
    border-right: 1px solid currentColor;
  }
}
@media screen and (max-width: 59.99em) {
  .talk__name {
    padding-bottom: 0.5rem;
    border-bottom: 1px solid currentColor;
  }
}

.talk__text {
  --letter-spacing: 0.08em;
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .talk__text {
    padding-left: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .talk__text {
    padding-top: 1.5rem;
  }
}

.talk-with-icon {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .talk-with-icon {
    grid-template: "icon text" auto "name text" 1fr/auto 1fr;
    row-gap: 0.5rem;
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .talk-with-icon {
    grid-template: "icon name" auto "text text" auto/auto 1fr;
    row-gap: 1rem;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    align-items: center;
  }
}
@media screen and (min-width: 60em), print {
  .talk-with-icon:where(:not(:first-child)) {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .talk-with-icon:where(:not(:first-child)) {
    margin-top: 2.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .talk-with-icon:where(:not(:last-child)) {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .talk-with-icon:where(:not(:last-child)) {
    margin-bottom: 2.5rem;
  }
}

.talk-with-icon__icon {
  grid-area: icon;
  width: 4.5rem;
  height: 4.5rem;
  overflow: hidden;
  border-radius: 50%;
}
@media screen and (min-width: 60em), print {
  .talk-with-icon__icon {
    margin-inline: auto;
  }
}
.talk-with-icon__icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.talk-with-icon__name {
  grid-area: name;
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .talk-with-icon__name {
    text-align: center;
  }
}

.talk-with-icon__text {
  grid-area: text;
  --letter-spacing: 0.08em;
  line-height: 1.8;
}
@media screen and (max-width: 59.99em) {
  .talk-with-icon__text {
    position: relative;
    padding-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .talk-with-icon__text::before {
    position: absolute;
    top: 0;
    display: block;
    width: 100%;
    height: 1px;
    content: "";
    background-color: var(--color-black);
  }
}

.note-list:where(:not(:first-child)) {
  margin-top: 1.25rem;
}

.note-list-item {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.5;
}
.note-list-item:where(:not(:first-child)) {
  margin-top: 0.25rem;
}

.profile:where(.editor-styles-wrapper *) .block-editor-block-list__layout, .profile:not(:where(.editor-styles-wrapper *)) {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .profile:where(.editor-styles-wrapper *) .block-editor-block-list__layout, .profile:not(:where(.editor-styles-wrapper *)) {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 2rem;
    -moz-column-gap: 8%;
         column-gap: 8%;
  }
}
@media screen and (max-width: 59.99em) {
  .profile:where(.editor-styles-wrapper *) .block-editor-block-list__layout, .profile:not(:where(.editor-styles-wrapper *)) {
    row-gap: 2.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .profile:where(.editor-styles-wrapper *) .block-editor-block-list__layout:where(:not(:first-child)), .profile:not(:where(.editor-styles-wrapper *)):where(:not(:first-child)) {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .profile:where(.editor-styles-wrapper *) .block-editor-block-list__layout:where(:not(:first-child)), .profile:not(:where(.editor-styles-wrapper *)):where(:not(:first-child)) {
    margin-top: 1.5rem;
  }
}

.profile-item {
  display: grid;
  grid-auto-rows: auto 1fr;
  grid-auto-columns: auto 1fr;
}
@media screen and (min-width: 60em), print {
  .profile-item {
    row-gap: 1rem;
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .profile-item {
    row-gap: 1rem;
  }
}

.profile-item__icon {
  overflow: hidden;
}
@media screen and (min-width: 60em), print {
  .profile-item__icon {
    grid-area: 1/1/span 2;
    width: 7.5rem;
    height: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .profile-item__icon {
    width: 6.5rem;
    height: 6.5rem;
  }
}
.profile-item__icon img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}

.profile-item__name {
  --letter-spacing: 0.08em;
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .profile-item__name {
    grid-row: 1;
  }
}

.profile-item__text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
}
.profile-item__text a {
  position: relative;
  background-image: linear-gradient(to top, currentColor 0 1px, transparent 0 100%);
  background-repeat: no-repeat;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  background-position: left;
  background-size: 100% 100%;
  transition: color var(--transition-duration-hover);
}
@media (prefers-reduced-motion: no-preference) {
  .profile-item__text a {
    transition: color var(--transition-duration-hover), background-size 0.4s;
  }
}
@media (hover: hover) {
  .profile-item__text a:where(:-moz-any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
    background-position: right;
    background-size: 0 100%;
  }
  .profile-item__text a:where(:any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
    background-position: right;
    background-size: 0 100%;
  }
}
.profile-item__text a[href$=".pdf"], .profile-item__text a[target=_blank] {
  margin-right: 1.75em;
}
.profile-item__text a[target=_blank]::after, .profile-item__text a[href$=".pdf"]::after {
  position: absolute;
  display: inline-block;
  width: 1.25em;
  height: 1.25em;
  margin-left: 0.25rem;
  content: "";
  background-color: currentColor;
  transform: translateY(20%);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
}
.profile-item__text a[target=_blank]::after {
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}
.profile-item__text a[href$=".pdf"]::after {
  -webkit-mask-image: var(--icon-pdf);
          mask-image: var(--icon-pdf);
}

@media screen and (min-width: 60em), print {
  .button-rectangle:where(.editor-styles-wrapper *) .block-editor-block-list__layout, .button-rectangle:not(:where(.editor-styles-wrapper *)) {
    display: flex;
    flex-wrap: wrap;
    row-gap: 1.75rem;
    -moz-column-gap: 1.75rem;
         column-gap: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .button-rectangle:where(.editor-styles-wrapper *) .block-editor-block-list__layout, .button-rectangle:not(:where(.editor-styles-wrapper *)) {
    display: grid;
    row-gap: 1.25rem;
  }
}
@media screen and (min-width: 60em), print {
  .button-rectangle:where(.editor-styles-wrapper *) .block-editor-block-list__layout:where(:not(:first-child)), .button-rectangle:not(:where(.editor-styles-wrapper *)):where(:not(:first-child)) {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .button-rectangle:where(.editor-styles-wrapper *) .block-editor-block-list__layout:where(:not(:first-child)), .button-rectangle:not(:where(.editor-styles-wrapper *)):where(:not(:first-child)) {
    margin-top: 1.75rem;
  }
}

.button-rectangle-item .button-rectangle-item__link {
  display: inline-grid;
  grid-template-columns: 1fr auto;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 700;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  box-shadow: 10px 10px 20px rgba(var(--color-accent-rgb), 0.2);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media screen and (min-width: 60em), print {
  .button-rectangle-item .button-rectangle-item__link {
    padding: 1rem 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .button-rectangle-item .button-rectangle-item__link {
    width: 100%;
    padding: 1rem 1.5rem 1rem 3rem;
  }
}
@media (hover: hover) {
  .button-rectangle-item .button-rectangle-item__link:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .button-rectangle-item .button-rectangle-item__link:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .button-rectangle-item .button-rectangle-item__link:where(:-moz-any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 1.4s cubic-bezier(0, 0, 0.2, 1);
  }
  .button-rectangle-item .button-rectangle-item__link:where(:any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 1.4s cubic-bezier(0, 0, 0.2, 1);
  }
  @keyframes shiny {
    0% {
      background-position-x: 100%;
    }
    100% {
      background-position-x: 0%;
    }
  }
}
.button-rectangle-item .button-rectangle-item__link[target=_blank]::after {
  display: inline-block;
  width: 1.25em;
  height: 1.25em;
  content: "";
  background-color: currentColor;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}

.button-rounded:where(.editor-styles-wrapper *) .block-editor-block-list__layout, .button-rounded:not(:where(.editor-styles-wrapper *)) {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (min-width: 60em), print {
  .button-rounded:where(.editor-styles-wrapper *) .block-editor-block-list__layout, .button-rounded:not(:where(.editor-styles-wrapper *)) {
    row-gap: 1.75rem;
    -moz-column-gap: 1.75rem;
         column-gap: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .button-rounded:where(.editor-styles-wrapper *) .block-editor-block-list__layout, .button-rounded:not(:where(.editor-styles-wrapper *)) {
    row-gap: 1.25rem;
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .button-rounded:where(.editor-styles-wrapper *) .block-editor-block-list__layout:where(:not(:first-child)), .button-rounded:not(:where(.editor-styles-wrapper *)):where(:not(:first-child)) {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .button-rounded:where(.editor-styles-wrapper *) .block-editor-block-list__layout:where(:not(:first-child)), .button-rounded:not(:where(.editor-styles-wrapper *)):where(:not(:first-child)) {
    margin-top: 1.75rem;
  }
}

.button-rounded-item {
  min-width: clamp(0px, 15rem, 100%);
}
.button-rounded-item .button-rounded-item__link {
  display: inline-grid;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-size: 0.875rem;
  font-weight: 700;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  border-radius: 9999px;
  box-shadow: 10px 10px 20px rgba(var(--color-accent-rgb), 0.2);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media screen and (min-width: 60em), print {
  .button-rounded-item .button-rounded-item__link {
    padding: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .button-rounded-item .button-rounded-item__link {
    padding: 1rem 3rem;
  }
}
@media (hover: hover) {
  .button-rounded-item .button-rounded-item__link:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .button-rounded-item .button-rounded-item__link:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .button-rounded-item .button-rounded-item__link:where(:-moz-any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 1.4s cubic-bezier(0, 0, 0.2, 1);
  }
  .button-rounded-item .button-rounded-item__link:where(:any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 1.4s cubic-bezier(0, 0, 0.2, 1);
  }
  @keyframes shiny {
    0% {
      background-position-x: 100%;
    }
    100% {
      background-position-x: 0%;
    }
  }
}

.box-link {
  display: grid;
  row-gap: 1rem;
}
.box-link:where(:not(:first-child)) {
  margin-top: 2rem;
}
.box-link:where(:not(:last-child)) {
  margin-bottom: 2rem;
}

.box-link__item {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  color: var(--color-white);
  background-color: var(--color-accent);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media screen and (min-width: 60em), print {
  .box-link__item {
    padding: 1.75rem 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .box-link__item {
    -moz-column-gap: 5%;
         column-gap: 5%;
    padding-right: 5%;
    color: var(--color-black);
    background-color: rgba(var(--color-accent-rgb), 0.35);
    border: 1px solid var(--color-border);
  }
}
@media (hover: hover) {
  .box-link__item:where(:-moz-any-link, :enabled, summary):hover {
    background-color: var(--color-accent-dark);
  }
  .box-link__item:where(:any-link, :enabled, summary):hover {
    background-color: var(--color-accent-dark);
  }
}
.box-link__item::after {
  display: block;
  content: "";
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media screen and (min-width: 60em), print {
  .box-link__item::after {
    -webkit-mask-image: var(--icon-arrow-right-thin);
            mask-image: var(--icon-arrow-right-thin);
    width: 2rem;
    height: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .box-link__item::after {
    -webkit-mask-image: var(--icon-arrow-right);
            mask-image: var(--icon-arrow-right);
    width: 0.75rem;
    height: 0.75rem;
  }
}

.box-link__item__inner {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
}
@media screen and (min-width: 60em), print {
  .box-link__item__inner {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .box-link__item__inner {
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
    padding: 1.5rem;
    border-right: 1px solid var(--color-white);
  }
}

@media screen and (min-width: 60em), print {
  .box-link__item__icon {
    width: 4rem;
    height: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .box-link__item__icon {
    width: 2.5rem;
    height: 2.5rem;
    filter: invert(1);
  }
}

.box-link__item__english {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .box-link__item__english {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .box-link__item__english {
    font-size: 1.25rem;
  }
}

.box-link__item__japanese {
  font-size: 0.75rem;
  font-weight: 700;
}

.signature {
  line-height: 1.5;
  text-align: right;
}
@media screen and (min-width: 60em), print {
  .signature {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .signature {
    margin-top: 1.75rem;
  }
}

.anchor-link-list ol {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .anchor-link-list ol {
    grid-auto-columns: 1fr;
    grid-auto-flow: column;
  }
}
@media screen and (min-width: 60em), print {
  .anchor-link-list ol li {
    border-left: 2px solid currentColor;
  }
}
@media screen and (max-width: 59.99em) {
  .anchor-link-list ol li {
    border-top: 2px solid currentColor;
  }
}
@media screen and (min-width: 60em), print {
  .anchor-link-list ol li:last-child {
    border-right: 2px solid currentColor;
  }
}
@media screen and (max-width: 59.99em) {
  .anchor-link-list ol li:last-child {
    border-bottom: 2px solid currentColor;
  }
}
.anchor-link-list ol li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 1rem 1.5rem;
  font-weight: 700;
  text-align: center;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .anchor-link-list ol li a:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.35);
  }
  .anchor-link-list ol li a:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.35);
  }
}

.box {
  border: 1px solid var(--color-accent);
}
@media screen and (min-width: 60em), print {
  .box {
    padding: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .box {
    padding: 2rem;
  }
}
@media screen and (min-width: 60em), print {
  .box:where(:not(:first-child)) {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .box:where(:not(:first-child)) {
    margin-top: 1.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .box:where(:not(:last-child)) {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .box:where(:not(:last-child)) {
    margin-bottom: 1.75rem;
  }
}

@media screen and (min-width: 60em), print {
  .columns {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 60em), print {
  .columns:where(:not(:first-child)) {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .columns:where(:not(:first-child)) {
    margin-top: 1.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .columns:where(:not(:last-child)) {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .columns:where(:not(:last-child)) {
    margin-bottom: 1.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .columns.columns--media-right {
    flex-direction: row-reverse;
  }
}

@media screen and (min-width: 60em), print {
  .columns__media {
    width: 48.8888888889%;
  }
}
@media screen and (max-width: 59.99em) {
  .columns__media {
    margin-bottom: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .columns__media img {
    width: 100%;
    height: auto;
    margin-inline: auto;
  }
}

@media screen and (min-width: 60em), print {
  .columns__body {
    width: 46.6666666667%;
  }
}

.ruled-table:where(:not(:first-child)) {
  margin-top: 4rem;
}
.ruled-table:where(:not(:last-child)) {
  margin-bottom: 4rem;
}
.ruled-table table {
  width: 100%;
}
.ruled-table caption {
  margin-bottom: 1rem;
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .ruled-table caption {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .ruled-table caption {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}
.ruled-table tr {
  display: grid;
  font-size: 1rem;
  border-top: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .ruled-table tr {
    grid-template-columns: 8.5rem 1fr;
    -moz-column-gap: 5rem;
         column-gap: 5rem;
    align-items: center;
    padding: 2rem 2rem 2rem 0;
  }
}
@media screen and (max-width: 59.99em) {
  .ruled-table tr {
    row-gap: 1rem;
    padding-block: 1.5rem;
    line-height: 1.4;
  }
}
.ruled-table tr:last-child {
  border-bottom: 1px solid var(--color-border);
}
.ruled-table tr th {
  font-weight: 700;
}
.ruled-table tr td {
  font-weight: 500;
}

.element-style :where(h2):not(:where(.element-style__ignore *)),
.is-root-container :where(h2):not(:where(.element-style__ignore *)) {
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 60em), print {
  .element-style :where(h2):not(:where(.element-style__ignore *)),
  .is-root-container :where(h2):not(:where(.element-style__ignore *)) {
    font-size: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(h2):not(:where(.element-style__ignore *)),
  .is-root-container :where(h2):not(:where(.element-style__ignore *)) {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .element-style :where(h2):not(:where(.element-style__ignore *)):where(:not(:first-child)),
  .is-root-container :where(h2):not(:where(.element-style__ignore *)):where(:not(:first-child)) {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(h2):not(:where(.element-style__ignore *)):where(:not(:first-child)),
  .is-root-container :where(h2):not(:where(.element-style__ignore *)):where(:not(:first-child)) {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 60em), print {
  .element-style :where(h2):not(:where(.element-style__ignore *)):where(:not(:last-child)),
  .is-root-container :where(h2):not(:where(.element-style__ignore *)):where(:not(:last-child)) {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(h2):not(:where(.element-style__ignore *)):where(:not(:last-child)),
  .is-root-container :where(h2):not(:where(.element-style__ignore *)):where(:not(:last-child)) {
    margin-bottom: 2.5rem;
  }
}
.element-style :where(h3):not(:where(.element-style__ignore *)),
.is-root-container :where(h3):not(:where(.element-style__ignore *)) {
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 60em), print {
  .element-style :where(h3):not(:where(.element-style__ignore *)),
  .is-root-container :where(h3):not(:where(.element-style__ignore *)) {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(h3):not(:where(.element-style__ignore *)),
  .is-root-container :where(h3):not(:where(.element-style__ignore *)) {
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 60em), print {
  .element-style :where(h3):not(:where(.element-style__ignore *)):where(:not(:first-child)),
  .is-root-container :where(h3):not(:where(.element-style__ignore *)):where(:not(:first-child)) {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(h3):not(:where(.element-style__ignore *)):where(:not(:first-child)),
  .is-root-container :where(h3):not(:where(.element-style__ignore *)):where(:not(:first-child)) {
    margin-top: 2.5rem;
  }
}
.element-style :where(h3):not(:where(.element-style__ignore *)):where(:not(:last-child)),
.is-root-container :where(h3):not(:where(.element-style__ignore *)):where(:not(:last-child)) {
  margin-bottom: 1.75rem;
}
.element-style :where(h4):not(:where(.element-style__ignore *)),
.is-root-container :where(h4):not(:where(.element-style__ignore *)) {
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 60em), print {
  .element-style :where(h4):not(:where(.element-style__ignore *)),
  .is-root-container :where(h4):not(:where(.element-style__ignore *)) {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(h4):not(:where(.element-style__ignore *)),
  .is-root-container :where(h4):not(:where(.element-style__ignore *)) {
    font-size: 1.125rem;
  }
}
.element-style :where(h4):not(:where(.element-style__ignore *)):where(:not(:first-child)),
.is-root-container :where(h4):not(:where(.element-style__ignore *)):where(:not(:first-child)) {
  margin-top: 1.75rem;
}
.element-style :where(h4):not(:where(.element-style__ignore *)):where(:not(:last-child)),
.is-root-container :where(h4):not(:where(.element-style__ignore *)):where(:not(:last-child)) {
  margin-bottom: 1.25rem;
}
.element-style :where(p):not(:where(.element-style__ignore *, .ruled-table *)),
.is-root-container :where(p):not(:where(.element-style__ignore *, .ruled-table *)) {
  font-weight: 400;
  --letter-spacing: 0.08em;
  line-height: 1.8;
}
.element-style :where(p):not(:where(.element-style__ignore *, .ruled-table *)):where(:not(:first-child):not(:where(li > *))),
.is-root-container :where(p):not(:where(.element-style__ignore *, .ruled-table *)):where(:not(:first-child):not(:where(li > *))) {
  margin-top: 1.75rem;
}
.element-style :where(p):not(:where(.element-style__ignore *, .ruled-table *)):is(p + *),
.is-root-container :where(p):not(:where(.element-style__ignore *, .ruled-table *)):is(p + *) {
  margin-top: 1.25rem;
}
.element-style :where(strong):not(:where(.element-style__ignore *)),
.is-root-container :where(strong):not(:where(.element-style__ignore *)) {
  font-weight: 700;
}
.element-style :where(a):not(:where(.element-style__ignore *)),
.is-root-container :where(a):not(:where(.element-style__ignore *)) {
  position: relative;
  overflow-wrap: break-word;
  background-image: linear-gradient(to top, currentColor 0 1px, transparent 0 100%);
  background-repeat: no-repeat;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  background-position: left;
  background-size: 100% 100%;
  transition: color var(--transition-duration-hover);
}
@media (prefers-reduced-motion: no-preference) {
  .element-style :where(a):not(:where(.element-style__ignore *)),
  .is-root-container :where(a):not(:where(.element-style__ignore *)) {
    transition: color var(--transition-duration-hover), background-size 0.4s;
  }
}
@media (hover: hover) {
  .element-style :where(a):not(:where(.element-style__ignore *)):where(:-moz-any-link, :enabled, summary):hover, .is-root-container :where(a):not(:where(.element-style__ignore *)):where(:-moz-any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
    background-position: right;
    background-size: 0 100%;
  }
  .element-style :where(a):not(:where(.element-style__ignore *)):where(:any-link, :enabled, summary):hover,
  .is-root-container :where(a):not(:where(.element-style__ignore *)):where(:any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
    background-position: right;
    background-size: 0 100%;
  }
}
.element-style :where(a):not(:where(.element-style__ignore *))[href$=".pdf"], .element-style :where(a):not(:where(.element-style__ignore *))[target=_blank],
.is-root-container :where(a):not(:where(.element-style__ignore *))[href$=".pdf"],
.is-root-container :where(a):not(:where(.element-style__ignore *))[target=_blank] {
  margin-right: 1.75em;
}
.element-style :where(a):not(:where(.element-style__ignore *))[target=_blank]::after, .element-style :where(a):not(:where(.element-style__ignore *))[href$=".pdf"]::after,
.is-root-container :where(a):not(:where(.element-style__ignore *))[target=_blank]::after,
.is-root-container :where(a):not(:where(.element-style__ignore *))[href$=".pdf"]::after {
  position: absolute;
  display: inline-block;
  width: 1.25em;
  height: 1.25em;
  margin-left: 0.25rem;
  content: "";
  background-color: currentColor;
  transform: translateY(20%);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
}
.element-style :where(a):not(:where(.element-style__ignore *))[target=_blank]::after,
.is-root-container :where(a):not(:where(.element-style__ignore *))[target=_blank]::after {
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}
.element-style :where(a):not(:where(.element-style__ignore *))[href$=".pdf"]::after,
.is-root-container :where(a):not(:where(.element-style__ignore *))[href$=".pdf"]::after {
  -webkit-mask-image: var(--icon-pdf);
          mask-image: var(--icon-pdf);
}
.element-style :where(ul, ol):not(:where(.element-style__ignore *)),
.is-root-container :where(ul, ol):not(:where(.element-style__ignore *)) {
  display: grid;
  row-gap: 0.5rem;
  padding-left: 1.5em;
  font-weight: 500;
  line-height: 1.8;
  --letter-spacing: 0.08em;
}
.element-style :where(ul, ol):not(:where(.element-style__ignore *)):where(:not(:first-child):not(:where(ul, ol) *)),
.is-root-container :where(ul, ol):not(:where(.element-style__ignore *)):where(:not(:first-child):not(:where(ul, ol) *)) {
  margin-top: 1.75rem;
}
.element-style :where(ul, ol):not(:where(.element-style__ignore *)) > li[data-list-marker]::marker,
.is-root-container :where(ul, ol):not(:where(.element-style__ignore *)) > li[data-list-marker]::marker {
  font-size: 0;
  content: none;
}
.element-style :where(ul, ol):not(:where(.element-style__ignore *)) > li[data-list-marker]::before,
.is-root-container :where(ul, ol):not(:where(.element-style__ignore *)) > li[data-list-marker]::before {
  position: absolute;
  content: attr(data-list-marker);
  transform: translateX(-100%);
}
.element-style :where(ul):not(:where(.element-style__ignore *)),
.is-root-container :where(ul):not(:where(.element-style__ignore *)) {
  list-style-type: disc;
}
.element-style :where(ol):not(:where(.element-style__ignore *)),
.is-root-container :where(ol):not(:where(.element-style__ignore *)) {
  list-style-type: decimal;
}
.element-style :where(figure):not(:where(.element-style__ignore *)),
.is-root-container :where(figure):not(:where(.element-style__ignore *)) {
  margin-inline: auto;
}
.element-style :where(figure):not(:where(.element-style__ignore *)):where(.wp-block-embed),
.is-root-container :where(figure):not(:where(.element-style__ignore *)):where(.wp-block-embed) {
  max-width: min(45rem, 100%);
}
.element-style :where(figure):not(:where(.element-style__ignore *)):where(:not(.wp-block-embed)),
.is-root-container :where(figure):not(:where(.element-style__ignore *)):where(:not(.wp-block-embed)) {
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 60em), print {
  .element-style :where(figure):not(:where(.element-style__ignore *)):where(:not(:first-child)),
  .is-root-container :where(figure):not(:where(.element-style__ignore *)):where(:not(:first-child)) {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(figure):not(:where(.element-style__ignore *)):where(:not(:first-child)),
  .is-root-container :where(figure):not(:where(.element-style__ignore *)):where(:not(:first-child)) {
    margin-top: 1.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .element-style :where(figure):not(:where(.element-style__ignore *)):where(:not(:last-child)),
  .is-root-container :where(figure):not(:where(.element-style__ignore *)):where(:not(:last-child)) {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(figure):not(:where(.element-style__ignore *)):where(:not(:last-child)),
  .is-root-container :where(figure):not(:where(.element-style__ignore *)):where(:not(:last-child)) {
    margin-bottom: 1.75rem;
  }
}
.element-style :where(figure):not(:where(.element-style__ignore *)) figcaption,
.is-root-container :where(figure):not(:where(.element-style__ignore *)) figcaption {
  margin-top: 1.25rem;
  text-align: center;
}
.element-style :where(.wp-block-embed__wrapper):not(:where(.element-style__ignore *)),
.is-root-container :where(.wp-block-embed__wrapper):not(:where(.element-style__ignore *)) {
  position: relative;
  padding-top: 56.25%;
}
.element-style :where(.wp-block-embed__wrapper):not(:where(.element-style__ignore *))::before,
.is-root-container :where(.wp-block-embed__wrapper):not(:where(.element-style__ignore *))::before {
  content: none !important;
}
.element-style :where(.wp-block-embed__wrapper):not(:where(.element-style__ignore *)) iframe,
.is-root-container :where(.wp-block-embed__wrapper):not(:where(.element-style__ignore *)) iframe {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.element-style :where(img):not(:where(.element-style__ignore *)),
.is-root-container :where(img):not(:where(.element-style__ignore *)) {
  height: auto !important;
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .element-style :where(img):not(:where(.element-style__ignore *)):where(:not(:first-child):not(:where(figure) *)),
  .is-root-container :where(img):not(:where(.element-style__ignore *)):where(:not(:first-child):not(:where(figure) *)) {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(img):not(:where(.element-style__ignore *)):where(:not(:first-child):not(:where(figure) *)),
  .is-root-container :where(img):not(:where(.element-style__ignore *)):where(:not(:first-child):not(:where(figure) *)) {
    margin-top: 1.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .element-style :where(img):not(:where(.element-style__ignore *)):where(:not(:last-child):not(:where(figure) *)),
  .is-root-container :where(img):not(:where(.element-style__ignore *)):where(:not(:last-child):not(:where(figure) *)) {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(img):not(:where(.element-style__ignore *)):where(:not(:last-child):not(:where(figure) *)),
  .is-root-container :where(img):not(:where(.element-style__ignore *)):where(:not(:last-child):not(:where(figure) *)) {
    margin-bottom: 1.75rem;
  }
}
.element-style :where(hr):not(:where(.element-style__ignore *)),
.is-root-container :where(hr):not(:where(.element-style__ignore *)) {
  border-top-color: var(--color-border);
  border-bottom: none;
}
@media screen and (min-width: 60em), print {
  .element-style :where(hr):not(:where(.element-style__ignore *)):where(:not(:first-child)),
  .is-root-container :where(hr):not(:where(.element-style__ignore *)):where(:not(:first-child)) {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(hr):not(:where(.element-style__ignore *)):where(:not(:first-child)),
  .is-root-container :where(hr):not(:where(.element-style__ignore *)):where(:not(:first-child)) {
    margin-top: 2.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .element-style :where(hr):not(:where(.element-style__ignore *)):where(:not(:last-child)),
  .is-root-container :where(hr):not(:where(.element-style__ignore *)):where(:not(:last-child)) {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(hr):not(:where(.element-style__ignore *)):where(:not(:last-child)),
  .is-root-container :where(hr):not(:where(.element-style__ignore *)):where(:not(:last-child)) {
    margin-bottom: 2.5rem;
  }
}
.element-style :where(blockquote):not(:where(.element-style__ignore *)),
.is-root-container :where(blockquote):not(:where(.element-style__ignore *)) {
  padding: 1.5625rem 2.25rem;
  margin-block: 1.25rem !important;
  background: #f7f9f9;
  border-left: 4px solid #ccc;
}
@media screen and (min-width: 60em), print {
  .element-style :where(.wp-block-image):where(:not(:first-child)),
  .is-root-container :where(.wp-block-image):where(:not(:first-child)) {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(.wp-block-image):where(:not(:first-child)),
  .is-root-container :where(.wp-block-image):where(:not(:first-child)) {
    margin-top: 1.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .element-style :where(.wp-block-image):where(:not(:last-child)),
  .is-root-container :where(.wp-block-image):where(:not(:last-child)) {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(.wp-block-image):where(:not(:last-child)),
  .is-root-container :where(.wp-block-image):where(:not(:last-child)) {
    margin-bottom: 1.75rem;
  }
}

.post-password-form {
  width: var(--container-width);
  padding-block: 8rem;
  margin-inline: auto;
}
.post-password-form p {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 2rem;
  align-items: center;
  justify-content: center;
  justify-items: center;
}
.post-password-form p:where(:not(:first-child)) {
  margin-top: 4rem;
}
.post-password-form label {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}
.post-password-form input[type=password] {
  flex-grow: 1;
  padding: 0.5rem 1rem;
  overflow: hidden;
  border: 1px solid var(--color-border);
}
.post-password-form input[type=submit] {
  display: inline-grid;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  border-radius: 9999px;
  box-shadow: 10px 10px 20px rgba(var(--color-accent-rgb), 0.2);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .post-password-form input[type=submit]:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .post-password-form input[type=submit]:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}

@media screen and (min-width: 60em), print {
  .pagination {
    margin-top: 5rem;
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .pagination {
    margin-top: 2.5rem;
    margin-bottom: 7.5rem;
  }
}

.pagination__list {
  position: relative;
  display: flex;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  justify-content: center;
}

.pagination__number,
.pagination__prev,
.pagination__next,
.pagination__ellipsis {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--color-black);
  background-color: var(--color-white);
  border: 1px solid var(--color-accent);
  border-radius: 9999px;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .pagination__number:where(:-moz-any-link, :enabled, summary):hover, .pagination__prev:where(:-moz-any-link, :enabled, summary):hover, .pagination__next:where(:-moz-any-link, :enabled, summary):hover, .pagination__ellipsis:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.35);
  }
  .pagination__number:where(:any-link, :enabled, summary):hover,
  .pagination__prev:where(:any-link, :enabled, summary):hover,
  .pagination__next:where(:any-link, :enabled, summary):hover,
  .pagination__ellipsis:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.35);
  }
}
.pagination__number[aria-current],
.pagination__prev[aria-current],
.pagination__next[aria-current],
.pagination__ellipsis[aria-current] {
  background-color: var(--color-accent);
}

.pagination__prev {
  border: none;
}
.pagination__prev::before {
  width: 0.75rem;
  height: 0.75rem;
  margin-block: auto;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-arrow-right);
          mask-image: var(--icon-arrow-right);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  transform: scaleX(-1);
}

.pagination__next {
  border: none;
}
.pagination__next::after {
  width: 0.75rem;
  height: 0.75rem;
  margin-block: auto;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-arrow-right);
          mask-image: var(--icon-arrow-right);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.pagination__ellipsis {
  border: none;
}
.pagination__ellipsis::before {
  width: 1.25rem;
  height: 1.25rem;
  margin-block: auto;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-ellipsis);
          mask-image: var(--icon-ellipsis);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

@media screen and (min-width: 60em), print {
  .recruit-pagination {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-pagination {
    margin-top: 3rem;
  }
}

.recruit-pagination__list {
  position: relative;
  display: flex;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  justify-content: center;
}

.recruit-pagination__number,
.recruit-pagination__prev,
.recruit-pagination__next,
.recruit-pagination__ellipsis {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--color-black);
  background-color: var(--color-white);
  border: 1px solid var(--color-accent);
  border-radius: 9999px;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .recruit-pagination__number:where(:-moz-any-link, :enabled, summary):hover, .recruit-pagination__prev:where(:-moz-any-link, :enabled, summary):hover, .recruit-pagination__next:where(:-moz-any-link, :enabled, summary):hover, .recruit-pagination__ellipsis:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.35);
  }
  .recruit-pagination__number:where(:any-link, :enabled, summary):hover,
  .recruit-pagination__prev:where(:any-link, :enabled, summary):hover,
  .recruit-pagination__next:where(:any-link, :enabled, summary):hover,
  .recruit-pagination__ellipsis:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.35);
  }
}
.recruit-pagination__number[aria-current],
.recruit-pagination__prev[aria-current],
.recruit-pagination__next[aria-current],
.recruit-pagination__ellipsis[aria-current] {
  background-color: var(--color-accent);
}

.recruit-pagination__prev::before {
  width: 0.75rem;
  height: 0.75rem;
  margin-block: auto;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-arrow-right-recruit);
          mask-image: var(--icon-arrow-right-recruit);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  transform: scaleX(-1);
}

.recruit-pagination__next::after {
  width: 0.75rem;
  height: 0.75rem;
  margin-block: auto;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-arrow-right-recruit);
          mask-image: var(--icon-arrow-right-recruit);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.recruit-pagination__ellipsis {
  border: none;
}
.recruit-pagination__ellipsis::before {
  width: 1.25rem;
  height: 1.25rem;
  margin-block: auto;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-ellipsis);
          mask-image: var(--icon-ellipsis);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.local-nav__list {
  display: grid;
  max-width: 42.5rem;
  margin-inline: auto;
  border-top: 1px solid var(--color-border);
  border-left: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .local-nav__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.local-nav__item {
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}
.local-nav__item.local-nav__item--index {
  grid-column: 1/-1;
}

.local-nav__link {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  height: 100%;
  font-weight: 700;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color, box-shadow;
}
@media screen and (min-width: 60em), print {
  .local-nav__link {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    min-height: 5.3rem;
    padding: 1rem 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .local-nav__link {
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
    padding: 1rem 2rem;
  }
}
.local-nav__link[aria-current] {
  color: var(--color-white);
  background-color: var(--color-primary);
}
@media (hover: hover) {
  .local-nav__link:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
    box-shadow: 10px 10px 20px 0px rgba(var(--color-accent-rgb), 0.2);
  }
  .local-nav__link:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
    box-shadow: 10px 10px 20px 0px rgba(var(--color-accent-rgb), 0.2);
  }
}
.local-nav__link:-moz-any-link::after {
  display: block;
  justify-self: end;
  content: "";
  background-color: currentColor;
  mask-image: var(--icon-arrow-right);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}
.local-nav__link:any-link::after {
  display: block;
  justify-self: end;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-arrow-right);
          mask-image: var(--icon-arrow-right);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media screen and (min-width: 60em), print {
  .local-nav__link:-moz-any-link::after {
    width: 1.25rem;
    height: 1.25rem;
  }
  .local-nav__link:any-link::after {
    width: 1.25rem;
    height: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .local-nav__link:-moz-any-link::after {
    width: 1rem;
    height: 1rem;
  }
  .local-nav__link:any-link::after {
    width: 1rem;
    height: 1rem;
  }
}
@media screen and (min-width: 60em), print {
  .local-nav__item.local-nav__item--index .local-nav__link {
    grid-template-columns: 1fr auto 1fr;
    text-align: center;
  }
  .local-nav__item.local-nav__item--index .local-nav__link::before {
    content: "";
  }
}

@media screen and (min-width: 60em), print {
  .layout__hero {
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .layout__hero {
    margin-bottom: 2.5rem;
  }
}

@media screen and (min-width: 60em), print {
  .layout__business-nav {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .layout__business-nav {
    margin-top: 4rem;
  }
}

.layout__about-nav {
  margin-top: 7.5rem;
}

.layout__breadcrumbs {
  margin-top: 7.5rem;
}

.category-label {
  display: grid;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(100%, 7.5rem);
  padding: 0.5rem 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-white);
  background-color: var(--color-black);
  border-radius: 9999px;
}

.company-card {
  position: relative;
  height: 100%;
  padding: 1.5rem;
  border: 1px solid var(--color-border);
  transition: background-color var(--transition-duration-hover);
}
.company-card.is-hover {
  background-color: rgba(var(--color-accent-rgb), 0.5);
}
.company-card :where(a)[target=_blank]::after {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.25em;
  content: "";
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}
.company-card :where(a)::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
}

.company-card__heading {
  margin-bottom: 0.5rem;
  font-size: 1.25rem;
  font-weight: 700;
}

.company-card__category {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.company-card__text {
  font-size: 0.875rem;
  font-weight: 500;
}

.top-hero {
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .top-hero {
    --container-spacing-horizontal: 12%;
    --container-max-width: 60rem;
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-hero {
    padding-top: 2rem;
    padding-bottom: 4rem;
  }
}

.top-hero__text {
  box-sizing: content-box;
  display: flex;
  flex-wrap: wrap;
  row-gap: 1rem;
  -moz-column-gap: 2%;
       column-gap: 2%;
  align-items: center;
  justify-content: space-between;
  max-width: 63.5rem;
  padding-right: 4%;
  padding-left: 8%;
  margin-inline: auto;
}

.top-hero__copy {
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .top-hero__copy {
    font-size: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-hero__copy {
    --letter-spacing: 0;
    font-size: 1.5rem;
  }
}
.top-hero__copy ruby {
  position: relative;
}
.top-hero__copy rt {
  position: relative;
  top: -0.25em;
  font-weight: 400;
  text-align: center;
  /* stylelint-disable-next-line plugin/selector-bem-pattern */
}
@media screen and (min-width: 60em), print {
  .top-hero__copy rt {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-hero__copy rt {
    font-size: 0.5625rem;
  }
}
.top-hero__copy rt _::-webkit-full-page-media,
.top-hero__copy rt _:future,
.top-hero__copy rt :root, .top-hero__copy rt {
  translate: 0 0.5rem;
}
@-moz-document url-prefix() {
  .top-hero__copy rt {
    position: absolute;
    top: -0.5em;
    left: 50%;
    transform: translateX(-50%);
  }
}

.top-hero__lead {
  line-height: 1.8;
}
@media screen and (max-width: 59.99em) {
  .top-hero__lead {
    margin-top: 2rem;
  }
}

@media screen and (min-width: 60em), print {
  .top-hero__slider {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-hero__slider {
    margin-top: 2rem;
  }
}

.top-hero-slider .splide__slider {
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 60em), print {
  .top-hero-slider .splide__slider {
    -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 0.2) 0, #000 var(--container-gutter) calc(var(--container-gutter) + 40%), rgba(0, 0, 0, 0.2) 100%);
            mask-image: linear-gradient(to right, rgba(0, 0, 0, 0.2) 0, #000 var(--container-gutter) calc(var(--container-gutter) + 40%), rgba(0, 0, 0, 0.2) 100%);
  }
}
@media screen and (max-width: 59.99em) {
  .top-hero-slider .splide__slider {
    -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 0.2) 0, #000 var(--container-gutter) calc(100% - var(--container-gutter)), rgba(0, 0, 0, 0.2) 100%);
            mask-image: linear-gradient(to right, rgba(0, 0, 0, 0.2) 0, #000 var(--container-gutter) calc(100% - var(--container-gutter)), rgba(0, 0, 0, 0.2) 100%);
    padding-inline: 8%;
  }
}
.top-hero-slider .splide__track {
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
  overflow: visible;
}
.top-hero-slider .splide__slide {
  aspect-ratio: 0.85;
  background-color: var(--color-primary);
}
@media screen and (min-width: 60em), print {
  .top-hero-slider .splide__slide {
    width: clamp(16rem, 50%, 100vh - 27rem);
    margin-right: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-hero-slider .splide__slide {
    width: min(100%, 20rem);
    margin-right: 3%;
  }
}
.top-hero-slider .splide__arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  display: grid;
  align-items: center;
  justify-content: center;
  margin: auto;
  font-size: 1.5rem;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  border-radius: 9999px;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}
@media screen and (min-width: 60em), print {
  .top-hero-slider .splide__arrow {
    width: 4.5rem;
    height: 4.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-hero-slider .splide__arrow {
    width: 3.5rem;
    height: 3.5rem;
  }
}
@media (hover: hover) {
  .top-hero-slider .splide__arrow:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .top-hero-slider .splide__arrow:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .top-hero-slider .splide__arrow:where(:-moz-any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 0.9s cubic-bezier(0, 0, 0.2, 1);
  }
  .top-hero-slider .splide__arrow:where(:any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 0.9s cubic-bezier(0, 0, 0.2, 1);
  }
  @keyframes shiny {
    0% {
      background-position-x: 100%;
    }
    100% {
      background-position-x: 0%;
    }
  }
}
.top-hero-slider .splide__arrow.splide__arrow--prev {
  left: 5%;
}
.top-hero-slider .splide__arrow.splide__arrow--prev::after {
  transform: scaleX(-1);
}
.top-hero-slider .splide__arrow.splide__arrow--next {
  right: 5%;
}
.top-hero-slider .splide__arrow::after {
  display: block;
  width: 1em;
  height: 1em;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-arrow-right);
          mask-image: var(--icon-arrow-right);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.top-hero-slider .splide__controls {
  display: grid;
  grid-template-columns: minmax(0, 36rem) minmax(0, 5rem);
  -moz-column-gap: 6%;
       column-gap: 6%;
  justify-content: center;
  width: var(--container-width);
  margin-top: 2rem;
  margin-right: auto;
  margin-left: auto;
}
.top-hero-slider .splide__pagination {
  position: relative;
  z-index: 0;
  width: 100%;
}
.top-hero-slider .splide__pagination::before {
  position: absolute;
  z-index: -1;
  display: block;
  width: 100%;
  height: 1px;
  margin: auto;
  content: "";
  background-color: var(--color-accent);
}
.top-hero-slider .splide__pagination > li {
  flex-grow: 1;
}
.top-hero-slider .splide__pagination__page {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  width: 100%;
}
.top-hero-slider .splide__pagination__page::before {
  display: block;
  content: "";
  background-color: var(--color-accent);
  border-radius: 50%;
  transition: 0.2s transform ease-out;
}
@media screen and (min-width: 60em), print {
  .top-hero-slider .splide__pagination__page::before {
    width: 11px;
    height: 11px;
  }
}
@media screen and (max-width: 59.99em) {
  .top-hero-slider .splide__pagination__page::before {
    width: 6px;
    height: 6px;
  }
}
.top-hero-slider .splide__pagination__page.is-active::before {
  background-color: var(--color-white);
  transform: scale(1.5);
}
.top-hero-slider .splide__pagination__page::after {
  display: block;
  justify-self: end;
  width: 0;
  height: 3px;
  content: "";
  background-color: var(--color-white);
  transition: 0.1s width ease-out;
}
.top-hero-slider .splide__pagination__page.is-active::after {
  justify-self: start;
  width: calc(var(--autoplay-rate) * 100%);
}
.top-hero-slider .splide__toggle {
  display: grid;
  align-items: center;
  justify-content: center;
  padding: 0.5em;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  border-radius: 9999px;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .top-hero-slider .splide__toggle:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .top-hero-slider .splide__toggle:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .top-hero-slider .splide__toggle:where(:-moz-any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 0.9s cubic-bezier(0, 0, 0.2, 1);
  }
  .top-hero-slider .splide__toggle:where(:any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 0.9s cubic-bezier(0, 0, 0.2, 1);
  }
  @keyframes shiny {
    0% {
      background-position-x: 100%;
    }
    100% {
      background-position-x: 0%;
    }
  }
}
.top-hero-slider .splide__toggle__play::after,
.top-hero-slider .splide__toggle__pause::after {
  display: block;
  width: 1em;
  height: 1em;
  color: var(--color-white);
  content: "";
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.top-hero-slider .splide__toggle__play::after {
  -webkit-mask-image: var(--icon-play);
          mask-image: var(--icon-play);
}
.top-hero-slider .splide__toggle__pause::after {
  -webkit-mask-image: var(--icon-pause);
          mask-image: var(--icon-pause);
}

.top-hero-slider__slide {
  display: block;
  height: 100%;
  padding: 10% 8%;
  overflow: hidden;
}
.top-hero-slider__slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  will-change: transform;
  filter: drop-shadow(0px 0px 7.5px rgba(0, 0, 0, 0.5));
}
@media (prefers-reduced-motion: no-preference) {
  .top-hero-slider__slide img {
    transition-duration: 0.4s;
    transition-property: transform;
  }
}
@media (hover: hover) {
  .top-hero-slider__slide:where(:-moz-any-link, :enabled, summary):hover img {
    transform: scale(1.2);
  }
  .top-hero-slider__slide:where(:any-link, :enabled, summary):hover img {
    transform: scale(1.2);
  }
}

@media screen and (max-width: 59.99em) {
  .top-works-slider {
    --container-spacing-horizontal: 16%;
  }
}
.top-works-slider .splide__slider {
  position: relative;
  overflow: hidden;
}
.top-works-slider .splide__track {
  position: relative;
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
  overflow: visible;
}
.top-works-slider .splide__slide {
  transition-duration: 0.2s;
  transition-property: filter;
}
@media screen and (min-width: 60em), print {
  .top-works-slider .splide__slide {
    margin-right: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-works-slider .splide__slide {
    margin-right: 1rem;
  }
}
.top-works-slider .splide__slide:not(.is-active) {
  filter: brightness(0.5);
}
.top-works-slider .splide__arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  display: grid;
  align-items: center;
  justify-content: center;
  margin-block: auto;
  font-size: 1.5rem;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  border-radius: 9999px;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}
@media screen and (min-width: 60em), print {
  .top-works-slider .splide__arrow {
    --arrow-position: clamp(1rem, 5%, 0.2 * (100vw - 1100px));
  }
}
@media screen and (max-width: 59.99em) {
  .top-works-slider .splide__arrow {
    --arrow-position: 5%;
  }
}
@media screen and (min-width: 60em), print {
  .top-works-slider .splide__arrow {
    width: 4.5rem;
    height: 4.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-works-slider .splide__arrow {
    width: 3.5rem;
    height: 3.5rem;
  }
}
@media (hover: hover) {
  .top-works-slider .splide__arrow:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .top-works-slider .splide__arrow:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .top-works-slider .splide__arrow:where(:-moz-any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 0.9s cubic-bezier(0, 0, 0.2, 1);
  }
  .top-works-slider .splide__arrow:where(:any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 0.9s cubic-bezier(0, 0, 0.2, 1);
  }
  @keyframes shiny {
    0% {
      background-position-x: 100%;
    }
    100% {
      background-position-x: 0%;
    }
  }
}
.top-works-slider .splide__arrow.splide__arrow--prev {
  left: var(--arrow-position);
}
.top-works-slider .splide__arrow.splide__arrow--next {
  right: var(--arrow-position);
}
.top-works-slider .splide__arrow::after {
  display: block;
  width: 1em;
  height: 1em;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-arrow-right);
          mask-image: var(--icon-arrow-right);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.top-works-slider .splide__arrow.splide__arrow--prev::after {
  transform: scaleX(-1);
}
.top-works-slider .splide__controls {
  display: grid;
  max-width: 5.5rem;
  margin-top: 1rem;
}
@media screen and (min-width: 60em), print {
  .top-works-slider .splide__controls {
    margin-left: auto;
  }
}
.top-works-slider .splide__toggle {
  display: grid;
  align-items: center;
  justify-content: center;
  min-width: min(4rem, 100%);
  padding: 0.5em;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  border-radius: 9999px;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .top-works-slider .splide__toggle:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .top-works-slider .splide__toggle:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .top-works-slider .splide__toggle:where(:-moz-any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 0.9s cubic-bezier(0, 0, 0.2, 1);
  }
  .top-works-slider .splide__toggle:where(:any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 0.9s cubic-bezier(0, 0, 0.2, 1);
  }
  @keyframes shiny {
    0% {
      background-position-x: 100%;
    }
    100% {
      background-position-x: 0%;
    }
  }
}
.top-works-slider .splide__toggle__play::after,
.top-works-slider .splide__toggle__pause::after {
  display: block;
  width: 1em;
  height: 1em;
  color: var(--color-white);
  content: "";
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.top-works-slider .splide__toggle__play::after {
  -webkit-mask-image: var(--icon-play);
          mask-image: var(--icon-play);
}
.top-works-slider .splide__toggle__pause::after {
  -webkit-mask-image: var(--icon-pause);
          mask-image: var(--icon-pause);
}

.top-works-slider__link {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  overflow: hidden;
}
@media screen and (min-width: 60em), print {
  .top-works-slider__link {
    height: clamp(18rem, 100vh - 20rem, 26rem);
  }
}
@media screen and (max-width: 59.99em) {
  .top-works-slider__link {
    height: clamp(16rem, 100vh - 24rem, 21rem);
  }
}
.top-works-slider__link img {
  width: auto;
  max-width: none;
  will-change: transform;
  height: 100%;
}
@media (prefers-reduced-motion: no-preference) {
  .top-works-slider__link img {
    transition-duration: var(--transition-duration-motion);
    transition-property: transform;
  }
}
@media (hover: hover) {
  .top-works-slider__link:where(:-moz-any-link, :enabled, summary):hover img {
    transform: scale(1.2);
  }
  .top-works-slider__link:where(:any-link, :enabled, summary):hover img {
    transform: scale(1.2);
  }
}

@media screen and (min-width: 60em), print {
  .top-works-details-slider {
    --content-head-width: 32%;
  }
}
@media screen and (max-width: 59.99em) {
  .top-works-details-slider {
    --container-spacing-horizontal: 16%;
  }
  .top-works-details-slider::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 1px;
    content: "";
    background-color: currentColor;
  }
}
.top-works-details-slider .splide__slider {
  position: relative;
}
.top-works-details-slider .splide__slider::before {
  position: absolute;
  bottom: 100%;
  left: 0;
  display: block;
  width: var(--content-head-width, 100%);
  height: 5px;
  content: "";
  background-image: linear-gradient(to right, currentColor 0 calc(var(--autoplay-rate, 0) * 100%), var(--color-primary) 0 100%);
}
.top-works-details-slider .splide__slide {
  position: relative;
  padding-top: 1.5rem;
}
.top-works-details-slider .splide__slide::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 0%;
  height: 1px;
  content: "";
  background-color: currentColor;
  transition-timing-function: ease-out;
  transition-duration: 0.6s;
  transition-property: width;
}
.top-works-details-slider .splide__slide.is-active::before {
  width: 100%;
}

.top-works-details-slider__content {
  height: 100%;
}
@media screen and (min-width: 60em), print {
  .top-works-details-slider__content {
    display: grid;
    grid-template-columns: var(--content-head-width) 1fr;
  }
}

@media screen and (min-width: 60em), print {
  .top-works-details-slider__head {
    padding-right: 5%;
  }
}

.top-works-details-slider__title {
  font-size: 1.5rem;
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .top-works-details-slider__title {
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .top-works-details-slider__title {
    line-height: 1.5;
  }
}

.top-works-details-slider__label {
  display: grid;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(100%, 7rem);
  min-height: 2rem;
  padding: 0.25rem 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-black);
  background-color: var(--color-white);
  border-radius: 9999px;
}
@media screen and (min-width: 60em), print {
  .top-works-details-slider__label {
    margin-bottom: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-works-details-slider__label {
    margin-bottom: 1rem;
  }
}

.top-works-details-slider__text {
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .top-works-details-slider__text {
    display: grid;
    align-items: center;
    padding-left: 8%;
    border-left: 1px solid currentColor;
  }
}
@media screen and (max-width: 59.99em) {
  .top-works-details-slider__text {
    margin-top: 1.5rem;
  }
}

.top-story-slider {
  --container-max-width: 64.5rem;
}
.top-story-slider .splide__slider {
  overflow: hidden;
}
.top-story-slider .splide__track {
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
  overflow: visible;
}
.top-story-slider .splide__slide {
  display: grid;
  width: calc((100% - var(--slide-gap) * (var(--slide-count) - 1)) / var(--slide-count));
  max-width: 22.5rem;
}
@media screen and (min-width: 60em), print {
  .top-story-slider .splide__slide {
    --slide-count: 3;
    --slide-gap: 2%;
  }
}
@media screen and (max-width: 59.99em) {
  .top-story-slider .splide__slide {
    --slide-count: 1;
    --slide-gap: 2%;
  }
}
.top-story-slider .splide__slide:where(:not(:last-child)) {
  margin-right: var(--slide-gap);
}
.top-story-slider .splide__pagination {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  margin-top: 2rem;
}
.top-story-slider .splide__pagination__page {
  padding: 0.5rem;
}
.top-story-slider .splide__pagination__page::before {
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  content: "";
  background-color: var(--color-accent);
  border-radius: 9999px;
  transition-duration: 0.2s;
  transition-property: transform, background-color;
}
.top-story-slider .splide__pagination__page.is-active::before {
  background-color: var(--color-primary);
  transform: scale(1.5);
}

.top-story-slider__card {
  position: relative;
  display: block;
  height: 100%;
  padding: 1.5rem;
  color: var(--color-white);
  background-color: var(--color-primary);
  transition-duration: var(--transition-duration-hover);
  transition-property: filter;
}
@media (hover: hover) {
  .top-story-slider__card:where(:-moz-any-link, :enabled, summary):hover {
    filter: brightness(0.8);
  }
  .top-story-slider__card:where(:any-link, :enabled, summary):hover {
    filter: brightness(0.8);
  }
}

.top-story-slider__card__new {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 1;
  display: inline-grid;
  place-items: center;
  width: 3.5rem;
  height: 3.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-white);
  background-color: var(--color-validation);
  border-radius: 50%;
}

.top-story-slider__card__image {
  aspect-ratio: 1.8;
  margin-bottom: 1.5rem;
  overflow: hidden;
}
.top-story-slider__card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  will-change: transform;
}
@media (prefers-reduced-motion: no-preference) {
  .top-story-slider__card__image img {
    transition-duration: var(--transition-duration-motion);
    transition-property: transform;
  }
}
@media (hover: hover) {
  :where(:-moz-any-link, :enabled, summary):hover .top-story-slider__card__image img {
    transform: scale(1.2);
  }
  :where(:any-link, :enabled, summary):hover .top-story-slider__card__image img {
    transform: scale(1.2);
  }
}

.top-story-slider__card__label {
  display: grid;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(100%, 6.5rem);
  padding: 0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-black);
  background-color: var(--color-white);
  border-radius: 9999px;
}

.top-story-slider__card__title {
  --letter-spacing: 0;
  margin-top: 1rem;
  font-weight: 500;
}
@media screen and (min-width: 60em), print {
  .top-story-slider__card__title {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-story-slider__card__title {
    font-size: 1rem;
  }
}

.top-news {
  padding-top: 2rem;
  padding-bottom: 2rem;
  color: var(--color-white);
  background-color: var(--color-black);
}

.top-news__container {
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
}

.top-news__box {
  display: grid;
  color: var(--color-black);
  background-color: var(--color-white);
}
@media screen and (min-width: 60em), print {
  .top-news__box {
    grid-template-columns: minmax(auto, 15%) 1fr;
    padding: 2.5rem 2.5%;
  }
}

.top-news__heading {
  display: grid;
  align-content: center;
  justify-items: center;
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .top-news__heading {
    row-gap: 0.5rem;
    border-right: 2px solid var(--color-black);
  }
}
@media screen and (max-width: 59.99em) {
  .top-news__heading {
    row-gap: 0.25rem;
    padding-block: 1.75rem;
    border-bottom: 2px solid var(--color-black);
  }
}

.top-news__heading__main {
  font-size: 1.5rem;
}

.top-news__heading__sub {
  font-size: 0.75rem;
}

.top-news__list {
  display: grid;
  padding-inline: 5%;
}
@media screen and (min-width: 60em), print {
  .top-news__list {
    row-gap: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-news__list {
    padding-block: 0.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-news__list > li {
    padding-block: 1.5rem;
  }
  .top-news__list > li:where(:not(:first-child)) {
    border-top: 1px solid var(--color-border);
  }
}

.top-news__link {
  display: flex;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  align-items: center;
}
@media screen and (max-width: 59.99em) {
  .top-news__link {
    flex-wrap: wrap;
    row-gap: 1rem;
  }
}

.top-news__label {
  display: grid;
  align-items: center;
  justify-content: center;
  min-width: 7rem;
  min-height: 2rem;
  padding: 0.25rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-white);
  background-color: var(--color-black);
  border-radius: 9999px;
}

.top-news__date {
  --letter-spacing: 0;
  min-width: 5rem;
  font-size: 0.75rem;
  font-weight: 700;
}

.top-news__text {
  --letter-spacing: 0;
  font-size: 0.875rem;
}
@media screen and (min-width: 60em), print {
  .top-news__text {
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .top-news__text {
    flex-basis: 0;
    flex-grow: 1;
    min-width: min(24em, 100%);
  }
}
.top-news__text > * {
  background-image: linear-gradient(to top, currentColor 0 1px, transparent 0 100%);
  background-repeat: no-repeat;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  background-position: right;
  background-size: 0 100%;
}
@media (prefers-reduced-motion: no-preference) {
  .top-news__text > * {
    transition-duration: 0.4s;
    transition-property: background-size;
  }
}
@media (hover: hover) {
  :where(:-moz-any-link, :enabled, summary):hover .top-news__text > * {
    background-position: left;
    background-size: 100% 100%;
  }
  :where(:any-link, :enabled, summary):hover .top-news__text > * {
    background-position: left;
    background-size: 100% 100%;
  }
}

.top-news__details-link {
  display: grid;
  max-width: 10rem;
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .top-news__details-link {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-news__details-link {
    margin-top: 1.5rem;
  }
}

.top-about {
  overflow: hidden;
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .top-about {
    padding-top: 6.5rem;
    padding-bottom: 10rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about {
    padding-top: 3rem;
    padding-bottom: 6rem;
  }
}

.top-about__heading {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .top-about__heading {
    row-gap: 0.5rem;
    width: -moz-fit-content;
    width: fit-content;
    padding-left: 3.5rem;
    margin-left: auto;
    white-space: nowrap;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about__heading {
    row-gap: 0.25rem;
    padding-left: 1.5rem;
    margin-bottom: 1rem;
  }
}

.top-about__heading__main {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .top-about__heading__main {
    font-size: 3.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about__heading__main {
    font-size: 2.5rem;
  }
}

.top-about__heading__sub {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .top-about__heading__sub {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about__heading__sub {
    font-size: 1.125rem;
  }
}

.top-about__grid {
  display: grid;
  isolation: isolate;
}
@media screen and (min-width: 60em), print {
  .top-about__grid {
    grid-template: ". main controls ." clamp(15rem, min(36vw, 45vh), 27.5rem) ". text sub      ." auto/var(--container-gutter) 3fr 2fr var(--container-gutter);
  }
}
@media screen and (max-width: 59.99em) {
  .top-about__grid {
    grid-template: ".    .    .        ." auto "main main main     ." max(10rem, 36vw) ".    sub  controls ." auto ".    text text     ." auto/var(--container-gutter) 3fr 2fr var(--container-gutter);
    row-gap: 1rem;
  }
}

.top-about__grid__background {
  position: relative;
  z-index: -1;
}
@media screen and (min-width: 60em), print {
  .top-about__grid__background {
    grid-area: controls;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about__grid__background {
    grid-row: 2;
    grid-column: 3;
  }
}
.top-about__grid__background::before {
  position: absolute;
  display: block;
  width: 9999px;
  content: "";
  background-color: rgba(var(--color-accent-rgb), 0.5);
}
@media screen and (min-width: 60em), print {
  .top-about__grid__background::before {
    top: 42%;
    bottom: -28%;
    left: -28%;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about__grid__background::before {
    top: 50%;
    bottom: -60%;
    left: -30%;
  }
}

@media screen and (min-width: 60em), print {
  .top-about__grid__heading {
    grid-area: controls;
    align-self: start;
    margin-top: -1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about__grid__heading {
    grid-row: 1;
    grid-column: 2/span 2;
  }
}

.top-about__grid__main {
  grid-area: main;
}
@media screen and (max-width: 59.99em) {
  .top-about__grid__main {
    padding-right: 8%;
    padding-left: 4%;
  }
}

.top-about__grid__sub {
  grid-area: sub;
}
@media screen and (max-width: 59.99em) {
  .top-about__grid__sub {
    justify-self: end;
    width: max(10rem, 32vw);
  }
}

.top-about__grid__text {
  grid-area: text;
}
@media screen and (min-width: 60em), print {
  .top-about__grid__text {
    padding-top: 4rem;
    padding-right: 4%;
    padding-left: 8%;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about__grid__text {
    padding-top: 3rem;
  }
}

.top-about__copy {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .top-about__copy {
    font-size: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about__copy {
    font-size: 1.5rem;
  }
}

.top-about__text {
  font-size: 1rem;
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .top-about__text {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about__text {
    margin-top: 1rem;
  }
}

.top-about__details-link {
  display: grid;
  max-width: 10rem;
}
@media screen and (min-width: 60em), print {
  .top-about__details-link {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about__details-link {
    margin-top: 1.5rem;
  }
}

.top-about__banner {
  --container-max-width: 64.5rem;
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 60em), print {
  .top-about__banner {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about__banner {
    margin-top: 4rem;
  }
}

.top-about__banner__link {
  display: block;
  overflow: hidden;
  border: 2px solid var(--color-accent);
}
.top-about__banner__link img {
  width: 100%;
  will-change: transform;
}
@media (prefers-reduced-motion: no-preference) {
  .top-about__banner__link img {
    transition-duration: 0.4s;
    transition-property: transform;
  }
}
@media (hover: hover) {
  .top-about__banner__link:where(:-moz-any-link, :enabled, summary):hover img {
    transform: scale(1.1);
  }
  .top-about__banner__link:where(:any-link, :enabled, summary):hover img {
    transform: scale(1.1);
  }
}

.top-about-slider img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-about-slider .splide__slider,
.top-about-slider .splide__track {
  height: 100%;
}
.top-about-slider .splide__slide {
  margin-right: 2px;
}
.top-about-slider .splide__toggle {
  display: grid;
  align-items: center;
  justify-content: center;
  width: 5.5rem;
  padding: 0.5em;
  margin: auto;
  font-size: 1rem;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  border-radius: 9999px;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}
@media (hover: hover) {
  .top-about-slider .splide__toggle:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .top-about-slider .splide__toggle:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .top-about-slider .splide__toggle:where(:-moz-any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 0.9s cubic-bezier(0, 0, 0.2, 1);
  }
  .top-about-slider .splide__toggle:where(:any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 0.9s cubic-bezier(0, 0, 0.2, 1);
  }
  @keyframes shiny {
    0% {
      background-position-x: 100%;
    }
    100% {
      background-position-x: 0%;
    }
  }
}
.top-about-slider .splide__toggle__play::after,
.top-about-slider .splide__toggle__pause::after {
  display: block;
  width: 1em;
  height: 1em;
  color: var(--color-white);
  content: "";
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.top-about-slider .splide__toggle__play::after {
  -webkit-mask-image: var(--icon-play);
          mask-image: var(--icon-play);
}
.top-about-slider .splide__toggle__pause::after {
  -webkit-mask-image: var(--icon-pause);
          mask-image: var(--icon-pause);
}

.top-about-sub-slider img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 60em), print {
  .top-about-sub-slider img {
    height: auto;
    aspect-ratio: 1.6;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about-sub-slider img {
    height: 100%;
    aspect-ratio: 1;
  }
}
.top-about-sub-slider .splide__slider,
.top-about-sub-slider .splide__track {
  height: 100%;
}
.top-about-sub-slider .splide__slide {
  margin-right: 2px;
}

.top-business {
  color: var(--color-white);
  background-color: var(--color-primary);
}
@media screen and (min-width: 60em), print {
  .top-business {
    --container-max-width: 64.5rem;
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-business {
    padding-top: 5.5rem;
    padding-bottom: 6rem;
  }
}

.top-business__header {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .top-business__header {
    grid-template-columns: auto 1fr;
    -moz-column-gap: 5%;
         column-gap: 5%;
  }
}

@media screen and (max-width: 59.99em) {
  .top-business__header__contents {
    display: contents;
  }
}

@media screen and (max-width: 59.99em) {
  .top-business__figure {
    grid-row: 2;
  }
}
.top-business__figure img {
  width: 100%;
}

.top-business__heading {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .top-business__heading {
    row-gap: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-business__heading {
    row-gap: 0.25rem;
    padding-left: 1.5rem;
    margin-bottom: 2rem;
  }
}

.top-business__heading__main {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .top-business__heading__main {
    font-size: 3.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-business__heading__main {
    font-size: 2.5rem;
  }
}

.top-business__heading__sub {
  font-size: 1.5rem;
}
@media screen and (max-width: 59.99em) {
  .top-business__heading__sub {
    font-size: 1rem;
  }
}

@media screen and (min-width: 60em), print {
  .top-business__text-area {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-business__text-area {
    margin-top: 2rem;
  }
}

.top-business__copy {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .top-business__copy {
    font-size: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-business__copy {
    font-size: 1.5rem;
  }
}

.top-business__text {
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .top-business__text {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-business__text {
    margin-top: 1rem;
    font-size: 0.9375rem;
  }
}

.top-business__list {
  position: relative;
  display: grid;
  gap: 1rem;
  isolation: isolate;
}
@media screen and (min-width: 60em), print {
  .top-business__list {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-business__list {
    grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
    margin-top: 4rem;
  }
}

.top-business__pentagon {
  position: absolute;
  right: -10%;
  bottom: 10%;
  z-index: -1;
  display: block;
  width: 20rem;
  height: 20rem;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg width="294" height="294" viewBox="0 0 294 294" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M246.749 211.463L116.518 261.784L28.4157 153.476L104.197 36.2174L239.135 72.0549L246.749 211.463Z" stroke="white" stroke-width="2"/></svg>');
          mask-image: url('data:image/svg+xml;charset=UTF-8,<svg width="294" height="294" viewBox="0 0 294 294" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M246.749 211.463L116.518 261.784L28.4157 153.476L104.197 36.2174L239.135 72.0549L246.749 211.463Z" stroke="white" stroke-width="2"/></svg>');
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media screen and (max-width: 59.99em) {
  .top-business__pentagon {
    display: none;
  }
}

.top-business__details-link {
  display: grid;
  max-width: 10rem;
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .top-business__details-link {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-business__details-link {
    margin-top: 1.5rem;
  }
}

.top-business-card {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  height: 100%;
  font-weight: 700;
  background-color: rgba(var(--color-accent-rgb), 0.35);
  border: 1px solid var(--color-accent);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}
@media screen and (min-width: 60em), print {
  .top-business-card {
    -moz-column-gap: 5%;
         column-gap: 5%;
    padding: 2rem 5%;
  }
}
@media screen and (max-width: 59.99em) {
  .top-business-card {
    -moz-column-gap: 5%;
         column-gap: 5%;
    padding-right: 5%;
  }
}
@media (hover: hover) {
  .top-business-card:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .top-business-card:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
.top-business-card::after {
  display: block;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-arrow-right-thin);
          mask-image: var(--icon-arrow-right-thin);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media screen and (min-width: 60em), print {
  .top-business-card::after {
    width: 2rem;
    height: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-business-card::after {
    width: 1rem;
    height: 1rem;
  }
}

.top-business-card__inner {
  display: flex;
  flex-wrap: wrap;
  row-gap: 1.5rem;
  -moz-column-gap: 6%;
       column-gap: 6%;
  align-items: center;
}
.top-business-card__inner > :nth-child(1) {
  flex-basis: 12rem;
  flex-grow: 1;
}
.top-business-card__inner > :nth-child(2) {
  flex-basis: 0;
  flex-grow: 9999;
  min-width: 40%;
}

.top-business-card__heading {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .top-business-card__heading {
    gap: 0.25rem;
    align-content: start;
    justify-items: center;
    text-align: center;
  }
}
@media screen and (max-width: 59.99em) {
  .top-business-card__heading {
    grid-template-columns: auto 1fr;
    gap: 0.5rem;
    align-items: center;
    padding: 1.5rem;
    border-right: 1px solid currentColor;
  }
}

.top-business-card__icon {
  height: auto;
}
@media screen and (min-width: 60em), print {
  .top-business-card__icon {
    width: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-business-card__icon {
    width: 2.5rem;
  }
}

.top-business-card__heading__main {
  font-size: 1.5rem;
}
@media screen and (max-width: 59.99em) {
  .top-business-card__heading__main {
    font-size: 1.25rem;
  }
}

.top-business-card__heading__sub {
  font-size: 0.75rem;
}

@media screen and (max-width: 59.99em) {
  .top-business-card__content {
    display: none;
  }
}

.top-business-card__copy {
  padding-bottom: 1rem;
}

.top-business-card__tag-list {
  display: flex;
  flex-wrap: wrap;
  row-gap: 0.5rem;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  padding-top: 1rem;
  font-size: 0.75rem;
  border-top: 1px solid currentColor;
}

.top-works {
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .top-works {
    --container-max-width: 64.5rem;
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-works {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

.top-works__heading {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .top-works__heading {
    grid-auto-flow: column;
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
    align-items: baseline;
    justify-content: start;
  }
}
@media screen and (max-width: 59.99em) {
  .top-works__heading {
    row-gap: 0.25rem;
    padding-left: 1.5rem;
  }
}

.top-works__heading__main {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .top-works__heading__main {
    font-size: 3.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-works__heading__main {
    font-size: 2.5rem;
  }
}

.top-works__heading__sub {
  font-size: 1.5rem;
  font-weight: 700;
}
@media screen and (max-width: 59.99em) {
  .top-works__heading__sub {
    font-size: 1.125rem;
  }
}

.top-works__details-slider {
  margin-top: 2rem;
}

.top-works__details-link {
  display: grid;
  max-width: 10rem;
  margin-top: 3rem;
}
@media screen and (min-width: 60em), print {
  .top-works__details-link {
    margin-inline: auto;
  }
}

.top-works__slider-layout {
  display: grid;
  grid-auto-columns: minmax(0, 1fr);
}
@media screen and (min-width: 60em), print {
  .top-works__slider-layout {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-works__slider-layout {
    margin-top: 2rem;
  }
}

.top-works__slider-layout__controls {
  grid-row: 3;
}

@media screen and (min-width: 60em), print {
  .top-story {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-story {
    padding-top: 4rem;
    padding-bottom: 5rem;
  }
}

.top-story__heading {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .top-story__heading {
    grid-auto-flow: column;
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
    align-items: baseline;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
  }
}
@media screen and (max-width: 59.99em) {
  .top-story__heading {
    row-gap: 0.25rem;
    padding-left: 1.5rem;
  }
}

.top-story__heading__main {
  font-size: 3.75rem;
  font-weight: 700;
}
@media screen and (max-width: 59.99em) {
  .top-story__heading__main {
    font-size: 2.5rem;
  }
}

.top-story__heading__sub {
  font-size: 1.5rem;
  font-weight: 700;
}
@media screen and (max-width: 59.99em) {
  .top-story__heading__sub {
    font-size: 1.125rem;
  }
}

@media screen and (min-width: 60em), print {
  .top-story__slider {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-story__slider {
    margin-top: 2rem;
  }
}

.top-story__details-link {
  display: grid;
  max-width: 10rem;
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .top-story__details-link {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-story__details-link {
    margin-top: 2rem;
  }
}

.top-footer {
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .top-footer {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
}

.top-footer__list {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .top-footer__list {
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 4%;
         column-gap: 4%;
    width: var(--container-width);
    margin-inline: auto;
  }
}
@media screen and (max-width: 59.99em) {
  .top-footer__list {
    row-gap: 0.5rem;
  }
}

.top-footer__item {
  display: grid;
  align-content: center;
  padding-inline: min(20%, 5rem) 5%;
  overflow: hidden;
  background-color: var(--color-primary);
}
@media screen and (min-width: 60em), print {
  .top-footer__item {
    padding-block: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-footer__item {
    padding-block: 2.5rem;
  }
}

.top-footer__heading {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .top-footer__heading {
    -moz-column-gap: 0.25rem;
         column-gap: 0.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-footer__heading {
    row-gap: 0.25rem;
  }
}

.top-footer__heading__main {
  font-size: 2.5rem;
  font-weight: 700;
}

.top-footer__heading__sub {
  font-weight: 700;
}

.top-footer__text {
  margin-top: 1.5rem;
  line-height: 1.8;
}

.top-footer__details-link {
  display: grid;
  max-width: 10rem;
  margin-top: 1.5rem;
}

@media screen and (min-width: 60em), print {
  .top-footer__copy {
    display: none;
  }
}
@media screen and (max-width: 59.99em) {
  .top-footer__copy {
    --letter-spacing: 0;
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.8;
  }
}
.top-footer__copy ruby {
  position: relative;
}
.top-footer__copy rt {
  position: relative;
  top: -0.25em;
  font-weight: 400;
  text-align: center;
  /* stylelint-disable-next-line plugin/selector-bem-pattern */
}
@media screen and (min-width: 60em), print {
  .top-footer__copy rt {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-footer__copy rt {
    font-size: 0.5625rem;
  }
}
.top-footer__copy rt _::-webkit-full-page-media,
.top-footer__copy rt _:future,
.top-footer__copy rt :root, .top-footer__copy rt {
  translate: 0 0.5rem;
}
@-moz-document url-prefix() {
  .top-footer__copy rt {
    position: absolute;
    top: -0.5em;
    left: 50%;
    transform: translateX(-50%);
  }
}

.top-footer__logo {
  margin-top: 2rem;
  font-size: 3rem;
  filter: invert(1);
}
.top-footer__logo img {
  width: auto;
  height: 1em;
}

.top-marker-star {
  position: relative;
  --duration: 1s;
}
.top-marker-star::before, .top-marker-star::after {
  position: absolute;
  top: 0.2em;
  right: calc(100% + 1.3rem);
  bottom: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  margin: auto;
  pointer-events: none;
  content: "";
  border: 1px solid currentColor;
  transform: translateX(0) rotate(45deg);
}
.top-marker-star::before {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  transition-duration: var(--duration);
  transition-property: transform, opacity;
}
.top-marker-star::after {
  opacity: 0.3;
}
.top-marker-star:not(.is-visible)::before {
  opacity: 1;
  transform: translateX(-8rem) rotate(-720deg);
}
.top-marker-star:not(.is-visible)::after {
  transform: translateX(0) rotate(45deg) scale(1);
}
.top-marker-star.is-visible::after {
  animation: ping 1s forwards;
  animation-timing-function: cubic-bezier(0, 0, 0.2, 0.8);
  animation-delay: var(--duration);
}
@keyframes ping {
  0% {
    opacity: 0.8;
    transform: rotate(45deg) scale(1);
  }
  100% {
    opacity: 0;
    transform: rotate(45deg) scale(2.5);
  }
}
@media screen and (max-width: 59.99em) {
  .top-marker-star.top-marker-star--sp-hidden::before, .top-marker-star.top-marker-star--sp-hidden::after {
    display: none;
  }
}

.archive-works__card-area {
  margin-bottom: 7.5rem;
}
@media screen and (min-width: 60em), print {
  .archive-works__card-area {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works__card-area {
    margin-top: 3.5rem;
    --container-spacing-horizontal: 4%;
  }
}

.archive-works__card-list {
  display: grid;
  border-top: 1px solid var(--color-border);
  border-left: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .archive-works__card-list {
    grid-template-columns: repeat(auto-fill, minmax(21rem, 1fr));
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works__card-list {
    grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
  }
}
@media screen and (max-width: 59.99em) and (max-width: 31.99em) {
  .archive-works__card-list {
    grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
  }
}

.archive-works__card {
  display: flex;
  height: 100%;
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.archive-works__card__link {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color, box-shadow;
}
@media (hover: hover) {
  .archive-works__card__link:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
    box-shadow: 10px 10px 20px 0px rgba(var(--color-accent-rgb), 0.25);
  }
  .archive-works__card__link:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
    box-shadow: 10px 10px 20px 0px rgba(var(--color-accent-rgb), 0.25);
  }
}
@media screen and (min-width: 60em), print {
  .archive-works__card__link {
    gap: 2rem;
    padding: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works__card__link {
    gap: 1.5rem;
    padding: 1rem;
  }
}

.archive-works__card__image {
  display: flex;
  align-items: center;
  aspect-ratio: 0.8;
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.25));
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 60em), print {
  .archive-works__card__image {
    max-height: 22.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works__card__image {
    max-height: 12.5rem;
  }
}

.archive-works__card__body {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 60em), print {
  .archive-works__card__body {
    gap: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works__card__body {
    gap: 0.5rem;
  }
}

.archive-works__card__tag {
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 7.75rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-white);
  background-color: var(--color-black);
  border-radius: 9999px;
}
@media screen and (min-width: 60em), print {
  .archive-works__card__tag {
    min-height: 2rem;
    padding: 0.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works__card__tag {
    min-height: 1.75rem;
  }
}

.archive-works__card__title {
  font-weight: 700;
  color: var(--color-black);
  letter-spacing: 0;
}
@media screen and (min-width: 60em), print {
  .archive-works__card__title {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works__card__title {
    font-size: 0.875rem;
    line-height: 1.45;
  }
}

@media screen and (min-width: 60em), print {
  .archive-works__card__text {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.8125;
    color: var(--color-black);
    letter-spacing: 0;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works__card__text {
    display: none;
  }
}

.archive-works-heading {
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .archive-works-heading {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works-heading {
    padding-top: 2.25rem;
    padding-bottom: 3.75rem;
  }
}

@media screen and (max-width: 59.99em) {
  .archive-works-heading__wrapper {
    padding-left: 1.75rem;
  }
}

.archive-works-heading__flex-text {
  display: flex;
}
@media screen and (min-width: 60em), print {
  .archive-works-heading__flex-text {
    -moz-column-gap: 1.85rem;
         column-gap: 1.85rem;
    align-items: baseline;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works-heading__flex-text {
    flex-direction: column;
    row-gap: 0.25rem;
  }
}

.archive-works-heading__english {
  position: relative;
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .archive-works-heading__english {
    font-size: 3.75rem;
    line-height: 1.5;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works-heading__english {
    font-size: 2.5rem;
    line-height: 1.3;
  }
}
.archive-works-heading__english::before {
  position: absolute;
  top: 0.2em;
  right: calc(100% + 1.3rem);
  bottom: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  margin: auto;
  content: "";
  border: 1px solid currentColor;
  transform: rotate(45deg);
}

.archive-works-heading__japanese {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .archive-works-heading__japanese {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works-heading__japanese {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}

.archive-works-heading__text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .archive-works-heading__text {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works-heading__text {
    margin-top: 2rem;
  }
}

.archive-news__card-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
  gap: 1rem;
}
@media screen and (min-width: 60em), print {
  .archive-news__card-list {
    padding-right: 2.4rem;
    padding-left: 2.4rem;
  }
}

.archive-news-heading {
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .archive-news-heading {
    padding-top: 5rem;
    padding-bottom: 5rem;
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-news-heading {
    padding-top: 2.25rem;
    padding-bottom: 2.5rem;
    margin-bottom: 3.5rem;
  }
}

@media screen and (max-width: 59.99em) {
  .archive-news-heading__wrapper {
    padding-left: 1.75rem;
  }
}

.archive-news-heading__flex-text {
  display: flex;
}
@media screen and (min-width: 60em), print {
  .archive-news-heading__flex-text {
    -moz-column-gap: 1.85rem;
         column-gap: 1.85rem;
    align-items: baseline;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-news-heading__flex-text {
    flex-direction: column;
    row-gap: 0.25rem;
  }
}

.archive-news-heading__english {
  position: relative;
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .archive-news-heading__english {
    font-size: 3.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-news-heading__english {
    font-size: 2.5rem;
    line-height: 1.3;
  }
}
.archive-news-heading__english::before {
  position: absolute;
  top: 0.2em;
  right: calc(100% + 1.3rem);
  bottom: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  margin: auto;
  content: "";
  border: 1px solid currentColor;
  transform: rotate(45deg);
}

.archive-news-heading__japanese {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .archive-news-heading__japanese {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-news-heading__japanese {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}

.archive-news-filter {
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 60em), print {
  .archive-news-filter {
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-news-filter {
    flex-direction: column;
    margin-bottom: 4.125rem;
  }
}

.archive-news-filter__categories {
  display: grid;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 60em), print {
  .archive-news-filter__categories {
    grid-auto-flow: column;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-news-filter__categories {
    row-gap: 1rem;
    margin-bottom: 3.3rem;
  }
}

.archive-news-filter__category {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 6.75rem;
  padding: 0.4rem 1.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-black);
  background-color: var(--color-white);
  border: 1px solid var(--color-black);
  border-radius: 9999px;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .archive-news-filter__category:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
  .archive-news-filter__category:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
}
.archive-news-filter__category[aria-current] {
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (max-width: 59.99em) {
  .archive-news-filter__category.archive-news-filter__category--sp-first-row {
    grid-row: 1;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-news-filter__category.archive-news-filter__category--sp-second-row {
    grid-row: 2;
  }
}

.archive-news-filter__year {
  position: relative;
  z-index: var(--z-index-dropdown);
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  background-color: var(--color-white);
}

.archive-news-filter__year-menu {
  border: 1px solid var(--color-black);
}
@media screen and (min-width: 60em), print {
  .archive-news-filter__year-menu {
    right: 100%;
  }
}
.archive-news-filter__year-menu summary {
  display: grid;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  min-width: 6rem;
  padding: 0.5rem 0.5rem 0.5rem 1rem;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .archive-news-filter__year-menu summary:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
  .archive-news-filter__year-menu summary:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
}
.archive-news-filter__year-menu summary::before, .archive-news-filter__year-menu summary::after {
  display: block;
  grid-area: 1/2;
  justify-self: end;
  width: 0.75rem;
  height: 2px;
  margin-block: auto;
  content: "";
  background-color: currentColor;
  border-radius: 9999px;
  transition: transform var(--transition-duration-motion);
}
.archive-news-filter__year-menu summary::before {
  transform: rotate(90deg);
}
.archive-news-filter__year-menu[open] summary::before, .archive-news-filter__year-menu[open] summary::after {
  transform: rotate(180deg);
}

.archive-news-filter__summary-text {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--color-black);
}

.archive-news-filter__year__list {
  position: absolute;
  left: 0;
  width: 100%;
  background-color: var(--color-white);
  border: 1px solid var(--color-black);
}

.archive-news-filter__year__link {
  display: block;
  padding: 0.5rem 0.5rem 0.5rem 1rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--color-black);
  background-color: var(--color-white);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .archive-news-filter__year__link:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
  .archive-news-filter__year__link:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
}
.archive-news-filter__year__link[aria-current] {
  color: var(--color-white);
  background-color: var(--color-black);
}

.archive-news-card {
  display: block;
  height: 100%;
  color: var(--color-black);
  background-color: var(--color-white);
  border: 1px solid var(--color-accent);
}

.archive-news-card__link {
  display: block;
  width: 100%;
  height: 100%;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .archive-news-card__link:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
  .archive-news-card__link:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
}
@media screen and (min-width: 60em), print {
  .archive-news-card__link {
    padding: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-news-card__link {
    padding: 1.5rem 1rem;
  }
}

.archive-news-card__image {
  aspect-ratio: 275/160;
  margin-bottom: 1rem;
  background-color: var(--color-primary);
}
.archive-news-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.archive-news-card__head {
  display: flex;
  align-items: center;
}

.archive-news-card__category {
  display: grid;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(100%, 6.5rem);
  min-height: 2rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-white);
  background-color: var(--color-black);
  border-radius: 9999px;
}
@media screen and (min-width: 60em), print {
  .archive-news-card__category {
    padding: 0.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-news-card__category {
    padding: 0.43rem;
  }
}

.archive-news-card__date {
  height: -moz-fit-content;
  height: fit-content;
  margin-left: 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
}

.archive-news-card__text {
  display: -webkit-box;
  min-height: 6.25rem;
  margin-top: 1rem;
  overflow: hidden;
  font-size: 0.875rem;
  font-weight: 700;
  text-overflow: ellipsis;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
}

.archive-story__card-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(16.5rem, 1fr));
  gap: 1rem;
}

.archive-story-heading {
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .archive-story-heading {
    padding-top: 5rem;
    padding-bottom: 5rem;
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-story-heading {
    padding-top: 2.25rem;
    padding-bottom: 2.5rem;
    margin-bottom: 3.5rem;
  }
}

@media screen and (max-width: 59.99em) {
  .archive-story-heading__wrapper {
    padding-left: 1.75rem;
  }
}

.archive-story-heading__flex-text {
  display: flex;
}
@media screen and (min-width: 60em), print {
  .archive-story-heading__flex-text {
    -moz-column-gap: 1.85rem;
         column-gap: 1.85rem;
    align-items: baseline;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-story-heading__flex-text {
    flex-direction: column;
    row-gap: 0.25rem;
  }
}

.archive-story-heading__english {
  position: relative;
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .archive-story-heading__english {
    font-size: 3.75rem;
    line-height: 1.5;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-story-heading__english {
    font-size: 2.5rem;
    line-height: 1.3;
  }
}
.archive-story-heading__english::before {
  position: absolute;
  top: 0.2em;
  right: calc(100% + 1.3rem);
  bottom: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  margin: auto;
  content: "";
  border: 1px solid currentColor;
  transform: rotate(45deg);
}

.archive-story-heading__japanese {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .archive-story-heading__japanese {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-story-heading__japanese {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}

.archive-story-heading__text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8125;
}
@media screen and (min-width: 60em), print {
  .archive-story-heading__text {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-story-heading__text {
    margin-top: 2rem;
  }
}

.archive-story-card {
  display: block;
  height: 100%;
  color: var(--color-white);
  background-color: var(--color-primary);
}

.archive-story-card__link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  transition-duration: var(--transition-duration-hover);
  transition-property: filter;
}
@media (hover: hover) {
  .archive-story-card__link:where(:-moz-any-link, :enabled, summary):hover {
    filter: brightness(0.8);
  }
  .archive-story-card__link:where(:any-link, :enabled, summary):hover {
    filter: brightness(0.8);
  }
}
@media screen and (min-width: 60em), print {
  .archive-story-card__link {
    padding: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-story-card__link {
    padding: 1.5rem 1rem;
  }
}

.archive-story-card__new {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 1;
  display: inline-grid;
  place-items: center;
  width: 3.5rem;
  height: 3.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-white);
  background-color: var(--color-validation);
  border-radius: 50%;
}

.archive-story-card__image {
  aspect-ratio: 1.75;
  margin-bottom: 1rem;
  overflow: hidden;
}
.archive-story-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.archive-story-card__head {
  display: flex;
  align-items: center;
}

.archive-story-card__category {
  display: grid;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(100%, 6.5rem);
  min-height: 2rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-black);
  background-color: var(--color-white);
  border-radius: 9999px;
}
@media screen and (min-width: 60em), print {
  .archive-story-card__category {
    padding: 0.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-story-card__category {
    padding: 0.43rem;
  }
}

.archive-story-card__date {
  height: -moz-fit-content;
  height: fit-content;
  margin-left: 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
}

.archive-story-card__text {
  display: -webkit-box;
  margin-top: 1rem;
  font-weight: 500;
}
@media screen and (min-width: 60em), print {
  .archive-story-card__text {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-story-card__text {
    font-size: 1rem;
  }
}

.archive-recruit-topics__card-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  gap: 2.5rem;
}

@media screen and (max-width: 59.99em) {
  .archive-recruit-topics__heading-section {
    margin-bottom: 3.5rem;
  }
}

@media screen and (min-width: 60em), print {
  .archive-recruit-topics-filter__wrapper {
    margin-top: 7.5rem;
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-recruit-topics-filter__wrapper {
    margin-top: 3.5rem;
  }
}

.archive-recruit-topics-filter {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 59.99em) {
  .archive-recruit-topics-filter {
    flex-direction: column;
    margin-bottom: 2.5rem;
  }
}

.archive-recruit-topics-filter__categories {
  z-index: var(--z-index-recruit-topics-category);
  display: grid;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 60em), print {
  .archive-recruit-topics-filter__categories {
    grid-auto-flow: column;
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-recruit-topics-filter__categories {
    row-gap: 1rem;
    -moz-column-gap: 0.75rem;
         column-gap: 0.75rem;
    margin-bottom: 2rem;
  }
}

.archive-recruit-topics-filter__category {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.4rem 1.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-black);
  background-color: var(--color-white);
  border: 1px solid var(--color-black);
  border-radius: 9999px;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media screen and (min-width: 60em), print {
  .archive-recruit-topics-filter__category {
    min-width: 6.25rem;
    padding: 0.4rem 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-recruit-topics-filter__category {
    grid-row: 3;
    min-width: 6.63rem;
    padding: 0.5rem 1.25rem;
  }
}
@media (hover: hover) {
  .archive-recruit-topics-filter__category:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
  .archive-recruit-topics-filter__category:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
}
.archive-recruit-topics-filter__category[aria-current] {
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (max-width: 59.99em) {
  .archive-recruit-topics-filter__category.archive-recruit-topics-filter__category--sp-first-row {
    grid-row: 1;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-recruit-topics-filter__category.archive-recruit-topics-filter__category--sp-second-row {
    grid-row: 2;
  }
}

.archive-recruit-topics-filter__year {
  position: relative;
  z-index: var(--z-index-dropdown);
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
}

.archive-recruit-topics-filter__year-menu {
  overflow: hidden;
  background-color: var(--color-white);
  border: 1px solid var(--color-black);
  border-radius: calc(infinity * 1px);
}
@media screen and (min-width: 60em), print {
  .archive-recruit-topics-filter__year-menu {
    right: 100%;
  }
}
.archive-recruit-topics-filter__year-menu summary {
  display: grid;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  min-width: 6rem;
  padding: 0.5rem 0.5rem 0.5rem 1rem;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .archive-recruit-topics-filter__year-menu summary:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
  .archive-recruit-topics-filter__year-menu summary:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
}
.archive-recruit-topics-filter__year-menu summary::before, .archive-recruit-topics-filter__year-menu summary::after {
  display: block;
  grid-area: 1/2;
  justify-self: end;
  width: 0.75rem;
  height: 2px;
  margin-block: auto;
  content: "";
  background-color: currentColor;
  border-radius: 9999px;
  transition: transform var(--transition-duration-motion);
}
.archive-recruit-topics-filter__year-menu summary::before {
  transform: rotate(90deg);
}
.archive-recruit-topics-filter__year-menu[open] {
  border-radius: 1rem 1rem 0 0;
}
.archive-recruit-topics-filter__year-menu[open] summary::before, .archive-recruit-topics-filter__year-menu[open] summary::after {
  transform: rotate(180deg);
}

.archive-recruit-topics-filter__summary-text {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--color-black);
}

.archive-recruit-topics-filter__year__list {
  position: absolute;
  left: 0;
  width: 100%;
  overflow: hidden;
  background-color: var(--color-white);
  border: 1px solid var(--color-black);
  border-top: none;
  border-radius: 0 0 1rem 1rem;
}

.archive-recruit-topics-filter__year__link {
  display: block;
  padding: 0.5rem 0.5rem 0.5rem 1rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--color-black);
  background-color: var(--color-white);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .archive-recruit-topics-filter__year__link:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
  .archive-recruit-topics-filter__year__link:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
}
.archive-recruit-topics-filter__year__link[aria-current] {
  color: var(--color-white);
  background-color: var(--color-black);
}

@media screen and (min-width: 60em), print {
  .archive-recruit-topics-card__wrapper {
    row-gap: 1.5rem;
  }
}

.archive-recruit-topics-card {
  display: block;
  height: 100%;
  color: var(--color-black);
  background-color: var(--color-white);
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.3);
}

.archive-recruit-topics-card__link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
.archive-recruit-topics-card__link::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  content: "";
  background-color: var(--color-sub-20);
  mix-blend-mode: multiply;
  opacity: 0;
  transition-duration: var(--transition-duration-hover);
  transition-property: opacity;
  will-change: opacity;
}
@media (hover: hover) {
  .archive-recruit-topics-card__link:where(:-moz-any-link, :enabled, summary):hover::before {
    opacity: 1;
  }
  .archive-recruit-topics-card__link:where(:any-link, :enabled, summary):hover::before {
    opacity: 1;
  }
}

.archive-recruit-topics-card__content {
  position: relative;
  padding: 1.5rem;
}

.archive-recruit-topics-card__link[target=_blank] .archive-recruit-topics-card__content::after {
  position: absolute;
  top: 2.5rem;
  right: 2rem;
  display: inline-block;
  width: 0.75rem;
  height: 0.75rem;
  content: "";
  background-color: currentColor;
  transform: translateY(-50%);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: var(--icon-external-link);
          mask-image: var(--icon-external-link);
}

.archive-recruit-topics-card__image {
  aspect-ratio: 128/67;
  background-color: var(--color-white);
}
.archive-recruit-topics-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.archive-recruit-topics-card__head {
  display: flex;
  align-items: center;
}

.archive-recruit-topics-card__category {
  display: grid;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(100%, 5.5rem);
  min-height: 2rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-white);
  background-color: var(--color-black);
  border-radius: 9999px;
}
@media screen and (min-width: 60em), print {
  .archive-recruit-topics-card__category {
    padding: 0.375rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-recruit-topics-card__category {
    padding: 0.43rem;
  }
}

.archive-recruit-topics-card__date {
  height: -moz-fit-content;
  height: fit-content;
  margin-left: 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--color-text-gray);
}

.archive-recruit-topics-card__text {
  display: -webkit-box;
  min-height: 6.25rem;
  margin-top: 1rem;
  overflow: hidden;
  font-size: 0.875rem;
  font-weight: 700;
  text-overflow: ellipsis;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
}

@media screen and (min-width: 60em), print {
  .archive-recruit-topics__card-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(21rem, 1fr));
    gap: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-recruit-topics__card-list {
    gap: 2rem;
  }
}

@media screen and (min-width: 60em), print {
  .contact-form {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .contact-form {
    padding-top: 2.5rem;
    padding-bottom: 3rem;
  }
}
.contact-form :where(p) {
  line-height: 1.55;
}
.contact-form :where(:-moz-any-link) {
  text-decoration: underline;
  transition-duration: var(--transition-duration-hover);
  -moz-transition-property: opacity;
  transition-property: opacity;
}
.contact-form :where(:any-link) {
  text-decoration: underline;
  transition-duration: var(--transition-duration-hover);
  transition-property: opacity;
}
@media (hover: hover) {
  .contact-form :where(:-moz-any-link):where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.7;
  }
  .contact-form :where(:any-link):where(:any-link, :enabled, summary):hover {
    opacity: 0.7;
  }
}
.contact-form :where(select,
[type=text],
[type=tel],
[type=email],
[type=number],
[type=password],
textarea) {
  width: 100%;
  border: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .contact-form :where(select,
  [type=text],
  [type=tel],
  [type=email],
  [type=number],
  [type=password],
  textarea) {
    padding: 1rem 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .contact-form :where(select,
  [type=text],
  [type=tel],
  [type=email],
  [type=number],
  [type=password],
  textarea) {
    padding: 1rem 1.2rem;
  }
}
.contact-form :where(select,
[type=text],
[type=tel],
[type=email],
[type=number],
[type=password],
textarea):is(:invalid, [aria-invalid=true]) {
  color: var(--color-validation);
  background-color: var(--color-validation-background);
}
.contact-form :where(select) {
  padding-right: min(15%, 4rem);
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" viewBox="0 0 20 15" fill="none"><path d="M18 2.16797L10.2759 12.8346L2 2.16797" stroke="%2345555E" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-repeat: no-repeat;
  background-position: right min(2rem, 6%) center;
  background-size: 1.25rem;
}
.contact-form :where([type=checkbox], [type=radio]) {
  width: 1.5rem;
  height: 1.5rem;
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
}
.contact-form :where([type=checkbox], [type=radio]):is(:invalid, [aria-invalid=true]) {
  background-color: var(--color-validation);
}
.contact-form :where([type=checkbox]):checked {
  background-color: var(--color-primary);
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 16 16"><path d="M13 4L6.5 11.5L3.5 7.5" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none"/></svg>');
  background-repeat: no-repeat;
  background-position: center;
}
.contact-form :where([type=radio]) {
  border-radius: 50%;
}
.contact-form :where([type=radio]):checked {
  background-color: var(--color-primary);
  background-image: url('data:image/svg+xml;charset=utf-8,<svg viewBox="0 0 16 16" fill="white" xmlns="http://www.w3.org/2000/svg"><circle cx="8" cy="8" r="3"/></svg>');
  background-repeat: no-repeat;
  background-position: center;
}
.contact-form ::-moz-placeholder {
  color: var(--color-text-placeholder);
}
.contact-form ::placeholder,
.contact-form .is-placeholder {
  color: var(--color-text-placeholder);
}
.contact-form :is(:invalid, [aria-invalid=true])::-moz-placeholder {
  color: var(--color-validation);
}
.contact-form :is(:invalid, [aria-invalid=true])::placeholder, .contact-form :is(:invalid, [aria-invalid=true]).is-placeholder {
  color: var(--color-validation);
}
.contact-form .wpcf7-not-valid-tip {
  margin-top: 1rem;
  font-weight: 700;
  color: var(--color-validation);
}
.contact-form .wpcf7-list-item {
  margin: 0;
}
.contact-form .wpcf7-list-item label {
  display: inline-grid;
  grid-auto-flow: column;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: center;
}
.contact-form :where([type=submit], [type=button]) {
  display: inline-grid;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: 0.75rem 1.5rem;
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  border-radius: 9999px;
  box-shadow: 10px 10px 20px rgba(var(--color-accent-rgb), 0.2);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .contact-form :where([type=submit], [type=button]):where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .contact-form :where([type=submit], [type=button]):where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .contact-form :where([type=submit], [type=button]):where(:-moz-any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 1.4s cubic-bezier(0, 0, 0.2, 1);
  }
  .contact-form :where([type=submit], [type=button]):where(:any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 1.4s cubic-bezier(0, 0, 0.2, 1);
  }
  @keyframes shiny {
    0% {
      background-position-x: 100%;
    }
    100% {
      background-position-x: 0%;
    }
  }
}
.contact-form :where([type=submit], [type=button]):disabled {
  opacity: 0.5;
}
.contact-form :where(table) {
  width: 100%;
}
@media screen and (max-width: 59.99em) {
  .contact-form :where(table) :where(tbody) {
    display: grid;
    row-gap: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .contact-form :where(table) :where(tr) {
    display: grid;
    row-gap: 1rem;
  }
}
@media screen and (min-width: 60em), print {
  .contact-form :where(table) :where(tr:not(:last-child)) :where(th, td) {
    padding-bottom: 2.5rem;
  }
}
.contact-form :where(table) :where(th) {
  font-size: 1.25rem;
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .contact-form :where(table) :where(th) {
    width: 27.5%;
  }
}
.contact-form :where(table) :where(td) {
  font-weight: 500;
  line-height: 1.8;
}

@media screen and (min-width: 60em), print {
  .contact-form__input-wrapper {
    padding-inline: 7.25%;
  }
}

.contact-form__lead {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}

.contact-form__note {
  margin-top: 1rem;
  font-size: 0.75rem;
  line-height: 1.45;
}

.contact-form__separator {
  border-top: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .contact-form__separator {
    margin-top: 5rem;
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .contact-form__separator {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }
}

@media screen and (min-width: 60em), print {
  .contact-form__item + .contact-form__item {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .contact-form__item + .contact-form__item {
    margin-top: 2rem;
  }
}
.contact-form__item p + p {
  margin-top: 2.5rem;
}

.contact-form__title {
  display: inline-grid;
  grid-auto-flow: column;
  align-items: center;
  margin-bottom: 1rem;
  font-size: 1.25rem;
  font-weight: 700;
}

.contact-form__required {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3.5rem;
  padding: 0.125rem;
  margin-left: 1rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--color-white);
  background-color: var(--color-validation);
  border-radius: 0.3rem;
}

.contact-form__buttons {
  position: relative;
  display: flex;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  justify-content: center;
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .contact-form__buttons {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .contact-form__buttons {
    margin-top: 4rem;
  }
}
.contact-form__buttons > *:where(button, input) {
  width: min(15rem, 100%);
}
.contact-form__buttons br {
  display: none;
}
.contact-form__buttons .wpcf7-spinner {
  position: absolute;
  top: calc(100% + 1rem);
}

@media screen and (min-width: 60em), print {
  .contact-index {
    padding-top: 7rem;
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .contact-index {
    padding-top: 3.5rem;
    padding-bottom: 7.5rem;
  }
}

.contact-index__heading {
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
  font-weight: 700;
  border-bottom: 2px solid currentColor;
}
@media screen and (min-width: 60em), print {
  .contact-index__heading {
    font-size: 2rem;
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .contact-index__heading {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}
@media screen and (min-width: 60em), print {
  .contact-index__heading:where(:not(:first-child)) {
    margin-top: 7rem;
  }
}
@media screen and (max-width: 59.99em) {
  .contact-index__heading:where(:not(:first-child)) {
    margin-top: 5rem;
  }
}

.contact-index__text {
  font-size: 0.875rem;
  line-height: 1.45;
}

.contact-index__links {
  display: grid;
  gap: 1.5rem;
  margin-top: 2.5rem;
}
@media screen and (min-width: 60em), print {
  .contact-index__links {
    grid-template-columns: repeat(2, 1fr);
  }
}

.contact-index__link {
  display: grid;
  grid-auto-flow: column;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  align-items: center;
  padding: 1rem 2rem;
  font-size: 0.875rem;
  font-weight: 700;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  box-shadow: 10px 10px 20px rgba(var(--color-accent-rgb), 0.2);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media screen and (min-width: 60em), print {
  .contact-index__link {
    justify-content: center;
  }
}
@media (hover: hover) {
  .contact-index__link:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .contact-index__link:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
@media screen and (min-width: 60em), print {
  .contact-index__link.contact-index__link--arrow {
    grid-template-columns: 1fr auto 1fr;
  }
  .contact-index__link.contact-index__link--arrow::before {
    content: "";
  }
}
@media screen and (max-width: 59.99em) {
  .contact-index__link.contact-index__link--arrow {
    grid-template-columns: 1fr auto;
    padding-right: 1.5rem;
    padding-left: 3rem;
  }
}
.contact-index__link.contact-index__link--arrow::after {
  display: block;
  justify-self: end;
  width: 1.25rem;
  height: 1.25rem;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-arrow-right);
          mask-image: var(--icon-arrow-right);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media screen and (max-width: 59.99em) {
  .contact-index__link[target=_blank] {
    grid-template-columns: 1fr auto;
    padding-right: 1.5rem;
    padding-left: 3rem;
  }
}
.contact-index__link[target=_blank]::after {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

@media screen and (min-width: 60em), print {
  .contact-thanks {
    padding-top: 7rem;
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .contact-thanks {
    padding-top: 2.5rem;
    padding-bottom: 7rem;
  }
}

.contact-thanks__lead {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .contact-thanks__lead {
    margin-bottom: 3rem;
    font-size: 2rem;
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .contact-thanks__lead {
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

.contact-thanks__text {
  line-height: 1.8;
}

.contact-thanks__buttons {
  display: flex;
  justify-content: center;
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .contact-thanks__buttons {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .contact-thanks__buttons {
    margin-top: 4rem;
  }
}
.contact-thanks__buttons > * {
  width: min(15rem, 100%);
}

.single-article-list-link {
  margin-top: 7.5rem;
  margin-bottom: 7.5rem;
  text-align: center;
}
@media screen and (max-width: 59.99em) {
  .single-article-list-link {
    margin-top: 4rem;
  }
}

.single-article-list-link__item {
  display: inline-grid;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
  align-items: center;
  justify-content: center;
  min-width: clamp(0px, 15rem, 100%);
  font-size: 0.875rem;
  font-weight: 700;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  border-radius: 9999px;
  box-shadow: 10px 10px 20px rgba(var(--color-accent-rgb), 0.2);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media screen and (min-width: 60em), print {
  .single-article-list-link__item {
    padding: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-article-list-link__item {
    padding: 1rem 3rem;
  }
}
@media (hover: hover) {
  .single-article-list-link__item:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .single-article-list-link__item:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .single-article-list-link__item:where(:-moz-any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 1.4s cubic-bezier(0, 0, 0.2, 1);
  }
  .single-article-list-link__item:where(:any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 1.4s cubic-bezier(0, 0, 0.2, 1);
  }
  @keyframes shiny {
    0% {
      background-position-x: 100%;
    }
    100% {
      background-position-x: 0%;
    }
  }
}

.single-story-footer {
  margin-top: 4rem;
  margin-bottom: 7.5rem;
}
@media screen and (max-width: 59.99em) {
  .single-story-footer {
    margin-top: 2.5rem;
  }
}

.single-news-footer {
  margin-top: 7.5rem;
  margin-bottom: 7.5rem;
}
@media screen and (max-width: 59.99em) {
  .single-news-footer {
    margin-top: 4rem;
  }
}

.single-story-mv {
  margin-bottom: 5rem;
}
@media screen and (max-width: 59.99em) {
  .single-story-mv {
    margin-bottom: 4rem;
  }
}

.single-story-mv__text-area {
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
  background-color: var(--color-black);
}
@media screen and (max-width: 59.99em) {
  .single-story-mv__text-area {
    padding-top: 2.25rem;
    padding-bottom: 8rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-story-mv__text-area.single-story-mv__text-area--no-thumbnail {
    padding-bottom: 2.25rem;
  }
}

.single-story-mv__label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 7.75rem;
  min-height: 2rem;
  padding: 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-black);
  background-color: var(--color-white);
  border-radius: 9999px;
}

.single-story-mv__title {
  margin-top: 1.5rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-white);
}
@media screen and (max-width: 59.99em) {
  .single-story-mv__title {
    margin-top: 1rem;
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

.single-story-mv__date {
  margin-top: 1.5rem;
  font-size: 0.875rem;
  color: var(--color-white);
}
@media screen and (max-width: 59.99em) {
  .single-story-mv__date {
    margin-top: 1rem;
  }
}

@media screen and (min-width: 60em), print {
  .single-story-mv__image {
    width: 40.625rem;
    margin-top: -5rem;
    margin-right: 0;
    margin-left: auto;
  }
}
@media screen and (max-width: 59.99em) {
  .single-story-mv__image {
    margin-top: -5.5rem;
  }
}
.single-story-mv__image img {
  width: 100%;
  height: 100%;
  max-height: 37rem;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 60em), print {
  .single-story-mv__image img {
    -o-object-position: right;
       object-position: right;
  }
}

.single-news-mv {
  margin-bottom: 5rem;
}
@media screen and (max-width: 59.99em) {
  .single-news-mv {
    margin-bottom: 4rem;
  }
}

.single-news-mv__text-area {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background-color: var(--color-black);
}
@media screen and (max-width: 59.99em) {
  .single-news-mv__text-area {
    padding-top: 2.25rem;
    padding-bottom: 8rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-news-mv__text-area.single-news-mv__text-area--no-thumbnail {
    padding-bottom: 2.25rem;
  }
}

.single-news-mv__title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-white);
}
@media screen and (max-width: 59.99em) {
  .single-news-mv__title {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

.single-news-mv__foot {
  display: flex;
  align-items: center;
  margin-top: 2rem;
}
@media screen and (max-width: 59.99em) {
  .single-news-mv__foot {
    margin-top: 1rem;
  }
}

.single-news-mv__label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 7.75rem;
  min-height: 2rem;
  padding: 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-black);
  background-color: var(--color-white);
  border-radius: 9999px;
}

.single-news-mv__date {
  margin-left: 0.75rem;
  font-size: 0.75rem;
  color: var(--color-white);
}

@media screen and (min-width: 60em), print {
  .single-news-mv__image {
    width: 40.625rem;
    margin-top: -5rem;
    margin-right: 0;
    margin-left: auto;
  }
}
@media screen and (max-width: 59.99em) {
  .single-news-mv__image {
    margin-top: -5.5rem;
  }
}
.single-news-mv__image img {
  width: 100%;
  height: 100%;
  max-height: 37rem;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 60em), print {
  .single-news-mv__image img {
    -o-object-position: right;
       object-position: right;
  }
}

@media screen and (min-width: 60em), print {
  .single-recruit-topics-mv {
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-recruit-topics-mv {
    margin-top: 3rem;
    margin-bottom: 4rem;
  }
}

.single-recruit-topics-mv__text-area {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media screen and (max-width: 59.99em) {
  .single-recruit-topics-mv__text-area {
    padding-top: 2.25rem;
    padding-bottom: 8rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-recruit-topics-mv__text-area.single-recruit-topics-mv__text-area--no-thumbnail {
    padding-bottom: 2.25rem;
  }
}

.single-recruit-topics-mv__title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-black);
}
@media screen and (max-width: 59.99em) {
  .single-recruit-topics-mv__title {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

.single-recruit-topics-mv__foot {
  display: flex;
  align-items: center;
  margin-top: 2rem;
}
@media screen and (max-width: 59.99em) {
  .single-recruit-topics-mv__foot {
    margin-top: 1rem;
  }
}

.single-recruit-topics-mv__label {
  z-index: var(--z-index-recruit-topics-category);
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 7.75rem;
  min-height: 2rem;
  padding: 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-white);
  background-color: var(--color-black);
  border-radius: 9999px;
}

.single-recruit-topics-mv__date {
  margin-left: 0.75rem;
  font-size: 0.75rem;
  color: var(--color-text-gray);
}

@media screen and (min-width: 60em), print {
  .single-recruit-topics-mv__image {
    width: 40.625rem;
    margin-top: -5rem;
    margin-right: 0;
    margin-left: auto;
  }
}
@media screen and (max-width: 59.99em) {
  .single-recruit-topics-mv__image {
    margin-top: -5.5rem;
  }
}
.single-recruit-topics-mv__image img {
  width: 100%;
  height: 100%;
  max-height: 37rem;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 60em), print {
  .single-recruit-topics-mv__image img {
    -o-object-position: right;
       object-position: right;
  }
}

.single-story-slider {
  margin-top: 2rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 59.99em) {
  .single-story-slider {
    margin-bottom: 2.5rem;
  }
}
.single-story-slider .splide__slider {
  overflow: hidden;
}
.single-story-slider .splide__track {
  margin-right: auto;
  margin-left: auto;
  overflow: visible;
}
.single-story-slider .splide__slide {
  display: grid;
  width: calc((100% - var(--slide-gap) * (var(--slide-count) - 1)) / var(--slide-count));
  max-width: 22.5rem;
}
@media screen and (min-width: 60em), print {
  .single-story-slider .splide__slide {
    --slide-count: 3;
    --slide-gap: 2%;
  }
}
@media screen and (max-width: 59.99em) {
  .single-story-slider .splide__slide {
    --slide-count: 1;
    --slide-gap: 2%;
  }
}
.single-story-slider .splide__slide:where(:not(:last-child)) {
  margin-right: var(--slide-gap);
}
.single-story-slider .splide__pagination {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  margin-top: 2rem;
}
.single-story-slider .splide__pagination__page {
  padding: 0.5rem;
}
.single-story-slider .splide__pagination__page::before {
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  content: "";
  background-color: var(--color-accent);
  border-radius: 9999px;
  transition-duration: 0.2s;
  transition-property: transform, background-color;
}
.single-story-slider .splide__pagination__page.is-active::before {
  background-color: var(--color-primary);
  transform: scale(1.5);
}

.single-story-slider__card {
  display: block;
  height: 100%;
  padding: 1.5rem;
  font-weight: 700;
  color: var(--color-white);
  background-color: var(--color-primary);
  transition-duration: var(--transition-duration-hover);
  transition-property: filter;
}
@media (hover: hover) {
  .single-story-slider__card:where(:-moz-any-link, :enabled, summary):hover {
    filter: brightness(0.8);
  }
  .single-story-slider__card:where(:any-link, :enabled, summary):hover {
    filter: brightness(0.8);
  }
}

.single-story-slider__card__image {
  aspect-ratio: 1.8;
  margin-bottom: 1.5rem;
  overflow: hidden;
}
.single-story-slider__card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  will-change: transform;
}
@media (prefers-reduced-motion: no-preference) {
  .single-story-slider__card__image img {
    transition-duration: var(--transition-duration-motion);
    transition-property: transform;
  }
}
@media (hover: hover) {
  :where(:-moz-any-link, :enabled, summary):hover .single-story-slider__card__image img {
    transform: scale(1.2);
  }
  :where(:any-link, :enabled, summary):hover .single-story-slider__card__image img {
    transform: scale(1.2);
  }
}

.single-story-slider__card__label {
  display: grid;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(100%, 6.5rem);
  padding: 0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  color: var(--color-black);
  background-color: var(--color-white);
  border-radius: 9999px;
}

.single-story-slider__card__title {
  --letter-spacing: 0;
  margin-top: 1rem;
  font-size: 1.125rem;
}
@media screen and (max-width: 59.99em) {
  .single-story-slider__card__title {
    font-size: 1rem;
  }
}

@media screen and (min-width: 60em), print {
  .single-works-post {
    padding-top: 4rem;
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-post {
    padding-top: 2rem;
    padding-bottom: 7rem;
  }
}

.single-works-post__label {
  display: grid;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(100%, 7rem);
  min-height: 2rem;
  padding: 0.25rem 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-white);
  background-color: var(--color-black);
  border-radius: 9999px;
}

.single-works-post__title {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .single-works-post__title {
    font-size: 2rem;
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-post__title {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}
@media screen and (min-width: 60em), print {
  .single-works-post__title:where(:not(:first-child)) {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-post__title:where(:not(:first-child)) {
    margin-top: 1rem;
  }
}

.single-works-post__links {
  margin-top: 1.5rem;
}
.single-works-post__links a {
  display: inline-grid;
  align-items: center;
  justify-content: center;
  padding: 1rem 2rem;
  font-size: 0.875rem;
  font-weight: 700;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  box-shadow: 10px 10px 20px rgba(var(--color-accent-rgb), 0.2);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .single-works-post__links a:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .single-works-post__links a:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .single-works-post__links a:where(:-moz-any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 1.4s cubic-bezier(0, 0, 0.2, 1);
  }
  .single-works-post__links a:where(:any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 1.4s cubic-bezier(0, 0, 0.2, 1);
  }
  @keyframes shiny {
    0% {
      background-position-x: 100%;
    }
    100% {
      background-position-x: 0%;
    }
  }
}
.single-works-post__links a[target=_blank] {
  grid-auto-flow: column;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
.single-works-post__links a[target=_blank]::after {
  display: block;
  width: 1rem;
  height: 1rem;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.single-works-post__note {
  margin-top: 1.5rem;
  font-size: 0.875rem;
}

.single-works-post__layout {
  display: grid;
  border-top: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .single-works-post__layout {
    grid-template-columns: 45% 1fr;
    -moz-column-gap: 7%;
         column-gap: 7%;
    padding-top: 4rem;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-post__layout {
    padding-top: 2.5rem;
    margin-top: 2.5rem;
  }
}

@media screen and (max-width: 59.99em) {
  .single-works-post__text-content {
    display: contents;
  }
}

.single-works-post__lead {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .single-works-post__lead {
    font-size: 1.5rem;
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-post__lead {
    grid-row: 1;
    margin-bottom: 2.5rem;
    font-size: 1.125rem;
    line-height: 1.5;
  }
}

.single-works-post__text {
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .single-works-post__text {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-post__text {
    margin-top: 2.5rem;
  }
}

.single-works-post__heading {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .single-works-post__heading {
    font-size: 1.25rem;
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-post__heading {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}

.single-works-post__table:where(table) {
  width: 100%;
  margin-top: 1rem;
}
.single-works-post__table:where(table) tr {
  display: grid;
  font-size: 1rem;
  font-weight: 500;
  border-top: 1px solid var(--color-border);
}
.single-works-post__table:where(table) tr:where(:last-child) {
  border-bottom: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .single-works-post__table:where(table) tr {
    grid-template-columns: 8.5rem 1fr;
    -moz-column-gap: 5rem;
         column-gap: 5rem;
    align-items: center;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-post__table:where(table) tr {
    row-gap: 1rem;
    padding-block: 1.5rem;
    line-height: 1.4;
  }
}
.single-works-post__table:where(table) th {
  max-width: 15rem;
  font-weight: 700;
}
.single-works-post__table:where(table) a {
  background-image: linear-gradient(to top, currentColor 0 1px, transparent 0 100%);
  background-repeat: no-repeat;
  background-position: left;
  background-size: 100% 100%;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  transition: color var(--transition-duration-hover);
}
@media (prefers-reduced-motion: no-preference) {
  .single-works-post__table:where(table) a {
    transition: color var(--transition-duration-hover), background-size 0.4s;
  }
}
@media (hover: hover) {
  .single-works-post__table:where(table) a:where(:-moz-any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
    background-position: right;
    background-size: 0 100%;
  }
  .single-works-post__table:where(table) a:where(:any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
    background-position: right;
    background-size: 0 100%;
  }
}

.single-works-post__related {
  margin-top: 4rem;
}

.single-works-post__story-slider {
  margin-top: 2rem;
}

.single-works-post__related-companies {
  margin-top: 2rem;
}
@media screen and (min-width: 60em), print {
  .single-works-post__related-companies {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem 4rem;
    align-items: flex-end;
  }
}
.single-works-post__related-companies > li {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .single-works-post__related-companies > li {
    row-gap: 0.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-post__related-companies > li {
    row-gap: 0.5rem;
  }
  .single-works-post__related-companies > li:where(:not(:last-child)) {
    padding-bottom: 1.5rem;
  }
  .single-works-post__related-companies > li:where(:not(:first-child)) {
    padding-top: 1.5rem;
    border-top: 1px solid var(--color-border);
  }
}

.single-works-post__related-companies__field {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.45;
}

.single-works-post__related-companies__name {
  font-weight: 700;
  line-height: 1.45;
}
.single-works-post__related-companies__name a {
  display: inline-grid;
  align-items: center;
  justify-content: center;
  transition-duration: var(--transition-duration-hover);
  transition-property: color;
}
@media (hover: hover) {
  .single-works-post__related-companies__name a:where(:-moz-any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
  }
  .single-works-post__related-companies__name a:where(:any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
  }
}
.single-works-post__related-companies__name a[target=_blank] {
  grid-auto-flow: column;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
.single-works-post__related-companies__name a[target=_blank]::after {
  display: block;
  width: 1rem;
  height: 1rem;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.single-works-gallery__main .splide__track {
  background-color: var(--color-primary);
}
.single-works-gallery__main .splide__slide {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
}
@media screen and (max-width: 59.99em) {
  .single-works-gallery__main .splide__slide {
    max-height: 25rem;
  }
}
.single-works-gallery__main .splide__slide > * {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
}
.single-works-gallery__main .splide__slide img {
  width: 100%;
  height: 100%;
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.5));
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 60em), print {
  .single-works-gallery__main .splide__slide img {
    padding: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-gallery__main .splide__slide img {
    padding: 1.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .single-works-gallery__main .splide__pagination {
    display: none;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-gallery__main .splide__pagination {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    margin-top: 2rem;
  }
}
.single-works-gallery__main .splide__pagination__page {
  padding: 0.5rem;
}
.single-works-gallery__main .splide__pagination__page::before {
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  content: "";
  background-color: var(--color-accent);
  border-radius: 9999px;
  transition-duration: 0.2s;
  transition-property: transform, background-color;
}
.single-works-gallery__main .splide__pagination__page.is-active::before {
  background-color: var(--color-primary);
  transform: scale(1.5);
}

@media screen and (min-width: 60em), print {
  .single-works-gallery__thumbnails {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-gallery__thumbnails {
    display: none;
  }
}
.single-works-gallery__thumbnails .splide__slide {
  width: 25%;
  aspect-ratio: 1;
  padding: 1rem;
  cursor: pointer;
  border: 1px solid var(--color-border);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
.single-works-gallery__thumbnails .splide__slide:not(:first-child) {
  border-left: none;
}
@media (hover: hover) {
  .single-works-gallery__thumbnails .splide__slide:hover {
    background-color: rgba(var(--color-accent-rgb), 0.2);
  }
}
.single-works-gallery__thumbnails .splide__slide.is-active {
  background-color: rgba(var(--color-accent-rgb), 0.4);
}
.single-works-gallery__thumbnails .splide__slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.single-works-gallery-dialog[open] {
  display: grid;
  grid-template-rows: 1fr minmax(0, auto) 1fr;
  row-gap: 1rem;
  max-width: min(100% - 4rem, 56rem);
  max-height: min(90%, 52rem);
  margin: auto;
  overflow: visible;
  animation: show 0.4s;
}
.single-works-gallery-dialog[open]::backdrop {
  background-color: rgba(0, 0, 0, 0.7);
  animation: show 0.4s;
}
.single-works-gallery-dialog.is-closing {
  animation: hide 0.4s;
}
.single-works-gallery-dialog.is-closing::backdrop {
  animation: hide 0.4s;
}
@keyframes show {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes hide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

.single-works-gallery-dialog__close {
  position: relative;
  justify-self: end;
  width: 1em;
  height: 1em;
  font-size: 2rem;
  color: var(--color-white);
}
.single-works-gallery-dialog__close::after, .single-works-gallery-dialog__close::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 4px;
  height: 1em;
  margin: auto;
  content: "";
  background-color: currentColor;
}
.single-works-gallery-dialog__close::before {
  transform: rotate(-45deg);
}
.single-works-gallery-dialog__close::after {
  transform: rotate(45deg);
}

.single-works-gallery-dialog__content {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  height: 100%;
}
@media screen and (min-width: 60em), print {
  .single-works-gallery-dialog__content {
    grid-template-columns: 20% 1fr;
    background-color: var(--color-white);
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-gallery-dialog__content {
    row-gap: 1rem;
  }
}

.single-works-gallery-dialog__main .splide__track {
  height: 100%;
}
.single-works-gallery-dialog__main .splide__slide {
  width: 100%;
}
@media screen and (min-width: 60em), print {
  .single-works-gallery-dialog__main .splide__slide {
    padding: 3rem;
  }
}
.single-works-gallery-dialog__main .splide__slide > * {
  display: block;
  width: 100%;
  height: 100%;
}
.single-works-gallery-dialog__main img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.5));
}

.single-works-gallery-dialog__thumbnails {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .single-works-gallery-dialog__thumbnails {
    grid-template-rows: minmax(0, 1fr);
    order: -1;
    border-right: 1px solid var(--color-border);
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-gallery-dialog__thumbnails {
    height: min(10vh, 20vw);
    min-height: 3.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-gallery-dialog__thumbnails .splide__track {
    display: flex;
    justify-content: center;
  }
}
@media screen and (min-width: 60em), print {
  .single-works-gallery-dialog__thumbnails .splide__list {
    flex-direction: column;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-gallery-dialog__thumbnails .splide__list {
    background-color: var(--color-white);
  }
}
.single-works-gallery-dialog__thumbnails .splide__slide {
  aspect-ratio: 1;
  cursor: pointer;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media screen and (min-width: 60em), print {
  .single-works-gallery-dialog__thumbnails .splide__slide {
    height: 25%;
    padding: 10%;
    border-bottom: 1px solid var(--color-border);
  }
  .single-works-gallery-dialog__thumbnails .splide__slide:nth-child(4) {
    border-bottom: none;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-gallery-dialog__thumbnails .splide__slide {
    height: 100%;
    padding: 2%;
    border: 1px solid var(--color-border);
  }
  .single-works-gallery-dialog__thumbnails .splide__slide:not(:first-child) {
    border-left: none;
  }
}
@media (hover: hover) {
  .single-works-gallery-dialog__thumbnails .splide__slide:hover {
    background-color: rgba(var(--color-accent-rgb), 0.2);
  }
}
.single-works-gallery-dialog__thumbnails .splide__slide.is-active {
  background-color: rgba(var(--color-accent-rgb), 0.4);
}
.single-works-gallery-dialog__thumbnails img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.single-works-story-slider .splide__slider {
  overflow: hidden;
}
.single-works-story-slider .splide__track {
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
  overflow: visible;
}
.single-works-story-slider .splide__slide {
  display: grid;
  width: calc((100% - var(--slide-gap) * (var(--slide-count) - 1)) / var(--slide-count));
  max-width: 22.5rem;
}
@media screen and (min-width: 60em), print {
  .single-works-story-slider .splide__slide {
    --slide-count: 3;
    --slide-gap: 2%;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-story-slider .splide__slide {
    --slide-count: 1;
    --slide-gap: 2%;
  }
}
.single-works-story-slider .splide__slide:where(:not(:last-child)) {
  margin-right: var(--slide-gap);
}
.single-works-story-slider .splide__pagination {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  margin-top: 2rem;
}
.single-works-story-slider .splide__pagination__page {
  padding: 0.5rem;
}
.single-works-story-slider .splide__pagination__page::before {
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  content: "";
  background-color: var(--color-accent);
  border-radius: 9999px;
  transition-duration: 0.2s;
  transition-property: transform, background-color;
}
.single-works-story-slider .splide__pagination__page.is-active::before {
  background-color: var(--color-primary);
  transform: scale(1.5);
}

.single-works-story-slider__card {
  display: block;
  height: 100%;
  padding: 1.5rem;
  color: var(--color-white);
  background-color: var(--color-primary);
  transition-duration: var(--transition-duration-hover);
  transition-property: filter;
}
@media (hover: hover) {
  .single-works-story-slider__card:where(:-moz-any-link, :enabled, summary):hover {
    filter: brightness(0.8);
  }
  .single-works-story-slider__card:where(:any-link, :enabled, summary):hover {
    filter: brightness(0.8);
  }
}

.single-works-story-slider__card__image {
  aspect-ratio: 1.8;
  margin-bottom: 1.5rem;
  overflow: hidden;
}
.single-works-story-slider__card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  will-change: transform;
}
@media (prefers-reduced-motion: no-preference) {
  .single-works-story-slider__card__image img {
    transition-duration: var(--transition-duration-motion);
    transition-property: transform;
  }
}
@media (hover: hover) {
  :where(:-moz-any-link, :enabled, summary):hover .single-works-story-slider__card__image img {
    transform: scale(1.2);
  }
  :where(:any-link, :enabled, summary):hover .single-works-story-slider__card__image img {
    transform: scale(1.2);
  }
}

.single-works-story-slider__card__label {
  display: grid;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(100%, 6.5rem);
  padding: 0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-black);
  background-color: var(--color-white);
  border-radius: 9999px;
}

.single-works-story-slider__card__title {
  --letter-spacing: 0;
  margin-top: 1rem;
  font-weight: 500;
}
@media screen and (min-width: 60em), print {
  .single-works-story-slider__card__title {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-story-slider__card__title {
    font-size: 1rem;
  }
}

@media screen and (min-width: 60em), print {
  .business-index__header-section {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-index__header-section {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}

.business-index__header {
  display: grid;
  row-gap: 2.5rem;
}
@media screen and (min-width: 60em), print {
  .business-index__header {
    grid-template-columns: max(21rem, 32%) 1fr;
    -moz-column-gap: 5%;
         column-gap: 5%;
    align-items: center;
  }
}

@media screen and (max-width: 59.99em) {
  .business-index__figure {
    order: -1;
  }
}
.business-index__figure img {
  width: 100%;
}
@media screen and (max-width: 59.99em) {
  .business-index__figure img {
    max-width: 30rem;
    margin-inline: auto;
  }
}

.business-index__copy {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .business-index__copy {
    font-size: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-index__copy {
    font-size: 1.5rem;
  }
}

.business-index__text {
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .business-index__text {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-index__text {
    margin-top: 1rem;
  }
}

.business-index__background-black {
  color: var(--color-white);
  background-color: var(--color-black);
}

@media screen and (min-width: 60em), print {
  .business-index__list-section {
    padding-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-index__list-section {
    padding-top: 2.5rem;
  }
}

.business-index__list {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .business-index__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 5rem;
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-index__list {
    grid-template-columns: repeat(auto-fill, minmax(min(20rem, 100%), 1fr));
    gap: 1rem;
    margin-bottom: 7rem;
  }
}

.business-index-card {
  display: block;
  height: 100%;
  background-color: rgba(var(--color-accent-rgb), 0.35);
  border: 1px solid var(--color-border);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}
@media screen and (max-width: 59.99em) {
  .business-index-card {
    max-width: 37.5rem;
    margin-inline: auto;
  }
}
@media (hover: hover) {
  .business-index-card:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .business-index-card:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}

@media screen and (min-width: 60em), print {
  .business-index-card__inner {
    padding: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-index-card__inner {
    padding: 1rem 1.5rem;
  }
}

.business-index-card__image {
  width: 100%;
  aspect-ratio: 500/296;
  -o-object-fit: cover;
     object-fit: cover;
}

.business-index-card__heading__english {
  font-size: 1.5rem;
  font-weight: 700;
}

.business-index-card__heading__japanese {
  font-size: 0.75rem;
  font-weight: 700;
}

.business-index-card__tag-list {
  display: grid;
  align-content: start;
  padding-top: 1rem;
  padding-left: 1.5rem;
  margin-top: 1rem;
  font-size: 0.875rem;
  list-style: disc;
  border-top: 1px solid currentColor;
}
@media screen and (min-width: 60em), print {
  .business-index-card__tag-list {
    min-height: 6rem;
  }
}

@media screen and (min-width: 60em), print {
  .business-detail__related {
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail__related {
    padding-bottom: 7.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .business-detail__related:where(:nth-child(odd)) {
    padding-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail__related:where(:nth-child(odd)) {
    padding-top: 4rem;
  }
}
.business-detail__related :where(hr) {
  border-top: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .business-detail__related :where(hr):where(:not(:first-child)) {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail__related :where(hr):where(:not(:first-child)) {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 60em), print {
  .business-detail__related :where(hr):where(:not(:last-child)) {
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail__related :where(hr):where(:not(:last-child)) {
    margin-bottom: 4rem;
  }
}

.business-detail__related-companies__list {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .business-detail__related-companies__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem;
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail__related-companies__list {
    gap: 1.5rem;
    margin-top: 1.5rem;
  }
}

@media screen and (min-width: 60em), print {
  .business-detail__related-services__list {
    display: flex;
    flex-wrap: wrap;
    gap: 2.5rem;
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail__related-services__list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(14rem, auto));
    gap: 1rem;
    margin-top: 1.5rem;
  }
}
.business-detail__related-services__list > li {
  border: 1px solid var(--color-border);
}
.business-detail__related-services__list > li a {
  display: block;
  background-color: var(--color-white);
  transition: filter var(--transition-duration-hover);
}
@media (hover: hover) {
  .business-detail__related-services__list > li a:where(:-moz-any-link, :enabled, summary):hover {
    filter: brightness(0.9);
  }
  .business-detail__related-services__list > li a:where(:any-link, :enabled, summary):hover {
    filter: brightness(0.9);
  }
}
.business-detail__related-services__list > li a img {
  width: auto;
  height: 6rem;
  margin: auto;
}

.business-detail-hero {
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .business-detail-hero {
    padding-top: 6rem;
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-hero {
    padding-top: 2.5rem;
    padding-bottom: 4rem;
  }
}

.business-detail-hero__heading {
  display: flex;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 60em), print {
  .business-detail-hero__heading {
    -moz-column-gap: 1.85rem;
         column-gap: 1.85rem;
    align-items: flex-end;
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-hero__heading {
    flex-direction: column;
    row-gap: 0.25rem;
    padding-left: 1.75rem;
    font-size: 1.5rem;
  }
}

.business-detail-hero__heading__english {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .business-detail-hero__heading__english {
    margin-top: -0.3em;
    margin-bottom: -0.2em;
    font-size: 3.75rem;
    line-height: 1.5;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-hero__heading__english {
    font-size: 2.5rem;
    line-height: 1.3;
  }
}

.business-detail-hero__heading__japanese {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .business-detail-hero__heading__japanese {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-hero__heading__japanese {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}

.business-detail-hero__marker-star {
  position: relative;
}
.business-detail-hero__marker-star::before {
  position: absolute;
  top: 0.2em;
  right: calc(100% + 1.3rem);
  bottom: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  margin: auto;
  pointer-events: none;
  content: "";
  border: 1px solid currentColor;
  transform: translateX(0) rotate(45deg);
}

@media screen and (min-width: 60em), print {
  .business-detail-hero__image {
    margin-top: 3.5rem;
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-hero__image {
    margin-top: 2.5rem;
    margin-bottom: 4rem;
  }
}
.business-detail-hero__image img {
  display: block;
  width: 100%;
  min-height: 10rem;
  background-color: var(--color-primary);
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 60em), print {
  .business-detail-hero__image img {
    aspect-ratio: 1440/320;
  }
}
.business-detail-hero__image p {
  width: var(--container-width);
  margin-inline: auto;
  margin-top: 1rem;
  font-size: 0.625rem;
  text-align: right;
}

.business-detail-hero__lead {
  display: grid;
  align-items: center;
  justify-content: space-between;
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .business-detail-hero__lead {
    grid-template-columns: auto 49%;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-hero__lead {
    row-gap: 1.5rem;
  }
}

.business-detail-hero__copy {
  position: relative;
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .business-detail-hero__copy {
    padding-left: 2.5rem;
    font-size: 2rem;
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-hero__copy {
    padding-top: 1.5rem;
    font-size: 1.5rem;
    line-height: 1.5;
  }
}
.business-detail-hero__copy::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  background-color: currentColor;
}
@media screen and (min-width: 60em), print {
  .business-detail-hero__copy::before {
    width: 1px;
    height: 100%;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-hero__copy::before {
    width: 4.5rem;
    height: 1px;
  }
}

.business-detail-hero__business-fields {
  margin-top: 4rem;
}

.business-detail-hero__business-fields__label {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.4rem 1rem;
  margin-bottom: 1.5rem;
  font-weight: 500;
  border: 2px solid currentColor;
}

.business-detail-hero__anchor-list {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .business-detail-hero__anchor-list {
    border-right: 2px solid currentColor;
    border-left: 2px solid currentColor;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-hero__anchor-list {
    row-gap: 0.5rem;
  }
}
.business-detail-hero__anchor-list:not(.business-detail-hero__anchor-list--movie) {
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
}
@media screen and (min-width: 60em), print {
  .business-detail-hero__anchor-list:not(.business-detail-hero__anchor-list--movie) > li:where(:not(:first-child)) {
    border-left: 2px solid currentColor;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-hero__anchor-list:not(.business-detail-hero__anchor-list--movie) > li {
    border-top: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
  }
}
@media screen and (min-width: 60em), print {
  .business-detail-hero__anchor-list.business-detail-hero__anchor-list--movie {
    grid-template-columns: repeat(6, 1fr);
  }
}
@media screen and (min-width: 60em), print {
  .business-detail-hero__anchor-list.business-detail-hero__anchor-list--movie > li:nth-child(1) {
    grid-column: 1/3;
  }
  .business-detail-hero__anchor-list.business-detail-hero__anchor-list--movie > li:nth-child(2) {
    grid-column: 3/5;
    border-left: 2px solid currentColor;
  }
  .business-detail-hero__anchor-list.business-detail-hero__anchor-list--movie > li:nth-child(3) {
    grid-column: 5/7;
    border-left: 2px solid currentColor;
  }
  .business-detail-hero__anchor-list.business-detail-hero__anchor-list--movie > li:nth-child(4) {
    grid-column: 1/4;
    border-top: 2px solid currentColor;
  }
  .business-detail-hero__anchor-list.business-detail-hero__anchor-list--movie > li:nth-child(5) {
    grid-column: 4/7;
    border-top: 2px solid currentColor;
    border-left: 2px solid currentColor;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-hero__anchor-list.business-detail-hero__anchor-list--movie > li {
    border-top: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
  }
}
.business-detail-hero__anchor-list a {
  display: grid;
  align-items: center;
  height: 100%;
  padding: 1rem 1.5rem;
  font-weight: 700;
  text-align: center;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  transition: background-color var(--transition-duration-hover);
}
@media (hover: hover) {
  .business-detail-hero__anchor-list a:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.3);
  }
  .business-detail-hero__anchor-list a:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.3);
  }
}

@media screen and (min-width: 60em), print {
  .business-detail-section {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-section {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.business-detail-section:where(:nth-child(even)) {
  color: var(--color-white);
  background-color: var(--color-black);
}

@media screen and (min-width: 60em), print {
  .business-detail-section__heading {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-section__heading {
    margin-bottom: 2.5rem;
  }
}

.business-detail-section__heading__sub {
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (min-width: 60em), print {
  .business-detail-section__heading__sub {
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-section__heading__sub {
    margin-bottom: 0.75rem;
  }
}

.business-detail-section__heading__main {
  font-size: 1.5rem;
  font-weight: 700;
  border-block: 2px solid currentColor;
}
@media screen and (min-width: 60em), print {
  .business-detail-section__heading__main {
    padding-block: 2rem;
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-section__heading__main {
    padding-block: 1.5rem;
    line-height: 1.5;
  }
}

.business-detail-section__columns {
  display: grid;
  row-gap: 2.5rem;
  -moz-column-gap: 6%;
       column-gap: 6%;
}
@media screen and (min-width: 60em), print {
  .business-detail-section__columns {
    grid-template-columns: 37% 1fr;
  }
}
.business-detail-section__columns :where(img) {
  justify-self: center;
  width: 100%;
  max-width: 25rem;
}
.business-detail-section__columns :where(p) {
  line-height: 1.8;
}

.business-detail-section__border {
  border: 1px solid var(--color-border);
}

.business-detail-section__box {
  padding-inline: 8%;
  color: var(--color-white);
  background-color: var(--color-primary);
}
@media screen and (min-width: 60em), print {
  .business-detail-section__box {
    padding-block: 4rem;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-section__box {
    padding-block: 2rem;
    margin-top: 2.5rem;
  }
}
.business-detail-section__box :where(a) {
  font-weight: 700;
  line-height: 1.45;
  background-image: linear-gradient(to top, currentColor 0 1px, transparent 0 100%);
  background-repeat: no-repeat;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  background-position: right;
  background-size: 0 100%;
}
@media screen and (min-width: 60em), print {
  .business-detail-section__box :where(a) {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-section__box :where(a) {
    font-size: 1rem;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .business-detail-section__box :where(a) {
    transition-duration: 0.4s;
    transition-property: background-size;
  }
}
@media (hover: hover) {
  .business-detail-section__box :where(a):where(:-moz-any-link, :enabled, summary):hover {
    background-position: left;
    background-size: 100% 100%;
  }
  .business-detail-section__box :where(a):where(:any-link, :enabled, summary):hover {
    background-position: left;
    background-size: 100% 100%;
  }
}
.business-detail-section__box :where(a)[target=_blank]::after {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.5rem;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.business-detail-section__box :where(hr) {
  border-top: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .business-detail-section__box :where(hr) {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-section__box :where(hr) {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
}
.business-detail-section__box :where(img) {
  width: 18rem;
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .business-detail-section__box :where(p) {
    font-size: 1rem;
    line-height: 1.8;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-section__box :where(p) {
    font-size: 0.875rem;
    line-height: 1.7;
  }
}
.business-detail-section__box :where(p):is(p + *) {
  margin-top: 1.5rem;
}

.business-detail-section__box__heading {
  margin-bottom: 2rem;
  font-size: 1.125em;
  font-weight: 700;
  line-height: 1.45;
}

.business-detail-section__box__columns {
  display: grid;
  row-gap: 2rem;
  -moz-column-gap: 7%;
       column-gap: 7%;
  align-items: center;
}
@media screen and (min-width: 60em), print {
  .business-detail-section__box__columns {
    grid-template-columns: 30% 1fr;
  }
}

.policy-heading1 {
  padding-block: 6rem;
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (max-width: 59.99em) {
  .policy-heading1 {
    padding-top: 2.25rem;
    padding-bottom: 2.5rem;
  }
}

.policy-heading1__title {
  position: relative;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  font-size: 2.5rem;
  font-weight: 700;
}
@media screen and (max-width: 59.99em) {
  .policy-heading1__title {
    padding-left: 1.75rem;
    font-size: 1.5rem;
  }
}
.policy-heading1__title::before {
  position: absolute;
  top: 0.2em;
  bottom: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  margin: auto;
  content: "";
  border: 1px solid currentColor;
  transform: rotate(45deg);
}
@media screen and (min-width: 60em), print {
  .policy-heading1__title::before {
    right: calc(100% + 1.3rem);
  }
}
@media screen and (max-width: 59.99em) {
  .policy-heading1__title::before {
    right: calc(100% - 0.5rem);
  }
}

.policy-content {
  margin-top: 7.5rem;
  margin-bottom: 7.5rem;
}
@media screen and (max-width: 59.99em) {
  .policy-content {
    margin-top: 4rem;
  }
}

.policy-table-container {
  margin-top: 5rem;
  overflow: auto;
}
@media screen and (max-width: 59.99em) {
  .policy-table-container {
    height: 80vh;
    padding-bottom: 1.5rem;
    padding-left: var(--container-gutter);
  }
}
.policy-table-container::-webkit-scrollbar {
  width: 0.625rem;
  height: 0.625rem;
}
.policy-table-container::-webkit-scrollbar-thumb {
  background-color: var(--color-accent-dark);
  border-radius: 5px;
}
.policy-table-container::-webkit-scrollbar-track {
  background-color: rgba(var(--color-accent-rgb), 0.35);
  border-radius: 5px;
}
@media screen and (max-width: 59.99em) {
  .policy-table-container::-webkit-scrollbar-track {
    margin-right: 6.5vw;
    margin-left: 8vw;
  }
}
.policy-table-container table {
  position: relative;
  border-spacing: 0;
  border-collapse: separate;
  isolation: isolate;
  border-right: 1px solid var(--color-border);
}
@media screen and (max-width: 59.99em) {
  .policy-table-container table::after {
    position: absolute;
    top: 0;
    left: 100%;
    display: block;
    width: 6.5vw;
    height: 100%;
    content: "";
  }
}
.policy-table-container table th,
.policy-table-container table td {
  font-size: 0.875rem;
  border-bottom: 1px solid var(--color-border);
  border-left: 1px solid var(--color-border);
}
.policy-table-container table th ol,
.policy-table-container table th ul,
.policy-table-container table td ol,
.policy-table-container table td ul {
  font-weight: 400;
}
.policy-table-container table thead {
  position: sticky;
  top: 0;
  z-index: 1;
  background-color: var(--color-white);
}
.policy-table-container table thead th {
  min-width: 13.125rem;
  padding: 0.5rem 1rem;
  font-weight: 500;
  line-height: 1.8;
  white-space: nowrap;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border-top: 1px solid var(--color-border);
}
.policy-table-container table tbody th,
.policy-table-container table tbody td {
  padding: 1rem;
}
.policy-table-container table tbody th {
  font-weight: 700;
  line-height: 1.45;
}
.policy-table-container table tbody td {
  line-height: 1.7;
  vertical-align: middle;
}

.about-index__copy {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .about-index__copy {
    font-size: 2rem;
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .about-index__copy {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}
.about-index__copy ruby {
  position: relative;
}
.about-index__copy rt {
  position: relative;
  top: -0.25em;
  font-weight: 400;
  text-align: center;
  /* stylelint-disable-next-line plugin/selector-bem-pattern */
}
@media screen and (min-width: 60em), print {
  .about-index__copy rt {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-index__copy rt {
    font-size: 0.5625rem;
  }
}
.about-index__copy rt _::-webkit-full-page-media,
.about-index__copy rt _:future,
.about-index__copy rt :root, .about-index__copy rt {
  translate: 0 0.5rem;
}
@-moz-document url-prefix() {
  .about-index__copy rt {
    position: absolute;
    top: -0.5em;
    left: 50%;
    transform: translateX(-50%);
  }
}

.about-index__text {
  margin-top: 1.5rem;
  font-weight: 500;
  line-height: 1.8;
}

.about-index__image {
  width: 100%;
}
@media screen and (min-width: 60em), print {
  .about-index__image {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-index__image {
    margin-top: 2rem;
  }
}

.about-index__links {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .about-index__links {
    grid-auto-columns: 1fr;
    grid-auto-flow: column;
    margin-top: 5rem;
    border-top: 1px solid var(--color-border);
    border-left: 1px solid var(--color-border);
  }
}
@media screen and (max-width: 59.99em) {
  .about-index__links {
    gap: 1.5rem;
    margin-top: 2rem;
  }
}
@media screen and (min-width: 60em), print {
  .about-index__links :where(li) {
    border-right: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
  }
}
@media screen and (max-width: 59.99em) {
  .about-index__links :where(li) {
    border: 1px solid var(--color-border);
  }
}
.about-index__links :where(a) {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  height: 100%;
  font-weight: 700;
  background-color: rgba(var(--color-accent-rgb), 0.35);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color, box-shadow;
}
@media screen and (min-width: 60em), print {
  .about-index__links :where(a) {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    min-height: 5.3rem;
    padding: 1rem 2rem;
    font-size: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-index__links :where(a) {
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
    padding: 1rem 1.5rem 1rem 3rem;
    font-size: 0.875rem;
    box-shadow: 10px 10px 20px 0px rgba(var(--color-accent-rgb), 0.2);
  }
}
@media (hover: hover) {
  .about-index__links :where(a):where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
    box-shadow: 10px 10px 20px 0px rgba(var(--color-accent-rgb), 0.2);
  }
  .about-index__links :where(a):where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
    box-shadow: 10px 10px 20px 0px rgba(var(--color-accent-rgb), 0.2);
  }
}
.about-index__links :where(a):-moz-any-link::after {
  display: block;
  justify-self: end;
  content: "";
  background-color: currentColor;
  mask-image: var(--icon-arrow-right);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}
.about-index__links :where(a):any-link::after {
  display: block;
  justify-self: end;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-arrow-right);
          mask-image: var(--icon-arrow-right);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media screen and (min-width: 60em), print {
  .about-index__links :where(a):-moz-any-link::after {
    width: 1.25rem;
    height: 1.25rem;
  }
  .about-index__links :where(a):any-link::after {
    width: 1.25rem;
    height: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-index__links :where(a):-moz-any-link::after {
    width: 1rem;
    height: 1rem;
  }
  .about-index__links :where(a):any-link::after {
    width: 1rem;
    height: 1rem;
  }
}

.about-index__separator {
  border-top: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .about-index__separator {
    margin-top: 7.5rem;
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-index__separator {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
}

.about-index__map {
  height: 20rem;
  margin-bottom: 7.5rem;
  border: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .about-index__map {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-index__map {
    margin-top: 4rem;
  }
}
.about-index__map iframe {
  width: 100%;
  height: 100%;
}

.about-index__note {
  margin-top: 0.5rem;
  font-size: 0.75rem;
  line-height: 1.45;
}

@media screen and (min-width: 60em), print {
  .about-index__banner {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-index__banner {
    margin-top: 2.5rem;
  }
}

.about-index__banner__link {
  display: block;
  overflow: hidden;
  border: 2px solid var(--color-accent);
}
.about-index__banner__link img {
  width: 100%;
  will-change: transform;
}
@media (prefers-reduced-motion: no-preference) {
  .about-index__banner__link img {
    transition-duration: 0.4s;
    transition-property: transform;
  }
}
@media (hover: hover) {
  .about-index__banner__link:where(:-moz-any-link, :enabled, summary):hover img {
    transform: scale(1.1);
  }
  .about-index__banner__link:where(:any-link, :enabled, summary):hover img {
    transform: scale(1.1);
  }
}

@media screen and (min-width: 60em), print {
  .about-index__table + .about-index__table {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-index__table + .about-index__table {
    margin-top: 4rem;
  }
}

.about-index__table__inner-block + .about-index__table__inner-block {
  margin-top: 1.5em;
}

.about-index__table__inner-block-list {
  display: grid;
  row-gap: 0.25rem;
  margin-top: 0.25rem;
}
.about-index__table__inner-block-list li {
  display: grid;
  grid-template-columns: minmax(7.5rem, auto) 1fr;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}

.about-message__grid {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .about-message__grid {
    grid-template: ". . ." 10rem ". . ." 1fr ". . ." 8rem/1.2fr 6.5% 1fr;
  }
}
@media screen and (max-width: 59.99em) {
  .about-message__grid {
    grid-template: ". . ." auto ". . ." 6rem ". . ." 1fr/14% 1fr 16%;
  }
}
.about-message__grid > :nth-child(1) {
  grid-area: 1/1/span 2/span 2;
  width: 100%;
}
.about-message__grid > :nth-child(2) {
  z-index: -1;
  display: grid;
  grid-area: 2/2/span 2/span 2;
  align-content: center;
  color: var(--color-white);
  background-color: var(--color-primary);
}
@media screen and (min-width: 60em), print {
  .about-message__grid > :nth-child(2) {
    padding-block: 6rem;
    padding-left: 25%;
  }
}
@media screen and (max-width: 59.99em) {
  .about-message__grid > :nth-child(2) {
    padding-top: 8rem;
    padding-right: 2rem;
    padding-bottom: 2rem;
    padding-left: 2rem;
  }
}

.about-message__text-container {
  max-width: 46rem;
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .about-message__text-container {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-message__text-container {
    margin-top: 2.5rem;
  }
}
.about-message__text-container p + p {
  margin-top: 1.8rem;
}

.about-message__label {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .about-message__label {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-message__label {
    font-size: 1.125rem;
  }
}

.about-message__copy {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .about-message__copy {
    margin-top: 1rem;
    font-size: 2rem;
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .about-message__copy {
    margin-top: 0.5rem;
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

.about-message__role {
  font-size: 0.875rem;
  font-weight: 500;
}
@media screen and (min-width: 60em), print {
  .about-message__role {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-message__role {
    margin-top: 1.5rem;
    line-height: 1.5;
  }
}

.about-message__name {
  margin-top: 0.5rem;
  font-weight: 500;
}
@media screen and (min-width: 60em), print {
  .about-message__name {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-message__name {
    font-size: 1.25rem;
  }
}

.about-history__lead-section {
  display: grid;
  row-gap: 2rem;
  -moz-column-gap: 12%;
       column-gap: 12%;
  align-items: center;
}
@media screen and (min-width: 60em), print {
  .about-history__lead-section {
    grid-template-columns: auto 1fr;
  }
}

.about-history__label {
  font-weight: 700;
  color: var(--color-primary);
}
@media screen and (min-width: 60em), print {
  .about-history__label {
    font-size: 3.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-history__label {
    font-size: 2.5rem;
  }
}

.about-history__lead {
  line-height: 1.8;
}

.about-history__separator {
  border-top: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .about-history__separator {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-history__separator {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }
}

.about-history__prehistory {
  color: var(--color-text-gray);
  background-color: rgba(var(--color-accent-rgb), 0.35);
}
@media screen and (min-width: 60em), print {
  .about-history__prehistory {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
    margin-top: 5rem;
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-history__prehistory {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }
}

.about-history__prehistory__heading {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.45;
}

.about-history__prehistory__timeline {
  margin-top: 1.5rem;
}
.about-history__prehistory__timeline tr {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .about-history__prehistory__timeline tr {
    grid-template-columns: auto 1fr;
  }
}
@media screen and (max-width: 59.99em) {
  .about-history__prehistory__timeline tr {
    row-gap: 1rem;
  }
}
@media screen and (min-width: 60em), print {
  .about-history__prehistory__timeline tr:where(:not(:first-child)) {
    padding-top: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-history__prehistory__timeline tr:where(:not(:first-child)) {
    padding-top: 1.5rem;
  }
}
.about-history__prehistory__timeline th {
  white-space: nowrap;
}
@media screen and (min-width: 60em), print {
  .about-history__prehistory__timeline th {
    width: -moz-fit-content;
    width: fit-content;
    padding-right: 2.5rem;
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-history__prehistory__timeline th {
    font-size: 1.125rem;
  }
  .about-history__prehistory__timeline th:where(:not(:first-child)) {
    margin-top: 1.5rem;
  }
}
.about-history__prehistory__timeline td {
  line-height: 1.8;
}

.about-history__timeline {
  position: relative;
}
@media screen and (min-width: 60em), print {
  .about-history__timeline {
    --line-position: 16rem;
    --line-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-history__timeline {
    --line-position: 0rem;
    --line-top: 1.75rem;
  }
}
.about-history__timeline tr {
  position: relative;
}
@media screen and (max-width: 59.99em) {
  .about-history__timeline tr {
    display: grid;
    padding-left: 12%;
  }
}
.about-history__timeline tr::after {
  position: absolute;
  top: var(--line-top);
  right: calc(100% - 0.75rem - var(--line-position));
  left: var(--line-position);
  width: 2px;
  height: calc(100% + 2px);
  margin-inline: auto;
  content: "";
  background-color: var(--color-black);
}
.about-history__timeline tr:where(tbody:last-child *:last-child)::after {
  background-color: transparent;
  background-image: linear-gradient(currentColor 0 50%, transparent 50% 100%);
  background-size: 100% 12px;
  -webkit-mask-image: linear-gradient(#000, transparent);
          mask-image: linear-gradient(#000, transparent);
}
.about-history__timeline th[scope=rowgroup] {
  color: var(--color-accent);
}
@media screen and (min-width: 60em), print {
  .about-history__timeline th[scope=rowgroup] {
    padding-top: 0.5rem;
    padding-right: 13rem;
    font-size: 3.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-history__timeline th[scope=rowgroup] {
    font-size: 2.5rem;
  }
  .about-history__timeline th[scope=rowgroup]::before {
    position: absolute;
    top: var(--line-top);
    right: calc(100% - 0.75rem - var(--line-position));
    left: var(--line-position);
    width: 0.5rem;
    height: 0.5rem;
    margin-inline: auto;
    content: "";
    background-color: var(--color-black);
    border-radius: 9999px;
  }
}
.about-history__timeline th[scope=row] {
  white-space: nowrap;
}
@media screen and (min-width: 60em), print {
  .about-history__timeline th[scope=row] {
    padding-right: 2.5rem;
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-history__timeline th[scope=row] {
    font-size: 1.125rem;
  }
  .about-history__timeline th[scope=row]:where(:not(:first-child)) {
    margin-top: 1.5rem;
  }
}
.about-history__timeline th[scope=row]::before {
  position: absolute;
  left: var(--line-position);
  width: 0.75rem;
  height: 0.75rem;
  content: "";
  background-color: var(--color-black);
  border-radius: 9999px;
  transform: translateY(0.5rem);
}
.about-history__timeline td {
  padding-bottom: 1.5rem;
  line-height: 1.8;
}
@media screen and (max-width: 59.99em) {
  .about-history__timeline td:where(:not(:first-child)) {
    margin-top: 1rem;
  }
}
@media screen and (min-width: 60em), print {
  .about-history__timeline th[scope=row]:is(tr:first-child *),
  .about-history__timeline td:is(tr:first-child *) {
    padding-top: 2.5rem;
  }
  .about-history__timeline th[scope=row]:is(tr:last-child *),
  .about-history__timeline td:is(tr:last-child *) {
    padding-bottom: 2.5rem;
  }
  .about-history__timeline th[scope=row]:is(tbody:not(:last-child) tr:last-child *),
  .about-history__timeline td:is(tbody:not(:last-child) tr:last-child *) {
    border-bottom: 1px solid var(--color-border);
  }
}

.about-history__note {
  margin-top: 0.5rem;
  font-size: 0.75rem;
  line-height: 1.45;
}

.about-group__heading {
  font-weight: 700;
  border-bottom: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .about-group__heading {
    padding-bottom: 5rem;
    margin-bottom: 5rem;
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-group__heading {
    padding-bottom: 2.5rem;
    margin-bottom: 2.5rem;
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 60em), print {
  .about-group__heading:where(:not(:first-child)) {
    margin-top: 7rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-group__heading:where(:not(:first-child)) {
    margin-top: 4rem;
  }
}

.about-group__full-card {
  margin-bottom: 1.5rem;
}

.about-group__list {
  display: grid;
  gap: 1.5rem;
}
@media screen and (min-width: 60em), print {
  .about-group__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.about-officers h2 {
  font-weight: 700;
  color: var(--color-text-gray);
}
@media screen and (min-width: 60em), print {
  .about-officers h2 {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-officers h2 {
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 60em), print {
  .about-officers h2:where(:not(:first-child)) {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-officers h2:where(:not(:first-child)) {
    margin-top: 5rem;
  }
}
@media screen and (min-width: 60em), print {
  .about-officers h2:where(:not(:last-child)) {
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-officers h2:where(:not(:last-child)) {
    margin-bottom: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-officers table {
    width: 100%;
  }
}
.about-officers table tr {
  border-top: 1px solid var(--color-border);
}
.about-officers table tr:where(:last-child) {
  border-bottom: 1px solid var(--color-border);
}
@media screen and (max-width: 59.99em) {
  .about-officers table tr {
    display: grid;
    gap: 0.5rem;
    padding: 1rem 1.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .about-officers table th,
  .about-officers table td {
    padding: 1.5rem 2.5rem;
    vertical-align: middle;
  }
}
.about-officers table th {
  color: var(--color-text-gray);
}
@media screen and (min-width: 60em), print {
  .about-officers table th {
    min-width: 12.5rem;
    font-size: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-officers table th {
    font-size: 0.875rem;
  }
}
.about-officers table td {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .about-officers table td {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-officers table td {
    font-size: 1.25rem;
  }
}

.about-overview {
  overflow: hidden;
}

.about-overview__section {
  position: relative;
}
.about-overview__section::before {
  position: absolute;
  content: "";
}
@media screen and (min-width: 60em), print {
  .about-overview__section::before {
    top: 0;
    width: 20rem;
    height: 20rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview__section::before {
    bottom: 0;
    width: 12rem;
    height: 12rem;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview__section:first-of-type::before {
    display: none;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview__section:first-of-type::before {
    left: 0;
    background-color: var(--color-black);
    transform: translate(-50%, 50%) rotate(45deg);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview__section:last-of-type::before {
    display: none;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview__section:nth-child(1) {
    z-index: 5;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview__section:nth-child(2) {
    z-index: 4;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview__section:nth-child(3) {
    z-index: 3;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview__section:nth-child(4) {
    z-index: 2;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview__section:nth-child(5) {
    z-index: 1;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview__section:nth-of-type(2)::before {
    left: 0;
    transform: translate(-50%, -50%) rotate(45deg);
  }
}
@media screen and (min-width: 60em), print {
  .about-overview__section:nth-of-type(n + 3)::before {
    right: 0;
    transform: translate(50%, -50%) rotate(45deg);
  }
}
@media screen and (min-width: 60em), print {
  .about-overview__section:nth-child(odd)::before {
    background-color: var(--color-primary);
  }
}
@media screen and (min-width: 60em), print {
  .about-overview__section:nth-child(even)::before {
    background-color: var(--color-black);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview__section:nth-of-type(n + 2)::before {
    right: 0;
    transform: translate(50%, 50%) rotate(45deg);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview__section:nth-of-type(n + 2):nth-child(odd)::before {
    background-color: var(--color-black);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview__section:nth-of-type(n + 2):nth-child(even)::before {
    background-color: var(--color-primary);
  }
}

.about-overview-marker-star {
  position: relative;
  --duration: 1s;
}
.about-overview-marker-star::before, .about-overview-marker-star::after {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  display: block;
  margin: auto;
  pointer-events: none;
  content: "";
  border: 2px solid currentColor;
}
@media screen and (min-width: 60em), print {
  .about-overview-marker-star::before, .about-overview-marker-star::after {
    width: 16vw;
    max-width: 14.5rem;
    height: 16vw;
    max-height: 14.5rem;
    transform: translate(-50%, -50%) rotate(45deg);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-marker-star::before, .about-overview-marker-star::after {
    width: 48vw;
    max-width: 11.25rem;
    height: 48vw;
    max-height: 11.25rem;
    transform: translate(-50%, -80%) rotate(45deg);
  }
}
.about-overview-marker-star::before {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  transition-duration: var(--duration);
  transition-property: transform, opacity;
}
.about-overview-marker-star::after {
  opacity: 0;
}
.about-overview-marker-star:not(.is-visible)::before {
  opacity: 0;
}
@media screen and (min-width: 60em), print {
  .about-overview-marker-star:not(.is-visible)::before {
    transform: translate(-150%, -50%) rotate(-180deg);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-marker-star:not(.is-visible)::before {
    transform: translate(-150%, -80%) rotate(-180deg);
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-marker-star:not(.is-visible)::after {
    transform: translate(-50%, -50%) rotate(45deg) scale(1);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-marker-star:not(.is-visible)::after {
    transform: translate(-50%, -80%) rotate(45deg) scale(1);
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-marker-star.is-visible::after {
    animation: pingPc 1s forwards;
    animation-timing-function: cubic-bezier(0, 0, 0.2, 0.8);
    animation-delay: var(--duration);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-marker-star.is-visible::after {
    animation: pingSp 1s forwards;
    animation-timing-function: cubic-bezier(0, 0, 0.2, 0.8);
    animation-delay: var(--duration);
  }
}
@keyframes pingPc {
  0% {
    opacity: 0.8;
    transform: translate(-50%, -50%) rotate(45deg) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(45deg) scale(2);
  }
}
@keyframes pingSp {
  0% {
    opacity: 0.8;
    transform: translate(-50%, -80%) rotate(45deg) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -80%) rotate(45deg) scale(2);
  }
}

.about-overview-section-marker-star {
  position: relative;
  --duration: 1s;
}
.about-overview-section-marker-star::before, .about-overview-section-marker-star::after {
  position: absolute;
  left: 1rem;
  z-index: 1;
  display: block;
  width: 21.5rem;
  height: 21.5rem;
  margin: auto;
  pointer-events: none;
  content: "";
  border: 2px solid currentColor;
}
@media screen and (min-width: 60em), print {
  .about-overview-section-marker-star::before, .about-overview-section-marker-star::after {
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-section-marker-star::before, .about-overview-section-marker-star::after {
    top: 0;
    transform: translate(-50%, -35%) rotate(45deg);
  }
}
.about-overview-section-marker-star::before {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  transition-duration: var(--duration);
  transition-property: transform, opacity;
}
.about-overview-section-marker-star::after {
  opacity: 0;
}
.about-overview-section-marker-star:not(.is-visible)::before {
  opacity: 0;
}
@media screen and (min-width: 60em), print {
  .about-overview-section-marker-star:not(.is-visible)::before {
    transform: translate(-150%, -50%) rotate(-270deg);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-section-marker-star:not(.is-visible)::before {
    transform: translate(-150%, -35%) rotate(-270deg);
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-section-marker-star:not(.is-visible)::after {
    transform: translate(-50%, -50%) rotate(45deg) scale(1);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-section-marker-star:not(.is-visible)::after {
    transform: translate(-50%, -35%) rotate(45deg) scale(1);
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-section-marker-star.is-visible::after {
    animation: sectionPingPc 1s forwards;
    animation-timing-function: cubic-bezier(0, 0, 0.2, 0.8);
    animation-delay: var(--duration);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-section-marker-star.is-visible::after {
    animation: sectionPingSp 1s forwards;
    animation-timing-function: cubic-bezier(0, 0, 0.2, 0.8);
    animation-delay: var(--duration);
  }
}
@keyframes sectionPingPc {
  0% {
    opacity: 0.8;
    transform: translate(-50%, -50%) rotate(45deg) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(45deg) scale(2);
  }
}
@keyframes sectionPingSp {
  0% {
    opacity: 0.8;
    transform: translate(-50%, -35%) rotate(45deg) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -35%) rotate(45deg) scale(2);
  }
}

.about-overview-hero {
  position: relative;
  color: var(--color-white);
}

.about-overview-hero__content {
  position: absolute;
  z-index: 2;
  width: 100%;
}
@media screen and (min-width: 60em), print {
  .about-overview-hero__content {
    top: 50%;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-hero__content {
    top: calc(50% + 5.5rem);
  }
}

.about-overview-hero__image {
  position: relative;
  z-index: -1;
  display: block;
}
.about-overview-hero__image::before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.54) 50%, rgba(0, 0, 0, 0.9) 100%);
}
.about-overview-hero__image img {
  width: 100%;
  height: auto;
}

.about-overview-hero__inner {
  position: relative;
  display: grid;
  align-items: center;
  width: var(--container-width);
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .about-overview-hero__inner {
    grid-template-columns: auto 1fr 1fr;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-hero__inner {
    justify-content: center;
  }
}

.about-overview-hero__heading {
  display: grid;
  row-gap: 0.5rem;
}
@media screen and (max-width: 59.99em) {
  .about-overview-hero__heading {
    text-align: center;
  }
}

.about-overview-hero__heading__english {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .about-overview-hero__heading__english {
    font-size: 3.75rem;
    line-height: 1.5;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-hero__heading__english {
    font-size: 2.5rem;
    line-height: 1.3;
  }
}

.about-overview-hero__heading__japanese {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .about-overview-hero__heading__japanese {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-hero__heading__japanese {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}

.about-overview-introduction {
  padding-bottom: 7.5rem;
  background-color: var(--color-white);
}
@media screen and (min-width: 60em), print {
  .about-overview-introduction {
    padding-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-introduction {
    padding-top: 5.5rem;
  }
}

.about-overview-introduction__heading {
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 60em), print {
  .about-overview-introduction__heading {
    margin-bottom: 1.5rem;
    font-size: 2rem;
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-introduction__heading {
    margin-bottom: 1rem;
    font-size: 1.5rem;
    line-height: 1.5;
  }
}
.about-overview-introduction__heading ruby {
  position: relative;
}
.about-overview-introduction__heading rt {
  position: relative;
  top: -0.25em;
  font-weight: 400;
  text-align: center;
  /* stylelint-disable-next-line plugin/selector-bem-pattern */
}
@media screen and (min-width: 60em), print {
  .about-overview-introduction__heading rt {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-introduction__heading rt {
    font-size: 0.5625rem;
  }
}
.about-overview-introduction__heading rt _::-webkit-full-page-media,
.about-overview-introduction__heading rt _:future,
.about-overview-introduction__heading rt :root, .about-overview-introduction__heading rt {
  translate: 0 0.5rem;
}
@-moz-document url-prefix() {
  .about-overview-introduction__heading rt {
    position: absolute;
    top: -0.5em;
    left: 50%;
    transform: translateX(-50%);
  }
}

.about-overview-introduction__text {
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .about-overview-introduction__text {
    text-align: center;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-introduction__text:not(:last-child) {
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-introduction__text:not(:last-child) {
    margin-bottom: 0.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-introduction__text > span {
    display: block;
  }
}

.about-overview-introduction__image {
  display: block;
  max-width: 44rem;
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .about-overview-introduction__image {
    margin-top: 3.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-introduction__image {
    margin-top: 2.5rem;
  }
}
.about-overview-introduction__image img {
  position: relative;
  z-index: 1;
  margin-inline: auto;
}

.about-overview-create {
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .about-overview-create {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-create {
    padding-top: 3.25rem;
    padding-bottom: 4rem;
  }
}

.about-overview-create__list {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 60em), print {
  .about-overview-create__list {
    grid-template-rows: repeat(4, auto);
    grid-template-columns: 1fr 10% 1fr;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-create__list {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-create__list > li:nth-child(1) {
    grid-row: 1/3;
    grid-column: 1/3;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-create__list > li:nth-child(2) {
    grid-row: 1/3;
    grid-column: 3/4;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-create__list > li:nth-child(3) {
    grid-row: 3/5;
    grid-column: 2/4;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-create__list > li:nth-child(4) {
    grid-row: 3/4;
    grid-column: 1/2;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-create__list > li:nth-child(5) {
    grid-row: 4/5;
    grid-column: 1/2;
  }
}

.about-overview-create__card {
  display: grid;
  justify-content: center;
  height: 100%;
  background-color: var(--color-primary);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media screen and (min-width: 60em), print {
  .about-overview-create__card {
    row-gap: 2rem;
    padding-inline: 1.5rem;
    padding-bottom: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-create__card {
    row-gap: 1.5rem;
    padding-inline: 1.25rem;
    padding-bottom: 1.25rem;
  }
}
@media (hover: hover) {
  .about-overview-create__card:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .about-overview-create__card:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .about-overview-create__card:where(:-moz-any-link, :enabled, summary):hover .about-overview-create__card__head {
    opacity: 0.8;
  }
  .about-overview-create__card:where(:any-link, :enabled, summary):hover .about-overview-create__card__head {
    opacity: 0.8;
  }
}

.about-overview-create__card__head {
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin-inline: auto;
  font-weight: 700;
  text-align: center;
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .about-overview-create__card__head {
    padding: 1rem 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-create__card__head {
    padding: 1rem;
  }
}

.about-overview-create__card__image {
  display: block;
  margin-inline: auto;
}

.about-overview-create__card__image02 {
  display: block;
  margin-inline: auto;
}
@media screen and (max-width: 59.99em) {
  .about-overview-create__card__image02 {
    margin-top: -0.875rem;
    margin-bottom: 0.75rem;
  }
}

.about-overview-create__card__text-area {
  display: grid;
  row-gap: 1rem;
}

.about-overview-create__card__text {
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (min-width: 60em), print {
  .about-overview-create__card__text {
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-create__card__text {
    font-size: 1.25rem;
  }
}

.about-overview-create__card__text-middle {
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (min-width: 60em), print {
  .about-overview-create__card__text-middle {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-create__card__text-middle {
    font-size: 1.125rem;
  }
}

.about-overview-create__card__text-number {
  font-weight: 700;
  --letter-spacing: 0.01em;
}
@media screen and (min-width: 60em), print {
  .about-overview-create__card__text-number {
    font-size: 5.4rem;
    line-height: 1;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-create__card__text-number {
    font-size: 4rem;
    line-height: 1.3;
  }
}

.about-overview-create__card__text-small {
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (min-width: 60em), print {
  .about-overview-create__card__text-small {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-create__card__text-small {
    font-size: 1rem;
  }
}

.about-overview-create__card__text-column {
  display: grid;
  grid-template-columns: repeat(2, auto);
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
  text-align: left;
}
@media screen and (min-width: 60em), print {
  .about-overview-create__card__text-column {
    align-items: end;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-create__card__text-column {
    align-items: baseline;
  }
}

@media screen and (min-width: 60em), print {
  .about-overview-create__card__text-column__content > span {
    display: block;
  }
}

.about-overview-sticky {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .about-overview-sticky {
    grid-template-columns: 22% 1fr;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }
}

.about-overview-sticky__item {
  position: sticky;
  top: 7.5rem;
  z-index: 1;
  display: grid;
  align-items: center;
}
@media screen and (min-width: 60em), print {
  .about-overview-sticky__item {
    height: 30.25rem;
  }
}

.about-overview-sticky__heading {
  margin-bottom: 1rem;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.45;
}

.about-overview-sticky__lead {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.45;
}
.about-overview-sticky__lead > span {
  display: block;
}

.about-overview-make-use-of {
  color: var(--color-white);
  background-color: var(--color-primary);
}
@media screen and (min-width: 60em), print {
  .about-overview-make-use-of {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-make-use-of {
    padding-top: 3.25rem;
    padding-bottom: 4rem;
  }
}

.about-overview-make-use-of__content {
  z-index: 1;
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .about-overview-make-use-of__content {
    padding: 5rem 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-make-use-of__content {
    padding: 2.5rem 1.75rem;
    margin-top: 4rem;
  }
}

.about-overview-make-use-of__content__inner {
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .about-overview-make-use-of__content__inner {
    max-width: 36.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-make-use-of__content__inner {
    width: 100%;
  }
}

.about-overview-make-use-of__heading {
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}
@media screen and (min-width: 60em), print {
  .about-overview-make-use-of__heading {
    margin-bottom: 4rem;
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-make-use-of__heading {
    margin-bottom: 2rem;
    font-size: 1.25rem;
  }
}

.about-overview-make-use-of__image {
  display: block;
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .about-overview-make-use-of__image {
    max-width: 35rem;
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-make-use-of__image {
    width: 100%;
    margin-bottom: 2rem;
  }
}
.about-overview-make-use-of__image img {
  margin-inline: auto;
}

.about-overview-make-use-of__card-list {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .about-overview-make-use-of__card-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-make-use-of__card-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.about-overview-make-use-of__card {
  display: grid;
  row-gap: 1rem;
  justify-content: center;
  background-color: rgba(var(--color-accent-rgb), 0.35);
  border: 1px solid var(--color-accent);
}
@media screen and (min-width: 60em), print {
  .about-overview-make-use-of__card {
    min-height: 13.25rem;
    padding: 2rem 1rem 1.5rem;
    box-shadow: 10px 10px 20px rgba(var(--color-accent-rgb), 0.2);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-make-use-of__card {
    padding: 1.5rem 0.25rem;
    box-shadow: 0 0 10px rgba(var(--color-accent-rgb), 0.2);
  }
}

.about-overview-make-use-of__card__image {
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .about-overview-make-use-of__card__image {
    width: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-make-use-of__card__image {
    width: 3.5rem;
  }
}

.about-overview-make-use-of__card__text {
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}
@media screen and (min-width: 60em), print {
  .about-overview-make-use-of__card__text {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-make-use-of__card__text {
    font-size: 0.75rem;
  }
}

.about-overview-business-scale {
  background-color: var(--color-white);
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale {
    padding-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-business-scale {
    padding-top: 5rem;
  }
}

.about-overview-business-scale__heading {
  font-weight: 700;
  color: var(--color-text-gray);
  text-align: center;
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__heading {
    margin-bottom: 6rem;
    font-size: 3.75rem;
    line-height: 1.5;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-business-scale__heading {
    margin-bottom: 2.5rem;
    font-size: 2.5rem;
    line-height: 1.15;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-business-scale__heading span {
    display: block;
  }
}

.about-overview-business-scale__card-list {
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__card-list {
    grid-template-rows: repeat(2, auto);
    grid-template-columns: 2fr 1fr 1fr 2fr;
  }
}

.about-overview-business-scale__card {
  position: relative;
  display: grid;
  align-items: end;
  color: var(--color-white);
  text-align: center;
  background-color: var(--color-primary);
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__card {
    min-height: 16rem;
    padding: 2.5rem 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-business-scale__card {
    padding: 2.5rem 2.5rem 2rem;
  }
}
.about-overview-business-scale__card::before {
  position: absolute;
  top: -1px;
  left: -1px;
  content: "";
  border-bottom: 5rem solid transparent;
  border-left: 5rem solid var(--color-white);
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__card:nth-child(1) {
    grid-row: 1/2;
    grid-column: 1/2;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__card:nth-child(2) {
    grid-row: 1/2;
    grid-column: 2/4;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__card:nth-child(3) {
    grid-row: 1/2;
    grid-column: 4/5;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__card:nth-child(4) {
    grid-row: 2/3;
    grid-column: 1/3;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__card:nth-child(5) {
    grid-row: 2/3;
    grid-column: 3/5;
  }
}

.about-overview-business-scale__card__head {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__card__head {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-business-scale__card__head {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__card__head span {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-business-scale__card__head span {
    font-size: 1rem;
  }
}

.about-overview-business-scale__card__text {
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__card__text {
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-business-scale__card__text {
    font-size: 1.5rem;
  }
}
.about-overview-business-scale__card__text span {
  --letter-spacing: 0;
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__card__text span {
    font-size: 5.3125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-business-scale__card__text span {
    font-size: 4.0625rem;
  }
}

.about-overview-business-scale__card__note {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.45;
}

.about-overview-business-scale__card__sub-text {
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__card__sub-text {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-business-scale__card__sub-text {
    font-size: 0.875rem;
  }
}

@media screen and (min-width: 60em), print {
  .about-philosophy__mission {
    padding-bottom: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-philosophy__mission {
    padding-bottom: 2.5rem;
  }
}

.about-philosophy__heading02 {
  display: inline-grid;
  row-gap: 1.5rem;
}
.about-philosophy__heading02 h2 {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5rem 1rem;
  font-weight: 700;
  line-height: 1.45;
  border: 1px solid var(--color-primary);
}
@media screen and (min-width: 60em), print {
  .about-philosophy__heading02 h2 {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-philosophy__heading02 h2 {
    font-size: 1.125rem;
  }
}
.about-philosophy__heading02 p {
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .about-philosophy__heading02 p {
    max-width: 22.5rem;
  }
}

.about-philosophy__copy {
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 60em), print {
  .about-philosophy__copy {
    margin-top: 5rem;
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-philosophy__copy {
    margin-top: 3rem;
    font-size: 2rem;
  }
}
.about-philosophy__copy.about-philosophy__copy--ruby {
  line-height: 1.75;
}
.about-philosophy__copy em {
  font-style: normal;
}
.about-philosophy__copy ruby {
  position: relative;
}
.about-philosophy__copy rt {
  position: relative;
  top: -0.25em;
  font-weight: 400;
  text-align: center;
  /* stylelint-disable-next-line plugin/selector-bem-pattern */
}
@media screen and (min-width: 60em), print {
  .about-philosophy__copy rt {
    font-size: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-philosophy__copy rt {
    font-size: 0.75rem;
  }
}
.about-philosophy__copy rt _::-webkit-full-page-media,
.about-philosophy__copy rt _:future,
.about-philosophy__copy rt :root, .about-philosophy__copy rt {
  translate: 0 0.5rem;
}
@-moz-document url-prefix() {
  .about-philosophy__copy rt {
    position: absolute;
    top: -0.5em;
    left: 50%;
    transform: translateX(-50%);
  }
}

@media screen and (min-width: 60em), print {
  .about-philosophy__content {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-philosophy__content {
    margin-top: 3rem;
  }
}
.about-philosophy__content.about-philosophy__content--column {
  display: grid;
  gap: 4rem;
}
@media screen and (min-width: 60em), print {
  .about-philosophy__content.about-philosophy__content--column {
    grid-template-columns: auto 1fr;
  }
}
@media screen and (max-width: 59.99em) {
  .about-philosophy__content.about-philosophy__content--column {
    justify-items: center;
  }
}

.about-philosophy__text {
  font-weight: 500;
  line-height: 1.8;
}
.about-philosophy__text + .about-philosophy__text {
  margin-top: 1.5rem;
}

.about-philosophy__values {
  background-color: var(--color-sub-50);
}
@media screen and (min-width: 60em), print {
  .about-philosophy__values {
    padding-block: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-philosophy__values {
    padding-block: 2.5rem;
  }
}

@media screen and (min-width: 60em), print {
  .about-philosophy__value-list {
    display: flex;
    flex-wrap: wrap;
    gap: 3.5rem 4rem;
    max-width: 61.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-philosophy__value-list {
    display: grid;
    row-gap: 2rem;
  }
}

.about-philosophy__value-list-item {
  display: grid;
  grid-template-rows: auto 1fr;
}
@media screen and (min-width: 60em), print {
  .about-philosophy__value-list-item {
    row-gap: 0.75rem;
    min-width: 14rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-philosophy__value-list-item {
    row-gap: 0.5rem;
  }
}

.about-philosophy__value-list-item__title {
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (min-width: 60em), print {
  .about-philosophy__value-list-item__title {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-philosophy__value-list-item__title {
    font-size: 1.25rem;
  }
}

.about-philosophy__value-list-item__english {
  display: flex;
  gap: 0.5rem;
  align-items: baseline;
  height: -moz-fit-content;
  height: fit-content;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (min-width: 60em), print {
  .about-philosophy__value-list-item__english {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-philosophy__value-list-item__english {
    font-size: 1rem;
  }
}
.about-philosophy__value-list-item__english span {
  display: inline-grid;
  place-items: center;
  align-items: center;
  font-weight: 700;
  line-height: 1;
  color: var(--color-white);
  background-color: var(--color-primary);
}
@media screen and (min-width: 60em), print {
  .about-philosophy__value-list-item__english span {
    width: 2rem;
    height: 2rem;
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-philosophy__value-list-item__english span {
    width: 1.75rem;
    height: 1.75rem;
    font-size: 1.125rem;
  }
}

@media screen and (min-width: 60em), print {
  .about-philosophy__brand-identity {
    padding-block: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-philosophy__brand-identity {
    padding-block: 2.5rem;
  }
}

@media screen and (min-width: 60em), print {
  .about-philosophy__logo-design {
    padding-bottom: 2.5rem;
  }
}

.about-philosophy__logo-design__inner {
  background-color: var(--color-sub-50);
}
@media screen and (min-width: 60em), print {
  .about-philosophy__logo-design__inner {
    padding-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-philosophy__logo-design__inner {
    padding-top: 2.5rem;
  }
}

@media screen and (min-width: 60em), print {
  .about-philosophy__video-wrapper {
    padding-top: 7.5rem;
    background: linear-gradient(180deg, var(--color-sub-50) 0%, var(--color-sub-50) calc(50% + 3.75rem), var(--color-white) calc(50% + 3.75rem), var(--color-white) 100%);
  }
}
@media screen and (max-width: 59.99em) {
  .about-philosophy__video-wrapper {
    padding-top: 4rem;
    background: linear-gradient(180deg, var(--color-sub-50) 0%, var(--color-sub-50) calc(50% + 2rem), var(--color-white) calc(50% + 2rem), var(--color-white) 100%);
  }
}

.about-philosophy__video {
  display: block;
  width: 100%;
}
@media screen and (min-width: 60em), print {
  .about-philosophy__video {
    max-width: 56rem;
    margin-inline: auto;
  }
}

.not-found__text {
  line-height: 1.8;
}

.not-found__buttons {
  display: flex;
  justify-content: center;
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .not-found__buttons {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .not-found__buttons {
    margin-top: 4rem;
  }
}
.not-found__buttons > * {
  width: min(15rem, 100%);
}

@media screen and (max-width: 59.99em) {
  .recruit-topics__container {
    width: var(--recruit-container-width);
    margin-inline: auto;
  }
}

.recruit-header {
  position: sticky;
  top: 0;
  z-index: var(--z-index-header);
  min-height: var(--recruit-header-height);
  color: var(--color-white);
  background-color: #3a3b3c;
  box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.2);
  animation: show 0.2s;
}
@media screen and (min-width: 67.5em), print {
  .recruit-header {
    border-radius: 0 0 0.3125rem 0.3125rem;
  }
}
@media screen and (max-width: 67.49em) {
  .recruit-header {
    margin-inline: 1rem;
    margin-top: 1rem;
    border-radius: 0.3125rem;
  }
}
@keyframes show {
  from {
    visibility: visible;
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.recruit-header.is-open {
  border-radius: 0.3125rem 0.3125rem 0 0;
  box-shadow: none;
}
.recruit-header.is-hidden:where(:not(.is-open):not(.is-submenu-open)) {
  visibility: hidden;
  animation: hide 0.2s;
}
@keyframes hide {
  from {
    visibility: visible;
    opacity: 1;
  }
  to {
    visibility: hidden;
    opacity: 0;
  }
}

.recruit-header__content {
  display: grid;
  align-items: center;
  justify-content: space-between;
  min-height: var(--recruit-header-height);
  transition-duration: 0.2s;
}
@media screen and (min-width: 67.5em), print {
  .recruit-header__content {
    grid-template-columns: minmax(auto, 18%) minmax(0, 60rem);
    -moz-column-gap: 1%;
         column-gap: 1%;
    padding: 1rem 2% 1rem 2%;
  }
}
@media screen and (max-width: 67.49em) {
  .recruit-header__content {
    grid-template-columns: auto auto;
    -moz-column-gap: 6%;
         column-gap: 6%;
    padding: 0.75rem 7% 0.75rem 7%;
  }
}
.recruit-header.is-hidden .recruit-header__content {
  opacity: 0;
}

@media screen and (min-width: 67.5em), print {
  .recruit-header__menu {
    display: grid;
  }
}
@media screen and (max-width: 67.49em) {
  .recruit-header__menu {
    position: absolute;
    top: calc(100% - 1px);
    right: 0;
    left: 0;
    height: calc(100vh - var(--recruit-header-height) - 2rem);
    padding: 1rem 7%;
    overflow-y: auto;
    overscroll-behavior: contain;
    visibility: hidden;
    background-color: #3a3b3c;
    border-radius: 0 0 0.3125rem 0.3125rem;
    opacity: 0;
    transition-duration: 0.3s;
    transition-property: opacity, visibility;
  }
  .recruit-header__toggle[aria-expanded=true] ~ .recruit-header__menu {
    visibility: visible;
    opacity: 1;
  }
}

.recruit-header__nav {
  display: grid;
}
@media screen and (min-width: 67.5em), print {
  .recruit-header__nav {
    grid-template-columns: 1fr minmax(17.5rem, 41%);
    -moz-column-gap: 1%;
         column-gap: 1%;
    align-items: center;
    justify-content: space-between;
  }
}

@media screen and (min-width: 67.5em), print {
  .recruit-header__list {
    display: grid;
    grid-template-columns: repeat(4, auto);
    grid-auto-flow: column;
    height: 100%;
  }
  .recruit-header__list > li {
    position: relative;
  }
}
@media screen and (max-width: 67.49em) {
  .recruit-header__list > li {
    border-bottom: 1px solid var(--color-recruit-border);
  }
}

.recruit-header__button {
  display: grid;
  width: 100%;
  height: 100%;
  font-weight: 700;
  white-space: nowrap;
}
@media screen and (min-width: 67.5em), print {
  .recruit-header__button {
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
  }
}
@media screen and (max-width: 67.49em) {
  .recruit-header__button {
    justify-content: space-between;
    padding-block: 1.5rem;
  }
}
.recruit-header__button[aria-expanded] {
  position: relative;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
@media screen and (max-width: 67.49em) {
  .recruit-header__button[aria-expanded] {
    padding-right: 0.75rem;
  }
}
.recruit-header__button[aria-expanded]::before, .recruit-header__button[aria-expanded]::after {
  display: block;
  grid-area: 1/2;
  height: 1px;
  margin-top: auto;
  margin-bottom: auto;
  content: "";
  border-radius: 9999px;
  transition: transform var(--transition-duration-motion);
}
@media screen and (min-width: 67.5em), print {
  .recruit-header__button[aria-expanded]::before, .recruit-header__button[aria-expanded]::after {
    width: 12px;
    background-color: currentColor;
  }
}
@media screen and (max-width: 67.49em) {
  .recruit-header__button[aria-expanded]::before, .recruit-header__button[aria-expanded]::after {
    width: 16px;
    background-color: var(--color-accent);
  }
}
.recruit-header__button[aria-expanded]::before {
  transform: rotate(90deg);
}
.recruit-header__button[aria-expanded][aria-expanded=true]::before, .recruit-header__button[aria-expanded][aria-expanded=true]::after {
  transform: rotate(180deg);
}

@media screen and (min-width: 67.5em), print {
  .recruit-header__submenu {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    width: -moz-fit-content;
    width: fit-content;
    visibility: hidden;
    background-color: var(--color-white);
    border-radius: 0.3125rem;
    opacity: 0;
    transition-duration: 0.3s;
    transition-property: opacity, visibility, transform;
    transform: translateY(-1rem);
  }
  .recruit-header__submenu:is([aria-expanded=true] ~ *) {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
  }
}

.recruit-header__submenu-list {
  display: grid;
}
@media screen and (min-width: 67.5em), print {
  .recruit-header__submenu-list {
    row-gap: 0.75rem;
    width: -moz-max-content;
    width: max-content;
    padding: 1.5rem;
    color: var(--color-white);
    border-radius: 0.3125rem;
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.15);
  }
}
@media screen and (max-width: 67.49em) {
  .recruit-header__submenu-list {
    padding-bottom: 1rem;
  }
}

.recruit-header__submenu-link {
  position: relative;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (min-width: 67.5em), print {
  .recruit-header__submenu-link {
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
    min-height: 2rem;
    padding-block: 0.25rem;
    padding-right: 3.5rem;
    color: var(--color-recruit-text-gray);
  }
}
@media screen and (max-width: 67.49em) {
  .recruit-header__submenu-link {
    padding-block: 0.5rem;
  }
}
.recruit-header__submenu-link::before, .recruit-header__submenu-link::after {
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  margin-block: auto;
  content: "";
}
.recruit-header__submenu-link::before {
  right: 0;
  width: 2rem;
  height: 2rem;
  background-color: currentColor;
  border-radius: 50%;
  opacity: 0;
  transition-timing-function: ease-in-out;
  transition-duration: var(--transition-duration-hover);
  transition-property: transform, opacity;
  transform: scale(0);
}
.recruit-header__submenu-link::after {
  right: 0.6rem;
  width: 1em;
  height: 1em;
  -webkit-mask-image: var(--icon-straight-arrow-right);
          mask-image: var(--icon-straight-arrow-right);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: currentColor;
}
.recruit-header__submenu-link > span {
  width: -moz-fit-content;
  width: fit-content;
  background-image: linear-gradient(to top, currentColor 0 1px, transparent 0 100%);
  background-repeat: no-repeat;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  background-position: right;
  background-size: 0 100%;
}
@media (prefers-reduced-motion: no-preference) {
  .recruit-header__submenu-link > span {
    transition-duration: 0.4s;
    transition-property: background-size;
  }
}
@media (hover: hover) {
  .recruit-header__submenu-link:where(:-moz-any-link, :enabled, summary):hover::before {
    opacity: 1;
    transform: scale(1);
  }
  .recruit-header__submenu-link:where(:any-link, :enabled, summary):hover::before {
    opacity: 1;
    transform: scale(1);
  }
}
@media screen and (hover: hover) and (min-width: 67.5em), print and (hover: hover) {
  .recruit-header__submenu-link:where(:-moz-any-link, :enabled, summary):hover::after {
    background-color: var(--color-white);
  }
  .recruit-header__submenu-link:where(:any-link, :enabled, summary):hover::after {
    background-color: var(--color-white);
  }
}
@media screen and (hover: hover) and (max-width: 67.49em) {
  .recruit-header__submenu-link:where(:-moz-any-link, :enabled, summary):hover::after {
    background-color: var(--color-recruit-text-gray);
  }
  .recruit-header__submenu-link:where(:any-link, :enabled, summary):hover::after {
    background-color: var(--color-recruit-text-gray);
  }
}
@media (hover: hover) {
  .recruit-header__submenu-link:where(:-moz-any-link, :enabled, summary):hover > span {
    background-position: left;
    background-size: 100% 100%;
  }
  .recruit-header__submenu-link:where(:any-link, :enabled, summary):hover > span {
    background-position: left;
    background-size: 100% 100%;
  }
}

.recruit-header__link-button-list {
  display: grid;
  align-items: center;
}
@media screen and (min-width: 67.5em), print {
  .recruit-header__link-button-list {
    grid-template-columns: minmax(4rem, 7.25rem) minmax(4rem, 7.25rem) minmax(5rem, 8.25rem);
    grid-auto-flow: column;
    -moz-column-gap: 2%;
         column-gap: 2%;
    justify-content: space-between;
  }
}
@media screen and (max-width: 67.49em) {
  .recruit-header__link-button-list {
    row-gap: 1.5rem;
    margin-block: 4rem;
  }
}

.recruit-header__link-button {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 100%;
  min-height: 2.75rem;
  font-weight: 700;
  color: var(--color-recruit-text-gray);
  background-color: var(--color-accent);
  border-radius: calc(infinity * 1px);
  box-shadow: inset 0 0 0 2.25rem var(--color-white);
  transition-timing-function: ease-in-out;
  transition-duration: var(--transition-duration-hover);
  transition-property: box-shadow color;
}
@media screen and (min-width: 67.5em), print {
  .recruit-header__link-button {
    padding: 0.5rem;
  }
}
@media screen and (max-width: 67.49em) {
  .recruit-header__link-button {
    display: grid;
    grid-template-columns: 1fr 90% 1fr;
    padding: 0.5rem 2rem;
  }
}
@media screen and (max-width: 67.49em) {
  .recruit-header__link-button::before, .recruit-header__link-button::after {
    display: block;
    content: "";
  }
}
@media screen and (max-width: 67.49em) {
  .recruit-header__link-button::after {
    width: 1em;
    height: 1em;
    background-color: currentColor;
    -webkit-mask-image: var(--icon-straight-arrow-right);
            mask-image: var(--icon-straight-arrow-right);
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
  }
}
@media (hover: hover) {
  .recruit-header__link-button:where(:-moz-any-link, :enabled, summary):hover {
    color: var(--color-white);
    box-shadow: none;
  }
  .recruit-header__link-button:where(:any-link, :enabled, summary):hover {
    color: var(--color-white);
    box-shadow: none;
  }
}

.recruit-header__external-link-button {
  position: relative;
  display: grid;
  align-items: center;
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--color-accent);
  border-radius: calc(infinity * 1px);
}
@media screen and (min-width: 67.5em), print {
  .recruit-header__external-link-button {
    min-height: 2.75rem;
    padding: 0.25rem 0.5rem;
    background-color: var(--color-accent);
    box-shadow: inset 0 0 0 3.5rem #3a3b3c;
    transition-timing-function: ease-in-out;
    transition-duration: var(--transition-duration-hover);
    transition-property: box-shadow color;
  }
}
@media screen and (max-width: 67.49em) {
  .recruit-header__external-link-button {
    min-height: 4rem;
    padding: 0.5rem 4.5rem 0.5rem 1.5rem;
    margin-top: 0.5rem;
  }
}
@media screen and (max-width: 67.49em) {
  .recruit-header__external-link-button::after {
    position: absolute;
    left: calc(100% - 3.5rem);
    display: block;
    width: 3rem;
    height: 3rem;
    content: "";
    background-color: var(--color-primary);
    border-radius: 50%;
    transition-timing-function: ease-in-out;
    transition-duration: var(--transition-duration-hover);
    transition-property: width, height, border-radius, left;
  }
}
@media screen and (hover: hover) and (min-width: 67.5em), print and (hover: hover) {
  .recruit-header__external-link-button:where(:-moz-any-link, :enabled, summary):hover {
    box-shadow: none;
  }
  .recruit-header__external-link-button:where(:any-link, :enabled, summary):hover {
    box-shadow: none;
  }
}
@media (hover: hover) {
  .recruit-header__external-link-button:where(:-moz-any-link, :enabled, summary):hover::after {
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: calc(infinity * 1px);
  }
  .recruit-header__external-link-button:where(:any-link, :enabled, summary):hover::after {
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: calc(infinity * 1px);
  }
}

@media screen and (min-width: 67.5em), print {
  .recruit-header__external-link-button-logo {
    display: grid;
    place-items: center;
  }
}
@media screen and (max-width: 67.49em) {
  .recruit-header__external-link-button-logo {
    position: relative;
    z-index: 1;
  }
}
@media screen and (max-width: 67.49em) {
  .recruit-header__external-link-button-logo::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(100% + 2rem);
    display: block;
    width: 1em;
    height: 1em;
    margin: auto;
    content: "";
    background-color: var(--color-white);
    -webkit-mask-image: var(--icon-straight-arrow-right);
            mask-image: var(--icon-straight-arrow-right);
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    transform: rotate(-45deg);
  }
}

@media screen and (min-width: 67.5em), print {
  .recruit-header__toggle {
    display: none;
  }
}
@media screen and (max-width: 67.49em) {
  .recruit-header__toggle {
    position: relative;
    display: grid;
    row-gap: 0.25rem;
    align-content: center;
    justify-content: center;
    justify-items: center;
    width: 2.5rem;
    height: 100%;
  }
  .recruit-header__toggle::after {
    font-size: 0.875rem;
    font-weight: 700;
    content: "menu";
  }
  .recruit-header__toggle[aria-expanded=true]::after {
    content: "close";
  }
}

.recruit-header__toggle__icon {
  --line-gap: 6px;
  position: relative;
  display: block;
  width: 100%;
  height: 1em;
  font-size: 1.4rem;
}
.recruit-header__toggle__icon > span {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 1.5em;
  height: 3px;
  margin: auto;
  background-color: currentColor;
  border-radius: calc(infinity * 1px);
  transition-duration: 0.3s;
  transition-property: transform, opacity, width;
}
.recruit-header__toggle__icon > span:nth-child(1) {
  transform: translateY(calc(var(--line-gap) * -1));
}
.recruit-header__toggle__icon > span:nth-child(2) {
  transform: translateY(calc(var(--line-gap) * 1));
}
.recruit-header__toggle__icon > span:is([aria-expanded=true] *):nth-child(1) {
  transform: rotate(45deg);
}
.recruit-header__toggle__icon > span:is([aria-expanded=true] *):nth-child(2) {
  transform: rotate(-45deg);
}

.recruit-entry {
  background-color: var(--color-accent);
}
@media screen and (min-width: 60em), print {
  .recruit-entry {
    padding-block: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-entry {
    padding-block: 2.5rem;
  }
}

.recruit-entry__list {
  display: grid;
  width: var(--recruit-container-narrow-width);
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .recruit-entry__list {
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-entry__list {
    row-gap: 1.5rem;
  }
}

.recruit-entry__list-item {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr;
  row-gap: 1rem;
  overflow: hidden;
  background-color: var(--color-white);
  border: 1px solid var(--color-recruit-border);
  border-radius: 0.625rem;
  transition-duration: 0.4s;
  transition-property: background-color;
}
@media screen and (min-width: 60em), print {
  .recruit-entry__list-item {
    min-height: 15rem;
    padding: 3.75rem 2rem 2rem 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-entry__list-item {
    min-height: 11.625rem;
    padding: 2rem 1.5rem 1.5rem 2rem;
  }
}
.recruit-entry__list-item::after {
  position: absolute;
  display: block;
  width: 4rem;
  height: 4rem;
  content: "";
  background-color: var(--color-primary);
  border-radius: 50%;
}
@media screen and (min-width: 60em), print {
  .recruit-entry__list-item::after {
    bottom: 2rem;
    left: calc(100% - 6rem);
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-entry__list-item::after {
    bottom: 1.5rem;
    left: calc(100% - 5.5rem);
  }
}
.recruit-entry__list-item.is-hover {
  color: var(--color-white);
  background-color: var(--color-primary);
}

.recruit-entry__list-item__title {
  z-index: 1;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 60em), print {
  .recruit-entry__list-item__title {
    font-size: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-entry__list-item__title {
    font-size: 1.3125rem;
  }
}
.recruit-entry__list-item__title::before {
  position: absolute;
  inset: 0;
  z-index: 2;
  content: "";
}
.recruit-entry__list-item__title > span {
  color: var(--color-accent);
  transition-duration: 0.4s;
}

.recruit-entry__list-item__text {
  position: relative;
  z-index: 1;
  padding-right: 4.5rem;
  line-height: 1.75;
  pointer-events: none;
}
@media screen and (max-width: 59.99em) {
  .recruit-entry__list-item__text {
    font-size: 0.875rem;
  }
}
.recruit-entry__list-item__text::after {
  position: absolute;
  bottom: 1.5rem;
  left: calc(100% - 2.5rem);
  display: block;
  width: 1em;
  height: 1em;
  content: "";
  background-color: var(--color-white);
  -webkit-mask-image: var(--icon-straight-arrow-right);
          mask-image: var(--icon-straight-arrow-right);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.recruit-top-topics__box {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .recruit-top-topics__box {
    grid-template-columns: max-content 1fr;
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
    padding: 0 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-topics__box {
    row-gap: 2rem;
    width: var(--recruit-container-width);
    margin-inline: auto;
  }
}

.recruit-top-topics__heading {
  display: grid;
  align-content: start;
  width: 8.125rem;
  font-weight: 700;
  line-height: 1.5;
}

.recruit-top-topics__heading__main {
  color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .recruit-top-topics__heading__main {
    font-size: 2rem;
    letter-spacing: 0.015rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-topics__heading__main {
    font-size: 1.5rem;
    letter-spacing: 0.019rem;
  }
}

.recruit-top-topics__heading__sub {
  color: var(--color-recruit-text-gray);
}
@media screen and (min-width: 60em), print {
  .recruit-top-topics__heading__sub {
    font-size: 1rem;
    letter-spacing: 0.01rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-topics__heading__sub {
    font-size: 0.875rem;
    letter-spacing: 0.00875rem;
  }
}

.recruit-top-topics__list {
  display: grid;
}
@media screen and (max-width: 59.99em) {
  .recruit-top-topics__list {
    row-gap: 2rem;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-top-topics__list > li {
    padding: 1rem 0;
  }
}

.recruit-top-topics__link {
  display: flex;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  align-items: center;
}
@media screen and (max-width: 59.99em) {
  .recruit-top-topics__link {
    flex-direction: column;
    row-gap: 1rem;
    align-items: stretch;
  }
}

.recruit-top-topics__content {
  display: grid;
  flex: 1;
  row-gap: 0.5rem;
  align-self: flex-start;
  min-width: 0;
}

.recruit-top-topics__meta {
  display: flex;
  flex-wrap: wrap;
  row-gap: 0.25rem;
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
  align-items: center;
}

.recruit-top-topics__thumbnail {
  flex-shrink: 0;
  align-self: flex-start;
  height: auto;
  aspect-ratio: 128/67;
  overflow: hidden;
}
@media screen and (min-width: 60em), print {
  .recruit-top-topics__thumbnail {
    width: 10.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-topics__thumbnail {
    width: 100%;
  }
}
.recruit-top-topics__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.recruit-top-topics__label {
  display: grid;
  align-items: center;
  justify-content: center;
  min-width: 6.25rem;
  min-height: 2rem;
  padding: 0.5rem 1.25rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-white);
  letter-spacing: 0.0375rem;
  background-color: var(--color-black);
  border-radius: 9999px;
}

.recruit-top-topics__date {
  --letter-spacing: 0.0175rem;
  min-width: 5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--color-text-gray);
}

.recruit-top-topics__text-row {
  display: flex;
  -moz-column-gap: 0.875rem;
       column-gap: 0.875rem;
  align-items: center;
  min-width: 0;
}

.recruit-top-topics__text {
  --letter-spacing: 0.04375rem;
  min-width: 0;
}
@media screen and (min-width: 60em), print {
  .recruit-top-topics__text {
    font-size: 0.875rem;
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-topics__text {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}
.recruit-top-topics__text > * {
  background-image: linear-gradient(to top, currentColor 0 1px, transparent 0 100%);
  background-repeat: no-repeat;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  background-position: right;
  background-size: 0 100%;
}
@media (prefers-reduced-motion: no-preference) {
  .recruit-top-topics__text > * {
    transition-duration: 0.2s;
    transition-property: background-size;
  }
}
@media (hover: hover) {
  :where(:-moz-any-link, :enabled, summary):hover .recruit-top-topics__text > * {
    background-position: left;
    background-size: 100% 100%;
  }
  :where(:any-link, :enabled, summary):hover .recruit-top-topics__text > * {
    background-position: left;
    background-size: 100% 100%;
  }
}

.recruit-top-topics__text-row .recruit-top-topics__text {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
}
@media screen and (min-width: 60em), print {
  .recruit-top-topics__text-row .recruit-top-topics__text {
    -webkit-line-clamp: 2;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-topics__text-row .recruit-top-topics__text {
    -webkit-line-clamp: 4;
  }
}

.recruit-top-topics__external-icon {
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 0.75rem;
  height: 0.75rem;
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: var(--icon-external-link);
          mask-image: var(--icon-external-link);
}

.recruit-top-topics__details-link {
  display: grid;
  max-width: 10rem;
  -webkit-margin-start: auto;
          margin-inline-start: auto;
}
@media screen and (min-width: 60em), print {
  .recruit-top-topics__details-link {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-topics__details-link {
    margin-top: 1.5rem;
    margin-bottom: 2rem;
  }
}

.recruit-top-topics__link-wrapper {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
@media screen and (min-width: 60em), print {
  .recruit-top-topics__link-wrapper {
    align-self: flex-end;
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-topics__link-wrapper {
    display: flex;
    justify-content: flex-end;
    width: var(--recruit-container-width);
    margin-inline: auto;
    margin-top: 2rem;
  }
}

.recruit-footer {
  padding-bottom: 2rem;
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .recruit-footer {
    padding-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-footer {
    padding-top: 5rem;
  }
}

.recruit-footer__inner {
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .recruit-footer__inner {
    max-width: calc(75rem + 4%);
    padding-inline: 2%;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-footer__inner {
    padding-inline: 7%;
  }
}

.recruit-footer__logo {
  width: -moz-fit-content;
  width: fit-content;
}

.recruit-footer__content {
  margin-top: 2.5rem;
}
@media screen and (min-width: 60em), print {
  .recruit-footer__content {
    display: grid;
    grid-template-columns: minmax(28%, 1fr) minmax(0, 45.125rem);
    -moz-column-gap: 1%;
         column-gap: 1%;
    justify-content: space-between;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-footer__content {
    display: grid;
  }
}

.recruit-footer__address {
  display: grid;
  row-gap: 0.75rem;
  height: -moz-fit-content;
  height: fit-content;
  line-height: 1.75;
}
@media screen and (max-width: 59.99em) {
  .recruit-footer__address {
    order: 1;
    margin-top: 5rem;
  }
}

.recruit-footer__address__name {
  font-weight: 700;
  line-height: 1.5;
}

.recruit-footer__link-list {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .recruit-footer__link-list {
    grid-template-columns: repeat(auto-fit, minmax(20%, auto));
    row-gap: 3rem;
    -moz-column-gap: 1%;
         column-gap: 1%;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-footer__link-list > li {
    height: -moz-fit-content;
    height: fit-content;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-footer__link-list > li {
    border-bottom: 1px solid var(--color-recruit-border);
  }
}
@media screen and (min-width: 60em), print {
  .recruit-footer__link-list > li:first-child .recruit-footer__sub-link-list {
    display: block;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-footer__link-list > li:first-child {
    border-bottom: none;
  }
  .recruit-footer__link-list > li:first-child > .recruit-footer__link {
    border-bottom: 1px solid var(--color-recruit-border);
  }
  .recruit-footer__link-list > li:first-child .recruit-footer__sub-link-list {
    row-gap: 0;
    padding-bottom: 0;
  }
  .recruit-footer__link-list > li:first-child .recruit-footer__sub-link-list > li {
    border-bottom: 1px solid var(--color-recruit-border);
  }
  .recruit-footer__link-list > li:first-child .recruit-footer__sub-link-list > li > a {
    padding-block: 1.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-footer__link-list > li:nth-last-child(4) {
    grid-column: 2;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-footer__link-list > li:nth-last-child(3) {
    grid-row: 2;
    grid-column: 3/span 2;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-footer__link-list > li:nth-last-child(3) {
    margin-top: 2.5rem;
    border-bottom: none;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-footer__link-list > li:nth-last-child(2) {
    grid-row: 2;
    grid-column: 3/span 2;
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-footer__link-list > li:nth-last-child(2) {
    margin-top: 1rem;
    border-bottom: none;
  }
}
.recruit-footer__link-list > li:nth-last-child(1) {
  display: flex;
  gap: 1.5rem;
  align-items: center;
}
@media screen and (min-width: 60em), print {
  .recruit-footer__link-list > li:nth-last-child(1) {
    grid-row: 2;
    grid-column: 3/span 2;
    margin-top: 4.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-footer__link-list > li:nth-last-child(1) {
    margin-top: 1.5rem;
    border-bottom: none;
  }
}

@media screen and (min-width: 60em), print {
  .recruit-footer__sub-link-list {
    display: inline-grid;
    row-gap: 0.5rem;
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-footer__sub-link-list {
    display: grid;
    row-gap: 1rem;
    padding-bottom: 2rem;
  }
}

.recruit-footer__link-target {
  display: inline-grid;
  grid-template-columns: auto auto;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  align-items: center;
  font-size: 0.875rem;
  font-weight: 700;
}
.recruit-footer__link-target::after {
  display: block;
  width: 1em;
  height: 1em;
  content: "";
  background-color: currentColor;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}
@media (hover: hover) {
  .recruit-footer__link-target:where(:-moz-any-link, :enabled, summary):hover > span {
    background-position: left;
    background-size: 100% 100%;
  }
  .recruit-footer__link-target:where(:any-link, :enabled, summary):hover > span {
    background-position: left;
    background-size: 100% 100%;
  }
}
.recruit-footer__link-target > span {
  background-image: linear-gradient(to top, currentColor 0 1px, transparent 0 100%);
  background-repeat: no-repeat;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  background-position: right;
  background-size: 0 100%;
}
@media (prefers-reduced-motion: no-preference) {
  .recruit-footer__link-target > span {
    transition-duration: 0.4s;
    transition-property: background-size;
  }
}

.recruit-footer__link,
.recruit-footer__sub-link {
  position: relative;
  align-items: center;
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .recruit-footer__link,
  .recruit-footer__sub-link {
    padding-block: 0.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-footer__link,
  .recruit-footer__sub-link {
    display: grid;
    grid-template-columns: 1fr auto;
    width: 100%;
  }
}
.recruit-footer__link[href],
.recruit-footer__sub-link[href] {
  padding-right: 2.5rem;
}
.recruit-footer__link[href]::before, .recruit-footer__link[href]::after,
.recruit-footer__sub-link[href]::before,
.recruit-footer__sub-link[href]::after {
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  margin-block: auto;
  content: "";
}
.recruit-footer__link[href]::before,
.recruit-footer__sub-link[href]::before {
  right: 0;
  width: 2rem;
  height: 2rem;
  background-color: var(--color-primary);
  border-radius: 50%;
  transition-duration: var(--transition-duration-hover);
  transition-property: transform;
  transform: scale(0);
}
.recruit-footer__link[href]::after,
.recruit-footer__sub-link[href]::after {
  right: 0.6rem;
  display: block;
  width: 0.875em;
  height: 0.875em;
  background-color: currentColor;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-image: var(--icon-straight-arrow-right);
          mask-image: var(--icon-straight-arrow-right);
}
.recruit-footer__link[href] > span,
.recruit-footer__sub-link[href] > span {
  width: -moz-fit-content;
  width: fit-content;
  background-image: linear-gradient(to top, currentColor 0 1px, transparent 0 100%);
  background-repeat: no-repeat;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  background-position: right;
  background-size: 0 100%;
}
@media (prefers-reduced-motion: no-preference) {
  .recruit-footer__link[href] > span,
  .recruit-footer__sub-link[href] > span {
    transition-duration: 0.4s;
    transition-property: background-size;
  }
}
@media (hover: hover) {
  .recruit-footer__link[href]:where(:-moz-any-link, :enabled, summary):hover::before, .recruit-footer__sub-link[href]:where(:-moz-any-link, :enabled, summary):hover::before {
    transform: scale(1);
  }
  .recruit-footer__link[href]:where(:any-link, :enabled, summary):hover::before,
  .recruit-footer__sub-link[href]:where(:any-link, :enabled, summary):hover::before {
    transform: scale(1);
  }
  .recruit-footer__link[href]:where(:-moz-any-link, :enabled, summary):hover::after, .recruit-footer__sub-link[href]:where(:-moz-any-link, :enabled, summary):hover::after {
    background-color: var(--color-white);
  }
  .recruit-footer__link[href]:where(:any-link, :enabled, summary):hover::after,
  .recruit-footer__sub-link[href]:where(:any-link, :enabled, summary):hover::after {
    background-color: var(--color-white);
  }
  .recruit-footer__link[href]:where(:-moz-any-link, :enabled, summary):hover > span, .recruit-footer__sub-link[href]:where(:-moz-any-link, :enabled, summary):hover > span {
    background-position: left;
    background-size: 100% 100%;
  }
  .recruit-footer__link[href]:where(:any-link, :enabled, summary):hover > span,
  .recruit-footer__sub-link[href]:where(:any-link, :enabled, summary):hover > span {
    background-position: left;
    background-size: 100% 100%;
  }
}

@media screen and (max-width: 59.99em) {
  .recruit-footer__link {
    padding-block: 1.5rem;
    padding-right: 0.5rem;
  }
}
.recruit-footer__link[aria-expanded] {
  position: relative;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
@media screen and (max-width: 59.99em) {
  .recruit-footer__link[aria-expanded] {
    padding-right: 0.5rem;
  }
}
.recruit-footer__link[aria-expanded]::before, .recruit-footer__link[aria-expanded]::after {
  display: block;
  grid-area: 1/2;
  height: 1px;
  margin-top: auto;
  margin-bottom: auto;
  content: "";
  border-radius: 9999px;
  transition: transform var(--transition-duration-motion);
}
@media screen and (min-width: 60em), print {
  .recruit-footer__link[aria-expanded]::before, .recruit-footer__link[aria-expanded]::after {
    width: 12px;
    background-color: currentColor;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-footer__link[aria-expanded]::before, .recruit-footer__link[aria-expanded]::after {
    width: 16px;
    background-color: currentColor;
  }
}
.recruit-footer__link[aria-expanded]::before {
  transform: rotate(90deg);
}
.recruit-footer__link[aria-expanded][aria-expanded=true]::before, .recruit-footer__link[aria-expanded][aria-expanded=true]::after {
  transform: rotate(180deg);
}

.recruit-footer__sub-link {
  font-size: 0.875rem;
}

.recruit-footer__copyright {
  font-size: 0.875rem;
  line-height: 1.75;
  text-align: center;
}
@media screen and (min-width: 60em), print {
  .recruit-footer__copyright {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-footer__copyright {
    margin-top: 5rem;
  }
}

.recruit-footer__sns-label {
  font-size: 0.875rem;
  font-weight: 700;
}

.recruit-footer__sns-list {
  display: grid;
  grid-template-columns: repeat(2, 2.5rem);
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
.recruit-footer__sns-list a {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  background-color: var(--color-accent);
  border-radius: 50%;
  box-shadow: inset 0 0 0 2.25rem var(--color-white);
  transition-timing-function: ease-in-out;
  transition-duration: var(--transition-duration-hover);
  transition-property: box-shadow;
}
.recruit-footer__sns-list a img {
  position: relative;
  z-index: 1;
}
@media (hover: hover) {
  .recruit-footer__sns-list a:where(:-moz-any-link, :enabled, summary):hover {
    box-shadow: inset 0 0 0 0 var(--color-white);
  }
  .recruit-footer__sns-list a:where(:any-link, :enabled, summary):hover {
    box-shadow: inset 0 0 0 0 var(--color-white);
  }
}

.recruit-top-mv {
  --letter-spacing: 0.01em;
}
@media screen and (min-width: 60em), print {
  .recruit-top-mv {
    position: relative;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-mv {
    padding-bottom: calc(40vw / var(--design-frame-width));
  }
}

.recruit-top-mv__content {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .recruit-top-mv__content {
    grid-template-columns: minmax(auto, 42%) minmax(auto, 58%);
    justify-content: space-between;
    width: 100%;
    max-width: calc(1320vw / var(--design-frame-width));
    min-height: calc(500vw / var(--design-frame-width));
    padding-top: 3.5rem;
    padding-bottom: calc(80vw / var(--design-frame-width));
    margin-inline: auto;
  }
}

@media screen and (min-width: 60em), print {
  .recruit-top-mv__text-area {
    position: relative;
    height: -moz-fit-content;
    height: fit-content;
    padding-top: calc(72vw / var(--design-frame-width));
    padding-bottom: calc(42vw / var(--design-frame-width));
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-mv__text-area {
    display: grid;
    padding-inline: calc(16vw / var(--design-frame-width));
    margin-top: calc(40vw / var(--design-frame-width) * -1);
  }
}

.recruit-top-mv__copy {
  display: inline-grid;
  row-gap: 0.5rem;
}
@media screen and (min-width: 60em), print {
  .recruit-top-mv__copy {
    position: relative;
    row-gap: calc(8vw / var(--design-frame-width));
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-mv__copy {
    max-width: calc(290vw / var(--design-frame-width));
    margin-top: calc(16vw / var(--design-frame-width));
    margin-left: auto;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-top-mv__copy::before {
    position: absolute;
    top: calc(20vw / var(--design-frame-width));
    right: calc(100% + 0.75rem);
    display: block;
    width: 1000px;
    height: 1px;
    content: "";
    background-color: var(--color-recruit-border);
  }
}

.recruit-top-mv__copy__main {
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (min-width: 60em), print {
  .recruit-top-mv__copy__main {
    font-size: clamp(1rem, 26vw / var(--design-frame-width), 1.625rem);
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-mv__copy__main {
    font-size: clamp(1rem, 24vw / var(--design-frame-width), 1.5rem);
  }
}

.recruit-top-mv__copy__sub {
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-recruit-text-gray);
}
@media screen and (min-width: 60em), print {
  .recruit-top-mv__copy__sub {
    font-size: clamp(1rem, 18vw / var(--design-frame-width), 1.125rem);
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-mv__copy__sub {
    font-size: clamp(1rem, 16vw / var(--design-frame-width), 1rem);
  }
}

.recruit-top-mv__english {
  display: grid;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}
@media screen and (min-width: 60em), print {
  .recruit-top-mv__english {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1;
    font-size: clamp(6.25rem, 160vw / var(--design-frame-width), 10rem);
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-mv__english {
    order: -1;
    font-size: clamp(5rem, 90vw / var(--design-frame-width), 90rem);
  }
}
.recruit-top-mv__english b {
  color: var(--color-accent);
}
@media screen and (min-width: 60em), print {
  .recruit-top-mv__english > span:last-child {
    padding-left: calc(155vw / var(--design-frame-width));
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-mv__english > span:last-child {
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
  }
}

.recruit-top-mv__images {
  display: inline-grid;
  grid-template-columns: repeat(3, auto);
  width: 100%;
}
@media screen and (min-width: 60em), print {
  .recruit-top-mv__images {
    justify-self: flex-end;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-mv__images {
    order: -1;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-mv__images > li {
    min-height: calc(320vw / var(--design-frame-width));
  }
}
@media screen and (min-width: 60em), print {
  .recruit-top-mv__images > li:nth-child(1) {
    margin-bottom: calc(56vw / var(--design-frame-width));
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-mv__images > li:nth-child(1) {
    margin-bottom: calc(80vw / var(--design-frame-width));
  }
}
@media screen and (min-width: 60em), print {
  .recruit-top-mv__images > li:nth-child(2) {
    margin-top: calc(56vw / var(--design-frame-width));
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-mv__images > li:nth-child(2) {
    margin-top: calc(36vw / var(--design-frame-width));
    margin-bottom: calc(40vw / var(--design-frame-width));
  }
}
@media screen and (min-width: 60em), print {
  .recruit-top-mv__images > li:nth-child(3) {
    margin-bottom: calc(56vw / var(--design-frame-width));
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-mv__images > li:nth-child(3) {
    margin-top: calc(80vw / var(--design-frame-width));
  }
}
.recruit-top-mv__images > li img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.recruit-top-message {
  display: grid;
  margin-bottom: 7.5rem;
}
@media screen and (min-width: 60em), print {
  .recruit-top-message {
    grid-template-columns: auto auto;
    -moz-column-gap: 5.5rem;
         column-gap: 5.5rem;
    justify-content: flex-end;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-message {
    row-gap: 1.5rem;
    width: var(--recruit-container-width);
    margin-inline: auto;
  }
}

.recruit-top-message__text {
  display: inline-grid;
  row-gap: 1.75rem;
  line-height: 1.75;
  color: var(--color-recruit-text-gray);
}

.recruit-top-message__link-wrapper {
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
@media screen and (min-width: 60em), print {
  .recruit-top-message__link-wrapper {
    align-self: flex-end;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-message__link-wrapper {
    margin-left: auto;
  }
}

.recruit-top-heading02 {
  display: inline-grid;
  --letter-spacing: 0.01em;
}
@media screen and (min-width: 60em), print {
  .recruit-top-heading02 {
    row-gap: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-heading02 {
    row-gap: 0.5rem;
  }
}
.recruit-top-heading02 h2 {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  line-height: 1;
}
@media screen and (min-width: 60em), print {
  .recruit-top-heading02 h2 {
    font-size: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-heading02 h2 {
    font-size: 3.1875rem;
  }
}
.recruit-top-heading02 p {
  display: inline-grid;
  grid-template-columns: auto auto;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-recruit-text-gray);
}
@media screen and (min-width: 60em), print {
  .recruit-top-heading02 p {
    font-size: 1.625rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-heading02 p {
    font-size: 1.3125rem;
  }
}
.recruit-top-heading02 p::before {
  display: block;
  width: 2rem;
  height: 1px;
  content: "";
  background-color: currentColor;
}
.recruit-top-heading02.recruit-top-heading02--people h2 {
  color: var(--color-accent);
}
.recruit-top-heading02.recruit-top-heading02--people p {
  color: var(--color-white);
}

@media screen and (min-width: 60em), print {
  .recruit-top-work {
    margin-block: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-work {
    width: var(--recruit-container-width);
    margin-inline: auto;
    margin-top: 7.5rem;
    margin-bottom: 5rem;
  }
}

.recruit-top-work__list {
  display: grid;
  overflow: hidden;
  background-color: var(--color-accent);
  border-radius: 0.3125rem;
}
@media screen and (min-width: 60em), print {
  .recruit-top-work__list {
    grid-template-columns: repeat(2, 1fr);
    max-width: 60rem;
    margin-inline: auto;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-work__list {
    margin-top: 2.5rem;
  }
}

.recruit-top-work__card {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
  overflow: hidden;
  color: inherit;
  border-radius: 0.3125rem;
  transition-timing-function: ease-in-out;
  transition-duration: 0.4s;
  transition-property: color background-color;
  transform-origin: right;
}
@media screen and (min-width: 60em), print {
  .recruit-top-work__card {
    row-gap: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-work__card {
    row-gap: 1.5rem;
    padding: 1.5rem;
  }
}
.recruit-top-work__card::after {
  position: absolute;
  bottom: 2.5rem;
  z-index: -1;
  display: block;
  width: 4rem;
  height: 4rem;
  content: "";
  background-color: var(--color-primary);
  border-radius: 50%;
}
@media screen and (max-width: 59.99em) {
  .recruit-top-work__card::after {
    bottom: 1.5rem;
    left: calc(100% - 5.5rem);
  }
}
@media screen and (min-width: 60em), print {
  .recruit-top-work__list-item:first-child .recruit-top-work__card {
    padding: 2.5rem 1.25rem 2.5rem 2.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-top-work__list-item:first-child .recruit-top-work__card::after {
    left: calc(100% - 5.25rem);
  }
}
@media screen and (min-width: 60em), print {
  .recruit-top-work__list-item:last-child .recruit-top-work__card {
    padding: 2.5rem 2.5rem 2.5rem 1.25rem;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-top-work__list-item:last-child .recruit-top-work__card::after {
    left: calc(100% - 6.5rem);
  }
}
.recruit-top-work__card.is-hover {
  color: var(--color-white);
  background-color: var(--color-primary);
}

.recruit-top-work__card__image {
  z-index: 1;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 60em), print {
  .recruit-top-work__card__image {
    aspect-ratio: 420/240;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-work__card__image {
    aspect-ratio: 294/168;
  }
}

.recruit-top-work__card__content {
  display: grid;
  row-gap: 1rem;
}
@media screen and (min-width: 60em), print {
  .recruit-top-work__card__content {
    padding-right: 6rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-work__card__content {
    padding-bottom: 5.5rem;
  }
}

.recruit-top-work__card__title {
  z-index: 2;
  --letter-spacing: 0.01em;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 60em), print {
  .recruit-top-work__card__title {
    font-size: 1.3125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-work__card__title {
    font-size: 1.125rem;
  }
}
.recruit-top-work__card__title::before {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
}

.recruit-top-work__card__text {
  position: relative;
  z-index: 1;
  line-height: 1.75;
}
.recruit-top-work__card__text::after {
  position: absolute;
  display: block;
  width: 1em;
  height: 1em;
  content: "";
  background-color: var(--color-white);
  -webkit-mask-image: var(--icon-straight-arrow-right);
          mask-image: var(--icon-straight-arrow-right);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
@media screen and (min-width: 60em), print {
  .recruit-top-work__card__text::after {
    bottom: 1.5rem;
    left: calc(100% + 3.5rem);
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-work__card__text::after {
    bottom: -4rem;
    left: calc(100% - 2.5rem);
  }
}

@media screen and (min-width: 60em), print {
  .recruit-top-work-style {
    margin-bottom: 10rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-work-style {
    width: var(--recruit-container-width);
    margin-inline: auto;
    margin-bottom: 7.5rem;
  }
}

@media screen and (min-width: 60em), print {
  .recruit-top-work-style__content {
    max-width: 65rem;
    margin-inline: auto;
  }
}

.recruit-top-work-style__about {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .recruit-top-work-style__about {
    grid-template-columns: 1fr 57%;
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-work-style__about {
    row-gap: 2rem;
    margin-top: 2.5rem;
  }
}

.recruit-top-work-style__about__content {
  display: inline-grid;
  row-gap: 1rem;
}
@media screen and (min-width: 60em), print {
  .recruit-top-work-style__about__content {
    align-self: flex-end;
    height: -moz-fit-content;
    height: fit-content;
  }
}
.recruit-top-work-style__about__content p {
  line-height: 1.75;
  color: var(--color-recruit-text-gray);
}

.recruit-top-work-style__about__image {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 59.99em) {
  .recruit-top-work-style__about__image {
    order: -1;
  }
}

@media screen and (min-width: 60em), print {
  .recruit-top-work-style__button-list {
    display: flex;
    gap: 1%;
    justify-content: space-between;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-work-style__button-list {
    display: grid;
    row-gap: 1.5rem;
    margin-top: 2.5rem;
  }
}

@media screen and (min-width: 60em), print {
  .recruit-top-work-style__document {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-work-style__document {
    margin-top: 5rem;
  }
}
.recruit-top-work-style__document a {
  display: block;
  overflow: hidden;
}
@media screen and (min-width: 60em), print {
  .recruit-top-work-style__document a {
    border: 1px solid var(--color-recruit-border);
    border-radius: 0.3125rem;
  }
}
@media (hover: hover) {
  .recruit-top-work-style__document a:where(:-moz-any-link, :enabled, summary):hover img {
    opacity: 0.6;
  }
  .recruit-top-work-style__document a:where(:any-link, :enabled, summary):hover img {
    opacity: 0.6;
  }
}
.recruit-top-work-style__document img {
  width: 100%;
  will-change: transform;
}
@media (prefers-reduced-motion: no-preference) {
  .recruit-top-work-style__document img {
    transition-duration: var(--transition-duration-hover);
    transition-property: opacity;
  }
}

@media screen and (min-width: 60em), print {
  .recruit-top-work-style__banner {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-work-style__banner {
    margin-top: 3.25rem;
  }
}

.recruit-top-work-style__banner__link {
  display: block;
  overflow: hidden;
}
.recruit-top-work-style__banner__link img {
  width: 100%;
  will-change: transform;
}
@media (prefers-reduced-motion: no-preference) {
  .recruit-top-work-style__banner__link img {
    transition-duration: 0.4s;
    transition-property: transform;
  }
}
@media (hover: hover) {
  .recruit-top-work-style__banner__link:where(:-moz-any-link, :enabled, summary):hover img {
    transform: scale(1.1);
  }
  .recruit-top-work-style__banner__link:where(:any-link, :enabled, summary):hover img {
    transform: scale(1.1);
  }
}

.recruit-top-heading03 {
  --letter-spacing: 0.01em;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 60em), print {
  .recruit-top-heading03 {
    font-size: 1.3125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-heading03 {
    font-size: 1.125rem;
  }
}

.recruit-top-people {
  position: relative;
  overflow: hidden;
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .recruit-top-people {
    padding-top: 7rem;
    padding-bottom: 7.5rem;
    margin-block: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-people {
    padding-block: 5rem;
    margin-block: 5rem;
  }
}

.recruit-top-people__inner {
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .recruit-top-people__inner {
    width: min(100% - var(--container-spacing-horizontal) * 2, 60rem);
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-people__inner {
    width: var(--recruit-container-width);
  }
}

.recruit-top-people__interview {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .recruit-top-people__interview {
    grid-template-columns: 1fr minmax(14.125rem, 33%);
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-people__interview {
    row-gap: 2rem;
    margin-top: 2.5rem;
  }
}

.recruit-top-people__interview__main {
  display: grid;
  grid-template-rows: auto 1fr;
}
@media screen and (min-width: 60em), print {
  .recruit-top-people__interview__main {
    row-gap: 2rem;
    margin-top: 2.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-people__interview__main {
    row-gap: 1.5rem;
  }
}

.recruit-top-people__interview__content {
  display: grid;
  row-gap: 1rem;
  height: -moz-fit-content;
  height: fit-content;
}
.recruit-top-people__interview__content > p {
  line-height: 1.75;
}

.recruit-top-people__interview__button-wrapper {
  justify-self: flex-end;
}

.recruit-top-people__table-talk {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .recruit-top-people__table-talk {
    grid-template-columns: minmax(14.125rem, 33%) 1fr;
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-people__table-talk {
    margin-top: 4rem;
  }
}

.recruit-top-people__table-talk__content {
  display: grid;
  row-gap: 1rem;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (min-width: 60em), print {
  .recruit-top-people__table-talk__content {
    margin-top: 10.25rem;
  }
}
.recruit-top-people__table-talk__content > p {
  line-height: 1.75;
}

.recruit-top-people__table-talk__list {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .recruit-top-people__table-talk__list {
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-people__table-talk__list {
    row-gap: 2.5rem;
    margin-top: 2rem;
  }
}

.recruit-top-people__table-talk__list-item {
  display: grid;
  grid-template-rows: auto auto;
  justify-items: flex-end;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (min-width: 60em), print {
  .recruit-top-people__table-talk__list-item {
    row-gap: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-people__table-talk__list-item {
    row-gap: 1rem;
  }
}
.recruit-top-people__table-talk__list-item img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 60em), print {
  .recruit-top-people__table-talk__list-item img {
    aspect-ratio: 1;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-people__table-talk__list-item img {
    aspect-ratio: 342/170;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-people__table-talk__list-item:first-child img {
    -o-object-position: top;
       object-position: top;
  }
}

.recruit-top-people__pentagon {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg width="294" height="294" viewBox="0 0 294 294" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M246.749 211.463L116.518 261.784L28.4157 153.476L104.197 36.2174L239.135 72.0549L246.749 211.463Z" stroke="white" stroke-width="2"/></svg>');
          mask-image: url('data:image/svg+xml;charset=UTF-8,<svg width="294" height="294" viewBox="0 0 294 294" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M246.749 211.463L116.518 261.784L28.4157 153.476L104.197 36.2174L239.135 72.0549L246.749 211.463Z" stroke="white" stroke-width="2"/></svg>');
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media screen and (min-width: 60em), print {
  .recruit-top-people__pentagon {
    width: clamp(12.5rem, 480vw / var(--design-frame-width), 30rem);
    height: clamp(12.5rem, 480vw / var(--design-frame-width), 30rem);
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-people__pentagon {
    width: clamp(12.5rem, 272vw / var(--design-frame-width), 30rem);
    height: clamp(12.5rem, 272vw / var(--design-frame-width), 30rem);
  }
}
@media screen and (min-width: 60em), print {
  .recruit-top-people__pentagon.recruit-top-people__pentagon--top {
    top: -12%;
    right: 0;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-people__pentagon.recruit-top-people__pentagon--top {
    top: -6%;
    right: -22%;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-top-people__pentagon.recruit-top-people__pentagon--bottom {
    bottom: -20%;
    left: -8%;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-people__pentagon.recruit-top-people__pentagon--bottom {
    bottom: -8%;
    left: -12%;
  }
}

.recruit-top-people__slider .splide__list {
  width: 100%;
}
.recruit-top-people__slider .splide__slide {
  width: 100%;
}
.recruit-top-people__slider .splide__slide img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 60em), print {
  .recruit-top-people__slider .splide__slide img {
    aspect-ratio: 2/1;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-people__slider .splide__slide img {
    aspect-ratio: 342/170;
  }
}
.recruit-top-people__slider .splide__controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (min-width: 60em), print {
  .recruit-top-people__slider .splide__controls {
    margin-top: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-top-people__slider .splide__controls {
    margin-top: 1rem;
  }
}
.recruit-top-people__slider .splide__pagination {
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
}
.recruit-top-people__slider .splide__pagination__page {
  padding: 0.25rem;
}
.recruit-top-people__slider .splide__pagination__page::before {
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  content: "";
  background-color: var(--color-accent);
  border-radius: 50%;
  transition-duration: 0.2s;
  transition-property: transform, background-color;
}
.recruit-top-people__slider .splide__pagination__page.is-active::before {
  background-color: var(--color-white);
}
.recruit-top-people__slider .splide__toggle {
  display: grid;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  background-color: var(--color-accent);
  border-radius: 50%;
  box-shadow: inset 0 0 0 2.25rem var(--color-white);
  transition-timing-function: ease-in-out;
  transition-duration: var(--transition-duration-hover);
  transition-property: box-shadow;
}
@media (hover: hover) {
  .recruit-top-people__slider .splide__toggle:where(:-moz-any-link, :enabled, summary):hover {
    box-shadow: none;
  }
  .recruit-top-people__slider .splide__toggle:where(:any-link, :enabled, summary):hover {
    box-shadow: none;
  }
  .recruit-top-people__slider .splide__toggle:where(:-moz-any-link, :enabled, summary):hover > .splide__toggle__play::after, .recruit-top-people__slider .splide__toggle:where(:-moz-any-link, :enabled, summary):hover .splide__toggle__pause::after {
    background-color: var(--color-white);
  }
  .recruit-top-people__slider .splide__toggle:where(:any-link, :enabled, summary):hover > .splide__toggle__play::after,
  .recruit-top-people__slider .splide__toggle:where(:any-link, :enabled, summary):hover .splide__toggle__pause::after {
    background-color: var(--color-white);
  }
}
.recruit-top-people__slider .splide__toggle__play::after,
.recruit-top-people__slider .splide__toggle__pause::after {
  display: block;
  width: 1em;
  height: 1em;
  content: "";
  background-color: var(--color-primary);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.recruit-top-people__slider .splide__toggle__play::after {
  -webkit-mask-image: var(--icon-play);
          mask-image: var(--icon-play);
}
.recruit-top-people__slider .splide__toggle__pause::after {
  -webkit-mask-image: var(--icon-pause-thin);
          mask-image: var(--icon-pause-thin);
}

.recruit-top-mv-animation {
  opacity: 0;
  animation-name: fadeUpAnime;
  animation-duration: 0.6s;
  animation-fill-mode: forwards;
  --animation-start-time: 0.2s;
}
.recruit-top-mv-animation.recruit-top-mv-animation--order01 {
  animation-delay: var(--animation-start-time);
}
.recruit-top-mv-animation.recruit-top-mv-animation--order02 {
  animation-delay: calc(var(--animation-start-time) + 0.2s);
}
.recruit-top-mv-animation.recruit-top-mv-animation--order03 {
  animation-delay: calc(var(--animation-start-time) + 0.4s);
}
.recruit-top-mv-animation.recruit-top-mv-animation--order04 {
  animation-delay: calc(var(--animation-start-time) + 0.6s);
}
.recruit-top-mv-animation.recruit-top-mv-animation--order05 {
  animation-delay: calc(var(--animation-start-time) + 0.7s);
}
.recruit-top-mv-animation.recruit-top-mv-animation--order06 {
  animation-delay: calc(var(--animation-start-time) + 0.8s);
}
.recruit-top-mv-animation.recruit-top-mv-animation--order07 {
  animation-delay: calc(var(--animation-start-time) + 1s);
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.recruit-link {
  position: relative;
  display: inline-grid;
  grid-template-columns: repeat(2, auto);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: center;
  transition-duration: var(--transition-duration-hover);
  transition-duration: color;
  transform-origin: right;
}
@media (hover: hover) {
  .recruit-link:where(:-moz-any-link, :enabled, summary):hover {
    color: var(--color-accent) !important;
  }
  .recruit-link:where(:any-link, :enabled, summary):hover {
    color: var(--color-accent) !important;
  }
}
.recruit-link.recruit-link--white {
  color: var(--color-white);
}

.recruit-link__text {
  --letter-spacing: 0.01em;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: baseline;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (min-width: 60em), print {
  .recruit-link__text {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-link__text {
    font-size: 1rem;
  }
}
.recruit-link__text.recruit-link__text--main {
  font-size: 1.5rem;
}
.recruit-link__text.recruit-link__text--sub {
  font-size: 0.875rem;
  color: var(--color-recruit-text-gray);
  transition-timing-function: ease-in-out;
  transition-duration: var(--transition-duration-hover);
  transition-duration: color;
  transform-origin: right;
}
@media (hover: hover) {
  :where(:-moz-any-link, :enabled, summary):hover .recruit-link__text.recruit-link__text--sub {
    color: var(--color-accent);
  }
  :where(:any-link, :enabled, summary):hover .recruit-link__text.recruit-link__text--sub {
    color: var(--color-accent);
  }
}

.recruit-link__icon {
  position: relative;
  display: block;
  width: 4rem;
  height: 4rem;
}
.recruit-link__icon::before, .recruit-link__icon::after {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
}
.recruit-link__icon::before {
  width: 100%;
  height: 100%;
  background-color: var(--color-accent);
  border-radius: 50%;
  box-shadow: inset 0 0 0 2.25rem var(--color-primary);
  transition-timing-function: ease-in-out;
  transition-duration: var(--transition-duration-hover);
  transition-property: box-shadow color;
}
.recruit-link__icon::after {
  width: 1em;
  height: 1em;
  margin: auto;
  background-color: var(--color-white);
  -webkit-mask-image: var(--icon-straight-arrow-right);
          mask-image: var(--icon-straight-arrow-right);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
@media (hover: hover) {
  :where(:-moz-any-link, :enabled, summary):hover .recruit-link__icon::before {
    box-shadow: none !important;
  }
  :where(:any-link, :enabled, summary):hover .recruit-link__icon::before {
    box-shadow: none !important;
  }
  :where(:-moz-any-link, :enabled, summary):hover .recruit-link__icon::after {
    background-color: var(--color-white) !important;
  }
  :where(:any-link, :enabled, summary):hover .recruit-link__icon::after {
    background-color: var(--color-white) !important;
  }
}
.recruit-link.recruit-link--white .recruit-link__icon::before {
  box-shadow: inset 0 0 0 2.25rem var(--color-white);
}
.recruit-link.recruit-link--white .recruit-link__icon::after {
  background-color: var(--color-primary);
}
.recruit-link.recruit-link--diagonal .recruit-link__icon::after {
  transform: rotate(-45deg);
}
@media screen and (max-width: 59.99em) {
  .recruit-link.recruit-link--sp-small .recruit-link__icon {
    width: 3.5rem;
    height: 3.5rem;
  }
}

.recruit-button-link {
  position: relative;
  display: grid;
  align-items: center;
  min-height: 5rem;
  padding: 0.5rem 5.5rem 0.5rem 1.5rem;
  overflow: hidden;
  background-color: var(--color-white);
  border: 1px solid var(--color-recruit-border);
  border-radius: calc(infinity * 1px);
}
.recruit-button-link.recruit-button-link--gray {
  background-color: rgba(164, 179, 188, 0.5);
}
.recruit-button-link::after {
  position: absolute;
  left: calc(100% - 4.5rem);
  display: block;
  width: 4rem;
  height: 4rem;
  content: "";
  background-color: var(--color-primary);
  border-radius: 50%;
  transition-timing-function: ease-in-out;
  transition-duration: var(--transition-duration-hover);
  transition-property: width, height, border-radius, left;
}
.recruit-button-link[aria-current=page]::after {
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: calc(infinity * 1px);
}
@media screen and (max-width: 59.99em) {
  .recruit-button-link.recruit-button-link--sp-small::after {
    width: 3.5rem;
    height: 3.5rem;
  }
}
@media (hover: hover) {
  .recruit-button-link:where(:-moz-any-link, :enabled, summary):hover::after {
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: calc(infinity * 1px);
  }
  .recruit-button-link:where(:any-link, :enabled, summary):hover::after {
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: calc(infinity * 1px);
  }
}

.recruit-button-link__text {
  position: relative;
  z-index: 1;
  --letter-spacing: 0.01em;
  font-weight: 700;
  line-height: 1.5;
  transition-duration: var(--transition-duration-hover);
  transition-property: color;
  transform-origin: right;
}
@media screen and (min-width: 60em), print {
  .recruit-button-link__text {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-button-link__text {
    font-size: 1rem;
  }
}
@media (hover: hover) {
  :where(:-moz-any-link, :enabled, summary):hover .recruit-button-link__text {
    color: var(--color-white);
    transition-timing-function: ease-in-out;
    transition-duration: var(--transition-duration-hover);
  }
  :where(:any-link, :enabled, summary):hover .recruit-button-link__text {
    color: var(--color-white);
    transition-timing-function: ease-in-out;
    transition-duration: var(--transition-duration-hover);
  }
}
.recruit-button-link__text::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(100% + 2.5rem);
  display: block;
  width: 1em;
  height: 1em;
  margin: auto;
  content: "";
  background-color: var(--color-white);
  -webkit-mask-image: var(--icon-straight-arrow-right);
          mask-image: var(--icon-straight-arrow-right);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
.recruit-button-link[aria-current=page] .recruit-button-link__text {
  color: var(--color-white);
}
.recruit-button-link[aria-current=page] .recruit-button-link__text::after {
  display: none;
}
.recruit-button-link.recruit-button-link--diagonal .recruit-button-link__text::after {
  transform: rotate(-45deg);
}
@media screen and (max-width: 59.99em) {
  .recruit-button-link.recruit-button-link--sp-small .recruit-button-link__text::after {
    left: calc(100% + 2.25rem);
  }
}

.recruit-float-layout {
  position: relative;
}
@media screen and (min-width: 60em), print {
  .recruit-float-layout {
    display: grid;
    grid-template-columns: var(--recruit-container-spacing-horizontal) 1fr var(--recruit-container-spacing-horizontal);
    padding-top: var(--recruit-header-height);
    margin-top: calc(var(--recruit-header-height) * -1);
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-float-layout {
    padding-top: calc(var(--recruit-header-height) / 2 + 1rem);
    margin-top: calc((var(--recruit-header-height) + 1rem) * -1);
  }
}
.recruit-float-layout::before {
  display: block;
  width: 100%;
  height: 100%;
  content: "";
}
.recruit-float-layout::after {
  position: absolute;
  top: 0;
  display: block;
  width: 100%;
  pointer-events: none;
  content: "";
  background: linear-gradient(180deg, rgba(181, 199, 210, 0.3) 0%, rgba(190, 217, 234, 0.15) 50%, rgba(255, 255, 255, 0) 100%);
}
@media screen and (min-width: 60em), print {
  .recruit-float-layout::after {
    height: 48rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-float-layout::after {
    height: 52.75rem;
  }
}

@media screen and (min-width: 60em), print {
  .recruit-float-layout__sticky {
    display: grid;
    justify-content: center;
    order: 1;
    padding-left: 1rem;
    margin-top: calc(var(--recruit-header-height) * -1);
  }
}
.recruit-float-layout__sticky > span {
  position: sticky;
  top: 0;
  display: block;
  height: 48rem;
  font-size: clamp(0.875rem, 14vw / var(--design-frame-width), 0.875rem);
  font-weight: 700;
  line-height: 1.75;
  color: var(--color-primary);
  text-align: center;
  letter-spacing: 0.05em;
  writing-mode: vertical-lr;
  transform: rotate(180deg);
  text-orientation: sideways;
}

@media screen and (min-width: 60em), print {
  .recruit-float-layout__content {
    width: 100%;
    max-width: 75rem;
    margin-inline: auto;
  }
}

.recruit-breadcrumbs {
  margin-bottom: 1.5rem;
  font-size: 1rem;
  line-height: 1.75;
  color: var(--color-recruit-text-gray);
}
@media screen and (min-width: 60em), print {
  .recruit-breadcrumbs {
    margin-top: 10rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-breadcrumbs {
    margin-top: 7.5rem;
  }
}
.recruit-breadcrumbs li {
  display: inline-block;
}
.recruit-breadcrumbs li:not(:first-child)::before {
  display: inline-block;
  padding-right: 0.75rem;
  padding-left: 0.75rem;
  content: "＞";
}
.recruit-breadcrumbs a {
  background-image: linear-gradient(to top, currentColor 0 1px, transparent 0 100%);
  background-repeat: no-repeat;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  background-position: right;
  background-size: 0 100%;
}
@media (prefers-reduced-motion: no-preference) {
  .recruit-breadcrumbs a {
    transition-duration: 0.2s;
    transition-property: background-size;
  }
}
@media (hover: hover) {
  .recruit-breadcrumbs a:where(:-moz-any-link, :enabled, summary):hover {
    background-position: left;
    background-size: 100% 100%;
  }
  .recruit-breadcrumbs a:where(:any-link, :enabled, summary):hover {
    background-position: left;
    background-size: 100% 100%;
  }
}

.recruit-main-layout {
  display: grid;
  grid-template-rows: 1fr auto;
  height: 100%;
}
@media screen and (min-width: 60em), print {
  .recruit-main-layout {
    padding-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-main-layout {
    width: var(--recruit-container-width);
    padding-top: 4.75rem;
    margin-inline: auto;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-main-layout.recruit-main-layout--sp-full {
    width: 100%;
  }
}

.recruit-heading01 {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .recruit-heading01 {
    row-gap: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-heading01 {
    row-gap: 2.5rem;
  }
}

.recruit-heading01__main {
  position: relative;
  --letter-spacing: 0.01em;
}
.recruit-heading01__main h1 {
  display: block;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  line-height: 1.4;
  color: transparent;
  text-shadow: 0 0 1px rgba(255, 255, 255, 0.05), 1px 2px 3px rgba(255, 255, 255, 0.4);
  background: rgba(var(--color-accent-rgb), 0.4);
  -webkit-background-clip: text;
          background-clip: text;
}
@media screen and (min-width: 60em), print {
  .recruit-heading01__main h1 {
    margin-top: -1.5rem;
    font-size: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-heading01__main h1 {
    margin-top: -1rem;
    font-size: 4rem;
  }
}
.recruit-heading01__main p {
  position: absolute;
  z-index: 1;
  display: inline-grid;
  grid-template-columns: auto auto;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .recruit-heading01__main p {
    top: 5rem;
    left: 2.5rem;
    font-size: 2.6875rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-heading01__main p {
    top: 2.5rem;
    left: 0.25rem;
    font-size: 1.625rem;
  }
}

.recruit-heading01__lead {
  line-height: 1.75;
  color: var(--color-recruit-text-gray);
}
@media screen and (min-width: 60em), print {
  .recruit-heading01__lead {
    max-width: 49.25rem;
    margin-left: auto;
  }
}

@media screen and (min-width: 60em), print {
  .recruit-group-nav {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    max-width: var(--recruit-container-narrow-max-width);
    margin-inline: auto;
    margin-top: 10rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-group-nav {
    display: grid;
    row-gap: 1.5rem;
    margin-top: 7.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-group-nav.recruit-group-nav--4col {
    display: flex;
    gap: 1%;
    justify-content: space-between;
  }
}

.recruit-interview__cards {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .recruit-interview__cards {
    grid-template-columns: repeat(3, 1fr);
    row-gap: 2.5rem;
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-interview__cards {
    row-gap: 2rem;
    margin-top: 5rem;
  }
}

.recruit-interview-card {
  position: relative;
  height: 100%;
  box-shadow: 0 0 0.3125rem 0 rgba(0, 0, 0, 0.3);
}
.recruit-interview-card::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  content: "";
  background-color: var(--color-sub-20);
  mix-blend-mode: multiply;
  opacity: 0;
  transition-duration: var(--transition-duration-hover);
  transition-property: opacity;
  will-change: opacity;
}
.recruit-interview-card.is-hover::before {
  opacity: 1;
}

.recruit-interview-card__image-wrapper {
  position: relative;
}

.recruit-interview-card__image {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media screen and (min-width: 60em), print {
  .recruit-interview-card__image {
    aspect-ratio: 373/210;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-interview-card__image {
    aspect-ratio: 342/193;
  }
}

.recruit-interview-card__tag {
  position: absolute;
  bottom: 0;
  left: 0;
  display: inline-grid;
  align-items: center;
  justify-content: center;
  padding: 0.375rem 1rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-white);
  background: var(--color-primary);
  border-radius: 0 0.625rem 0 0;
}

.recruit-interview-card__content {
  padding: 1.5rem;
}

.recruit-interview-card__name {
  --letter-spacing: 0.01em;
  display: inline-grid;
  grid-template-columns: auto auto;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-recruit-text-gray);
}

.recruit-interview-card__job {
  position: relative;
  color: var(--color-accent);
}
.recruit-interview-card__job::after {
  position: absolute;
  top: 0;
  right: -0.75rem;
  bottom: 0;
  display: block;
  width: 1px;
  height: 1rem;
  margin-block: auto;
  content: "";
  background-color: var(--color-recruit-border);
}

.recruit-interview-card__company {
  --letter-spacing: 0.01em;
  margin-top: 0.5rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-recruit-text-gray);
}

.recruit-interview-card__title {
  --letter-spacing: 0.01em;
  margin-top: 1rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 60em), print {
  .recruit-interview-card__title {
    font-size: 1.3125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-interview-card__title {
    font-size: 1.125rem;
  }
}
.recruit-interview-card__title::before {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  content: "";
}

.recruit-interview-modal[open] {
  display: grid;
  grid-template-rows: 1fr minmax(0, auto) 1fr;
  row-gap: 1rem;
  width: min(100% - var(--container-spacing-horizontal) * 2, 75rem);
  margin: auto;
  overflow: visible;
  animation: show 0.4s;
}
.recruit-interview-modal[open]::backdrop {
  background-color: rgba(0, 0, 0, 0.7);
  animation: show 0.4s;
}
.recruit-interview-modal.is-closing {
  animation: hide 0.4s;
}
.recruit-interview-modal.is-closing::backdrop {
  animation: hide 0.4s;
}
@keyframes show {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes hide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

.recruit-interview-modal__container-wrapper {
  position: relative;
  background-color: var(--color-white);
  border-radius: 0.3125rem;
  will-change: transform;
}
@media screen and (min-width: 60em), print {
  .recruit-interview-modal__container-wrapper {
    top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-interview-modal__container-wrapper {
    top: 2dvh;
  }
}

.recruit-interview-modal__container {
  height: 90dvh;
}
@media screen and (min-width: 60em), print {
  .recruit-interview-modal__container {
    padding: 5rem;
    overflow-y: auto;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-interview-modal__container {
    padding: 5.3125rem 1.5rem 1.5rem;
  }
}

@media screen and (min-width: 60em), print {
  .recruit-interview-modal__head-close-button-wrapper {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    transform: translate(50%, -50%);
  }
}

.recruit-interview-modal__close {
  display: inline-grid;
  row-gap: 0.25rem;
  justify-content: center;
  width: 5.5rem;
  height: 5.5rem;
  padding: 1.25rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--color-white);
  background-color: #3a3b3c;
  border-radius: 50%;
}
@media screen and (max-width: 59.99em) {
  .recruit-interview-modal__close.recruit-interview-modal__close--simple {
    position: absolute;
    top: 0;
    right: 0;
    width: 4.375rem;
    height: 5.3125rem;
    padding: 1.5rem 1rem 1rem;
    color: rgba(var(--color-black), 0.75);
    background-color: var(--color-white);
    border-radius: 0 0.3125rem 0 0;
  }
}
.recruit-interview-modal__close:focus:not(:focus-visible) {
  outline: none;
}

.recruit-interview-modal__close__icon {
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
  margin: auto;
  background-color: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26" fill="none"><path d="M1.68652 1.5L24.3139 24.1274" stroke="white" stroke-width="2" stroke-linecap="round"/><path d="M1.68652 24.5L24.3139 1.87258" stroke="white" stroke-width="2" stroke-linecap="round"/></svg>');
          mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26" fill="none"><path d="M1.68652 1.5L24.3139 24.1274" stroke="white" stroke-width="2" stroke-linecap="round"/><path d="M1.68652 24.5L24.3139 1.87258" stroke="white" stroke-width="2" stroke-linecap="round"/></svg>');
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

@media screen and (max-width: 59.99em) {
  .recruit-interview-modal__inner-container {
    height: calc(90dvh - 6.8125rem);
    overflow-y: auto;
  }
}

.recruit-interview-modal__head {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .recruit-interview-modal__head {
    grid-template-columns: 4fr 3fr;
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
    align-items: center;
    height: -moz-fit-content;
    height: fit-content;
    min-height: 18.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-interview-modal__head {
    row-gap: 1.5rem;
  }
}

.recruit-interview-modal__image-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}

.recruit-interview-modal__image {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.recruit-interview-modal__tag {
  --letter-spacing: 0.01em;
  position: absolute;
  bottom: 0;
  left: 0;
  display: inline-grid;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-white);
  background: var(--color-primary);
  border-radius: 0 0.625rem 0 0;
}

.recruit-interview-modal__head-content {
  display: grid;
  row-gap: 2rem;
}
@media screen and (min-width: 60em), print {
  .recruit-interview-modal__head-content {
    padding-bottom: 3.5rem;
  }
}

.recruit-interview-modal__job {
  --letter-spacing: 0.01em;
  display: grid;
  row-gap: 0.25rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-recruit-text-gray);
}
@media screen and (min-width: 60em), print {
  .recruit-interview-modal__job {
    font-size: 1.3125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-interview-modal__job {
    font-size: 1.125rem;
  }
}

.recruit-interview-modal__role {
  position: relative;
  --letter-spacing: 0.01em;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-accent);
}
@media screen and (min-width: 60em), print {
  .recruit-interview-modal__role {
    font-size: 1.3125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-interview-modal__role {
    font-size: 1.125rem;
  }
}
.recruit-interview-modal__role::before {
  position: absolute;
  top: -0.875rem;
  left: 0;
  display: block;
  width: 2rem;
  height: 1px;
  content: "";
  background-color: var(--color-recruit-border);
}

.recruit-interview-modal__name {
  --letter-spacing: 0.01em;
  margin-top: 0.5rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-recruit-text-gray);
}
@media screen and (min-width: 60em), print {
  .recruit-interview-modal__name {
    font-size: 1.625rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-interview-modal__name {
    font-size: 1.5rem;
  }
}

.recruit-interview-modal__title {
  --letter-spacing: 0.01em;
  position: relative;
  z-index: 1;
  padding: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-white);
  background-color: var(--color-primary);
}
@media screen and (min-width: 60em), print {
  .recruit-interview-modal__title {
    width: clamp(3rem, 598vw / var(--design-frame-width), 37.375rem);
    margin-top: clamp(-3.5rem, 56vw / var(--design-frame-width) * -1, -1.5rem);
    margin-left: auto;
    font-size: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-interview-modal__title {
    margin-top: 2rem;
    font-size: 1.625rem;
  }
}

.recruit-interview-modal__summary {
  display: grid;
  row-gap: 1.5rem;
}
@media screen and (min-width: 60em), print {
  .recruit-interview-modal__summary {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-interview-modal__summary {
    margin-top: 3rem;
  }
}

.recruit-interview-modal__summary__title {
  --letter-spacing: 0.01em;
  position: relative;
  padding-left: 2.5rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 60em), print {
  .recruit-interview-modal__summary__title {
    font-size: 1.625rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-interview-modal__summary__title {
    font-size: 1.3125rem;
  }
}
.recruit-interview-modal__summary__title::before {
  position: absolute;
  top: 1.25rem;
  left: 0;
  display: block;
  width: 2rem;
  height: 1px;
  content: "";
  background-color: var(--color-recruit-border);
}

.recruit-interview-modal__summary__text {
  line-height: 1.75;
  color: var(--color-recruit-text-gray);
}
@media screen and (min-width: 60em), print {
  .recruit-interview-modal__summary__text {
    padding-left: 2.5rem;
  }
}

@media screen and (min-width: 60em), print {
  .recruit-interview-modal__faq {
    max-width: 49.25rem;
    margin-top: 5rem;
    margin-left: auto;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-interview-modal__faq {
    margin-top: 3rem;
  }
}

.recruit-interview-modal__faq__list {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .recruit-interview-modal__faq__list {
    row-gap: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-interview-modal__faq__list {
    row-gap: 2rem;
  }
}

.recruit-interview-modal__faq__title {
  --letter-spacing: 0.01em;
  display: grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 60em), print {
  .recruit-interview-modal__faq__title {
    align-items: flex-end;
    font-size: 1.625rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-interview-modal__faq__title {
    align-items: center;
    font-size: 1.3125rem;
  }
}
.recruit-interview-modal__faq__title::before {
  display: block;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  line-height: 1;
  color: var(--color-accent);
  content: "Q.";
}
@media screen and (min-width: 60em), print {
  .recruit-interview-modal__faq__title::before {
    font-size: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-interview-modal__faq__title::before {
    font-size: 3.5rem;
  }
}

.recruit-interview-modal__faq__text {
  --letter-spacing: 0.01em;
  margin-top: 1.5rem;
  line-height: 1.75;
  color: var(--color-recruit-text-gray);
}
@media screen and (min-width: 60em), print {
  .recruit-interview-modal__faq__text {
    padding-left: 4.25rem;
  }
}
.recruit-interview-modal__faq__text a {
  color: var(--color-recruit-text-link);
  background-image: linear-gradient(to top, currentColor 0 1px, transparent 0 100%);
  background-repeat: no-repeat;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  background-position: left;
  background-size: 100% 100%;
  transition: color var(--transition-duration-hover);
}
@media (prefers-reduced-motion: no-preference) {
  .recruit-interview-modal__faq__text a {
    transition: color var(--transition-duration-hover), background-size 0.4s;
  }
}
@media (hover: hover) {
  .recruit-interview-modal__faq__text a:where(:-moz-any-link, :enabled, summary):hover {
    color: var(--color-recruit-text-link);
    background-position: right;
    background-size: 0 100%;
  }
  .recruit-interview-modal__faq__text a:where(:any-link, :enabled, summary):hover {
    color: var(--color-recruit-text-link);
    background-position: right;
    background-size: 0 100%;
  }
}

.recruit-interview-modal__bottom-close-button-wrapper {
  text-align: center;
}
@media screen and (min-width: 60em), print {
  .recruit-interview-modal__bottom-close-button-wrapper {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-interview-modal__bottom-close-button-wrapper {
    margin-top: 5rem;
  }
}

.recruit-interview-modal__note {
  margin-top: 2.5rem;
  font-size: 0.875rem;
  line-height: 1.75;
}

.recruit-overview__content {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .recruit-overview__content {
    row-gap: 4rem;
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-overview__content {
    row-gap: 2.5rem;
    margin-top: 4rem;
  }
}

.recruit-overview__card-area {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .recruit-overview__card-area {
    row-gap: 4rem;
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-overview__card-area {
    row-gap: 2.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-overview__card-area:nth-child(2) {
    display: flex;
    flex-wrap: wrap;
  }
  .recruit-overview__card-area:nth-child(2) > * {
    flex-grow: 1;
    width: 36.25rem;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-overview__card-area:nth-child(3) {
    display: flex;
    flex-wrap: wrap;
  }
  .recruit-overview__card-area:nth-child(3) > * {
    flex-grow: 1;
    width: 23.3125rem;
  }
}

.recruit-overview-card {
  display: grid;
  grid-template-rows: auto 1fr;
}

.recruit-overview-card__heading02 {
  display: inline-grid;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 0.75rem 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-white);
  background: var(--color-primary);
  border-radius: 0.625rem 0.625rem 0 0;
  --letter-spacing: 0.01em;
}
@media screen and (min-width: 60em), print {
  .recruit-overview-card__heading02 {
    font-size: 1.3125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-overview-card__heading02 {
    font-size: 1.125rem;
  }
}
.recruit-overview-card.recruit-overview-card--no-frame .recruit-overview-card__heading02 {
  border-radius: 0.625rem;
}
.recruit-overview-card__heading02:is(:not(.recruit-overview-card.recruit-overview-card--no-frame .recruit-overview-card__heading02)) {
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.3);
}

.recruit-overview-card.recruit-overview-card--no-frame .recruit-overview-card__content {
  padding-top: 2.5rem;
}
.recruit-overview-card__content:is(:not(.recruit-overview-card.recruit-overview-card--no-frame .recruit-overview-card__content)) {
  background-color: var(--color-sub-50);
  border-radius: 0 0.3125rem 0.3125rem 0.3125rem;
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.3);
}
@media screen and (min-width: 60em), print {
  .recruit-overview-card__content:is(:not(.recruit-overview-card.recruit-overview-card--no-frame .recruit-overview-card__content)) {
    padding: 2.5rem 2.5rem 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-overview-card__content:is(:not(.recruit-overview-card.recruit-overview-card--no-frame .recruit-overview-card__content)) {
    padding: 1.5rem;
  }
}

.recruit-overview-card__heading03 {
  display: inline-block;
  margin-bottom: 0.5rem;
  --letter-spacing: 0.01em;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-text-gray);
}
@media screen and (min-width: 60em), print {
  .recruit-overview-card__heading03 {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-overview-card__heading03 {
    font-size: 1rem;
  }
}

.recruit-overview-card__note {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.75;
  color: var(--color-text-gray);
}

.recruit-overview-card__employee-main {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 4rem;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 60em), print {
  .recruit-overview-card__employee-main {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-overview-card__employee-main {
    margin-bottom: 1.5rem;
  }
}

.recruit-overview-card__employee-content {
  display: grid;
  grid-template: "main sub" auto "note ." auto/auto auto;
  row-gap: 1rem;
}
@media screen and (min-width: 60em), print {
  .recruit-overview-card__employee-content {
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-overview-card__employee-content {
    -moz-column-gap: 2%;
         column-gap: 2%;
  }
}

.recruit-overview-card__employee-content__item {
  display: contents;
}

.recruit-overview-card__employee-main-text {
  --letter-spacing: 0.01em;
  grid-area: main;
  font-size: 2.6875rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-recruit-text-gray);
}
.recruit-overview-card__employee-main-text > span {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  line-height: 1;
  color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .recruit-overview-card__employee-main-text > span {
    font-size: 12.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-overview-card__employee-main-text > span {
    font-size: 6rem;
  }
}

.recruit-overview-card__employee-note {
  grid-area: note;
}
@media screen and (min-width: 60em), print {
  .recruit-overview-card__employee-note {
    max-width: 19.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-overview-card__employee-note {
    max-width: 12rem;
  }
}

.recruit-overview-card__employee-sub {
  grid-area: sub;
  align-content: flex-end;
}

.recruit-overview-card__employee-sub-text {
  --letter-spacing: 0.01em;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-recruit-text-gray);
}
@media screen and (min-width: 60em), print {
  .recruit-overview-card__employee-sub-text {
    font-size: 2.6875rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-overview-card__employee-sub-text {
    font-size: 1.125rem;
  }
}
.recruit-overview-card__employee-sub-text > span {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  line-height: 1;
  color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .recruit-overview-card__employee-sub-text > span {
    font-size: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-overview-card__employee-sub-text > span {
    font-size: 2.6875rem;
  }
}

.recruit-overview-card__gender-image {
  width: 100%;
}
.recruit-overview-card__gender-image > img {
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .recruit-overview-card__gender-image > img {
    width: 100%;
  }
}

.recruit-overview-card__gender-content {
  display: flex;
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem;
  justify-content: center;
  margin-top: 1.5rem;
}
@media screen and (min-width: 60em), print {
  .recruit-overview-card__gender-content {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-overview-card__gender-content {
    margin-bottom: 1.5rem;
  }
}

.recruit-overview-card__gender-text {
  --letter-spacing: 0.01em;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-recruit-text-gray);
}
@media screen and (min-width: 60em), print {
  .recruit-overview-card__gender-text {
    font-size: 2.6875rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-overview-card__gender-text {
    font-size: 1.625rem;
  }
}
.recruit-overview-card__gender-text > span {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  line-height: 1;
  color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .recruit-overview-card__gender-text > span {
    font-size: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-overview-card__gender-text > span {
    font-size: 4rem;
  }
}

.recruit-overview-card__age-image {
  width: 100%;
}

.recruit-overview-card__age-text {
  margin-top: 1.5rem;
  font-size: 2.6875rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-recruit-text-gray);
  text-align: center;
  --letter-spacing: 0.01em;
}
@media screen and (min-width: 60em), print {
  .recruit-overview-card__age-text {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-overview-card__age-text {
    margin-bottom: 1.5rem;
  }
}
.recruit-overview-card__age-text > span {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  line-height: 1;
  color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .recruit-overview-card__age-text > span {
    font-size: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-overview-card__age-text > span {
    font-size: 6rem;
  }
}

.recruit-overview-card__flextime-image {
  margin-inline: auto;
}

.recruit-overview-card__flextime-item {
  width: 100%;
  margin-inline: auto;
  margin-top: 1.5rem;
}
@media screen and (min-width: 60em), print {
  .recruit-overview-card__flextime-item {
    max-width: 18.375rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-overview-card__flextime-item {
    max-width: 16.25rem;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-overview-card__flextime-item:last-of-type {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-overview-card__flextime-item:last-of-type {
    margin-bottom: 1.5rem;
  }
}

.recruit-overview-card__flextime-time {
  --letter-spacing: 0.01em;
  display: grid;
  grid-template-columns: repeat(3, auto);
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  line-height: 1;
}
@media screen and (min-width: 60em), print {
  .recruit-overview-card__flextime-time {
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-overview-card__flextime-time {
    font-size: 3rem;
  }
}
.recruit-overview-card__flextime-time > span {
  display: inline-block;
  width: 3rem;
  font-size: 2rem;
  text-align: center;
}

.recruit-overview-card__hybrid-image {
  margin-inline: auto;
}

.recruit-overview-card__hybrid-text {
  margin-top: 1.5rem;
  font-size: 1.3125rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-recruit-text-gray);
  text-align: center;
  --letter-spacing: 0.01em;
}
@media screen and (min-width: 60em), print {
  .recruit-overview-card__hybrid-text {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-overview-card__hybrid-text {
    margin-bottom: 1.5rem;
  }
}

.recruit-overview-card__hybrid-text__number {
  font-family: "Oswald", sans-serif;
  font-size: 7.5rem;
  font-weight: 500;
  line-height: 1;
  color: var(--color-black);
}

.recruit-overview-card__hybrid-text__unit {
  font-size: 2.6875rem;
}

.recruit-overview-card__childcare-image {
  margin-inline: auto;
}

.recruit-overview-card__childcare-content {
  display: flex;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  justify-content: center;
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 60em), print {
  .recruit-overview-card__childcare-content {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-overview-card__childcare-content {
    margin-top: 1.5rem;
  }
}

.recruit-overview-card__childcare-text {
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-recruit-text-gray);
  --letter-spacing: 0.01em;
}
@media screen and (min-width: 60em), print {
  .recruit-overview-card__childcare-text {
    font-size: 2.6875rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-overview-card__childcare-text {
    font-size: 2rem;
  }
}
.recruit-overview-card__childcare-text > span {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  line-height: 1;
  color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .recruit-overview-card__childcare-text > span {
    font-size: 6rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-overview-card__childcare-text > span {
    font-size: 5rem;
  }
}

.recruit-faq__anchor-area {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 60em), print {
  .recruit-faq__anchor-area {
    gap: 3rem;
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-faq__anchor-area {
    gap: 1.5rem;
    margin-top: 5rem;
  }
}

@media screen and (min-width: 60em), print {
  .recruit-faq__section {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-faq__section {
    margin-top: 4rem;
  }
}

.recruit-faq__details-list {
  display: grid;
  row-gap: 1rem;
}

.recruit-faq-anchor {
  position: relative;
  display: inline-grid;
  grid-template-columns: repeat(2, auto);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: center;
  transition-duration: var(--transition-duration-hover);
  transition-property: color;
  transform-origin: right;
}
@media (hover: hover) {
  .recruit-faq-anchor:where(:-moz-any-link, :enabled, summary):hover {
    color: var(--color-primary);
  }
  .recruit-faq-anchor:where(:any-link, :enabled, summary):hover {
    color: var(--color-primary);
  }
}

.recruit-faq-anchor__text {
  --letter-spacing: 0.01em;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 60em), print {
  .recruit-faq-anchor__text {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-faq-anchor__text {
    font-size: 1rem;
  }
}

.recruit-faq-anchor__icon {
  position: relative;
  display: block;
  width: 3.5rem;
  height: 3.5rem;
}
.recruit-faq-anchor__icon::before, .recruit-faq-anchor__icon::after {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
}
.recruit-faq-anchor__icon::before {
  width: 100%;
  height: 100%;
  background-color: var(--color-primary);
  border-radius: 50%;
  box-shadow: inset 0 0 0 2.25rem var(--color-accent);
  transition-timing-function: ease-in-out;
  transition-duration: var(--transition-duration-hover);
  transition-property: box-shadow color;
}
.recruit-faq-anchor__icon::after {
  width: 1em;
  height: 1em;
  margin: auto;
  background-color: var(--color-primary);
  transform: rotate(90deg);
  -webkit-mask-image: var(--icon-straight-arrow-right);
          mask-image: var(--icon-straight-arrow-right);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
@media (hover: hover) {
  :where(:-moz-any-link, :enabled, summary):hover .recruit-faq-anchor__icon::before {
    box-shadow: none;
  }
  :where(:any-link, :enabled, summary):hover .recruit-faq-anchor__icon::before {
    box-shadow: none;
  }
  :where(:-moz-any-link, :enabled, summary):hover .recruit-faq-anchor__icon::after {
    background-color: var(--color-accent);
  }
  :where(:any-link, :enabled, summary):hover .recruit-faq-anchor__icon::after {
    background-color: var(--color-accent);
  }
}

.recruit-faq-details {
  position: relative;
  background-color: var(--color-sub-50);
  border-radius: 0.3125rem;
}
@media screen and (min-width: 60em), print {
  .recruit-faq-details {
    padding: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-faq-details {
    padding: 1rem;
  }
}
.recruit-faq-details::before, .recruit-faq-details::after {
  position: absolute;
  right: 1.5rem;
  display: block;
  width: 1rem;
  height: 1px;
  margin-block: auto;
  content: "";
  background-color: var(--color-primary);
  border-radius: calc(infinity * 1px);
}
@media (prefers-reduced-motion: no-preference) {
  .recruit-faq-details::before, .recruit-faq-details::after {
    transition: transform 0.2s;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-faq-details::before, .recruit-faq-details::after {
    top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-faq-details::before, .recruit-faq-details::after {
    top: 2rem;
  }
}
.recruit-faq-details::after {
  transform: rotate(90deg);
}
.recruit-faq-details[open]:not(.is-closing)::after {
  transform: rotate(0deg);
}

.recruit-faq-details__summary {
  --letter-spacing: 0.01em;
  display: grid;
  grid-template-columns: auto 1fr 1rem;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: center;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 60em), print {
  .recruit-faq-details__summary {
    font-size: 1.3125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-faq-details__summary {
    font-size: 1.125rem;
  }
}
.recruit-faq-details__summary::before {
  display: block;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  line-height: 1;
  color: var(--color-accent);
  content: "Q.";
}
@media screen and (min-width: 60em), print {
  .recruit-faq-details__summary::before {
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-faq-details__summary::before {
    font-size: 2rem;
  }
}

.recruit-faq-details__content {
  background-color: var(--color-white);
  border-radius: 0.3125rem;
}
@media screen and (min-width: 60em), print {
  .recruit-faq-details__content {
    padding: 1rem 1.5rem;
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-faq-details__content {
    padding: 1rem;
    margin-top: 1rem;
  }
}

.recruit-faq-details__text {
  line-height: 1.75;
  color: var(--color-recruit-text-gray);
}

.recruit-heading02 {
  --letter-spacing: 0.01em;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 60em), print {
  .recruit-heading02 {
    margin-bottom: 4rem;
    font-size: 1.625rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-heading02 {
    margin-bottom: 2.5rem;
    font-size: 1.3125rem;
  }
}

@media screen and (min-width: 60em), print {
  .recruit-benefits__system:not(:first-child) {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-benefits__system:not(:first-child) {
    margin-top: 5rem;
  }
}

.recruit-benefits__cards {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .recruit-benefits__cards {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 2.5rem;
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-benefits__cards {
    row-gap: 2rem;
    margin-top: 2.5rem;
  }
}

.recruit-icon-card {
  display: flex;
  height: 100%;
  background-color: var(--color-sub-50);
  border-radius: 0.3125rem;
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.3);
}
@media screen and (min-width: 60em), print {
  .recruit-icon-card {
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    align-items: flex-start;
    min-height: 17.5rem;
    padding: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-icon-card {
    flex-flow: column;
    row-gap: 1.5rem;
    padding: 1.5rem;
  }
}

.recruit-icon-card__icon {
  flex-shrink: 0;
  background-color: var(--color-white);
  border-radius: 50%;
}
@media screen and (min-width: 60em), print {
  .recruit-icon-card__icon {
    width: 8rem;
    height: 8rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-icon-card__icon {
    width: 7.5rem;
    height: 7.5rem;
    margin-inline: auto;
  }
}

.recruit-icon-card__image {
  width: 100%;
}
@media screen and (min-width: 60em), print {
  .recruit-icon-card__image {
    padding: 0.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-icon-card__image {
    padding: 0.25rem;
  }
}

.recruit-icon-card__text {
  display: grid;
  row-gap: 1rem;
}

.recruit-icon-card__title {
  font-weight: 700;
  line-height: 1.5;
  --letter-spacing: 0.01em;
}
@media screen and (min-width: 60em), print {
  .recruit-icon-card__title {
    font-size: 1.3125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-icon-card__title {
    font-size: 1.125rem;
  }
}

.recruit-icon-card__lead {
  font-size: 1rem;
  line-height: 1.75;
  --letter-spacing: 0.02em;
  color: var(--color-text-gray);
}

.recruit-icon-card__annotation {
  font-size: 0.875rem;
  line-height: 1.75;
  --letter-spacing: 0.02em;
  color: var(--color-text-gray);
}

@media screen and (min-width: 60em), print {
  .recruit-environment__work:not(:first-child) {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-environment__work:not(:first-child) {
    margin-top: 5rem;
  }
}

.recruit-environment__cards {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .recruit-environment__cards {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 4rem;
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-environment__cards {
    row-gap: 2rem;
    margin-top: 2.5rem;
  }
}

.recruit-environment__annotation {
  font-size: 0.875rem;
  line-height: 1.75;
  --letter-spacing: 0.02em;
  color: var(--color-text-gray);
}
@media screen and (min-width: 60em), print {
  .recruit-environment__annotation:not(:first-child) {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-environment__annotation:not(:first-child) {
    margin-top: 2rem;
  }
}

.recruit-environment-office {
  display: flex;
  flex-flow: column;
  height: 100%;
  background-color: var(--color-sub-50);
  border-radius: 0.3125rem;
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.3);
}
@media screen and (min-width: 60em), print {
  .recruit-environment-office {
    row-gap: 2rem;
    align-items: flex-start;
    padding: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-environment-office {
    row-gap: 1.5rem;
    padding: 1.5rem;
  }
}

.recruit-environment-office__image {
  width: 100%;
  aspect-ratio: 16/9;
  margin-inline: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.recruit-environment-office__text {
  display: grid;
  row-gap: 1rem;
}

.recruit-environment-office__title {
  font-weight: 700;
  line-height: 1.5;
  --letter-spacing: 0.01em;
}
@media screen and (min-width: 60em), print {
  .recruit-environment-office__title {
    font-size: 1.3125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-environment-office__title {
    font-size: 1.125rem;
  }
}

.recruit-environment-office__lead {
  font-size: 1rem;
  line-height: 1.75;
  --letter-spacing: 0.02em;
  color: var(--color-text-gray);
}

.recruit-job-container {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .recruit-job-container {
    grid-template-columns: minmax(10%, 14.875rem) minmax(min-content, 49.25rem);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    justify-content: space-between;
    margin-top: 9.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-job-container {
    margin-top: 5rem;
  }
}

.recruit-job-navigation {
  position: sticky;
  top: var(--recruit-header-height);
  left: 0;
  display: grid;
  align-items: center;
  height: calc(100vh - var(--recruit-header-height));
  background-color: var(--color-accent);
}
.recruit-job-navigation::before {
  position: absolute;
  right: 100%;
  display: block;
  width: 1000px;
  height: 100%;
  content: "";
  background-color: var(--color-accent);
}

.recruit-job-navigation__button-list {
  display: grid;
  row-gap: 1.5rem;
}
.recruit-job-navigation__button-list > li {
  position: relative;
}
.recruit-job-navigation__button-list > li::before {
  position: absolute;
  top: 50%;
  right: calc(100% + 1rem);
  display: block;
  width: 200px;
  height: 1px;
  content: "";
  background-color: var(--color-primary);
  transform: translateY(-50%);
  transform-origin: left;
  scale: 0 1;
  will-change: scale;
}
@media (prefers-reduced-motion: no-preference) {
  .recruit-job-navigation__button-list > li::before {
    transition-duration: var(--transition-duration-motion);
    transition-property: scale;
  }
}
.recruit-job-navigation__button-list > li:has(a[aria-current])::before {
  scale: 1 1;
}
.recruit-job-navigation__button-list > li a {
  --letter-spacing: 0.01em;
  position: relative;
  padding-left: calc(0.75rem + 0.3em);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-white);
}
@media (prefers-reduced-motion: no-preference) {
  .recruit-job-navigation__button-list > li a {
    transition-duration: var(--transition-duration-hover);
    transition-property: color;
  }
}
.recruit-job-navigation__button-list > li a::before {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 0.3em;
  height: 0.3em;
  content: "";
  background-color: currentColor;
  border-radius: 50%;
  transform: translateY(-50%);
}
.recruit-job-navigation__button-list > li a[aria-current] {
  color: var(--color-primary);
}

.recruit-job-heading02 {
  --letter-spacing: 0.01em;
  display: flex;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  align-items: center;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .recruit-job-heading02 {
    margin-bottom: 4rem;
    font-size: 1.625rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-job-heading02 {
    margin-bottom: 2.5rem;
    font-size: 1.3125rem;
  }
}
.recruit-job-heading02::before {
  display: inline-block;
  width: 2rem;
  height: 1px;
  content: "";
  background-color: var(--color-recruit-border);
}

.recruit-job-content {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .recruit-job-content {
    row-gap: 7.5rem;
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-job-content {
    row-gap: 5rem;
  }
}

.recruit-job-content__inner {
  scroll-margin-top: var(--recruit-header-height);
}

.recruit-job-content__card {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: max-content 1fr;
  row-gap: 1rem;
  align-items: center;
}
@media screen and (min-width: 60em), print {
  .recruit-job-content__card {
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-job-content__card {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-job-content__card + .recruit-job-content__card {
    margin-top: 3.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-job-content__card + .recruit-job-content__card {
    margin-top: 2rem;
  }
}

.recruit-job-content__card-image {
  align-self: center;
  background-color: var(--color-sub-50);
  border-radius: 50%;
}
@media screen and (min-width: 60em), print {
  .recruit-job-content__card-image {
    grid-row: span 2;
    width: 7.5rem;
    height: 7.5rem;
    padding: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-job-content__card-image {
    width: 4.5rem;
    height: 4.5rem;
    padding: 0.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-job-content__card-image.recruit-job-content__card-image--producer {
    padding-right: 1rem;
    padding-left: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-job-content__card-image.recruit-job-content__card-image--producer {
    padding-right: 0.5rem;
    padding-left: 1rem;
  }
}
.recruit-job-content__card-image img {
  -o-object-fit: contain;
     object-fit: contain;
}

.recruit-job-content__card-title {
  --letter-spacing: 0.01em;
  display: inline-block;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .recruit-job-content__card-title {
    font-size: 1.3125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-job-content__card-title {
    font-size: 1.125rem;
  }
}

.recruit-job-content__card-text {
  --letter-spacing: 0.02em;
  font-size: 1rem;
  line-height: 1.75;
  color: var(--color-recruit-text-gray);
}
@media screen and (max-width: 59.99em) {
  .recruit-job-content__card-text {
    grid-column: span 2;
  }
}

@media screen and (max-width: 59.99em) {
  .recruit-crosstalk__container {
    width: var(--recruit-container-width);
    margin-inline: auto;
  }
}

.recruit-crosstalk__hero {
  position: relative;
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk__hero {
    padding-bottom: 19.6875rem;
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk__hero {
    margin-top: 4rem;
  }
}

@media screen and (min-width: 60em), print {
  .recruit-crosstalk__hero-image {
    position: absolute;
    bottom: 0;
    left: 0;
    max-width: 55.25rem;
    transform: translateX(calc(var(--recruit-container-spacing-horizontal) * -1.75));
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk__hero-image img {
    width: 100%;
  }
}

.recruit-crosstalk__member-title {
  position: relative;
  --letter-spacing: 0.01em;
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk__member-title {
    padding-bottom: 4rem;
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk__member-title {
    padding-bottom: 1.5rem;
    margin-top: 4rem;
  }
}
.recruit-crosstalk__member-title h2 {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  line-height: 1;
  color: transparent;
  text-shadow: 0 0 1px rgba(255, 255, 255, 0.05), 1px 2px 3px rgba(255, 255, 255, 0.4);
  background: rgba(var(--color-accent-rgb), 0.4);
  -webkit-background-clip: text;
          background-clip: text;
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk__member-title h2 {
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk__member-title h2 {
    font-size: 2.6875rem;
  }
}
.recruit-crosstalk__member-title p {
  position: absolute;
  z-index: 1;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk__member-title p {
    top: 1.75rem;
    left: 1.5rem;
    font-size: 1.625rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk__member-title p {
    top: 1.44rem;
    left: 0;
    font-size: 1.3125rem;
  }
}

@media screen and (max-width: 59.99em) {
  .recruit-crosstalk__member__slider {
    width: 100vw;
    margin-inline: calc(50% - 50vw);
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk__member__slider .splide__track {
    position: relative;
    z-index: 1;
    padding-top: 1.5rem;
    padding-bottom: 3rem;
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk__member__slider .splide__track::before, .recruit-crosstalk__member__slider .splide__track::after {
    position: absolute;
    top: 0;
    z-index: 5;
    display: inline-block;
    width: 15%;
    height: 100%;
    content: "";
    opacity: 0.18;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk__member__slider .splide__track::before {
    left: 0;
    background: linear-gradient(to right, rgb(177, 207, 220), #fff);
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk__member__slider .splide__track::after {
    right: 0;
    background: linear-gradient(to left, rgb(177, 207, 220), #fff);
  }
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk__member__slider .splide__list {
    display: grid !important;
    grid-template-columns: repeat(4, auto);
    row-gap: 3.5rem;
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
    justify-content: center;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk__member__slider .splide__list {
    width: 100%;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk__member__slider .splide__slide {
    max-width: 13.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk__member__slider .splide__slide {
    width: 100%;
    height: auto;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk__member__slider .splide__pagination {
    display: flex;
    -moz-column-gap: 0.75rem;
         column-gap: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk__member__slider .splide__pagination__page {
    width: 0.75rem;
    height: 0.75rem;
    background-color: var(--color-accent);
    border-radius: 50%;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk__member__slider .splide__pagination__page.is-active {
    background-color: var(--color-primary);
  }
}

.recruit-crosstalk__annotation {
  padding-left: 1em;
  font-size: 0.875rem;
  line-height: 1.75;
  text-indent: -1em;
  --letter-spacing: 0.02em;
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk__annotation {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk__annotation {
    margin-top: 2rem;
  }
}
.recruit-crosstalk__annotation + .recruit-crosstalk__annotation {
  margin-top: 0.5rem;
}

.recruit-crosstalk__theme {
  background-color: var(--color-sub-20);
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk__theme {
    margin-inline: min(50% - 50vw, var(--recruit-container-spacing-horizontal) * -1);
    margin-top: 7.5rem;
    overflow-x: hidden;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk__theme {
    width: 100%;
    margin-top: 5rem;
  }
}

@media screen and (min-width: 60em), print {
  .recruit-crosstalk__theme-inner {
    width: min(100% - var(--recruit-container-spacing-horizontal) * 2, 60rem);
    padding-block: 4rem;
    margin-inline: auto;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk__theme-inner {
    padding-block: 3.5rem;
    padding-inline: 1rem;
  }
}

.recruit-crosstalk__theme-title {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  line-height: 1;
  color: var(--color-primary);
  --letter-spacing: 0.01em;
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk__theme-title {
    margin-bottom: 2.5rem;
    font-size: 2.6875rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk__theme-title {
    margin-bottom: 2rem;
    font-size: 2rem;
  }
}

.recruit-crosstalk__theme-lists {
  display: grid;
  row-gap: 1.3rem;
  counter-reset: number;
}

.recruit-crosstalk__theme-item {
  position: relative;
  padding-left: 3em;
  font-weight: 700;
  line-height: 1.5;
  --letter-spacing: 0.01em;
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk__theme-item {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk__theme-item {
    font-size: 1rem;
  }
}
.recruit-crosstalk__theme-item > a {
  background-image: linear-gradient(to top, currentColor 0 1px, transparent 0 100%);
  background-repeat: no-repeat;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  background-position: right;
  background-size: 0 100%;
}
@media (prefers-reduced-motion: no-preference) {
  .recruit-crosstalk__theme-item > a {
    transition-duration: 0.4s;
    transition-property: background-size;
  }
}
.recruit-crosstalk__theme-item > a::before {
  position: absolute;
  top: -0.1em;
  left: 0;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  line-height: 1;
  color: var(--color-accent);
  content: " Q" counter(number) ".";
  counter-increment: number;
  --letter-spacing: 0.01em;
  transition: color var(--transition-duration-hover);
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk__theme-item > a::before {
    font-size: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk__theme-item > a::before {
    font-size: 1.625rem;
  }
}
@media (hover: hover) {
  .recruit-crosstalk__theme-item > a:where(:-moz-any-link, :enabled, summary):hover {
    background-position: left;
    background-size: 100% 100%;
  }
  .recruit-crosstalk__theme-item > a:where(:any-link, :enabled, summary):hover {
    background-position: left;
    background-size: 100% 100%;
  }
  .recruit-crosstalk__theme-item > a:where(:-moz-any-link, :enabled, summary):hover::before {
    color: var(--color-primary);
  }
  .recruit-crosstalk__theme-item > a:where(:any-link, :enabled, summary):hover::before {
    color: var(--color-primary);
  }
}

.recruit-crosstalk__message {
  background-color: var(--color-primary);
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk__message {
    padding: 5rem;
    margin-top: 10rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk__message {
    padding: 2.5rem 1.5rem;
    margin-top: 5rem;
  }
}

.recruit-crosstalk__message-title {
  font-family: "Oswald", sans-serif;
  font-size: 2.6875rem;
  font-weight: 500;
  line-height: 1;
  color: var(--color-white);
  text-align: center;
  --letter-spacing: 0.01rem;
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk__message-title {
    margin-bottom: 3.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk__message-title {
    margin-bottom: 2.5rem;
  }
}

.recruit-crosstalk__message-cards {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk__message-cards {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 2.5rem;
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk__message-cards {
    row-gap: 1.5rem;
  }
}

.recruit-crosstalk-profile {
  display: grid;
  row-gap: 1.5rem;
}

.recruit-crosstalk-profile__person {
  display: grid;
  row-gap: 0.5rem;
  justify-content: center;
}

.recruit-crosstalk-profile__image {
  aspect-ratio: 1/1;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk-profile__image {
    width: 10rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk-profile__image {
    width: 7.5rem;
  }
}

.recruit-crosstalk-profile__name {
  font-size: 1.3125rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  --letter-spacing: 0.01em;
}

.recruit-crosstalk-profile__detail {
  display: grid;
  row-gap: 0.75rem;
}

.recruit-crosstalk-profile__category-job {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-recruit-text-gray);
  --letter-spacing: 0.01em;
}

.recruit-crosstalk-profile__category {
  color: var(--color-accent);
}

.recruit-crosstalk-profile__job {
  color: var(--color-recruit-text-gray);
}

.recruit-crosstalk-profile__joining {
  font-size: 0.875rem;
  line-height: 1.75;
  color: var(--color-recruit-text-gray);
  --letter-spacing: 0.02em;
}

.recruit-crosstalk-profile__description {
  margin-top: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.75;
  --letter-spacing: 0.02em;
}

@media screen and (min-width: 60em), print {
  .recruit-crosstalk-article {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk-article {
    margin-top: 5rem;
  }
}

.recruit-crosstalk-article__question {
  position: relative;
  font-weight: 700;
  line-height: 1.5;
  --letter-spacing: 0.01em;
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk-article__question {
    padding-left: 4em;
    margin-bottom: 4.75rem;
    font-size: 1.3125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk-article__question {
    padding-left: 3em;
    margin-bottom: 1.5rem;
    font-size: 1.125rem;
  }
}
.recruit-crosstalk-article__question > span {
  position: absolute;
  left: 0;
  display: inline-block;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  line-height: 1;
  color: var(--color-accent);
  --letter-spacing: 0.01em;
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk-article__question > span {
    top: -0.2em;
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk-article__question > span {
    font-size: 2rem;
  }
}

.recruit-crosstalk-article__card {
  position: relative;
  margin-inline: auto;
  border-radius: 0.3125rem;
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk-article__card {
    max-width: 60rem;
    padding: 3.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk-article__card {
    padding: 1.5rem;
  }
}
.recruit-crosstalk-article__card.recruit-crosstalk-article__card--right {
  background-color: var(--color-sub-50);
}
.recruit-crosstalk-article__card.recruit-crosstalk-article__card--left {
  background-color: var(--color-sub-20);
}

@media screen and (min-width: 60em), print {
  .recruit-crosstalk-article__card__inner {
    display: flow-root;
  }
}

@media screen and (min-width: 60em), print {
  .recruit-crosstalk-article__picture {
    width: 37.7358490566%;
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk-article__picture {
    width: 18.375rem;
    margin-inline: auto;
    margin-bottom: 2rem;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk-article__picture:not(:first-child) {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk-article__picture:not(:first-child) {
    margin-top: 1.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk-article__card--right .recruit-crosstalk-article__picture {
    float: right;
    margin-left: 2rem;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk-article__card--left .recruit-crosstalk-article__picture {
    float: left;
    margin-right: 2rem;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk-article__picture::after {
    display: block;
    clear: both;
    content: "";
  }
}

@media screen and (min-width: 60em), print {
  .recruit-crosstalk-article__comment:not(:first-child) {
    min-height: 7.75rem;
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk-article__comment:not(:first-child) {
    margin-top: 1.5rem;
  }
}

@media screen and (min-width: 60em), print {
  .recruit-crosstalk-article__speaker {
    position: absolute;
    display: grid;
    row-gap: 0.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk-article__speaker {
    display: grid;
    grid-template-columns: auto 1fr;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk-article__card--left .recruit-crosstalk-article__speaker {
    right: 3.5rem;
  }
}
.recruit-crosstalk-article__speaker > img {
  aspect-ratio: 1/1;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk-article__speaker > img {
    width: 6rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk-article__speaker > img {
    width: 3.25rem;
  }
}
.recruit-crosstalk-article__speaker > p {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.01em;
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk-article__speaker > p {
    text-align: center;
  }
}

.recruit-crosstalk-article__interviewer {
  clear: both;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-recruit-text-gray);
  letter-spacing: 0.01em;
}
.recruit-crosstalk-article__interviewer::before {
  display: inline-block;
  width: 2em;
  height: 2px;
  margin-right: 0.25em;
  vertical-align: middle;
  content: "";
  background-color: currentColor;
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk-article__interviewer {
    font-size: 1rem;
    letter-spacing: 0.01em;
  }
}

.recruit-crosstalk-article__comment + .recruit-crosstalk-article__interviewer {
  margin-top: 2rem;
}

.recruit-crosstalk-article__text {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--color-recruit-text-gray);
  letter-spacing: 0.02em;
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk-article__text {
    margin-top: -1rem;
    margin-left: 4.25rem;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk-article__card--right .recruit-crosstalk-article__text {
    margin-left: 8.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk-article__card--left .recruit-crosstalk-article__text {
    margin-right: 8.5rem;
  }
}

.recruit-crosstalk-card {
  display: grid;
  height: 100%;
  background-color: var(--color-white);
  border-radius: 0.3125rem;
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk-card {
    grid-template-columns: 8fr 17.25fr;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    padding: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk-card {
    row-gap: 1rem;
    padding: 1.5rem;
  }
}

.recruit-crosstalk-card__person {
  display: grid;
  row-gap: 0.25rem;
  align-content: start;
}
.recruit-crosstalk-card__person img {
  aspect-ratio: 1/1;
  margin-inline: auto;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 60em), print {
  .recruit-crosstalk-card__person img {
    width: 8rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-crosstalk-card__person img {
    width: 7rem;
  }
}

.recruit-crosstalk-card__name {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  --letter-spacing: 0.01em;
}

.recruit-crosstalk-card__message {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--color-recruit-text-gray);
  --letter-spacing: 0.02em;
}

@media screen and (max-width: 59.99em) {
  .recruit-back-office__container {
    width: var(--recruit-container-width);
    margin-inline: auto;
  }
}

.recruit-back-office__mv {
  position: relative;
  margin-top: 4rem;
}
@media screen and (min-width: 60em), print {
  .recruit-back-office__mv {
    padding-bottom: 9.375rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-back-office__mv {
    padding-top: 16.5rem;
  }
}

.recruit-back-office__mv-content {
  display: grid;
  row-gap: 1.5rem;
  background: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-accent);
  border-radius: 0.3125rem;
  -webkit-backdrop-filter: blur(15px);
          backdrop-filter: blur(15px);
}
@media screen and (min-width: 60em), print {
  .recruit-back-office__mv-content {
    max-width: 41.25rem;
    padding: 2.5rem;
    margin-left: auto;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-back-office__mv-content {
    padding: 1.5rem;
  }
}

.recruit-back-office__mv-content__title {
  --letter-spacing: 0.01em;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 60em), print {
  .recruit-back-office__mv-content__title {
    font-size: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-back-office__mv-content__title {
    font-size: 1.625rem;
  }
}

.recruit-back-office__mv-content__text {
  line-height: 1.75;
}

.recruit-back-office__mv-image {
  position: absolute;
  z-index: -1;
}
@media screen and (min-width: 60em), print {
  .recruit-back-office__mv-image {
    bottom: 0;
    left: 0;
    max-width: 55.25rem;
    transform: translateX(calc(var(--recruit-container-spacing-horizontal) * -1.75));
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-back-office__mv-image {
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 18.75rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.recruit-back-office__mv-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 60em), print {
  .recruit-back-office__section {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-back-office__section {
    margin-top: 5rem;
  }
}

.recruit-back-office__card-list {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .recruit-back-office__card-list {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 2.5rem;
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-back-office__card-list {
    row-gap: 2rem;
    margin-top: 2.5rem;
  }
}

.recruit-back-office__card {
  display: grid;
  grid-template-rows: auto 1fr;
  row-gap: 1rem;
  background: var(--color-sub-50);
  border-radius: 0.3125rem;
  box-shadow: 0 0 0.3125rem 0 rgba(0, 0, 0, 0.3);
}
@media screen and (min-width: 60em), print {
  .recruit-back-office__card {
    padding: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-back-office__card {
    padding: 1.5rem;
  }
}
.recruit-back-office__card > h3 {
  --letter-spacing: 0.01em;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 60em), print {
  .recruit-back-office__card > h3 {
    font-size: 1.3125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-back-office__card > h3 {
    font-size: 1.125rem;
  }
}
.recruit-back-office__card > p {
  line-height: 1.75;
  color: var(--color-recruit-text-gray);
}

.recruit-business__head-links {
  display: grid;
  justify-items: right;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
@media screen and (min-width: 60em), print {
  .recruit-business__head-links {
    grid-template-columns: repeat(2, auto);
    -moz-column-gap: 3rem;
         column-gap: 3rem;
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-business__head-links {
    row-gap: 1.5rem;
    margin-top: 2rem;
  }
}

@media screen and (min-width: 60em), print {
  .recruit-business__section {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-business__section {
    margin-top: 5rem;
  }
}

.recruit-business__card-list {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .recruit-business__card-list {
    row-gap: 2.5rem;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-business__card-list {
    row-gap: 2rem;
    margin-top: 2.5rem;
  }
}

.recruit-business-card {
  display: grid;
  background-color: var(--color-sub-50);
  border-radius: 0.3125rem;
  box-shadow: 0 0 0.3125rem 0 rgba(0, 0, 0, 0.3);
}
@media screen and (min-width: 60em), print {
  .recruit-business-card {
    grid-template-columns: 51% 45%;
    -moz-column-gap: 4%;
         column-gap: 4%;
    padding: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-business-card {
    row-gap: 1.5rem;
    padding: 1.5rem;
  }
}

.recruit-business-card__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.recruit-business-card__content {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .recruit-business-card__content {
    grid-template-rows: auto 1fr auto;
  }
}

.recruit-business-card__head {
  --letter-spacing: 0.01em;
  display: grid;
  row-gap: 0.25rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 59.99em) {
  .recruit-business-card__head {
    grid-template-columns: auto 1fr;
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
    align-items: center;
  }
}

@media screen and (min-width: 60em), print {
  .recruit-business-card__head__english {
    font-size: 1.625rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-business-card__head__english {
    font-size: 1.3125rem;
  }
}

.recruit-business-card__head__title {
  font-size: 1rem;
}

.recruit-business-card__text {
  margin-top: 1rem;
  line-height: 1.75;
  color: var(--color-recruit-text-gray);
}

.recruit-business-card__button-wrapper {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
@media screen and (min-width: 60em), print {
  .recruit-business-card__button-wrapper {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-business-card__button-wrapper {
    margin-top: 1.5rem;
  }
}

.recruit-business-group-company__text {
  line-height: 1.75;
  color: var(--color-recruit-text-gray);
}
@media screen and (min-width: 60em), print {
  .recruit-business-group-company__text {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-business-group-company__text {
    margin-top: 2.5rem;
  }
}

.recruit-business-group-company__button-wrapper {
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 2rem;
  margin-left: auto;
}

@media screen and (max-width: 59.99em) {
  .recruit-message__container {
    width: var(--recruit-container-width);
    margin-inline: auto;
  }
}

.recruit-message__mv {
  position: relative;
  margin-top: 4rem;
}
@media screen and (min-width: 60em), print {
  .recruit-message__mv {
    padding-bottom: 9.375rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-message__mv {
    padding-top: 16.5rem;
  }
}

.recruit-message__mv-content {
  display: grid;
  row-gap: 1.5rem;
  background: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-accent);
  border-radius: 0.3125rem;
  -webkit-backdrop-filter: blur(15px);
          backdrop-filter: blur(15px);
}
@media screen and (min-width: 60em), print {
  .recruit-message__mv-content {
    max-width: 41.25rem;
    padding: 2.5rem;
    margin-left: auto;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-message__mv-content {
    padding: 1.5rem;
  }
}

.recruit-message__mv-content__title {
  --letter-spacing: 0.01em;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 60em), print {
  .recruit-message__mv-content__title {
    font-size: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-message__mv-content__title {
    font-size: 1.625rem;
  }
}

.recruit-message__mv-content__text {
  line-height: 1.75;
}

.recruit-message__mv-image {
  position: absolute;
  z-index: -1;
}
@media screen and (min-width: 60em), print {
  .recruit-message__mv-image {
    bottom: 0;
    left: 0;
    max-width: 55.25rem;
    transform: translateX(calc(var(--recruit-container-spacing-horizontal) * -1.75));
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-message__mv-image {
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 18.75rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.recruit-message__mv-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.recruit-message__letter {
  position: relative;
  overflow: visible;
}
@media screen and (min-width: 60em), print {
  .recruit-message__letter {
    padding: 0 1.5rem;
    margin-top: 7.5rem;
    margin-bottom: 10rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-message__letter {
    margin-top: 5rem;
    margin-bottom: 5rem;
  }
}
.recruit-message__letter::before {
  position: absolute;
  z-index: 1;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  line-height: 1;
  color: rgba(var(--color-accent-rgb), 0.2);
  content: "‘‘";
}
@media screen and (min-width: 60em), print {
  .recruit-message__letter::before {
    top: -4.5rem;
    left: -0.5rem;
    font-size: 15rem;
    letter-spacing: 0.15rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-message__letter::before {
    top: -3.13rem;
    left: -1rem;
    font-size: 11.25rem;
    letter-spacing: 0.1125rem;
  }
}
.recruit-message__letter::after {
  position: absolute;
  z-index: 0;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  line-height: 1;
  color: rgba(var(--color-accent-rgb), 0.2);
  content: "’’";
}
@media screen and (min-width: 60em), print {
  .recruit-message__letter::after {
    right: -2.1rem;
    bottom: -12rem;
    font-size: 15rem;
    letter-spacing: 0.15rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-message__letter::after {
    right: -1rem;
    bottom: -9.15rem;
    font-size: 11.25rem;
    letter-spacing: 0.1125rem;
  }
}

.recruit-message__letter-title,
.recruit-message__annotation {
  position: relative;
  z-index: 1;
}

.recruit-message__letter-title {
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .recruit-message__letter-title {
    font-size: 1.625rem;
    letter-spacing: 0.01625rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-message__letter-title {
    font-size: 1.3125rem;
    letter-spacing: 0.013125rem;
  }
}

.recruit-message__annotation {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  line-height: 1.5;
  --letter-spacing: 0.02em;
  color: var(--color-recruit-text-gray);
}
@media screen and (min-width: 60em), print {
  .recruit-message__annotation {
    margin-top: 2.5rem;
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-message__annotation {
    margin-top: 2rem;
    font-size: 0.875rem;
  }
}

.recruit-message__section {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .recruit-message__section {
    grid-template-columns: 1fr 1fr;
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-message__section {
    row-gap: 1.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-message__section:first-child {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-message__section:first-child {
    margin-top: 5rem;
  }
}
@media screen and (min-width: 60em), print {
  .recruit-message__section:not(:first-child) {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-message__section:not(:first-child) {
    margin-top: 2.5rem;
  }
}

.recruit-message__heading02 {
  --letter-spacing: 0.01em;
}
.recruit-message__heading02 h2 {
  display: block;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  line-height: 1.4;
  color: transparent;
  text-shadow: 0 0 1px rgba(255, 255, 255, 0.05), 1px 2px 3px rgba(255, 255, 255, 0.4);
  background: rgba(var(--color-accent-rgb), 0.4);
  -webkit-background-clip: text;
          background-clip: text;
}
@media screen and (min-width: 60em), print {
  .recruit-message__heading02 h2 {
    margin-top: -1rem;
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-message__heading02 h2 {
    margin-top: -0.75rem;
    font-size: 2.6875rem;
  }
}
.recruit-message__heading02 p {
  z-index: 1;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .recruit-message__heading02 p {
    margin-top: -2.25rem;
    margin-left: 1.5rem;
    font-size: 1.625rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-message__heading02 p {
    margin-top: -1.5rem;
    font-size: 1.3125rem;
  }
}
.recruit-message__heading02.recruit-message__heading02--ruby p {
  line-height: 1.8;
}
.recruit-message__heading02.recruit-message__heading02--ruby ruby {
  position: relative;
}
.recruit-message__heading02.recruit-message__heading02--ruby rt {
  position: relative;
  top: -0.25em;
  font-size: 0.5625rem;
  font-weight: 400;
  text-align: center;
  /* stylelint-disable-next-line plugin/selector-bem-pattern */
}
.recruit-message__heading02.recruit-message__heading02--ruby rt _::-webkit-full-page-media,
.recruit-message__heading02.recruit-message__heading02--ruby rt _:future,
.recruit-message__heading02.recruit-message__heading02--ruby rt :root, .recruit-message__heading02.recruit-message__heading02--ruby rt {
  translate: 0 0.5rem;
}
@-moz-document url-prefix() {
  .recruit-message__heading02.recruit-message__heading02--ruby rt {
    position: absolute;
    top: -0.5em;
    left: 50%;
    transform: translateX(-50%);
  }
}

.recruit-message__text {
  line-height: 1.75;
  color: var(--color-recruit-text-gray);
}
@media screen and (min-width: 60em), print {
  .recruit-message__text {
    margin-left: 1.5rem;
  }
}
.recruit-message__text + .recruit-message__text {
  margin-top: 1em;
}
@media screen and (min-width: 60em), print {
  .recruit-message__text:first-of-type {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-message__text:first-of-type {
    margin-top: 2rem;
  }
}
.recruit-message__text.recruit-message__text--letter {
  margin-left: 0;
}

.recruit-message__button-wrapper {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
@media screen and (min-width: 60em), print {
  .recruit-message__button-wrapper {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-message__button-wrapper {
    margin-top: 1.5rem;
  }
}

.recruit-message__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.recruit-message__image.recruit-message__image--border {
  border: 1px solid var(--color-recruit-border);
}
@media screen and (min-width: 60em), print {
  .recruit-message__image:not(.recruit-message__image--business) {
    order: 1;
  }
}
.recruit-message__image.recruit-message__image--business {
  -o-object-fit: contain;
     object-fit: contain;
}

@media screen and (min-width: 60em), print {
  .recruit-careersystem__container {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-careersystem__container {
    margin-top: 5rem;
  }
}

.recruit-careersystem__title {
  --letter-spacing: 0.01em;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.5;
}

.recruit-careersystem__text {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--color-recruit-text-gray);
}
@media screen and (min-width: 60em), print {
  .recruit-careersystem__text {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-careersystem__text {
    margin-top: 1.5rem;
  }
}

@media screen and (min-width: 60em), print {
  .recruit-careersystem__figure {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .recruit-careersystem__figure {
    margin-top: 2.5rem;
  }
}
.recruit-careersystem__figure img {
  width: 100%;
}

@media screen and (min-width: 60em), print {
  .pc\:u-hidden {
    display: none;
  }
}

@media screen and (max-width: 59.99em) {
  .sp\:u-hidden {
    display: none;
  }
}

.u-inline-block {
  display: inline-block;
}

@media screen and (max-width: 59.99em) {
  .sp\:u-inline-block {
    display: inline-block;
  }
}

.u-contents {
  display: contents;
}

.u-relative {
  position: relative;
}

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

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

.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}