@charset "UTF-8";
@layer normalize, destyle;
@layer normalize {
  /* Document
   * ========================================================================== */
  /**
   * Add border box sizing in all browsers (opinionated).
   */
  *,
  ::before,
  ::after {
    box-sizing: border-box;
  }
  /**
   * 1. Add text decoration inheritance in all browsers (opinionated).
   * 2. Add vertical alignment inheritance in all browsers (opinionated).
   */
  ::before,
  ::after {
    text-decoration: inherit; /* 1 */
    vertical-align: inherit; /* 2 */
  }
  /**
   * 1. Use the default cursor in all browsers (opinionated).
   * 2. Change the line height in all browsers (opinionated).
   * 3. Use a 4-space tab width in all browsers (opinionated).
   * 4. Remove the grey highlight on links in iOS (opinionated).
   * 5. Prevent adjustments of font size after orientation changes in
   *    IE on Windows Phone and in iOS.
   * 6. Breaks words to prevent overflow in all browsers (opinionated).
   */
  html {
    cursor: default; /* 1 */
    line-height: 1.5; /* 2 */
    -moz-tab-size: 4; /* 3 */
    -o-tab-size: 4;
    tab-size: 4; /* 3 */
    -webkit-tap-highlight-color: transparent;
    -ms-text-size-adjust: 100%; /* 5 */
    -webkit-text-size-adjust: 100%; /* 5 */
    word-break: break-word; /* 6 */
  }
  /* Sections
   * ========================================================================== */
  /**
   * Remove the margin in all browsers (opinionated).
   */
  body {
    margin: 0;
  }
  /**
   * Correct the font size and margin on `h1` elements within `section` and
   * `article` contexts in Chrome, Edge, Firefox, and Safari.
   */
  h1 {
    font-size: 2em;
    margin: 0.67em 0;
  }
  /* Grouping content
   * ========================================================================== */
  /**
   * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
   */
  dl dl,
  dl ol,
  dl ul,
  ol dl,
  ul dl {
    margin: 0;
  }
  /**
   * Remove the margin on nested lists in Edge 18- and IE.
   */
  ol ol,
  ol ul,
  ul ol,
  ul ul {
    margin: 0;
  }
  /**
   * 1. Add the correct sizing in Firefox.
   * 2. Show the overflow in Edge 18- and IE.
   */
  hr {
    height: 0; /* 1 */
    overflow: visible; /* 2 */
  }
  /**
   * Add the correct display in IE.
   */
  main {
    display: block;
  }
  /**
   * Remove the list style on navigation lists in all browsers (opinionated).
   */
  nav ol,
  nav ul {
    list-style: none;
    padding: 0;
  }
  /**
   * 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: 1em; /* 2 */
  }
  /* Text-level semantics
   * ========================================================================== */
  /**
   * Remove the gray background on active links in IE 10.
   */
  a {
    background-color: transparent;
  }
  /**
   * Add the correct text decoration in Edge 18-, IE, and Safari.
   */
  abbr[title] {
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  /**
   * 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: 1em; /* 2 */
  }
  /**
   * Add the correct font size in all browsers.
   */
  small {
    font-size: 80%;
  }
  /* Embedded content
   * ========================================================================== */
  /*
   * Change the alignment on media elements in all browsers (opinionated).
   */
  audio,
  canvas,
  iframe,
  img,
  svg,
  video {
    vertical-align: middle;
  }
  /**
   * Add the correct display in IE 9-.
   */
  audio,
  video {
    display: inline-block;
  }
  /**
   * Add the correct display in iOS 4-7.
   */
  audio:not([controls]) {
    display: none;
    height: 0;
  }
  /**
   * Remove the border on iframes in all browsers (opinionated).
   */
  iframe {
    border-style: none;
  }
  /**
   * Remove the border on images within links in IE 10-.
   */
  img {
    border-style: none;
  }
  /**
   * Change the fill color to match the text color in all browsers (opinionated).
   */
  svg:not([fill]) {
    fill: currentColor;
  }
  /**
   * Hide the overflow in IE.
   */
  svg:not(:root) {
    overflow: hidden;
  }
  /* Tabular data
   * ========================================================================== */
  /**
   * Collapse border spacing in all browsers (opinionated).
   */
  table {
    border-collapse: collapse;
  }
  /* Forms
   * ========================================================================== */
  /**
   * Remove the margin on controls in Safari.
   */
  button,
  input,
  select {
    margin: 0;
  }
  /**
   * 1. Show the overflow in IE.
   * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
   */
  button {
    overflow: visible; /* 1 */
    text-transform: none; /* 2 */
  }
  /**
   * Correct the inability to style buttons in iOS and Safari.
   */
  button,
  [type=button],
  [type=reset],
  [type=submit] {
    -webkit-appearance: button;
  }
  /**
   * 1. Change the inconsistent appearance in all browsers (opinionated).
   * 2. Correct the padding in Firefox.
   */
  fieldset {
    border: 1px solid #a0a0a0; /* 1 */
    padding: 0.35em 0.75em 0.625em; /* 2 */
  }
  /**
   * Show the overflow in Edge 18- and IE.
   */
  input {
    overflow: visible;
  }
  /**
   * 1. Correct the text wrapping in Edge 18- and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   */
  legend {
    color: inherit; /* 2 */
    display: table; /* 1 */
    max-width: 100%; /* 1 */
    white-space: normal; /* 1 */
  }
  /**
   * 1. Add the correct display in Edge 18- and IE.
   * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
   */
  progress {
    display: inline-block; /* 1 */
    vertical-align: baseline; /* 2 */
  }
  /**
   * Remove the inheritance of text transform in Firefox.
   */
  select {
    text-transform: none;
  }
  /**
   * 1. Remove the margin in Firefox and Safari.
   * 2. Remove the default vertical scrollbar in IE.
   * 3. Change the resize direction in all browsers (opinionated).
   */
  textarea {
    margin: 0; /* 1 */
    overflow: auto; /* 2 */
    resize: vertical; /* 3 */
  }
  /**
   * Remove the padding in IE 10-.
   */
  [type=checkbox],
  [type=radio] {
    padding: 0;
  }
  /**
   * 1. Correct the odd appearance in Chrome, Edge, and Safari.
   * 2. Correct the outline style in Safari.
   */
  [type=search] {
    -webkit-appearance: textfield; /* 1 */
    outline-offset: -2px; /* 2 */
  }
  /**
   * Correct the cursor style of increment and decrement buttons in Safari.
   */
  ::-webkit-inner-spin-button,
  ::-webkit-outer-spin-button {
    height: auto;
  }
  /**
   * Correct the text style of placeholders in Chrome, Edge, and Safari.
   */
  ::-webkit-input-placeholder {
    color: inherit;
    opacity: 0.54;
  }
  /**
   * Remove the inner padding in Chrome, Edge, and Safari on macOS.
   */
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  /**
   * 1. Correct the inability to style upload buttons in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
  ::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
  }
  /**
   * Remove the inner border and padding of focus outlines in Firefox.
   */
  ::-moz-focus-inner {
    border-style: none;
    padding: 0;
  }
  /**
   * Restore the focus outline styles unset by the previous rule in Firefox.
   */
  :-moz-focusring {
    outline: 1px dotted ButtonText;
  }
  /**
   * Remove the additional :invalid styles in Firefox.
   */
  :-moz-ui-invalid {
    box-shadow: none;
  }
  /* Interactive
   * ========================================================================== */
  /*
   * Add the correct display in Edge 18- and IE.
   */
  details {
    display: block;
  }
  /*
   * Add the correct styles in Edge 18-, IE, and Safari.
   */
  dialog {
    background-color: white;
    border: solid;
    color: black;
    display: block;
    height: -moz-fit-content;
    height: fit-content;
    left: 0;
    margin: auto;
    padding: 1em;
    position: absolute;
    right: 0;
    width: -moz-fit-content;
    width: fit-content;
  }
  dialog:not([open]) {
    display: none;
  }
  /*
   * Add the correct display in all browsers.
   */
  summary {
    display: list-item;
  }
  /* Scripting
   * ========================================================================== */
  /**
   * Add the correct display in IE 9-.
   */
  canvas {
    display: inline-block;
  }
  /**
   * Add the correct display in IE.
   */
  template {
    display: none;
  }
  /* User interaction
   * ========================================================================== */
  /*
   * 1. Remove the tapping delay in IE 10.
   * 2. Remove the tapping delay on clickable elements
        in all browsers (opinionated).
   */
  a,
  area,
  button,
  input,
  label,
  select,
  summary,
  textarea,
  [tabindex] { /* 1 */
    touch-action: manipulation; /* 2 */
  }
  /**
   * Add the correct display in IE 10-.
   */
  [hidden] {
    display: none;
  }
  /* Accessibility
   * ========================================================================== */
  /**
   * Change the cursor on busy elements in all browsers (opinionated).
   */
  [aria-busy=true] {
    cursor: progress;
  }
  /*
   * Change the cursor on control elements in all browsers (opinionated).
   */
  [aria-controls] {
    cursor: pointer;
  }
  /*
   * Change the cursor on disabled, not-editable, or otherwise
   * inoperable elements in all browsers (opinionated).
   */
  [aria-disabled=true],
  [disabled] {
    cursor: not-allowed;
  }
  /*
   * Change the display on visually hidden accessible elements
   * in all browsers (opinionated).
   */
  [aria-hidden=false][hidden] {
    display: initial;
  }
  [aria-hidden=false][hidden]:not(:focus) {
    clip: rect(0, 0, 0, 0);
    position: absolute;
  }
}
@layer destyle {
  /*! destyle.css v4.0.1 | 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;
    min-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;
  }
  .wp-block-content * {
    all: revert-layer;
  }
}
/* ============================================================
/* variables
============================================================ */
:root {
  /* color */
  --color-base: #343434;
  --color-primary: #ed6c00;
  --color-primary-container: #fff8f2;
  --color-secondary: #145ba9;
  --color-secondary-container: #f0f5f9;
  --color-container: #f4f4f4;
  --color-border: #dddddd;
  --color-caution: #ff1614;
  --color-caution-container: #fff1f1;
  --color-gray: #bcbcbc;
  --color-career: var(--color-primary);
  --color-career-container: var(--color-primary-container);
}

/* ============================================================
/* base
============================================================ */
body {
  font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 400;
  line-height: 1.8;
  color: var(--color-base);
}

@media screen and (min-width: 812px) {
  html {
    font-size: 62.5%;
  }
  body {
    font-size: 1.6rem;
    line-height: 2.25;
  }
}
@media screen and (min-width: 812px) and (max-width: 1100px) {
  html {
    font-size: 0.9090909091vw;
  }
}
@media screen and (max-width: 811px) {
  html {
    font-size: 14px;
    font-size: 1.98vw;
  }
  body {
    min-width: 320px;
    font-size: 1.4rem;
    line-height: 2;
  }
}
@media screen and (max-width: 520px) {
  html {
    font-size: 2.67vw;
  }
}
/* ============================================================
/* module
============================================================ */
img {
  max-width: 100%;
  height: auto;
}

@media (hover: hover) {
  a[href^="tel:"] {
    pointer-events: none;
    text-decoration: none;
  }
}
a,
button {
  color: inherit;
  text-decoration: underline;
}

@media (hover: hover) {
  a:hover,
  button:hover {
    text-decoration: none;
  }
}
/* breakpoint only layout */
@media screen and (min-width: 812px) {
  .sp-only {
    display: none !important;
  }
}
@media screen and (max-width: 811px) {
  .pc-only {
    display: none !important;
  }
}
/* icon
============================================================ */
.m-icon-medal, .m-icon-search, .m-icon-book, .m-icon-rounded-blank, .m-icon-blank, .m-icon-person, .m-icon-docs, .m-icon-mail, .m-arrow {
  position: relative;
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: middle;
}
.m-icon-medal:before, .m-icon-search:before, .m-icon-book:before, .m-icon-rounded-blank:before, .m-icon-blank:before, .m-icon-person:before, .m-icon-docs:before, .m-icon-mail:before, .m-arrow:before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: no-repeat center center;
  background-size: contain;
}

.m-arrow:before {
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/common/icon_rounded_arrow.svg");
  mask-image: url("../img/common/icon_rounded_arrow.svg");
  background: currentColor;
}

.m-icon-mail:before {
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/common/icon_mail.svg");
  mask-image: url("../img/common/icon_mail.svg");
  background: currentColor;
}

.m-icon-docs:before {
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/common/icon_docs.svg");
  mask-image: url("../img/common/icon_docs.svg");
  background: currentColor;
}

.m-icon-person:before {
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/common/icon_person.svg");
  mask-image: url("../img/common/icon_person.svg");
  background: currentColor;
}

.m-icon-blank:before {
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/common/icon_blank.svg");
  mask-image: url("../img/common/icon_blank.svg");
  background: currentColor;
}

.m-icon-rounded-blank:before {
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/common/icon_rounded_blank.svg");
  mask-image: url("../img/common/icon_rounded_blank.svg");
  background: currentColor;
}

.m-icon-book:before {
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/common/icon_book.svg");
  mask-image: url("../img/common/icon_book.svg");
  background: currentColor;
}

.m-icon-search:before {
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/common/icon_search.svg");
  mask-image: url("../img/common/icon_search.svg");
  background: currentColor;
}

.m-icon-medal:before {
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/common/icon_medal.svg");
  mask-image: url("../img/common/icon_medal.svg");
  background: currentColor;
}

.link-pdf {
  display: inline-flex;
  align-items: baseline;
  gap: 0.5em;
}
.link-pdf:after {
  content: url("../img/common/icon_pdf.svg");
}

/* btn
============================================================ */
.rm-btn, .m-btn {
  position: relative;
  display: flex;
  align-items: center;
  max-width: 100%;
}

.m-btn {
  color: var(--color-primary);
  background-color: var(--color-container);
  text-decoration: none;
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
  font-weight: 600;
  padding: 0 3em 0 1.5em;
  width: -moz-fit-content;
  width: fit-content;
}
.m-btn .m-arrow {
  position: absolute;
  top: 50%;
  margin-top: -1rem;
  right: 1.7rem;
  width: 2rem;
  height: 2rem;
}
@media (hover: hover) {
  .m-btn {
    transition: background-color 0.3s ease;
  }
  .m-btn:hover {
    color: #fff;
    background-color: var(--color-primary);
  }
  .m-btn .m-arrow {
    transition: transform 0.3s ease;
  }
  .m-btn:hover .m-arrow {
    transform: scale(1.2);
  }
}
@media screen and (min-width: 812px) {
  .m-btn {
    min-width: 16rem;
    height: 5.4rem;
    font-size: 1.4rem;
    border-radius: 5.4rem;
  }
}
@media screen and (max-width: 811px) {
  .m-btn {
    min-width: 16rem;
    height: 5.4rem;
    font-size: 1.4rem;
    border-radius: 5.4rem;
  }
}
.m-btn.btn-white {
  background-color: #fff;
}
@media (hover: hover) {
  .m-btn.btn-white:hover {
    background-color: var(--color-primary);
  }
}
.m-btn.btn-invert {
  color: #fff;
  background-color: var(--color-career);
}
@media (hover: hover) {
  .m-btn.btn-invert:hover {
    outline: 1px solid var(--color-career);
    color: var(--color-career);
    background-color: var(--color-career-container);
  }
}
.m-btn.disabled, .m-btn:disabled {
  color: #fff;
  border-color: transparent;
  background-color: #e0e0e0;
}

.rm-btn {
  color: var(--color-career);
  background-color: var(--color-career-container);
  text-decoration: none;
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
  font-weight: 600;
  padding: 0 3em 0 1.5em;
  width: -moz-fit-content;
  width: fit-content;
}
.rm-btn .m-arrow {
  position: absolute;
  top: 50%;
  margin-top: -1rem;
  right: 1.7rem;
  width: 2rem;
  height: 2rem;
}
@media (hover: hover) {
  .rm-btn {
    transition: background-color 0.3s ease;
  }
  .rm-btn:hover {
    color: #fff;
    background-color: var(--color-career);
  }
  .rm-btn .m-arrow {
    transition: transform 0.3s ease;
  }
  .rm-btn:hover .m-arrow {
    transform: scale(1.2);
  }
}
@media screen and (min-width: 812px) {
  .rm-btn {
    min-width: 22rem;
    height: 5.4rem;
    font-size: 1.4rem;
    border-radius: 1rem;
  }
}
@media screen and (max-width: 811px) {
  .rm-btn {
    min-width: 22rem;
    height: 5.4rem;
    font-size: 1.4rem;
    border-radius: 1rem;
  }
}
.rm-btn.btn-white {
  background-color: #fff;
}
@media (hover: hover) {
  .rm-btn.btn-white:hover {
    background-color: var(--color-career);
  }
}
.rm-btn.btn-invert {
  color: #fff;
  background-color: var(--color-career);
}
@media (hover: hover) {
  .rm-btn.btn-invert:hover {
    outline: 1px solid var(--color-career);
    color: var(--color-career);
    background-color: var(--color-career-container);
  }
}
.rm-btn.btn-primary {
  color: #fff;
  background-color: var(--color-primary);
}
@media (hover: hover) {
  .rm-btn.btn-primary:hover {
    color: var(--color-primary);
    background-color: #fff;
  }
}
.rm-btn.btn-large > span {
  display: flex;
  align-items: center;
}
.rm-btn.btn-large .ja {
  font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 400;
  font-weight: 600;
}
@media screen and (min-width: 812px) {
  .rm-btn.btn-large {
    min-width: 30rem;
  }
  .rm-btn.btn-large > span {
    -moz-column-gap: 1rem;
    column-gap: 1rem;
  }
  .rm-btn.btn-large strong {
    font-size: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .rm-btn.btn-large {
    min-width: 26rem;
  }
  .rm-btn.btn-large > span {
    -moz-column-gap: 1rem;
    column-gap: 1rem;
  }
  .rm-btn.btn-large strong {
    font-size: 1.8rem;
  }
}
.rm-btn.disabled, .rm-btn:disabled {
  color: #fff;
  border-color: transparent;
  background-color: #e0e0e0;
}

/* table
============================================================ */
.m-table {
  table-layout: fixed;
  width: 100%;
}
.m-table th,
.m-table td {
  border: 1px solid #ccc;
  font-feature-settings: "palt";
  letter-spacing: 0.01em;
}
.m-table th {
  font-weight: 700;
  background-color: var(--color-container);
}
@media screen and (min-width: 812px) {
  .m-table th,
  .m-table td {
    padding: 2.8rem 2.1rem;
  }
}
@media screen and (max-width: 811px) {
  .m-table th,
  .m-table td {
    padding: 1.2rem 1.6rem;
  }
}

/* pagination
============================================================ */
.m-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
}
.m-pagination a,
.m-pagination span {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 0.1rem solid transparent;
  border-radius: 50%;
  text-decoration: none;
  background-color: var(--color-container);
}
@media (hover: hover) {
  .m-pagination a {
    transition: all 0.3s ease;
  }
  .m-pagination a:hover {
    color: var(--color-primary);
    border-color: currentColor;
    background-color: var(--color-secondary);
  }
}
.m-pagination .current {
  color: #fff;
  border-color: transparent;
  background: var(--color-primary);
  pointer-events: none;
}
.m-pagination .prev,
.m-pagination .next {
  background-color: transparent !important;
  border-color: transparent !important;
}
.m-pagination .prev em {
  transform: rotate(180deg);
}
.m-pagination .disabled {
  color: #e0e0e0;
  pointer-events: none;
}
@media screen and (min-width: 812px) {
  .m-pagination {
    margin-top: 8rem;
    -moz-column-gap: 1.2rem;
    column-gap: 1.2rem;
  }
  .m-pagination a,
  .m-pagination span {
    width: 4.8rem;
    height: 4.8rem;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 811px) {
  .m-pagination {
    margin-top: 4rem;
    -moz-column-gap: 0.8rem;
    column-gap: 0.8rem;
  }
  .m-pagination a,
  .m-pagination span {
    width: 4rem;
    height: 4rem;
    font-size: 1.2rem;
  }
}

/* m-form
============================================================ */
.m-form {
  display: none;
}
.m-form.is_visible {
  display: block;
  animation: fadeIn 1s ease forwards;
}
.m-form__container.loading:after {
  content: "";
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 5rem;
  height: 5rem;
  border: 3px solid var(--color-career);
  border-top: 3px solid transparent;
  border-radius: 50%;
  animation: loading-spin 0.5s linear 0s infinite;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
@keyframes loading-spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
.m-form__list {
  display: flex;
  flex-direction: column;
}
.m-form__note {
  margin-bottom: 2.4rem;
}
.m-form .required {
  display: inline-block;
  margin: 0 1.5em;
  color: var(--color-career);
  font-size: 1.2rem;
}
.m-form__acceptance {
  text-align: center;
  border: 1px solid var(--color-border);
}
.m-form__acceptance__text {
  line-height: 1.4;
}
.m-form__submit {
  display: flex;
  justify-content: center;
  align-items: center;
}
.m-form__btn-submit {
  position: relative;
  padding: 0;
  text-align: center;
}
.m-form__btn-submit:has(:disabled) {
  color: #fff;
  background-color: #c1c1c1;
  pointer-events: none;
}
.m-form__btn-submit input {
  display: block;
  width: 100%;
  height: 100%;
}
.m-form__btn-back {
  position: relative;
  padding: 0;
  text-align: center;
  color: var(--color-base) !important;
  background-color: var(--color-container) !important;
}
@media (hover: hover) {
  .m-form__btn-back:hover {
    background-color: var(--color-base) !important;
    color: var(--color-container) !important;
  }
}
.m-form__btn-back .m-arrow {
  left: 1.7rem;
}
.m-form__btn-back .m-arrow:before {
  transform: rotate(180deg);
}
.m-form__btn-back input {
  display: block;
  width: 100%;
  height: 100%;
}
.m-form a {
  color: var(--color-primary);
  text-decoration: underline;
}
@media (hover: hover) {
  .m-form a:hover {
    text-decoration: none;
  }
}
@media screen and (min-width: 812px) {
  .m-form__preface {
    margin-bottom: 5.7rem;
    text-align: center;
  }
  .m-form__list {
    row-gap: 4rem;
  }
  .m-form__acceptance {
    max-width: 67rem;
    padding: 3rem 0;
    margin: 4rem auto 0;
  }
  .m-form__acceptance__text {
    margin-bottom: 2rem;
  }
  .m-form__submit {
    margin-top: 4rem;
    -moz-column-gap: 3rem;
    column-gap: 3rem;
  }
  .m-form__btn-submit, .m-form__btn-back {
    width: 30rem;
  }
}
@media screen and (max-width: 811px) {
  .m-form__preface {
    margin-bottom: 5rem;
  }
  .m-form__list {
    row-gap: 3.5rem;
  }
  .m-form__acceptance {
    padding: 2rem;
    margin-top: 3.5rem;
  }
  .m-form__acceptance__text {
    margin-bottom: 1rem;
  }
  .m-form__submit {
    margin-top: 3.5rem;
    flex-direction: column;
    row-gap: 2rem;
  }
  .m-form__btn-submit, .m-form__btn-back {
    width: 26rem;
  }
}

.wpcf7-spinner {
  display: none;
}

.wpcf7-not-valid-tip {
  font-size: calc(100% - 0.2rem);
}

.wpcf7-response-output {
  display: none;
}

/* m-form-item
============================================================ */
.m-form-item__caption {
  font-weight: 700;
  margin-bottom: 0.25em;
  letter-spacing: normal;
  font-size: 1.6rem;
}
.m-form-item__notes {
  margin-bottom: 0.5em;
  font-size: 1.2rem;
  color: #666;
}
.m-form-item__input {
  position: relative;
  width: 100%;
}
.m-form-item__input input[type=text],
.m-form-item__input input[type=email],
.m-form-item__input input[type=tel],
.m-form-item__input input[type=url],
.m-form-item__input input[type=number],
.m-form-item__input input[type=password],
.m-form-item__input select,
.m-form-item__input textarea {
  width: 100%;
  line-height: 2;
  font: inherit;
  border: 1px solid var(--color-container);
  border-radius: inherit;
  background: var(--color-container);
}
.m-form-item__input input[type=text]:focus,
.m-form-item__input input[type=email]:focus,
.m-form-item__input input[type=tel]:focus,
.m-form-item__input input[type=url]:focus,
.m-form-item__input input[type=number]:focus,
.m-form-item__input input[type=password]:focus,
.m-form-item__input select:focus,
.m-form-item__input textarea:focus {
  outline-color: var(--color-border);
}
.m-form-item__input input[type=text][aria-invalid=true],
.m-form-item__input input[type=email][aria-invalid=true],
.m-form-item__input input[type=tel][aria-invalid=true],
.m-form-item__input input[type=url][aria-invalid=true],
.m-form-item__input input[type=number][aria-invalid=true],
.m-form-item__input input[type=password][aria-invalid=true],
.m-form-item__input select[aria-invalid=true],
.m-form-item__input textarea[aria-invalid=true] {
  border-color: var(--color-caution);
  box-shadow: 0 0 0 300px var(--color-caution-container) inset;
}
@media screen and (min-width: 812px) {
  .m-form-item__input input[type=text],
  .m-form-item__input input[type=email],
  .m-form-item__input input[type=tel],
  .m-form-item__input input[type=url],
  .m-form-item__input input[type=number],
  .m-form-item__input input[type=password],
  .m-form-item__input select,
  .m-form-item__input textarea {
    padding: 1.1rem 2rem;
  }
}
@media screen and (max-width: 811px) {
  .m-form-item__input input[type=text],
  .m-form-item__input input[type=email],
  .m-form-item__input input[type=tel],
  .m-form-item__input input[type=url],
  .m-form-item__input input[type=number],
  .m-form-item__input input[type=password],
  .m-form-item__input select,
  .m-form-item__input textarea {
    padding: 0.9rem 1.6rem;
  }
}
@media screen and (min-width: 812px) {
  .m-form-item__input textarea {
    padding: 2.2rem 2rem;
    height: 40rem;
  }
}
@media screen and (max-width: 811px) {
  .m-form-item__input textarea {
    padding: 2rem 1.6rem;
    height: 32rem;
  }
}
.m-form-item__input select {
  background-image: url(../img/common/icon_chevron_down.svg);
  background-repeat: no-repeat;
  background-position: right 1.6rem center;
}
.m-form-item__input select:has(option[value=""]:checked) {
  color: #a9a9a9;
}
.m-form-item__input::-moz-placeholder, .m-form-item__input ::-moz-placeholder {
  color: #a9a9a9;
  opacity: 1;
}
.m-form-item__input::placeholder,
.m-form-item__input ::placeholder {
  color: #a9a9a9;
  opacity: 1;
}
.m-form-item__input select.noselected {
  color: #a9a9a9;
  opacity: 1;
}
.m-form-item__input label:has([type=checkbox]),
.m-form-item__input label:has([type=radio]) {
  position: relative;
  display: inline-block;
  padding-left: 2.5rem;
  cursor: pointer;
}
.m-form-item__input label:has([type=checkbox]) input,
.m-form-item__input label:has([type=radio]) input {
  position: absolute;
  left: 0;
  top: 0;
}
.m-form-item__input label:has([type=checkbox]):before,
.m-form-item__input label:has([type=radio]):before {
  content: "";
  position: absolute;
  left: 0.5em;
  top: 50%;
  display: block;
  width: 1em;
  height: 1em;
  border-radius: 0.2em;
  transform: translate(-50%, -50%);
  border: 1px solid #ccc;
  background-color: #fff;
  transition: all 0.2s ease;
}
.m-form-item__input label:has([type=checkbox]):after,
.m-form-item__input label:has([type=radio]):after {
  content: "";
  position: absolute;
  left: 0.5em;
  top: 50%;
  display: block;
  background-color: #fff;
  transition: transform 0.3s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transform: translate(-50%, -50%) scale(0);
}
.m-form-item__input label:has([type=checkbox]:checked):before,
.m-form-item__input label:has([type=radio]:checked):before {
  border-color: var(--color-primary);
  background-color: var(--color-primary);
}
.m-form-item__input label:has([type=checkbox]:checked):after,
.m-form-item__input label:has([type=radio]:checked):after {
  transform: translate(-50%, -50%) scale(1);
}
.m-form-item__input label:has([type=checkbox]):before {
  border-radius: 0.2em;
}
.m-form-item__input label:has([type=checkbox]):after {
  width: 0.8rem;
  height: 0.8rem;
  clip-path: polygon(0% 40%, 0% 50%, 34% 85%, 48% 85%, 100% 21%, 100% 9%, 89% 9%, 40% 70%, 11% 40%);
}
.m-form-item__input label:has([type=radio]):before {
  border-radius: 50%;
}
.m-form-item__input label:has([type=radio]):after {
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
}
@media screen and (min-width: 812px) {
  .m-form-item__input.short {
    width: 28rem;
  }
  .m-form-item__date {
    display: grid;
    grid-template-columns: repeat(3, 19rem);
    -moz-column-gap: 2rem;
    column-gap: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .m-form-item__input {
    font-size: max(16px, 1.4rem);
  }
  .m-form-item__date {
    display: flex;
    -moz-column-gap: 0.8rem;
    column-gap: 0.8rem;
  }
  .m-form-item__date > * {
    flex: 1;
  }
  .m-form-item__date > *:has([name*=-y]) {
    flex: 1.5;
  }
}
.m-form-item .wpcf7-radio {
  display: flex;
  flex-direction: column;
}
.m-form-item .wpcf7-radio .wpcf7-list-item {
  margin: 0;
  font-size: 1.5rem;
}

.m-form-error {
  font-size: calc(100% - 0.2rem);
  color: var(--color-caution);
  margin-top: 0.5em;
}

.m-form-item:has(.m-form-error) .m-form-item__input input[type=text],
.m-form-item:has(.m-form-error) .m-form-item__input input[type=email],
.m-form-item:has(.m-form-error) .m-form-item__input input[type=tel],
.m-form-item:has(.m-form-error) .m-form-item__input input[type=url],
.m-form-item:has(.m-form-error) .m-form-item__input input[type=number],
.m-form-item:has(.m-form-error) .m-form-item__input input[type=password],
.m-form-item:has(.m-form-error) .m-form-item__input select,
.m-form-item:has(.m-form-error) .m-form-item__input textarea {
  border-color: var(--color-caution);
  box-shadow: 0 0 0 300px var(--color-caution-container) inset;
}

.m-form#form-confirm .m-form-item {
  border-bottom: 1px solid var(--color-border);
}
@media screen and (min-width: 812px) {
  .m-form#form-confirm .m-form-item {
    padding-bottom: 4rem;
  }
}
@media screen and (max-width: 811px) {
  .m-form#form-confirm .m-form-item {
    padding-bottom: 3.5rem;
  }
}

/* accordion
============================================================ */
.js-accordion [aria-hidden], .js-accordion__content {
  display: grid;
  grid-template-rows: 1fr;
  transition: grid-template-rows 0.2s ease-out;
}
.js-accordion [aria-hidden][aria-hidden=true], .js-accordion__content[aria-hidden=true] {
  grid-template-rows: 0fr;
}
.js-accordion__content__inner {
  overflow: hidden;
}

/* tab
============================================================ */
.js-tab [aria-hidden], .js-tab__tabpanel {
  display: grid;
  grid-template-rows: 1fr;
  transition: opacity 0.5s ease-out, visibility 0.5s ease-out, transform 0.5s ease-out;
}
.js-tab [aria-hidden][aria-hidden=true], .js-tab__tabpanel[aria-hidden=true] {
  visibility: hidden;
  opacity: 0;
  transform: translateY(20px);
  grid-template-rows: 0fr;
}
.js-tab.slide-panel [aria-hidden], .js-tab.slide-panel .js-tab__tabpanel {
  transition: opacity 0.3s ease-out 0.2s, visibility 0.3s ease-out 0.2s, grid-template-rows 0.2s ease-out;
}
.js-tab__tabpanel__inner {
  overflow: hidden;
}

/* title
============================================================ */
.m-ttl {
  display: flex;
  flex-direction: column;
}
.m-ttl .sub {
  display: block;
  line-height: 1;
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--color-primary);
  white-space: nowrap;
}
.m-ttl .main {
  display: block;
  line-height: 1.3;
  font-weight: 700;
}
@media screen and (min-width: 812px) {
  .m-ttl {
    row-gap: 2rem;
    margin-bottom: 2.5rem;
  }
  .m-ttl .sub {
    font-size: 1.4rem;
  }
  .m-ttl .main {
    font-size: 3.6rem;
  }
}
@media screen and (max-width: 811px) {
  .m-ttl {
    row-gap: 1.6rem;
    margin-bottom: 2.1rem;
  }
  .m-ttl .sub {
    font-size: 1.2rem;
  }
  .m-ttl .main {
    font-size: 2.8rem;
  }
}

/* recruit title
============================================================ */
.rm-ttl {
  display: flex;
  flex-direction: column;
  line-height: 1;
}
.rm-ttl .sub {
  font-family: "Raleway", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-weight: 700;
  white-space: nowrap;
}
.rm-ttl .main {
  font-weight: 700;
}
.rm-ttl .main:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 1rem;
  height: 1rem;
  background-color: var(--color-career);
  border-radius: 50%;
  margin-right: 0.5rem;
}
.rm-ttl .main em {
  font-style: normal;
  color: var(--color-career);
}
@media screen and (min-width: 812px) {
  .rm-ttl {
    margin-bottom: 5.2rem;
    row-gap: 0.8rem;
  }
  .rm-ttl .sub {
    font-size: min(6.8rem, 5.2vw);
  }
  .rm-ttl .main {
    font-size: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .rm-ttl {
    margin-bottom: 3rem;
    row-gap: 0.5rem;
  }
  .rm-ttl .sub {
    font-size: 4rem;
  }
  .rm-ttl .main {
    font-size: 1.6rem;
  }
}

.rm-ttl2 {
  position: relative;
  line-height: 1;
}
.rm-ttl2 .main {
  font-weight: 700;
}
.rm-ttl2 .main em {
  font-style: normal;
  color: var(--color-career);
}
.rm-ttl2:before, .rm-ttl2:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
}
.rm-ttl2:before {
  width: 100%;
  background-color: var(--color-border);
}
.rm-ttl2:after {
  background-color: var(--color-career);
}
@media screen and (min-width: 812px) {
  .rm-ttl2 {
    display: flex;
    align-items: center;
    -moz-column-gap: 4rem;
    column-gap: 4rem;
    padding-bottom: 3rem;
    margin-bottom: 2.6rem;
  }
  .rm-ttl2 .main {
    font-size: 3rem;
  }
  .rm-ttl2:after {
    width: 5rem;
  }
}
@media screen and (max-width: 811px) {
  .rm-ttl2 {
    display: flex;
    flex-direction: column;
    row-gap: 1rem;
    padding-bottom: 1.4rem;
    margin-bottom: 2rem;
  }
  .rm-ttl2 .main {
    font-size: 2.4rem;
  }
  .rm-ttl2:after {
    width: 3rem;
  }
}

/* ============================================================
/* layout
============================================================ */
@view-transition {
  navigation: auto;
}
/* nav
============================================================ */
.l-nav a {
  text-decoration: none;
}
@media (hover: hover) {
  .l-nav a:hover {
    text-decoration: underline;
  }
}
.l-nav__block {
  border-bottom: 1px solid;
}
.l-nav__sub {
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
  font-weight: 600;
  line-height: 1.1;
}
.l-nav__caption {
  display: block;
  font-weight: 700;
}
.l-nav__list {
  line-height: 1.8;
  font-weight: 500;
}
@media screen and (min-width: 812px) {
  .l-nav {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: min(3.7vw, 5rem);
    column-gap: min(3.7vw, 5rem);
    width: min(50vw, 67rem);
  }
  .l-nav__block {
    padding: 2.5rem 0;
    border-top: 1px solid;
    margin-top: -1px;
  }
  .l-nav__block.full {
    grid-column: 1/-1;
  }
  .l-nav__sub {
    font-size: 1.2rem;
  }
  .l-nav__caption {
    font-size: 2rem;
  }
  .l-nav__list {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 811px) {
  .l-nav__block {
    padding: 2.4rem 0;
  }
  .l-nav__sub {
    font-size: 1rem;
  }
  .l-nav__caption {
    font-size: 1.8rem;
  }
  .l-nav__list {
    margin-top: 1rem;
  }
}

/* meta
============================================================ */
.l-meta__copy {
  white-space: nowrap;
  font-weight: 700;
  line-height: 1.5;
}
.l-meta__copy em {
  font-style: normal;
}
.l-meta__company {
  font-weight: 700;
  line-height: 1.6;
}
.l-meta__info {
  line-height: 1.7;
  font-weight: 500;
}
.l-meta__info a {
  text-decoration: none;
}
.l-meta__nav a {
  text-decoration: underline;
}
@media (hover: hover) {
  .l-meta__nav a:hover {
    text-decoration: none;
  }
}
@media screen and (min-width: 812px) {
  .l-meta__copy {
    margin-bottom: 3.9rem;
    font-size: 4.3rem;
  }
  .l-meta__company {
    margin-bottom: 1rem;
  }
  .l-meta__info {
    margin-bottom: 3.1rem;
    font-size: 1.4rem;
  }
  .l-meta__nav {
    line-height: 2;
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 811px) {
  .l-meta {
    margin-top: 4rem;
  }
  .l-meta__copy {
    margin-bottom: 3rem;
    font-size: 3rem;
  }
  .l-meta__company {
    margin-bottom: 1.5rem;
  }
  .l-meta__info {
    margin-bottom: 3.1rem;
    font-size: 1.2rem;
    display: flex;
    -moz-column-gap: 1em;
    column-gap: 1em;
    flex-wrap: wrap;
  }
  .l-meta__info > :first-child {
    width: 100%;
  }
  .l-meta__nav {
    line-height: 2;
    font-size: 1.2rem;
    display: flex;
    -moz-column-gap: 2em;
    column-gap: 2em;
  }
}

/* copyright
============================================================ */
.l-copyright {
  font-size: 1rem;
  color: #a7a7a7;
}
@media screen and (min-width: 812px) {
  .l-copyright {
    line-height: 1;
  }
}
@media screen and (max-width: 811px) {
  .l-copyright {
    line-height: 1.7;
    margin-top: 3.2rem;
  }
}

/* breadcrumb
============================================================ */
.l-breadcrumb ul {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  align-items: center;
  font-size: 1.2rem;
  font-weight: 700;
}
.l-breadcrumb li {
  display: inline;
}
.l-breadcrumb li:nth-child(n+2):before {
  content: "/";
  display: inline-block;
  margin: 0 1em;
}
@media (hover: hover) {
  .l-breadcrumb li a:hover {
    text-decoration: none;
  }
}
.l-breadcrumb li > span:not(:has(a)) {
  color: var(--color-career);
}

/* pagetop
============================================================ */
.l-pagetop {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 10;
  line-height: 0;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s, visibility 0.3s;
}
body.is_fixed_pagetop .l-pagetop {
  visibility: visible;
  opacity: 1;
}
.l-pagetop a {
  display: block;
  background-color: #fff;
  border-radius: 50%;
}
@media (hover: hover) {
  .l-pagetop a {
    transition: opacity 0.3s;
  }
  .l-pagetop a:hover {
    opacity: 0.7;
  }
}
.l-pagetop em {
  color: var(--color-primary);
  transform: rotate(-90deg);
}
@media screen and (min-width: 812px) {
  .l-pagetop {
    font-size: 5rem;
    margin-right: 2rem;
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .l-pagetop {
    font-size: 3rem;
    margin-right: 1.5rem;
    margin-bottom: 1.5rem;
  }
}

/* ============================================================
/* corp layout
============================================================ */
.l-inner {
  margin: 0 auto;
}
@media screen and (min-width: 812px) {
  .l-inner {
    max-width: 1400px;
    padding: 0 calc(var(--grid-width) + 2rem);
  }
}
@media screen and (max-width: 811px) {
  .l-inner {
    padding: 0 3rem;
  }
}

/* header
============================================================ */
.l-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--grid-width);
  z-index: 999;
}
.l-header__logo {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--grid-width);
  height: 100%;
}
.l-header__logo > * {
  display: block;
  width: 70%;
}
.l-header__logo img {
  width: 100%;
}
.l-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
}
.l-header__nav {
  height: 100%;
  margin-left: var(--grid-width);
  margin-right: auto;
}
.l-header__nav__main {
  display: flex;
  align-items: center;
  height: 100%;
}
.l-header__nav__main > li {
  width: var(--grid-width);
  height: 100%;
}
.l-header__nav__main > li a,
.l-header__nav__main > li button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-weight: 700;
  font-size: calc(var(--grid-width) * 0.18);
  text-decoration: none;
}
@media (hover: hover) {
  .l-header__nav__main > li a,
  .l-header__nav__main > li button {
    transition: color 0.3s;
  }
  .l-header__nav__main > li a[aria-expanded=true], .l-header__nav__main > li a:hover,
  .l-header__nav__main > li button[aria-expanded=true],
  .l-header__nav__main > li button:hover {
    color: var(--color-primary);
  }
}
.l-header__nav__main > li:has(.l-header__nav__sub) {
  position: relative;
}
.l-header__nav__sub {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 16.6rem;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  background-color: var(--color-container);
}
.l-header__nav__sub:before {
  content: "";
  position: absolute;
  bottom: calc(100% - 1px);
  left: 50%;
  transform: translateX(-50%);
  width: 2.2rem;
  height: 1.2rem;
  background-color: var(--color-container);
  clip-path: polygon(50% 0, 0 100%, 100% 100%);
}
.l-header__nav__sub li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  -moz-column-gap: 1em;
  column-gap: 1em;
  width: 100%;
  height: 3.4rem;
  font-size: 1.5rem;
  font-weight: 500;
  white-space: nowrap;
  background-color: #fff;
  padding: 0 1rem;
}
.l-header__nav__sub li a .m-arrow {
  color: var(--color-primary);
}
@media (hover: hover) {
  .l-header__nav__sub li a .m-arrow {
    transition: transform 0.3s;
  }
  .l-header__nav__sub li a:hover .m-arrow {
    transform: scale(1.1);
  }
}
.l-header__btns {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 999;
}
.l-header__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: var(--grid-width);
  font-size: calc(var(--grid-width) * 0.18);
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 0.05em;
}
.l-header__btn:has(.m-icon-mail) {
  color: #fff;
  background-color: var(--color-primary);
}
.l-header__btn:has(.m-icon-docs) {
  color: #fff;
  background-color: #d76200;
}
.l-header__btn:has(.m-icon-person) {
  color: var(--color-primary);
  background-color: var(--color-primary-container);
}
@media screen and (min-width: 812px) {
  .l-header__inner {
    max-width: 1400px;
    margin: 0 auto;
  }
  .l-header__nav__main > li.active {
    position: relative;
  }
  .l-header__nav__main > li.active::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0.2rem;
    background-color: var(--color-primary);
  }
  .l-header__nav__main > li.active > a,
  .l-header__nav__main > li.active > button {
    color: var(--color-primary);
  }
  .l-header__nav__main > li > button:has(.icon-plus) {
    padding-left: 0.2em;
  }
  .l-header__nav__main > li .icon-plus {
    position: relative;
    width: 0.6em;
    height: 0.6em;
    color: var(--color-primary);
    margin-left: 0.2em;
  }
  .l-header__nav__main > li .icon-plus:before, .l-header__nav__main > li .icon-plus:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: currentColor;
    border-radius: 0.1rem;
  }
  .l-header__nav__main > li .icon-plus:before {
    width: 100%;
    height: 0.2rem;
  }
  .l-header__nav__main > li .icon-plus:after {
    width: 0.2rem;
    height: 100%;
  }
  .l-header__btn {
    height: calc(var(--grid-width) * 2);
    row-gap: 1em;
  }
  .l-header__btn em {
    font-size: 140%;
  }
  .l-header__btn span {
    writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: nowrap;
  }
  .l-header__btn span .hor {
    font-style: normal;
    -webkit-text-combine: horizontal;
    -ms-text-combine-horizontal: all;
    text-combine-upright: all;
    letter-spacing: normal;
  }
  .l-header__btn span .half {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 0.5em;
    width: 1em;
    font-style: normal;
    text-combine-upright: all;
  }
}
@media screen and (max-width: 811px) {
  .l-header__nav {
    display: none;
  }
  .l-header__btns {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
  }
  .l-header__btn {
    height: var(--grid-width);
    row-gap: 0.25em;
  }
  .l-header__btn em {
    font-size: 150%;
  }
}

/* gnav
============================================================ */
.l-gnav__btn {
  position: relative;
  width: var(--grid-width);
  height: var(--grid-width);
  font-size: calc(var(--grid-width) * 0.2);
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  background-color: var(--color-base);
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
}
.l-gnav__btn span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  transition: opacity 0.1s ease;
}
.l-gnav__btn .is_opened {
  opacity: 0;
}
.l-gnav__btn .is_closed {
  opacity: 1;
}
.l-gnav__btn[aria-expanded=true] .is_opened {
  opacity: 1;
}
.l-gnav__btn[aria-expanded=true] .is_closed {
  opacity: 0;
}
.l-gnav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}
.l-gnav[aria-hidden=false] {
  opacity: 1;
  visibility: visible;
}
.l-gnav__header {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  width: 100%;
  height: var(--grid-width);
}
.l-gnav__header .l-header__logo {
  z-index: 1;
}
.l-gnav__outer {
  width: 100%;
  max-height: 100%;
  overflow: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.l-gnav__outer::-webkit-scrollbar {
  display: none;
}
.l-gnav__inner {
  transition: transform 0.5s ease 0.5s, opacity 0.5s ease;
  opacity: 0;
  transform: translateY(10%);
}
.l-gnav[aria-hidden=false] .l-gnav__inner {
  transition: transform 0.5s ease, opacity 0.5s ease;
  transform: translateY(0);
  opacity: 1;
}
.l-gnav .l-nav__sub {
  color: #8c8c8c;
}
.l-gnav .l-nav__block {
  border-color: var(--color-border);
}
.l-gnav .l-meta__copy em {
  color: var(--color-primary);
}
@media screen and (min-width: 812px) {
  .l-gnav__btn {
    margin-bottom: var(--grid-width);
  }
  .l-gnav__header {
    max-width: 1400px;
  }
  .l-gnav__inner {
    padding: 16rem 0 2rem;
  }
  .l-gnav .l-inner {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    -moz-column-gap: min(4vw, 6rem);
    column-gap: min(4vw, 6rem);
  }
}
@media screen and (max-width: 811px) {
  .l-gnav {
    padding-top: var(--grid-width);
  }
  .l-gnav__inner {
    padding: 2.5rem 0 4.3rem;
  }
}

/* pagetop
============================================================ */
/* fnav
============================================================ */
.l-fnav {
  overflow: hidden;
  background-color: var(--color-container);
}
@media screen and (min-width: 812px) {
  .l-fnav .l-inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 2rem;
    column-gap: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .l-fnav .l-inner {
    display: flex;
    flex-direction: column;
    row-gap: 1rem;
  }
}

@media screen and (min-width: 812px) {
  .l-fnav-item {
    padding: 10rem 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .l-fnav-item:nth-child(odd) {
    border-right: 1px solid var(--color-border);
    padding-right: min(6vw, 10rem);
  }
  .l-fnav-item:nth-child(even) {
    border-left: 1px solid var(--color-border);
    padding-left: min(6vw, 10rem);
  }
  .l-fnav-item__text {
    margin-bottom: auto;
  }
  .l-fnav-item .m-btn {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 811px) {
  .l-fnav-item {
    padding: 5rem 0;
    position: relative;
  }
  .l-fnav-item::before {
    content: "";
    position: absolute;
    left: 50%;
    width: 100vw;
    border-top: 1px solid var(--color-border);
    transform: translateX(-50%);
  }
  .l-fnav-item:nth-child(odd)::before {
    bottom: 0;
  }
  .l-fnav-item:nth-child(even)::before {
    top: 0;
  }
  .l-fnav-item .m-btn {
    margin-top: 2.5rem;
  }
}

/* footer
============================================================ */
.l-footer {
  overflow: hidden;
  color: #fff;
  background-color: var(--color-base);
}
.l-footer .l-meta__info {
  color: #aeaeae;
}
.l-footer .l-nav__sub {
  color: #a7a7a7;
}
.l-footer .l-nav__list {
  color: #aeaeae;
}
.l-footer .l-nav__block {
  border-color: #656565;
}
.l-footer__slide-text {
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
  color: #2b2b2b;
  line-height: 1;
  font-weight: 700;
}
@media screen and (min-width: 812px) {
  .l-footer {
    padding-top: 10rem;
  }
  .l-footer__inner {
    margin-bottom: 6.7rem;
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    -moz-column-gap: min(4vw, 6rem);
    column-gap: min(4vw, 6rem);
  }
  .l-footer__meta {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .l-footer__slide-text {
    font-size: 17rem;
  }
}
@media screen and (max-width: 811px) {
  .l-footer {
    padding-top: 3rem;
  }
  .l-footer__inner {
    margin-bottom: 1.5rem;
  }
  .l-footer__slide-text {
    font-size: 8rem;
  }
}

/* ============================================================
/* recruit layout
============================================================ */
@keyframes containerFadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.rl-inner {
  margin: 0 auto;
}
@media screen and (min-width: 812px) {
  .rl-inner {
    max-width: 1200px;
    padding: 0 5rem;
    box-sizing: content-box;
  }
}
@media screen and (max-width: 811px) {
  .rl-inner {
    padding: 0 3rem;
    max-width: 540px;
  }
}

.rl-logo {
  display: flex;
  align-items: center;
}
.rl-logo em {
  line-height: 1.3;
  font-style: normal;
  font-weight: 500;
  font-family: "Raleway", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
}
@media screen and (min-width: 812px) {
  .rl-logo {
    font-size: 1.4rem;
    -moz-column-gap: 0.8em;
    column-gap: 0.8em;
  }
  .rl-logo img {
    width: 5.8rem;
  }
}
@media screen and (max-width: 811px) {
  .rl-logo {
    -moz-column-gap: 0.9em;
    column-gap: 0.9em;
    font-size: 1rem;
  }
  .rl-logo img {
    width: 4.1rem;
  }
}

/* recruit header
============================================================ */
.rl-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}
.rl-header__logo a {
  text-decoration: none;
}
.rl-header__inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  border-radius: 1.5rem;
  background: #fff;
  box-shadow: 0px 0.5rem 1rem 0px rgba(0, 0, 0, 0.03);
  z-index: 2;
}
.rl-header__nav {
  height: 100%;
}
.rl-header__nav__main {
  display: flex;
  align-items: center;
  -moz-column-gap: min(3.2rem, 2vw);
  column-gap: min(3.2rem, 2vw);
  height: 100%;
}
.rl-header__nav__main > li {
  height: 100%;
}
.rl-header__nav__main > li a,
.rl-header__nav__main > li button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-weight: 700;
  font-size: 1.4rem;
  text-decoration: none;
}
@media (hover: hover) {
  .rl-header__nav__main > li a,
  .rl-header__nav__main > li button {
    transition: color 0.3s;
  }
  .rl-header__nav__main > li a[aria-expanded=true], .rl-header__nav__main > li a:hover,
  .rl-header__nav__main > li button[aria-expanded=true],
  .rl-header__nav__main > li button:hover {
    color: var(--color-primary);
  }
}
.rl-header__nav__main > li:has(.rl-header__nav__sub) {
  position: relative;
}
.rl-header__nav__main > li:has(.rl-header__nav__sub) button {
  position: relative;
  display: inline-flex;
  align-items: center;
  -moz-column-gap: 0.5em;
  column-gap: 0.5em;
}
.rl-header__nav__main > li:has(.rl-header__nav__sub) .icon-plus {
  position: relative;
  width: 0.7em;
  height: 0.7em;
  color: var(--color-primary);
}
.rl-header__nav__main > li:has(.rl-header__nav__sub) .icon-plus:before, .rl-header__nav__main > li:has(.rl-header__nav__sub) .icon-plus:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: currentColor;
  border-radius: 0.1rem;
}
.rl-header__nav__main > li:has(.rl-header__nav__sub) .icon-plus:before {
  width: 100%;
  height: 0.2rem;
}
.rl-header__nav__main > li:has(.rl-header__nav__sub) .icon-plus:after {
  width: 0.2rem;
  height: 100%;
}
.rl-header__nav__sub {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 24rem;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  background-color: var(--color-container);
}
.rl-header__nav__sub:before {
  content: "";
  position: absolute;
  bottom: calc(100% - 1px);
  left: 50%;
  transform: translateX(-50%);
  width: 2.2rem;
  height: 1.2rem;
  background-color: var(--color-container);
  clip-path: polygon(50% 0, 0 100%, 100% 100%);
}
.rl-header__nav__sub li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 3.4rem;
  font-size: 1.5rem;
  font-weight: 500;
  background-color: #fff;
  padding: 0 1rem;
}
.rl-header__nav__sub li a .m-arrow {
  color: var(--color-primary);
}
@media (hover: hover) {
  .rl-header__nav__sub li a .m-arrow {
    transition: transform 0.3s;
  }
  .rl-header__nav__sub li a:hover .m-arrow {
    transform: scale(1.1);
  }
}
.rl-header__btns {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 100%;
}
.rl-header__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.28;
  height: 100%;
  text-decoration: none;
  font-weight: 700;
}
.rl-header__btn[href*=new-graduate] {
  background-color: var(--color-primary);
  color: #fff;
}
.rl-header__btn[href*=mid-career] {
  background-color: var(--color-secondary);
  color: #fff;
}
@media screen and (min-width: 812px) {
  .rl-header {
    padding: 2rem 2rem 0;
  }
  .rl-header__inner {
    max-width: 1400px;
    height: 8rem;
    margin: 0 auto;
    padding: 1rem;
  }
  .rl-header__logo {
    margin-left: 1rem;
    white-space: nowrap;
  }
  .rl-header__nav {
    margin-left: auto;
    margin-right: 7.2rem;
  }
  .rl-header__btns {
    -moz-column-gap: 1rem;
    column-gap: 1rem;
  }
  .rl-header__btn {
    width: 12rem;
    font-size: 1.4rem;
    border-radius: 1rem;
  }
}
@media screen and (min-width: 812px) and (max-width: 1200px) {
  .rl-header__nav {
    margin-left: auto;
    margin-right: 3rem;
  }
  .rl-header__btn {
    width: 11rem;
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 811px) {
  .rl-header {
    padding: 1rem 1rem 0;
  }
  .rl-header__inner {
    height: 6rem;
    padding: 0.6rem;
  }
  .rl-header__logo {
    margin-left: 0.4rem;
  }
  .rl-header__nav {
    display: none;
  }
  .rl-header__btns {
    -moz-column-gap: 0.6rem;
    column-gap: 0.6rem;
  }
  .rl-header__btn {
    width: -moz-fit-content;
    width: fit-content;
    padding: 0 min(0.8rem, 1.5vw);
    font-size: 1.1rem;
    border-radius: 0.6rem;
    white-space: nowrap;
  }
}

/* recruit gnav
============================================================ */
.rl-gnav__btn {
  position: relative;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  aspect-ratio: 1/1;
  height: 100%;
  background-color: var(--color-base);
  position: relative;
}
.rl-gnav__btn span {
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  width: 46%;
  height: 0.1rem;
  border-radius: 0;
  background: currentColor;
  transition: transform 0.2s ease;
}
.rl-gnav__btn span:nth-child(1) {
  transform: translate(-50%, -50%);
}
.rl-gnav__btn span:nth-child(2) {
  transform: translate(-50%, -0.8rem);
}
.rl-gnav__btn span:nth-child(3) {
  transform: translate(-50%, 0.7rem);
}
.rl-gnav__btn[aria-expanded=true] span:nth-child(1) {
  transform: translate(-50%, -50%) scale(0);
}
.rl-gnav__btn[aria-expanded=true] span:nth-child(2) {
  transform: translate(-50%, -50%) rotate(30deg);
}
.rl-gnav__btn[aria-expanded=true] span:nth-child(3) {
  transform: translate(-50%, -50%) rotate(-30deg);
}
.rl-gnav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--color-primary-container);
  overflow: hidden;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}
.rl-gnav[aria-hidden=false] {
  opacity: 1;
  visibility: visible;
}
.rl-gnav__outer {
  width: 100%;
  max-height: 100%;
  overflow: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.rl-gnav__outer::-webkit-scrollbar {
  display: none;
}
.rl-gnav__inner {
  transition: transform 0.5s ease 0.5s, opacity 0.5s ease;
  opacity: 0;
  transform: translateY(10%);
}
.rl-gnav[aria-hidden=false] .rl-gnav__inner {
  transition: transform 0.5s ease, opacity 0.5s ease;
  transform: translateY(0);
  opacity: 1;
}
.rl-gnav .l-nav__sub {
  color: var(--color-primary);
}
.rl-gnav .l-nav__block {
  border-color: var(--color-border);
}
.rl-gnav__copy {
  position: relative;
  line-height: 1.3;
  font-weight: 700;
  white-space: nowrap;
}
.rl-gnav__copy:before {
  content: "";
  position: absolute;
  aspect-ratio: 1010/358;
  background: url(../img/recruit/text_challenge.png) no-repeat center center/contain;
}
.rl-gnav__copy em {
  font-style: normal;
  color: var(--color-primary);
}
@media screen and (min-width: 812px) {
  .rl-gnav__btn {
    border-radius: 1rem;
  }
  .rl-gnav__inner {
    padding: 18rem 0 2rem;
  }
  .rl-gnav .rl-inner {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    -moz-column-gap: min(4vw, 6rem);
    column-gap: min(4vw, 6rem);
  }
  .rl-gnav__copy {
    margin-bottom: 3.8rem;
    font-size: 4.4rem;
  }
  .rl-gnav__copy:before {
    width: 23.5rem;
    bottom: -2.5rem;
    left: 18rem;
  }
}
@media screen and (max-width: 811px) {
  .rl-gnav__btn {
    border-radius: 0.6rem;
  }
  .rl-gnav {
    padding-top: 1rem;
  }
  .rl-gnav__inner {
    padding: 8rem 0 3.9rem;
  }
  .rl-gnav .l-meta__nav {
    font-size: 1.1rem;
  }
  .rl-gnav__meta {
    margin-top: 4rem;
  }
  .rl-gnav__copy {
    font-size: 3.3rem;
  }
  .rl-gnav__copy:before {
    width: 15.6rem;
    bottom: -1.5rem;
    left: 14rem;
  }
}

/* recruit pagetop
============================================================ */
/* recruit fnav
============================================================ */
.rl-fnav__sub {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  height: 2em;
  padding: 0 1em;
  font-weight: 700;
  text-align: center;
  margin: 0 auto;
  border-radius: 2em;
  background-color: var(--color-primary-container);
}
.rl-fnav__sub:before {
  content: "";
  position: absolute;
  aspect-ratio: 39/16;
  background: url(../img/recruit/text_newchallenge.png) no-repeat center center/contain;
}
.rl-fnav__sub em {
  font-style: normal;
  color: var(--color-primary);
}
.rl-fnav__ttl {
  position: relative;
  z-index: 0;
  line-height: 1;
  font-weight: 700;
  text-align: center;
}
.rl-fnav__ttl:before {
  content: "Application";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  color: #fff;
  -webkit-text-stroke: 2px #ffe6d1;
  text-stroke: 2px #ffe6d1;
  paint-order: stroke;
  font-weight: 600;
  z-index: -1;
}
.rl-fnav__ttl em {
  font-style: normal;
  color: var(--color-primary);
}
@media screen and (min-width: 812px) {
  .rl-fnav {
    padding: 15rem 0;
  }
  .rl-fnav__sub {
    font-size: 2.6rem;
  }
  .rl-fnav__sub:before {
    width: 39rem;
    bottom: -1rem;
    left: -13rem;
  }
  .rl-fnav__ttl {
    font-size: 4rem;
    margin: 4.2rem auto 6rem;
  }
  .rl-fnav__ttl:before {
    font-size: 12rem;
    margin-top: -0.05em;
  }
  .rl-fnav__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 5rem;
    column-gap: 5rem;
  }
}
@media screen and (max-width: 811px) {
  .rl-fnav {
    padding: 7rem 0 6rem;
  }
  .rl-fnav__sub {
    height: 3.6rem;
    font-size: 1.6rem;
  }
  .rl-fnav__sub:before {
    width: 14rem;
    bottom: 1rem;
    left: -4rem;
  }
  .rl-fnav__ttl {
    font-size: 2.6rem;
    margin: 2.2rem auto 3.8rem;
  }
  .rl-fnav__ttl:before {
    font-size: 6rem;
    margin-top: -0.1em;
  }
  .rl-fnav__list {
    display: flex;
    flex-direction: column;
    row-gap: 1.5rem;
  }
}

.rl-fnav-item__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--color-border);
  border-radius: 1rem;
  background-color: #fff;
  text-decoration: none;
}
.rl-fnav-item__ttl {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}
.rl-fnav-item__ttl .main {
  font-weight: 700;
}
.rl-fnav-item__ttl .sub {
  font-family: "Raleway", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  font-weight: 500;
}
.rl-fnav-item:has([href*=new-graduate]) .m-arrow, .rl-fnav-item:has([href*=new-graduate]) .rl-fnav-item__ttl .sub {
  transition: color 0.3s;
  color: var(--color-primary);
}
.rl-fnav-item:has([href*=mid-career]) .m-arrow, .rl-fnav-item:has([href*=mid-career]) .rl-fnav-item__ttl .sub {
  transition: color 0.3s;
  color: var(--color-secondary);
}
@media (hover: hover) {
  .rl-fnav-item__link {
    transition: background-color 0.3s, color 0.3s;
  }
  .rl-fnav-item__link:hover .m-arrow, .rl-fnav-item__link:hover .rl-fnav-item__ttl .sub {
    color: #fff !important;
  }
  .rl-fnav-item:has([href*=new-graduate]) .rl-fnav-item__link:hover {
    background-color: var(--color-primary);
    color: #fff;
  }
  .rl-fnav-item:has([href*=mid-career]) .rl-fnav-item__link:hover {
    background-color: var(--color-secondary);
    color: #fff;
  }
}
@media screen and (min-width: 812px) {
  .rl-fnav-item__link {
    padding: 0 4rem;
    height: 15.4rem;
  }
  .rl-fnav-item__ttl {
    row-gap: 1.8rem;
  }
  .rl-fnav-item__ttl .main {
    font-size: min(2.4rem, 2vw);
  }
  .rl-fnav-item__ttl .sub {
    font-size: 1.4rem;
  }
  .rl-fnav-item .m-arrow {
    font-size: 3rem;
  }
}
@media screen and (max-width: 811px) {
  .rl-fnav-item__link {
    padding: 0 2.5rem;
    height: 10rem;
  }
  .rl-fnav-item__ttl {
    row-gap: 1rem;
  }
  .rl-fnav-item__ttl .main {
    font-size: 1.8rem;
  }
  .rl-fnav-item__ttl .sub {
    font-size: 1.2rem;
  }
  .rl-fnav-item .m-arrow {
    font-size: 1.8rem;
  }
}

/* recruit footer
============================================================ */
.rl-footer {
  overflow: hidden;
  color: #fff;
  position: relative;
  z-index: 0;
}
.rl-footer:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--color-base);
  z-index: -1;
}
@media screen and (min-width: 812px) {
  .rl-footer:before {
    width: calc(100vw - 4rem);
    max-width: 1400px;
    border-radius: 6rem;
  }
}
@media screen and (max-width: 811px) {
  .rl-footer:before {
    width: calc(100vw - 2rem);
    border-radius: 3rem;
  }
}
.rl-footer .l-meta__info {
  color: #aeaeae;
}
.rl-footer .l-nav__sub {
  color: #a7a7a7;
}
.rl-footer .l-nav__list {
  color: #aeaeae;
}
.rl-footer .l-nav__block {
  border-color: #656565;
}
.rl-footer__slide-text__block {
  display: flex;
  align-items: center;
  color: #fff;
  padding-right: 0.25em;
  white-space: nowrap;
}
.rl-footer__slide-text__block .sub {
  display: block;
  font-size: 33%;
  line-height: 1.4;
  font-weight: 700;
}
.rl-footer__slide-text__block .main {
  display: block;
  font-family: "Raleway", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  line-height: 1;
  font-weight: 600;
}
@media screen and (min-width: 812px) {
  .rl-footer {
    padding: 10rem 0 7rem;
  }
  .rl-footer:before {
    bottom: 2rem;
  }
  .rl-footer__inner {
    margin-bottom: 6rem;
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    -moz-column-gap: min(4vw, 6rem);
    column-gap: min(4vw, 6rem);
  }
  .rl-footer__meta {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .rl-footer__slide-text {
    font-size: 15rem;
  }
}
@media screen and (max-width: 811px) {
  .rl-footer {
    padding: 2.8rem 0 4.6rem;
  }
  .rl-footer:before {
    bottom: 1rem;
  }
  .rl-footer__logo .rl-logo {
    font-size: 1.6rem;
  }
  .rl-footer__logo .rl-logo img {
    width: 8rem;
  }
  .rl-footer__inner {
    margin-bottom: 3.7rem;
  }
  .rl-footer__meta {
    margin-top: 4rem;
  }
  .rl-footer__slide-text {
    font-size: 7rem;
  }
  .rl-footer .l-meta__nav {
    font-size: 1.1rem;
  }
}

/* ============================================================
/* project module
============================================================ */
:root {
  --window-size: 100vw;
}

@media screen and (min-width: 1400px) {
  :root {
    --grid-count: 17;
    --grid-width: calc(1400px / var(--grid-count));
  }
}
@media screen and (min-width: 1200px) and (max-width: 1400px) {
  :root {
    --grid-count: 17;
    --grid-width: calc(var(--window-size) / var(--grid-count));
  }
}
@media screen and (min-width: 812px) and (max-width: 1200px) {
  :root {
    --grid-count: 15;
    --grid-width: calc(var(--window-size) / var(--grid-count));
  }
}
@media screen and (min-width: 520px) and (max-width: 811px) {
  :root {
    --grid-count: 8;
    --grid-width: calc(var(--window-size) / var(--grid-count));
  }
}
@media screen and (max-width: 520px) {
  :root {
    --grid-count: 6;
    --grid-width: calc(var(--window-size) / var(--grid-count));
  }
}
/* bg grid
============================================================ */
.m-bg-grid {
  background-image: url("../img/common/grid.svg");
  background-size: var(--grid-width) var(--grid-width);
  background-repeat: repeat;
}
.m-bg-grid__dots span {
  position: absolute;
  display: block;
  width: var(--grid-width);
  height: var(--grid-width);
  background-color: var(--color-container);
  z-index: -1;
}
@media screen and (min-width: 812px) {
  .m-bg-grid {
    background-position: center top;
  }
}
@media screen and (max-width: 811px) {
  .m-bg-grid {
    background-position: left top;
  }
}

/* more
============================================================ */
.m-more {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  align-items: center;
  color: var(--color-primary);
  text-decoration: none;
  -moz-column-gap: 0.5em;
  column-gap: 0.5em;
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
}
.m-more .m-arrow {
  font-size: 2rem;
}
@media screen and (min-width: 812px) {
  .m-more {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 811px) {
  .m-more {
    font-size: 1.3rem;
  }
}
@media (hover: hover) {
  .m-more .m-arrow {
    transition: transform 0.3s ease;
  }
  a:hover .m-more .m-arrow, .m-more:hover .m-arrow {
    transform: scale(1.1);
  }
}

/* over
============================================================ */
@media (hover: hover) {
  .m-over {
    transition: opacity 0.3s ease;
  }
  .m-over:hover {
    opacity: 0.7;
  }
}

/* over scalable
============================================================ */
.m-over-scalable {
  overflow: hidden;
}
.m-over-scalable img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media (hover: hover) {
  .m-over-scalable img {
    transition: transform 0.3s ease;
  }
  a:hover .m-over-scalable img, .m-over-scalable:hover img {
    transform: scale(1.1);
  }
}

/* marquee
============================================================ */
.m-marquee-text {
  display: inline-flex;
  align-items: center;
  -moz-column-gap: 0;
  column-gap: 0;
  white-space: nowrap;
  animation: marquee 80s linear infinite;
}
.m-marquee-text:before, .m-marquee-text:after {
  display: block;
  flex-shrink: 0;
  content: attr(data-text) " " attr(data-text) " " attr(data-text);
  padding-right: 0.25em;
}

@keyframes marquee {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}
/* other content
============================================================ */
@media screen and (min-width: 812px) {
  .m-other-content {
    margin-top: 15rem;
  }
}
@media screen and (max-width: 811px) {
  .m-other-content {
    margin-top: 7rem;
  }
}

/* content index
============================================================ */
@media screen and (min-width: 812px) {
  .m-content-idx {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: min(4rem, 3vw);
    column-gap: min(4rem, 3vw);
  }
}
@media screen and (max-width: 811px) {
  .m-content-idx {
    display: flex;
    flex-direction: column;
    row-gap: 4rem;
  }
}

.m-content-idx-item__link {
  display: block;
  text-decoration: none;
}
.m-content-idx-item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.m-content-idx-item__ttl {
  display: flex;
  flex-direction: column;
  line-height: 1;
}
.m-content-idx-item__ttl .main {
  font-weight: 700;
}
.m-content-idx-item__ttl .sub {
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
  font-weight: 500;
  color: #bcbcbc;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 812px) {
  .m-content-idx-item__link {
    display: grid;
    grid-template-rows: auto 1fr;
    height: 100%;
  }
  .m-content-idx-item__image {
    aspect-ratio: 37/24;
  }
  .m-content-idx-item__inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 2.5rem 2rem 0;
  }
  .m-content-idx-item__ttl {
    row-gap: 1.1rem;
  }
  .m-content-idx-item__ttl .main {
    font-size: 2.2rem;
  }
  .m-content-idx-item__ttl .sub {
    font-size: 1.2rem;
  }
  .m-content-idx-item__text {
    line-height: 1.9;
    font-size: 1.4rem;
    margin: 1.2rem 0 auto;
  }
  .m-content-idx-item .m-more {
    margin-top: 1.8rem;
  }
}
@media screen and (max-width: 811px) {
  .m-content-idx-item {
    position: relative;
  }
  .m-content-idx-item__inner {
    padding-top: 2rem;
  }
  .m-content-idx-item__ttl {
    margin-bottom: 1.2rem;
  }
  .m-content-idx-item__ttl .main {
    font-size: 2.2rem;
  }
  .m-content-idx-item__ttl .sub {
    position: absolute;
    top: 0;
    transform: rotate(90deg);
    transform-origin: left top;
    white-space: nowrap;
    line-height: 3rem;
    font-size: 1rem;
  }
  .m-content-idx-item__more {
    margin-top: 1.6rem;
  }
  .m-content-idx-item:nth-child(odd) .m-content-idx-item__image {
    margin-left: -3rem;
  }
  .m-content-idx-item:nth-child(odd) .m-content-idx-item__ttl .sub {
    left: calc(100% + 3rem);
  }
  .m-content-idx-item:nth-child(even) .m-content-idx-item__image {
    margin-right: -3rem;
  }
  .m-content-idx-item:nth-child(even) .m-content-idx-item__ttl .sub {
    left: 0;
  }
}

/* management index item
============================================================ */
.m-management-idx-item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.m-management-idx-item__area {
  position: absolute;
  bottom: 100%;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
  padding: 0 1em;
  color: var(--color-primary);
  font-weight: 500;
  background-color: #fff;
  border-radius: 0 0.5rem 0 0;
}
.m-management-idx-item__inner {
  position: relative;
}
.m-management-idx-item__ttl {
  line-height: 1.3;
  font-weight: 700;
  color: var(--color-primary);
  font-feature-settings: "palt";
}
.m-management-idx-item__ttl a {
  text-decoration: none;
}
@media (hover: hover) {
  .m-management-idx-item__ttl a:hover {
    text-decoration: underline;
  }
}
.m-management-idx-item__ttl .m-icon-blank {
  font-size: 60%;
  margin-left: 0.2em;
}
.m-management-idx-item__other {
  line-height: 1.6;
}
.m-management-idx-item__other a {
  text-decoration: none;
}
@media (hover: hover) {
  .m-management-idx-item__other a:hover {
    text-decoration: underline;
  }
}
.m-management-idx-item__other .m-icon-blank {
  font-size: 80%;
  margin-left: 0.2em;
  color: var(--color-primary);
}
.m-management-idx-item__tag {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.8em;
  column-gap: 0.8em;
}
.m-management-idx-item__tag li {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.8rem;
  padding: 0 0.5em;
  border-radius: 0.5rem;
  font-weight: 500;
  background-color: var(--color-container);
}
@media screen and (min-width: 812px) {
  .m-management-idx-item__image {
    aspect-ratio: 37/24;
  }
  .m-management-idx-item__area {
    height: 2.8rem;
    font-size: 1.4rem;
  }
  .m-management-idx-item__inner {
    padding-top: 2rem;
  }
  .m-management-idx-item__ttl {
    font-size: min(2rem, 1.6vw);
  }
  .m-management-idx-item__other {
    margin-top: 1.6rem;
    font-size: 1.4rem;
  }
  .m-management-idx-item__tag {
    margin-top: 2rem;
    font-size: 1.4rem;
  }
  .m-management-idx-item__tag li {
    height: 2.8rem;
  }
}
@media screen and (max-width: 811px) {
  .m-management-idx-item__image {
    aspect-ratio: 315/210;
  }
  .m-management-idx-item__area {
    height: 2.6rem;
    font-size: 1.2rem;
  }
  .m-management-idx-item__inner {
    padding-top: 1.7rem;
  }
  .m-management-idx-item__ttl {
    font-size: 1.8rem;
    margin-right: -1em;
  }
  .m-management-idx-item__other {
    margin-top: 1rem;
    font-size: 1.3rem;
  }
  .m-management-idx-item__tag {
    margin-top: 1.2rem;
    font-size: 1.2rem;
  }
  .m-management-idx-item__tag li {
    height: 2.6rem;
  }
}

/* interview index item
============================================================ */
.m-interview-idx-item.new-graduate {
  --color-career-container: var(--color-primary-container);
  --color-career: var(--color-primary);
}
.m-interview-idx-item.mid-career {
  --color-career-container: var(--color-secondary-container);
  --color-career: var(--color-secondary);
}

.m-interview-idx-item__link {
  display: block;
  text-decoration: none;
}
.m-interview-idx-item__image {
  overflow: hidden;
}
.m-interview-idx-item__inner {
  position: relative;
  background-color: #fff;
}
.m-interview-idx-item__tag {
  position: absolute;
  bottom: 100%;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 1.5em;
  color: #fff;
  border: 2px solid;
  border-bottom: none;
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
  font-size: 1.2rem;
  background-color: var(--color-career);
}
.m-interview-idx-item__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px dashed var(--color-border);
}
.m-interview-idx-item__name {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  line-height: 1;
}
.m-interview-idx-item__name .main {
  font-weight: 700;
}
.m-interview-idx-item__name .sub {
  font-family: "Raleway", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  font-weight: 500;
  color: var(--color-career);
}
.m-interview-idx-item__prof {
  line-height: 1.6;
}
.m-interview-idx-item .m-arrow {
  color: var(--color-career);
}
@media screen and (min-width: 812px) {
  .m-interview-idx-item__tag {
    font-size: 1.4rem;
  }
  .m-interview-idx-item__meta {
    padding-bottom: 2rem;
  }
  .m-interview-idx-item__name {
    -moz-column-gap: 1rem;
    column-gap: 1rem;
  }
  .m-interview-idx-item__name .main {
    font-size: 2rem;
  }
  .m-interview-idx-item__name .sub {
    font-size: 1.2rem;
  }
  .m-interview-idx-item .m-arrow {
    font-size: 2rem;
  }
  .m-interview-idx-item__prof {
    margin-top: 1.5rem;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 811px) {
  .m-interview-idx-item__tag {
    font-size: 1.2rem;
  }
  .m-interview-idx-item__meta {
    padding-bottom: 2rem;
  }
  .m-interview-idx-item__name .main {
    font-size: 1.8rem;
  }
  .m-interview-idx-item__name .sub {
    display: none;
  }
  .m-interview-idx-item .m-arrow {
    font-size: 2rem;
  }
  .m-interview-idx-item__prof {
    margin-top: 1.5rem;
    font-size: 1.3rem;
  }
}

.m-interview-idx-slider {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
}
@media screen and (min-width: 812px) {
  .m-interview-idx-slider .swiper-slide {
    padding: 0 3.5rem;
    width: -moz-fit-content;
    width: fit-content;
  }
  .m-interview-idx-slider .m-interview-idx-item {
    width: 56rem;
  }
  .m-interview-idx-slider .m-interview-idx-item__image {
    aspect-ratio: 1120/620;
    border-radius: 2rem;
  }
  .m-interview-idx-slider .m-interview-idx-item__inner {
    margin: -3rem 5rem 0;
    border-radius: 0 1rem 1rem 1rem;
    padding: 2rem 3rem;
  }
  .m-interview-idx-slider .m-interview-idx-item__tag {
    height: 3.6rem;
    border-radius: 1rem 1rem 0 0;
  }
}
@media screen and (max-width: 811px) {
  .m-interview-idx-slider .swiper-slide {
    padding: 0 1rem;
    width: -moz-fit-content;
    width: fit-content;
  }
  .m-interview-idx-slider .m-interview-idx-item {
    width: 26rem;
  }
  .m-interview-idx-slider .m-interview-idx-item__image {
    aspect-ratio: 260/160;
    border-radius: 1.5rem 1.5rem 0 0;
  }
  .m-interview-idx-slider .m-interview-idx-item__inner {
    border-radius: 0 0 1.5rem 1.5rem;
    padding: 1.6rem 2rem;
  }
  .m-interview-idx-slider .m-interview-idx-item__tag {
    height: 3.2rem;
    border-radius: 0 1rem 0 0;
  }
}

/* crosstalk index item
============================================================ */
.m-crosstalk-idx-item__link {
  display: block;
  text-decoration: none;
}
.m-crosstalk-idx-item__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--color-border);
}
.m-crosstalk-idx-item__ttl {
  display: flex;
  flex-direction: column;
  line-height: 1;
}
.m-crosstalk-idx-item__ttl .main {
  font-weight: 700;
}
.m-crosstalk-idx-item__ttl .main em {
  font-style: normal;
  color: var(--color-career);
}
.m-crosstalk-idx-item__ttl .sub {
  font-family: "Raleway", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  color: var(--color-career);
  font-weight: 500;
}
.m-crosstalk-idx-item .m-arrow {
  color: var(--color-career);
}
@media (hover: hover) {
  .m-crosstalk-idx-item .m-arrow {
    transition: transform 0.3s ease-in-out;
  }
  .m-crosstalk-idx-item__link:hover .m-arrow {
    transform: scale(1.1);
  }
}
@media screen and (max-width: 811px) {
  .m-crosstalk-idx-item__image {
    aspect-ratio: 316/180;
    border-radius: 1.5rem;
  }
  .m-crosstalk-idx-item__inner {
    padding: 2rem 0;
  }
  .m-crosstalk-idx-item__ttl {
    row-gap: 1.1rem;
  }
  .m-crosstalk-idx-item__ttl .main {
    font-size: 2.2rem;
  }
  .m-crosstalk-idx-item__ttl .sub {
    font-size: 1.2rem;
  }
  .m-crosstalk-idx-item .m-arrow {
    font-size: 2rem;
  }
}

/* carousel
============================================================ */
.js-carousel {
  line-height: 0;
}
.js-carousel__inner {
  display: inline-flex;
}
.js-carousel__block {
  flex-shrink: 0;
}

/* dropdown menu
============================================================ */
.js-dropdown-menu [aria-hidden=true] {
  transition: visibility 0.3s ease, opacity 0.3s ease;
  visibility: hidden;
  opacity: 0;
}
.js-dropdown-menu [aria-hidden=false] {
  transition: visibility 0.3s ease, opacity 0.3s ease;
  visibility: visible;
  opacity: 1;
}

/* js-inview
============================================================ */
.js-inview {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1s ease, transform 1s ease;
}
.js-inview.isInviewed {
  opacity: 1;
  transform: translateY(0);
}

.js-inview-fade {
  opacity: 0;
  transition: opacity 1s ease;
}
.js-inview-fade.isInviewed {
  opacity: 1;
}

.js-inview-slide {
  opacity: 0;
  transform: translateX(-20px);
  transition: opacity 1s ease, transform 1s ease;
}
.js-inview-slide.isInviewed {
  opacity: 1;
  transform: translateX(0);
}

/* js-slider__pagination
============================================================ */
.js-slider__pagination {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0 auto;
  width: 9.4rem !important;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  border-radius: 0.8rem;
  overflow: hidden;
}
.js-slider__pagination .swiper-pagination-bullet {
  width: 0.8rem;
  height: 0.8rem;
  margin: 0 !important;
  border-radius: 0.8rem;
  flex-shrink: 0;
  background-color: #d9d9d9;
  opacity: 1;
  transition: width 0.3s ease, transform 0.3s ease, background-color 0.3s ease;
}
.js-slider__pagination .swiper-pagination-bullet-active {
  width: 2.2rem;
  background-color: var(--color-base);
}
@media screen and (min-width: 812px) {
  .js-slider__pagination {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 811px) {
  .js-slider__pagination {
    margin-top: 2rem;
  }
}

/* js-search-tag
============================================================ */
.js-search-result-container {
  position: relative;
  min-height: 10rem;
}
.js-search-result-container.loading:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 5rem;
  height: 5rem;
  border: 3px solid var(--color-career);
  border-top: 3px solid transparent;
  border-radius: 50%;
  animation: loading-spin 0.5s linear 0s infinite;
}

@keyframes loading-spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
/* ============================================================
/*  subpage page
============================================================ */
.sc-subpage__header {
  overflow: hidden;
}
.sc-subpage__slide-text {
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
  color: var(--color-container);
  line-height: 1;
  font-weight: 500;
}
.sc-subpage__ttl {
  position: relative;
  line-height: 1;
}
.sc-subpage__ttl .main {
  font-weight: 700;
}
.sc-subpage__ttl .sub {
  font-weight: 600;
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
  color: var(--color-primary);
  letter-spacing: 0.04em;
}
.sc-subpage__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media screen and (min-width: 812px) {
  .sc-subpage__header {
    padding-bottom: 1px;
  }
  .sc-subpage__header:has(.sc-subpage__image) {
    position: relative;
    z-index: 0;
  }
  .sc-subpage__header:has(.sc-subpage__image):before {
    content: "";
    position: absolute;
    top: calc(var(--grid-width) * 9);
    left: 0;
    right: 0;
    bottom: 0;
    margin-top: 1px;
    background-color: #fff;
    z-index: -1;
  }
  .sc-subpage__slide-text {
    padding-top: calc(var(--grid-width) * 1);
    height: calc(var(--grid-width) * 3);
    font-size: calc(var(--grid-width) * 2);
  }
  .sc-subpage__ttl {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: calc(var(--grid-width) * 1);
  }
  .sc-subpage__ttl .main {
    font-size: 4.6rem;
  }
  .sc-subpage__ttl .sub {
    font-size: 1.4rem;
  }
  .sc-subpage__image {
    position: relative;
    z-index: 1;
    margin-left: -2rem;
    margin-right: -2rem;
  }
  .sc-subpage__inner {
    padding-bottom: 14rem;
  }
  .sc-subpage .l-breadcrumb {
    display: flex;
    align-items: center;
    height: calc(var(--grid-width) * 1);
  }
}
@media screen and (max-width: 811px) {
  .sc-subpage {
    overflow: hidden;
  }
  .sc-subpage__slide-text {
    padding-top: calc(var(--grid-width) * 1);
    height: calc(var(--grid-width) * 2);
    font-size: calc(var(--grid-width) * 1.25);
    transform: translateY(-0.1em);
  }
  .sc-subpage__ttl {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2, calc(var(--grid-width) * 1));
    align-items: center;
  }
  .sc-subpage__ttl .main {
    font-size: 3.6rem;
  }
  .sc-subpage__ttl .sub {
    font-size: 1.4rem;
  }
  .sc-subpage__image {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 37.9rem;
  }
  .sc-subpage__inner {
    padding-bottom: 7rem;
  }
  .sc-subpage .l-breadcrumb {
    display: flex;
    align-items: center;
    height: calc(var(--grid-width) * 1);
  }
}

.sc-subpage__image img {
  animation: subpageFadeinSlide 1s forwards;
}

@keyframes subpageFadeinSlide {
  0% {
    transform: translateY(10%);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
.sc-subpage__header {
  animation: subpageFadein 1s forwards;
}

@keyframes subpageFadein {
  0% {
    opacity: 0;
  }
  25% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.js-inview-fade .sc-subpage__inner {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1s ease, transform 1s ease;
}
.js-inview-fade.isInviewed .sc-subpage__inner {
  opacity: 1;
  transform: none;
}

/* ============================================================
/*  recruit subpage
============================================================ */
.sc-rec-subpage.new-graduate {
  --color-career-container: var(--color-primary-container);
  --color-career: var(--color-primary);
}
.sc-rec-subpage.mid-career {
  --color-career-container: var(--color-secondary-container);
  --color-career: var(--color-secondary);
}

.sc-rec-subpage {
  --image-offset-sp: calc(230px - 50vw);
}
.sc-rec-subpage__slide-text {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: -1;
  color: var(--color-career-container);
  font-family: "Raleway", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  font-weight: 700;
  line-height: 1;
  overflow: hidden;
}
.sc-rec-subpage__header {
  position: relative;
  z-index: 0;
}
.sc-rec-subpage__header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background-color: var(--color-career-container);
  z-index: -1;
}
.sc-rec-subpage__image {
  aspect-ratio: 598/399;
  overflow: hidden;
}
.sc-rec-subpage__ttl {
  display: flex;
  flex-direction: column;
  line-height: 1;
}
.sc-rec-subpage__ttl .sub {
  font-family: "Raleway", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-weight: 700;
  white-space: nowrap;
}
.sc-rec-subpage__ttl .thin {
  letter-spacing: -0.02em;
}
.sc-rec-subpage__ttl .main {
  font-weight: 700;
  color: var(--color-career);
}
.sc-rec-subpage__ttl .main:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  margin-right: 0.5rem;
  background-color: currentColor;
}
.sc-rec-subpage__ttl .main em {
  font-style: normal;
  color: var(--color-career);
}
@media screen and (min-width: 812px) {
  .sc-rec-subpage__slide-text {
    top: 40rem;
    font-size: 10rem;
    margin-top: -0.1em;
  }
  .sc-rec-subpage__header {
    padding: 15rem 0 0;
  }
  .sc-rec-subpage__header::before {
    height: 40rem;
  }
  .sc-rec-subpage__header .rl-inner {
    display: grid;
    grid-template-columns: 1fr auto;
  }
  .sc-rec-subpage__header__inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 24rem;
  }
  .sc-rec-subpage__image {
    width: min(53rem, 40vw);
    border-radius: 2rem;
  }
  .sc-rec-subpage__ttl {
    row-gap: 1rem;
    padding-top: 2.5rem;
  }
  .sc-rec-subpage__ttl .sub {
    font-size: min(8.8rem, 6.8vw);
  }
  .sc-rec-subpage__ttl .main {
    font-size: 2.2rem;
  }
  .sc-rec-subpage__inner {
    padding-top: 10rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-rec-subpage__slide-text {
    bottom: 0;
    font-size: 7rem;
    margin-bottom: 0.1em;
  }
  .sc-rec-subpage__header {
    padding: 11.5rem 0 7rem;
    overflow: hidden;
  }
  .sc-rec-subpage__header::before {
    height: calc(100% - 7rem);
  }
  .sc-rec-subpage__ttl {
    margin-bottom: 4.5rem;
    row-gap: 1rem;
  }
  .sc-rec-subpage__ttl .sub {
    font-size: 5.4rem;
  }
  .sc-rec-subpage__ttl .main {
    font-size: 1.8rem;
  }
  .sc-rec-subpage__breadcrumb {
    padding-bottom: 1.5rem;
  }
  .sc-rec-subpage__image {
    margin-right: min(-3rem, var(--image-offset-sp));
    border-radius: 1.5rem 0 0 1.5rem;
  }
  .sc-rec-subpage__header:has(.sc-rec-subpage__image)::before {
    height: calc(100% - 11rem);
  }
}

.js-inview-fade .sc-rec-subpage__inner {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1s ease, transform 1s ease;
}
.js-inview-fade.isInviewed .sc-rec-subpage__inner {
  opacity: 1;
  transform: none;
}

/* ============================================================
/* top page
============================================================ */
.sc-top-mv {
  position: relative;
  overflow: hidden;
}
.sc-top-mv__copy {
  font-weight: 700;
  line-height: 1.9;
  white-space: nowrap;
  transition-delay: 0.5s;
}
.sc-top-mv__copy em {
  font-style: normal;
  color: var(--color-primary);
}
.sc-top-mv__text {
  line-height: 1.8;
  transition-delay: 0.7s;
}
.sc-top-mv__image {
  transition-delay: 0.5s;
  transition-duration: 2s;
}
.sc-top-mv__image__item {
  overflow: hidden;
}
.sc-top-mv__image__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.sc-top-mv__image .swiper-slide img {
  transform: scale(1.1);
}
.sc-top-mv__image .swiper-slide.is-visible img {
  transition: transform 7s linear;
  transform: scale(1);
}
.sc-top-mv__slide-text {
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
  color: var(--color-container);
  line-height: 1;
  font-weight: 500;
}
.sc-top-mv__slide-text .m-marquee-text {
  animation-duration: 120s;
}
@media screen and (min-width: 812px) {
  .sc-top-mv {
    padding-bottom: calc(var(--grid-width) * 1);
  }
  .sc-top-mv .l-inner {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    justify-content: space-between;
    -moz-column-gap: var(--grid-width);
    column-gap: var(--grid-width);
    padding-left: var(--grid-width);
    padding-right: var(--grid-width);
  }
  .sc-top-mv__inner {
    position: relative;
    padding-top: calc(var(--grid-width) * 3);
    padding-left: calc(var(--grid-width) * 0.25);
  }
  .sc-top-mv__copy {
    font-size: calc(var(--grid-width) * 0.52);
  }
  .sc-top-mv__image {
    --image-grid-count: calc(var(--grid-count) - 8);
    width: calc(var(--grid-width) * var(--image-grid-count));
  }
  .sc-top-mv__image__item {
    height: calc(var(--grid-width) * 10);
  }
  .sc-top-mv__text {
    margin-top: 1em;
  }
  .sc-top-mv__slide-text {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 100%;
    transform: translateX(-50%);
    z-index: 1;
    font-size: calc(var(--grid-width) * 2);
  }
  .sc-top-mv .m-bg-grid__dots :nth-child(1) {
    top: calc(var(--grid-width) * 1);
    left: calc(var(--grid-width) * 3);
  }
  .sc-top-mv .m-bg-grid__dots :nth-child(2) {
    top: calc(var(--grid-width) * 2);
    left: calc(var(--grid-width) * 5);
    background-color: var(--color-primary);
  }
  .sc-top-mv .m-bg-grid__dots :nth-child(3) {
    top: calc(var(--grid-width) * 5);
    left: calc(var(--grid-width) * -1);
    background-color: var(--color-primary);
  }
  .sc-top-mv .m-bg-grid__dots :nth-child(4) {
    top: calc(var(--grid-width) * 7);
    left: calc(var(--grid-width) * 4);
  }
}
@media screen and (min-width: 812px) and (max-width: 1200px) {
  .sc-top-mv__image__item {
    height: calc(var(--grid-width) * 9);
  }
  .sc-top-mv .m-bg-grid__dots :nth-child(4) {
    display: none;
  }
}
@media screen and (max-width: 811px) {
  .sc-top-mv .l-inner {
    position: relative;
    display: flex;
    flex-direction: column;
    max-width: calc(var(--grid-width) * 6);
  }
  .sc-top-mv__inner {
    padding-top: calc(var(--grid-width) * 2);
    height: calc(var(--grid-width) * 6);
  }
  .sc-top-mv__copy {
    font-size: 3.3rem;
  }
  .sc-top-mv__text {
    margin-top: 1em;
  }
  .sc-top-mv__image {
    order: 1;
    position: relative;
    width: calc(var(--grid-width) * var(--grid-count));
    left: 50%;
    transform: translateX(-50%);
  }
  .sc-top-mv__image__item {
    height: calc(var(--grid-width) * var(--grid-count));
  }
  .sc-top-mv__slide-text {
    height: calc(var(--grid-width) * 1);
    font-size: calc(var(--grid-width) * 1);
  }
  .sc-top-mv .m-bg-grid__dots :nth-child(1) {
    top: calc(var(--grid-width) * 1);
    left: calc(50% - var(--grid-width) * 3);
  }
  .sc-top-mv .m-bg-grid__dots :nth-child(2) {
    top: calc(var(--grid-width) * 2);
    left: calc(50% + var(--grid-width) * 2);
    background-color: var(--color-primary);
  }
  .sc-top-mv .m-bg-grid__dots :nth-child(3) {
    top: calc(var(--grid-width) * 5);
    left: 50%;
  }
  .sc-top-mv .m-bg-grid__dots :nth-child(4) {
    display: none;
  }
}

.sc-top-about {
  overflow: hidden;
  padding-top: calc(var(--grid-width) * 1);
}
.sc-top-about .l-inner {
  position: relative;
}
.sc-top-about__image {
  position: relative;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
}
.sc-top-about__image__block {
  display: flex;
  -moz-column-gap: 2rem;
  column-gap: 2rem;
  padding-right: 2rem;
}
.sc-top-about__image__block span {
  display: block;
  box-sizing: content-box;
}
.sc-top-about__image__block img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media screen and (min-width: 812px) {
  .sc-top-about__container {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr;
    -moz-column-gap: var(--grid-width);
    column-gap: var(--grid-width);
    padding: 2rem 0;
    margin-bottom: 13rem;
  }
  .sc-top-about__header {
    width: calc(var(--grid-width) * 4);
  }
  .sc-top-about__image__block span {
    width: 40rem;
    height: 25rem;
  }
  .sc-top-about .m-bg-grid__dots :nth-child(1) {
    top: calc(var(--grid-width) * 2);
    left: calc(var(--grid-width) * 4);
    background-color: var(--color-primary);
  }
  .sc-top-about .m-bg-grid__dots :nth-child(2) {
    top: calc(var(--grid-width) * 3);
    left: calc(var(--grid-width) * 3);
  }
}
@media screen and (min-width: 812px) and (max-width: 1200px) {
  .sc-top-about__container {
    -moz-column-gap: min(5vw, 7rem);
    column-gap: min(5vw, 7rem);
  }
  .sc-top-about__header {
    width: auto;
  }
}
@media screen and (max-width: 811px) {
  .sc-top-about__container {
    margin-bottom: 5.3rem;
  }
  .sc-top-about__image__block span {
    width: 19rem;
    height: 19rem;
  }
  .sc-top-about .m-bg-grid__dots :nth-child(1) {
    top: calc(var(--grid-width) * -1);
    left: calc(50% + var(--grid-width) * 2);
  }
  .sc-top-about .m-bg-grid__dots :nth-child(2) {
    top: 0;
    left: calc(50% + var(--grid-width) * 1);
    background-color: var(--color-primary);
  }
}

.sc-top-company__inner {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 812px) {
  .sc-top-company {
    margin-top: 13rem;
  }
  .sc-top-company .l-inner {
    position: relative;
  }
  .sc-top-company__container {
    display: grid;
    grid-template-columns: auto 1fr;
    -moz-column-gap: 9rem;
    column-gap: 9rem;
    align-items: flex-start;
  }
  .sc-top-company .m-ttl {
    position: relative;
    padding-left: 3rem;
  }
  .sc-top-company .m-ttl .sub {
    position: absolute;
    top: 0;
    left: 0;
    margin-left: 1em;
    transform: rotate(90deg);
    transform-origin: left top;
  }
  .sc-top-company .m-ttl .main {
    writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: nowrap;
    letter-spacing: 0.1em;
  }
  .sc-top-company .m-ttl .main .hor {
    font-style: normal;
    -webkit-text-combine: horizontal;
    -ms-text-combine-horizontal: all;
    text-combine-upright: all;
    letter-spacing: normal;
  }
  .sc-top-company .m-ttl .main .half {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 0.5em;
    width: 1em;
    font-style: normal;
    text-combine-upright: all;
  }
  .sc-top-company__header {
    position: sticky;
    top: 0;
    padding-top: 3rem;
  }
  .sc-top-company__inner {
    padding-top: 3rem;
    row-gap: 4.6rem;
  }
  .sc-top-company .m-bg-grid__dots :nth-child(1) {
    bottom: 0;
    left: 0;
    background-color: var(--color-primary);
  }
  .sc-top-company .m-bg-grid__dots :nth-child(2) {
    bottom: calc(var(--grid-width) * -1);
    left: calc(var(--grid-width) * 1);
  }
}
@media screen and (max-width: 811px) {
  .sc-top-company {
    margin-top: 8rem;
  }
  .sc-top-company__inner {
    margin: 3.5rem -3rem 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 1.8rem;
    column-gap: 1.8rem;
    row-gap: 4rem;
  }
  .sc-top-company .m-bg-grid__dots {
    display: none;
  }
}

.sc-top-company__item__link {
  display: block;
  text-decoration: none;
}
.sc-top-company__item__sub {
  display: grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 1.5em;
  column-gap: 1.5em;
  align-items: center;
  font-weight: 500;
  font-size: 1.2rem;
  color: var(--color-gray);
  line-height: 1;
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
}
.sc-top-company__item__sub:after {
  content: "";
  border-bottom: 1px solid var(--color-border);
}
.sc-top-company__item__ttl {
  line-height: 1.2;
  font-weight: 700;
  white-space: nowrap;
}
@media screen and (min-width: 812px) {
  .sc-top-company__item__link {
    display: grid;
    grid-template-columns: auto 1fr;
    -moz-column-gap: min(4.4vw, 5.5rem);
    column-gap: min(4.4vw, 5.5rem);
  }
  .sc-top-company__item__image {
    width: min(26vw, 35rem);
    aspect-ratio: 35/26;
  }
  .sc-top-company__item__ttl {
    font-size: 2.6rem;
    margin: 2.7rem 0 1.5rem;
  }
  .sc-top-company__item__more {
    margin-top: 3.5rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-top-company__item__link {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  .sc-top-company__item__inner {
    flex: 1;
    display: flex;
    flex-direction: column;
  }
  .sc-top-company__item:nth-child(odd) .sc-top-company__item__inner {
    padding-left: 3rem;
  }
  .sc-top-company__item:nth-child(even) .sc-top-company__item__inner {
    padding-right: 3rem;
  }
  .sc-top-company__item__sub {
    display: none;
  }
  .sc-top-company__item__image {
    aspect-ratio: 18/13;
  }
  .sc-top-company__item__ttl {
    font-size: 2rem;
    margin: 1.5rem 0 1rem;
  }
  .sc-top-company__item__text {
    margin-bottom: auto;
    font-size: 1.2rem;
  }
  .sc-top-company__item__more {
    margin-top: 1.5rem;
  }
}

.sc-top-service {
  overflow: hidden;
}
@media screen and (min-width: 812px) {
  .sc-top-service {
    margin-top: 15rem;
  }
  .sc-top-service__container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 10rem;
    column-gap: 10rem;
    align-items: center;
    max-width: 107rem;
    margin: 0 auto;
  }
  .sc-top-service__inner {
    margin-top: 8rem;
  }
  .sc-top-service__desc {
    max-width: 44rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-top-service {
    margin-top: 8rem;
  }
  .sc-top-service__container {
    display: flex;
    flex-direction: column;
    row-gap: 2rem;
  }
  .sc-top-service__inner {
    margin-top: 4rem;
  }
}

.sc-top-service__figure {
  position: relative;
  aspect-ratio: 53/50;
}
.sc-top-service__figure__item {
  position: absolute;
  width: 56.6%;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sc-top-service__figure__item__round {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  animation: round_circle 20s linear infinite;
}
.sc-top-service__figure__item__round:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid var(--color-border);
  border-radius: 50%;
}
.sc-top-service__figure__item__round:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(-50%, -50%);
  width: 1rem;
  height: 1rem;
  background-color: var(--color-primary);
  border-radius: 50%;
}
.sc-top-service__figure__item:nth-child(1) {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.sc-top-service__figure__item:nth-child(1) .sc-top-service__figure__item__round {
  animation-delay: 0s;
  animation-duration: 20s;
}
.sc-top-service__figure__item:nth-child(2) {
  right: 0;
  bottom: 0;
}
.sc-top-service__figure__item:nth-child(2) .sc-top-service__figure__item__round {
  animation-direction: reverse;
  animation-delay: -5s;
  animation-duration: 22s;
}
.sc-top-service__figure__item:nth-child(3) {
  left: 0;
  bottom: 0;
}
.sc-top-service__figure__item:nth-child(3) .sc-top-service__figure__item__round {
  animation-delay: -10s;
  animation-duration: 24s;
}
.sc-top-service__figure__item__ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  line-height: 1;
}
.sc-top-service__figure__item__ttl .main {
  font-weight: 700;
}
.sc-top-service__figure__item__ttl .sub {
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
  font-weight: 500;
  color: #bcbcbc;
}
@media screen and (min-width: 812px) {
  .sc-top-service__figure__item__ttl {
    row-gap: 1.1rem;
  }
  .sc-top-service__figure__item__ttl .main {
    font-size: 2.2rem;
  }
  .sc-top-service__figure__item__ttl .sub {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-top-service__figure__item__ttl {
    row-gap: 0.5rem;
  }
  .sc-top-service__figure__item__ttl .main {
    font-size: 1.8rem;
  }
  .sc-top-service__figure__item__ttl .sub {
    line-height: 1.2;
    font-size: 1rem;
    max-width: 8em;
    height: 2.4em;
    text-align: center;
  }
}

@keyframes round_circle {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.sc-top-management {
  overflow: hidden;
}
.sc-top-management__item__link {
  position: relative;
  display: block;
  text-decoration: none;
}
.sc-top-management__item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.sc-top-management__item__tag {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  flex-wrap: wrap-reverse;
  align-content: flex-start;
  gap: 0.5rem;
}
.sc-top-management__item__tag li {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  padding: 0 0.5em;
  background-color: #fff;
  font-weight: 500;
}
@media screen and (min-width: 812px) {
  .sc-top-management {
    margin-top: 15rem;
  }
  .sc-top-management__container {
    display: grid;
    grid-template-columns: auto 1fr;
    -moz-column-gap: min(7vw, 10rem);
    column-gap: min(7vw, 10rem);
  }
  .sc-top-management__header {
    width: min(32vw, 44rem);
  }
  .sc-top-management__slider {
    width: 60vw;
  }
  .sc-top-management__slider .swiper-slide {
    width: 32rem;
  }
  .sc-top-management__item__image {
    aspect-ratio: 32/50;
  }
  .sc-top-management__item__tag {
    padding: 1rem;
    gap: 1rem;
  }
  .sc-top-management__item__tag li {
    height: 2.8rem;
    font-size: 1.4rem;
  }
  .sc-top-management .m-btn {
    margin-top: 4.5rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-top-management {
    margin-top: 8rem;
  }
  .sc-top-management__slider {
    position: relative;
    margin-top: 2.5rem;
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
  }
  .sc-top-management__slider .swiper-slide {
    width: 18rem;
  }
  .sc-top-management__item__image {
    aspect-ratio: 18/25;
  }
  .sc-top-management__item__tag {
    padding: 1rem;
    gap: 0.5rem;
    align-items: flex-start;
  }
  .sc-top-management__item__tag li {
    height: 2.2rem;
    font-size: 1.2rem;
  }
  .sc-top-management .m-btn {
    margin-top: 2.5rem;
  }
}

.sc-top-recruit {
  overflow: hidden;
}
.sc-top-recruit__image div {
  display: block;
  position: relative;
  width: 100vw;
  height: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: repeat-x center center/auto 100%;
}
@media screen and (min-width: 812px) {
  .sc-top-recruit {
    position: relative;
    padding: calc(var(--grid-width) * 2) 0;
  }
  .sc-top-recruit__container {
    display: grid;
    grid-template-columns: 1fr auto;
    justify-content: space-between;
    align-items: center;
    row-gap: 5rem;
  }
  .sc-top-recruit__header {
    display: flex;
    align-items: center;
    -moz-column-gap: 6.7rem;
    column-gap: 6.7rem;
  }
  .sc-top-recruit__image {
    grid-column: 1/-1;
    height: 42rem;
  }
  .sc-top-recruit__image div {
    background-image: url(../img/top/img_recruit.jpg);
  }
  @supports (background-image: url(../img/top/img_recruit.webp)) {
    .sc-top-recruit__image div {
      background-image: url(../img/top/img_recruit.webp);
    }
  }
  .sc-top-recruit .m-bg-grid__dots :nth-child(1) {
    top: 0;
    left: calc(50% + var(--grid-width) * 2.5);
    background-color: var(--color-primary);
  }
  .sc-top-recruit .m-bg-grid__dots :nth-child(2) {
    top: calc(var(--grid-width) * 1);
    left: calc(50% + var(--grid-width) * 1.5);
  }
}
@media screen and (max-width: 811px) {
  .sc-top-recruit {
    padding: var(--grid-width) 0;
  }
  .sc-top-recruit__container {
    display: flex;
    flex-direction: column;
  }
  .sc-top-recruit__header {
    margin-bottom: 2.5rem;
  }
  .sc-top-recruit__btn {
    margin-bottom: 4.5rem;
  }
  .sc-top-recruit__image {
    height: 45.5rem;
  }
  .sc-top-recruit__image div {
    background-image: url(../img/top/img_recruit-sp.jpg);
  }
  @supports (background-image: url(../img/top/img_recruit-sp.webp)) {
    .sc-top-recruit__image div {
      background-image: url(../img/top/img_recruit-sp.webp);
    }
  }
  .sc-top-recruit .m-bg-grid__dots {
    display: none;
  }
}

/* ============================================================
  company page
============================================================ */
.sc-company-message__copy {
  line-height: 1.3;
  font-weight: 700;
}
.sc-company-message__copy em {
  font-style: normal;
  color: var(--color-primary);
}
.sc-company-message__content p {
  margin-top: 1.5em;
}
.sc-company-message__image > span {
  display: block;
}
.sc-company-message__image figcaption {
  line-height: 1;
}
.sc-company-message__image figcaption z strong {
  font-weight: 700;
}
@media screen and (min-width: 812px) {
  .sc-company-message {
    margin-top: 15rem;
  }
  .sc-company-message .l-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    -moz-column-gap: min(8.5rem, 6.5vw);
    column-gap: min(8.5rem, 6.5vw);
  }
  .sc-company-message__copy {
    font-size: min(4rem, 3vw);
  }
  .sc-company-message__image__wrap {
    grid-column: 2;
    grid-row: 1/span 2;
    width: min(52rem, 37vw);
  }
  .sc-company-message__image {
    position: sticky;
    top: var(--grid-width);
  }
  .sc-company-message__image figcaption {
    display: flex;
    flex-direction: column;
    row-gap: 1.2rem;
    margin-top: 2rem;
  }
  .sc-company-message__image figcaption span {
    font-size: 1.4rem;
  }
  .sc-company-message__image figcaption strong {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-company-message {
    margin-top: 7rem;
  }
  .sc-company-message__copy {
    font-size: 3.2rem;
  }
  .sc-company-message__image > span {
    margin: 3rem -3rem 0 0;
  }
  .sc-company-message__image figcaption {
    display: flex;
    align-items: baseline;
    -moz-column-gap: 1em;
    column-gap: 1em;
    margin-top: 2rem;
    justify-content: flex-end;
  }
  .sc-company-message__image figcaption span {
    font-size: 1.2rem;
  }
  .sc-company-message__image figcaption strong {
    font-size: 2.2rem;
  }
}

.sc-company-profile__item {
  border-bottom: 1px solid var(--color-border);
}
.sc-company-profile__item:first-child {
  border-top: 1px solid var(--color-border);
}
.sc-company-profile__item dt {
  font-weight: 700;
  line-height: 1.4;
}
.sc-company-profile__item dd {
  line-height: 1.75;
}
.sc-company-profile__item strong {
  font-weight: 700;
}
.sc-company-profile__item iframe {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 812px) {
  .sc-company-profile {
    margin-top: 15rem;
  }
  .sc-company-profile__inner {
    margin-top: 5rem;
  }
  .sc-company-profile__item {
    display: grid;
    grid-template-columns: 19rem 1fr;
    align-items: center;
    padding: 2rem 0;
  }
  .sc-company-profile__item dt {
    padding-left: 3rem;
  }
  .sc-company-profile__item iframe {
    max-width: 60rem;
    aspect-ratio: 2/1;
    margin-top: 1.6rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-company-profile {
    margin-top: 7rem;
  }
  .sc-company-profile__item {
    padding: 2rem 0;
  }
  .sc-company-profile dt {
    margin-bottom: 1.1rem;
    font-size: 1.6rem;
  }
  .sc-company-profile iframe {
    aspect-ratio: 316/220;
    margin-top: 1.6rem;
  }
}

.sc-company-strength__inner {
  counter-reset: list 0;
}
.sc-company-strength__item {
  border-bottom: 1px solid #ffe0c6;
}
.sc-company-strength__item:first-child {
  border-top: 1px solid #ffe0c6;
}
.sc-company-strength__item:nth-child(odd) {
  background-color: var(--color-primary-container);
}
.sc-company-strength__item::before {
  counter-increment: list 1;
  content: "0" counter(list);
  color: var(--color-primary);
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
  line-height: 1;
}
.sc-company-strength__item dt {
  line-height: 1;
  font-weight: 700;
}
.sc-company-strength__item dd {
  line-height: 1.7;
}
@media screen and (min-width: 812px) {
  .sc-company-strength {
    margin-top: 15rem;
  }
  .sc-company-strength__inner {
    margin-top: 5rem;
  }
  .sc-company-strength__item {
    display: grid;
    grid-template-columns: 9.2rem 1fr;
    align-items: center;
    row-gap: 1.2rem;
    padding: 3rem 4.2rem 3rem 0;
  }
  .sc-company-strength__item::before {
    font-size: 3rem;
    grid-row: 1/span 2;
    text-align: center;
  }
  .sc-company-strength__item dt {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-company-strength {
    padding-top: 7rem;
  }
  .sc-company-strength__item {
    display: grid;
    grid-template-columns: auto 1fr;
    padding: 2rem;
    align-items: center;
    -moz-column-gap: 1.2rem;
    column-gap: 1.2rem;
    row-gap: 1.2rem;
  }
  .sc-company-strength__item::before {
    font-size: 2.4rem;
  }
  .sc-company-strength__item dt {
    font-size: 2rem;
  }
  .sc-company-strength__item dd {
    grid-column: 1/span 2;
  }
}

@media screen and (min-width: 812px) {
  .sc-company-organization {
    margin-top: 15rem;
  }
  .sc-company-organization .m-ttl {
    text-align: center;
  }
  .sc-company-organization__figure {
    width: 61.1rem;
    margin: 6.7rem auto 0;
  }
}
@media screen and (max-width: 811px) {
  .sc-company-organization {
    margin-top: 7rem;
  }
  .sc-company-organization__figure {
    margin: 3rem auto 0;
  }
}

/* ============================================================
  history page
============================================================ */
.sc-history {
  overflow: hidden;
}
.sc-history__image__block {
  display: flex;
  -moz-column-gap: 2rem;
  column-gap: 2rem;
  padding-right: 2rem;
}
.sc-history__image__block span {
  display: block;
}
.sc-history__image__block span img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.sc-history__item {
  position: relative;
  border-bottom: 1px solid var(--color-border);
}
.sc-history__item:first-child {
  border-top: 1px solid var(--color-border);
}
.sc-history__item::before {
  position: absolute;
  content: "";
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  background-color: var(--color-primary);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.sc-history__item::after {
  position: absolute;
  content: "";
  width: 0.2rem;
  height: 100%;
  background-color: var(--color-primary);
}
.sc-history__item dt {
  color: var(--color-primary);
  font-weight: 600;
  line-height: 1;
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
}
.sc-history__item dd {
  line-height: 1.78;
  text-indent: -3em;
  padding-left: 3em;
}
.sc-history__item dd em {
  display: inline-block;
  width: 3em;
  padding-right: 0.5em;
  font-style: normal;
  text-indent: 0;
  text-align: right;
  white-space: nowrap;
}
.sc-history__footer {
  position: relative;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 812px) {
  .sc-history {
    margin-top: 15rem;
  }
  .sc-history__item {
    display: grid;
    grid-template-columns: 14rem 1fr;
    -moz-column-gap: 6rem;
    column-gap: 6rem;
    align-items: center;
    padding: 2rem 0 2rem 5rem;
  }
  .sc-history__item::before {
    top: 50%;
    left: 19rem;
  }
  .sc-history__item::after {
    top: 50%;
    left: 19rem;
    transform: translate(-50%, -50%);
  }
  .sc-history__item:first-child::after {
    top: 100%;
  }
  .sc-history__item:last-child::after {
    top: 0;
  }
  .sc-history__item dt {
    grid-column: 1;
    grid-row: 1/span 10;
    font-size: 2.2rem;
  }
  .sc-history__item dd {
    grid-column: 2;
    font-size: 1.8rem;
  }
  .sc-history__footer {
    margin-top: 8rem;
  }
  .sc-history__image__block span {
    width: 40rem;
    aspect-ratio: 40/25;
  }
}
@media screen and (max-width: 811px) {
  .sc-history {
    margin-top: 7rem;
  }
  .sc-history__item {
    padding: 3rem 3rem 3rem 6rem;
  }
  .sc-history__item::before {
    top: 4.2rem;
    left: 3rem;
  }
  .sc-history__item::after {
    top: 4.2rem;
    left: 3rem;
    transform: translate(-50%, 0);
  }
  .sc-history__item:last-child::after {
    content: none;
  }
  .sc-history__item dt {
    margin-bottom: 1.2rem;
    font-size: 2.2rem;
  }
  .sc-history__item dd {
    font-size: 1.6rem;
  }
  .sc-history__footer {
    margin-top: 4rem;
  }
  .sc-history__image__block span {
    width: 19rem;
    aspect-ratio: 1/1;
  }
}

/* ============================================================
  philosophy page
============================================================ */
.sc-philosophy-cont {
  overflow: hidden;
}
.sc-philosophy-cont__header {
  text-align: center;
}
.sc-philosophy-cont__ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.sc-philosophy-cont__ttl .main {
  color: var(--color-primary);
  font-weight: 700;
  line-height: 1.8;
}
.sc-philosophy-cont__ttl .sub {
  line-height: 1;
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
  font-weight: 500;
  color: var(--color-container);
  white-space: nowrap;
}
@media screen and (min-width: 812px) {
  .sc-philosophy-cont__header {
    margin-bottom: 5.5rem;
  }
  .sc-philosophy-cont__ttl .main {
    font-size: 2rem;
  }
  .sc-philosophy-cont__ttl .sub {
    font-size: min(10rem, 7.6vw);
  }
}
@media screen and (max-width: 811px) {
  .sc-philosophy-cont__header {
    margin-bottom: 2.9rem;
  }
  .sc-philosophy-cont__ttl .main {
    font-size: 1.7rem;
  }
  .sc-philosophy-cont__ttl .sub {
    font-size: 4rem;
  }
}

.sc-philosophy-vision {
  position: relative;
  text-align: center;
}
.sc-philosophy-vision__copy {
  line-height: 1.4;
  font-weight: 700;
}
@media screen and (min-width: 812px) {
  .sc-philosophy-vision {
    padding: 15rem 0 25rem;
  }
  .sc-philosophy-vision__copy {
    line-height: 1.5;
    margin-bottom: 3rem;
    font-size: 4.4rem;
  }
  .sc-philosophy-vision__text {
    font-size: 1.8rem;
  }
  .sc-philosophy-vision .m-bg-grid__dots :nth-child(1) {
    left: calc(50% - var(--grid-width) * 6.5);
    top: 0;
  }
  .sc-philosophy-vision .m-bg-grid__dots :nth-child(2) {
    left: calc(50% - var(--grid-width) * 5.5);
    top: calc(var(--grid-width) * 1);
    background-color: var(--color-primary);
  }
  .sc-philosophy-vision .m-bg-grid__dots :nth-child(3) {
    left: calc(50% + var(--grid-width) * 5.5);
    top: calc(var(--grid-width) * 2);
  }
  .sc-philosophy-vision .m-bg-grid__dots :nth-child(4) {
    left: calc(50% + var(--grid-width) * 7.5);
    top: calc(var(--grid-width) * 6);
    background: var(--color-primary);
  }
  .sc-philosophy-vision .m-bg-grid__dots :nth-child(5) {
    left: calc(50% + var(--grid-width) * 6.5);
    top: calc(var(--grid-width) * 7);
  }
  .sc-philosophy-vision .m-bg-grid__dots :nth-child(6) {
    left: calc(50% - var(--grid-width) * 7.5);
    top: calc(var(--grid-width) * 8);
  }
  .sc-philosophy-vision .m-bg-grid__dots :nth-child(7) {
    left: calc(50% + var(--grid-width) * 0.5);
    bottom: calc(var(--grid-width) * 1);
    background: var(--color-primary);
  }
  .sc-philosophy-vision .m-bg-grid__dots :nth-child(8) {
    left: calc(50% - var(--grid-width) * 0.5);
    bottom: 0;
  }
}
@media screen and (max-width: 811px) {
  .sc-philosophy-vision {
    padding: 6rem 0 7rem;
  }
  .sc-philosophy-vision__copy {
    margin-bottom: 2.9rem;
    font-size: 3.6rem;
  }
  .sc-philosophy-vision .m-bg-grid__dots :nth-child(1) {
    left: calc(50% - var(--grid-width) * 3);
    top: 0;
    background-color: var(--color-primary);
  }
  .sc-philosophy-vision .m-bg-grid__dots :nth-child(2) {
    left: calc(50% + var(--grid-width) * 1);
    bottom: 0;
  }
  .sc-philosophy-vision .m-bg-grid__dots :nth-child(n+3) {
    display: none;
  }
}

.sc-philosophy-mission {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.sc-philosophy-mission:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-container);
  z-index: -1;
}
.sc-philosophy-mission .sc-philosophy-cont__ttl .sub {
  color: #fff;
}
.sc-philosophy-mission__copy {
  line-height: 1.4;
  font-weight: 700;
}
@media screen and (min-width: 812px) {
  .sc-philosophy-mission {
    height: calc(var(--grid-width) * 8);
  }
  .sc-philosophy-mission__copy {
    line-height: 1.5;
    font-size: 3.6rem;
  }
  .sc-philosophy-mission .m-bg-grid__dots :nth-child(1) {
    left: calc(50% + var(--grid-width) * 4.5);
    top: 0;
    background-color: #fff;
  }
  .sc-philosophy-mission .m-bg-grid__dots :nth-child(2) {
    left: calc(50% + var(--grid-width) * 5.5);
    top: calc(var(--grid-width) * 1);
    background-color: var(--color-primary);
  }
  .sc-philosophy-mission .m-bg-grid__dots :nth-child(3) {
    left: calc(50% - var(--grid-width) * 7.5);
    top: calc(var(--grid-width) * 3);
    background-color: #fff;
  }
  .sc-philosophy-mission .m-bg-grid__dots :nth-child(4) {
    left: calc(50% - var(--grid-width) * 8.5);
    top: calc(var(--grid-width) * 4);
    background-color: var(--color-primary);
  }
  .sc-philosophy-mission .m-bg-grid__dots :nth-child(5) {
    left: calc(50% + var(--grid-width) * 6.5);
    top: calc(var(--grid-width) * 5);
    background-color: #fff;
  }
  .sc-philosophy-mission .m-bg-grid__dots :nth-child(6) {
    left: calc(50% - var(--grid-width) * 1.5);
    top: calc(var(--grid-width) * 7);
    background-color: var(--color-primary);
  }
}
@media screen and (max-width: 811px) {
  .sc-philosophy-mission {
    height: calc(var(--grid-width) * 6);
  }
  .sc-philosophy-mission__copy {
    font-size: 2.4rem;
  }
  .sc-philosophy-mission .m-bg-grid__dots :nth-child(1) {
    left: calc(50% + var(--grid-width) * 2);
    top: 0;
    background-color: #fff;
  }
  .sc-philosophy-mission .m-bg-grid__dots :nth-child(2) {
    left: calc(50% - var(--grid-width) * 3);
    top: calc(var(--grid-width) * 5);
    background-color: var(--color-primary);
  }
  .sc-philosophy-mission .m-bg-grid__dots :nth-child(n+3) {
    display: none;
  }
}

.sc-philosophy-value {
  position: relative;
}
.sc-philosophy-value__list {
  counter-reset: list 0;
}
.sc-philosophy-value__list li {
  position: relative;
  z-index: 0;
  line-height: 1.6;
  border: 5px solid var(--color-container);
  background-color: #fff;
  font-weight: 700;
}
.sc-philosophy-value__list li::before {
  content: "#0" counter(list);
  counter-increment: list 1;
  display: block;
  width: 100%;
  font-size: 8rem;
  color: var(--color-primary);
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-container);
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
  line-height: 1;
  transform: translate(-1rem, -1.2rem);
  z-index: -1;
}
@media screen and (min-width: 812px) {
  .sc-philosophy-value {
    margin-top: 15rem;
  }
  .sc-philosophy-value__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: min(5.7rem, 4vw);
  }
  .sc-philosophy-value__list li {
    height: min(22rem, 17vw);
    padding: 6.5rem 0 0 min(5rem, 3vw);
    font-size: min(2.4rem, 1.8vw);
    border-width: 1rem;
  }
  .sc-philosophy-value__list li::before {
    font-size: min(8rem, 6vw);
  }
  .sc-philosophy-value .m-bg-grid__dots {
    display: none;
  }
}
@media screen and (max-width: 811px) {
  .sc-philosophy-value {
    margin-top: 7rem;
  }
  .sc-philosophy-value__list {
    display: flex;
    flex-direction: column;
    row-gap: 3.6rem;
  }
  .sc-philosophy-value__list li {
    padding: 5rem 3rem 3rem 2.5rem;
    font-size: 2rem;
  }
  .sc-philosophy-value__list li::before {
    font-size: 6rem;
  }
  .sc-philosophy-value .m-bg-grid__dots {
    display: none;
  }
}

/* ============================================================
  number page
============================================================ */
@media screen and (min-width: 812px) {
  .sc-number-lead {
    margin-top: 12rem;
  }
  .sc-number-lead .l-inner {
    max-width: 98rem;
    box-sizing: content-box;
  }
}
@media screen and (max-width: 811px) {
  .sc-number-lead {
    margin-top: 8rem;
  }
}

.sc-number-cont__ttl {
  line-height: 0;
}
.sc-number-cont__ttl .sub {
  line-height: 1;
  color: var(--color-primary);
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
  font-weight: 700;
  white-space: nowrap;
}
.sc-number-cont__ttl .main {
  line-height: 1;
  font-weight: 700;
  white-space: nowrap;
}
.sc-number-cont__item {
  background-color: #fff5e0;
}
.sc-number-cont__item dt {
  padding-bottom: 0.1em;
  line-height: 1;
  font-weight: 700;
  width: -moz-fit-content;
  width: fit-content;
  border-bottom: 0.2rem solid;
  margin: 0 auto;
}
.sc-number-cont__item dd {
  font-weight: 700;
  line-height: 1;
}
.sc-number-cont__item dd p {
  white-space: nowrap;
}
.sc-number-cont__item dd em {
  display: inline-block;
  font-style: normal;
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
  font-weight: 700;
  color: var(--color-primary);
  letter-spacing: -0.05em;
  margin: 0 0.05em;
}
.sc-number-cont__item dd span.note {
  display: block;
  font-weight: 500;
  margin-top: 0.5em;
}
.sc-number-cont__note {
  text-align: right;
}
@media screen and (min-width: 812px) {
  .sc-number-cont {
    padding: 12rem 0;
  }
  .sc-number-cont .l-inner {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    max-width: 98rem;
    box-sizing: content-box;
  }
  .sc-number-cont__header {
    position: sticky;
    top: var(--grid-width);
    width: 7.9rem;
    min-height: 45rem;
  }
  .sc-number-cont__ttl {
    display: inline-flex;
    align-items: center;
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
    transform: translateY(-5rem) rotate(90deg);
    transform-origin: left bottom;
    white-space: nowrap;
  }
  .sc-number-cont__ttl .sub {
    font-size: 5rem;
  }
  .sc-number-cont__ttl .main {
    height: 5rem;
    writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: nowrap;
    font-size: 1.6rem;
    transform-origin: left top;
    transform: translateY(4rem) rotate(-90deg);
  }
  .sc-number-cont__ttl .main .hor {
    font-style: normal;
    -webkit-text-combine: horizontal;
    -ms-text-combine-horizontal: all;
    text-combine-upright: all;
    letter-spacing: normal;
  }
  .sc-number-cont__ttl .main .half {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 0.5em;
    width: 1em;
    font-style: normal;
    text-combine-upright: all;
  }
  .sc-number-cont__inner {
    flex: 1;
  }
  .sc-number-cont__grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 1rem;
  }
  .sc-number-cont__item {
    padding: 3.5rem 0;
  }
  .sc-number-cont__item dt {
    margin-bottom: 2rem;
    font-size: min(3rem, 2.4vw);
  }
  .sc-number-cont__item dd {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 4rem;
  }
  .sc-number-cont__item dd em {
    font-size: 10rem;
  }
  .sc-number-cont__item dd em.mid {
    font-size: 7rem;
  }
  .sc-number-cont__item dd span.small {
    font-size: 2rem;
  }
  .sc-number-cont__item dd span.note {
    font-size: 1.4rem;
  }
  .sc-number-cont__note {
    font-size: 1.4rem;
    margin-top: 0.5em;
  }
}
@media screen and (max-width: 811px) {
  .sc-number-cont {
    padding: 6rem 0;
  }
  .sc-number-cont__header {
    margin-bottom: 2.5rem;
  }
  .sc-number-cont__ttl {
    display: flex;
    flex-direction: column;
    row-gap: 0.5rem;
  }
  .sc-number-cont__ttl .sub {
    font-size: 3rem;
  }
  .sc-number-cont__ttl .main {
    font-size: 1.4rem;
  }
  .sc-number-cont__grid {
    display: flex;
    flex-direction: column;
    row-gap: 1rem;
  }
  .sc-number-cont__item {
    padding: 3rem 0;
  }
  .sc-number-cont__item dt {
    margin-bottom: 1.3rem;
    font-size: 2.2rem;
  }
  .sc-number-cont__item dd {
    text-align: center;
    font-size: 3rem;
  }
  .sc-number-cont__item dd em {
    font-size: 8rem;
  }
  .sc-number-cont__item dd em.mid {
    font-size: 7rem;
  }
  .sc-number-cont__item dd span.small {
    font-size: 1.8rem;
  }
  .sc-number-cont__item dd span.note {
    font-size: 1.2rem;
  }
  .sc-number-cont__item dd figure {
    margin: 2rem auto 0;
  }
  .sc-number-cont__note {
    font-size: 1.2rem;
    margin: 0.5em -0.5em 0;
  }
}

@media screen and (min-width: 812px) {
  .sc-number-comp .sc-number-cont__item:nth-child(1) {
    grid-column: 1/8;
  }
  .sc-number-comp .sc-number-cont__item:nth-child(1) dd {
    flex-direction: row-reverse;
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
  }
  .sc-number-comp .sc-number-cont__item:nth-child(1) dd figure {
    width: 15rem;
  }
  .sc-number-comp .sc-number-cont__item:nth-child(1) dd span.note {
    margin-left: 2em;
  }
  .sc-number-comp .sc-number-cont__item:nth-child(2) {
    grid-column: 8/13;
  }
  .sc-number-comp .sc-number-cont__item:nth-child(2) dd {
    flex-direction: row-reverse;
    align-items: center;
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
  }
  .sc-number-comp .sc-number-cont__item:nth-child(2) dd figure {
    width: 7rem;
  }
  .sc-number-comp .sc-number-cont__item:nth-child(3) {
    grid-column: 1/13;
  }
  .sc-number-comp .sc-number-cont__item:nth-child(3) dd {
    align-items: center;
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
  }
  .sc-number-comp .sc-number-cont__item:nth-child(3) dd figure {
    width: 21.6rem;
  }
  .sc-number-comp .sc-number-cont__item:nth-child(4) {
    grid-column: 1/5;
  }
  .sc-number-comp .sc-number-cont__item:nth-child(5) {
    grid-column: 5/13;
  }
  .sc-number-comp .sc-number-cont__item:nth-child(5) dd {
    flex-direction: row-reverse;
    -moz-column-gap: 2.6rem;
    column-gap: 2.6rem;
    margin-top: -2rem;
  }
  .sc-number-comp .sc-number-cont__item:nth-child(5) dd figure {
    width: 11.1rem;
  }
  .sc-number-comp .sc-number-cont__item:nth-child(6) {
    grid-column: 1/13;
  }
  .sc-number-comp .sc-number-cont__item:nth-child(6) figure {
    width: 79.3rem;
    margin-top: 3rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-number-comp .sc-number-cont__item:nth-child(1) dd figure {
    width: 12.5rem;
  }
  .sc-number-comp .sc-number-cont__item:nth-child(2) dd figure {
    width: 6rem;
  }
  .sc-number-comp .sc-number-cont__item:nth-child(3) dd span.small {
    margin-bottom: 1em;
    display: block;
  }
  .sc-number-comp .sc-number-cont__item:nth-child(3) dd figure {
    width: 16rem;
  }
  .sc-number-comp .sc-number-cont__item:nth-child(5) dd figure {
    width: 11rem;
  }
  .sc-number-comp .sc-number-cont__item:nth-child(6) dd figure {
    width: 30rem;
    padding-left: 1rem;
  }
}

.sc-number-ws {
  background-color: var(--color-container);
}
@media screen and (min-width: 812px) {
  .sc-number-ws .sc-number-cont__item:nth-child(1) {
    grid-column: 1/6;
  }
  .sc-number-ws .sc-number-cont__item:nth-child(2) {
    grid-column: 6/13;
  }
  .sc-number-ws .sc-number-cont__item:nth-child(2) dd {
    flex-direction: row-reverse;
    -moz-column-gap: 3rem;
    column-gap: 3rem;
  }
  .sc-number-ws .sc-number-cont__item:nth-child(2) dd figure {
    width: 13rem;
  }
  .sc-number-ws .sc-number-cont__item:nth-child(3) {
    grid-column: 1/5;
  }
  .sc-number-ws .sc-number-cont__item:nth-child(3) dd {
    flex-direction: column;
  }
  .sc-number-ws .sc-number-cont__item:nth-child(3) dd figure {
    width: 17rem;
  }
  .sc-number-ws .sc-number-cont__item:nth-child(4) {
    grid-column: 5/9;
  }
  .sc-number-ws .sc-number-cont__item:nth-child(4) dd {
    flex-direction: column;
  }
  .sc-number-ws .sc-number-cont__item:nth-child(4) dd figure {
    width: 17rem;
  }
  .sc-number-ws .sc-number-cont__item:nth-child(5) {
    grid-column: 9/13;
  }
  .sc-number-ws .sc-number-cont__item:nth-child(5) dd {
    flex-direction: column;
  }
  .sc-number-ws .sc-number-cont__item:nth-child(5) dd figure {
    width: 17rem;
  }
  .sc-number-ws .sc-number-cont__item:nth-child(6) {
    grid-column: 1/7;
  }
  .sc-number-ws .sc-number-cont__item:nth-child(7) {
    grid-column: 7/13;
  }
}
@media screen and (max-width: 811px) {
  .sc-number-ws .sc-number-cont__item:nth-child(2) dd figure {
    width: 13rem;
  }
  .sc-number-ws .sc-number-cont__item:nth-child(3) dd figure, .sc-number-ws .sc-number-cont__item:nth-child(4) dd figure, .sc-number-ws .sc-number-cont__item:nth-child(5) dd figure {
    width: 15.4rem;
    margin-top: 0;
  }
}

.sc-number-qual {
  padding-bottom: 0;
}
.sc-number-qual__container {
  background-color: var(--color-container);
}
.sc-number-qual__caption {
  line-height: 1;
  font-weight: 700;
  text-align: center;
}
.sc-number-qual__list {
  display: flex;
  flex-direction: column;
}
.sc-number-qual__item {
  display: flex;
  align-items: center;
  -moz-column-gap: 1em;
  column-gap: 1em;
}
.sc-number-qual__item dt {
  flex: 1;
  display: flex;
  align-items: center;
  line-height: 1.3;
  font-weight: 500;
  -moz-column-gap: 0.5em;
  column-gap: 0.5em;
}
.sc-number-qual__item dt .m-icon-medal {
  font-size: 2rem;
  color: var(--color-primary);
}
.sc-number-qual__item dt:after {
  content: "";
  display: block;
  flex: 1;
  height: 0.2rem;
  background: linear-gradient(to right, var(--color-primary) 0%, var(--color-primary) 50%, transparent 50%, transparent 100%) repeat-x 0 0/0.8rem 100%;
}
.sc-number-qual__item dd {
  line-height: 1;
  font-weight: 700;
  color: var(--color-primary);
}
@media screen and (min-width: 812px) {
  .sc-number-qual__container {
    padding: 5rem 0 6rem;
  }
  .sc-number-qual .sc-number-cont__header {
    height: 60rem;
  }
  .sc-number-qual__caption {
    margin-bottom: 3.7rem;
    font-size: 3rem;
  }
  .sc-number-qual__list {
    row-gap: 2.8rem;
    max-width: 55rem;
    margin: 0 auto;
  }
  .sc-number-qual__item dt {
    font-size: 1.8rem;
  }
  .sc-number-qual__item dd {
    font-size: 2rem;
  }
  .sc-number-qual .sc-number-cont__note {
    max-width: 58rem;
    margin: 3rem auto 0;
  }
}
@media screen and (max-width: 811px) {
  .sc-number-qual__container {
    padding: 2.5rem 2rem 3rem;
  }
  .sc-number-qual__caption {
    margin-bottom: 3rem;
    font-size: 2.2rem;
  }
  .sc-number-qual__list {
    row-gap: 3rem;
  }
  .sc-number-qual__item dt {
    font-size: 1.3rem;
  }
  .sc-number-qual__item dd {
    font-size: 1.8rem;
  }
  .sc-number-qual .sc-number-cont__note {
    margin-top: 1.5em;
  }
}

/* ============================================================
  service page
============================================================ */
@media screen and (min-width: 812px) {
  .sc-service-works {
    padding-top: 15rem;
  }
  .sc-service-works__list {
    margin-top: 6rem;
    display: flex;
    flex-direction: column;
    row-gap: 7rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-service-works {
    padding-top: 7rem;
  }
}

.sc-service-works__item__image {
  aspect-ratio: 465/320;
}
.sc-service-works__item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.sc-service-works__item__ttl {
  line-height: 1;
  font-weight: 700;
}
@media screen and (min-width: 812px) {
  .sc-service-works__item {
    display: grid;
    grid-template-columns: auto 1fr;
    -moz-column-gap: min(6.5rem, 5vw);
    column-gap: min(6.5rem, 5vw);
  }
  .sc-service-works__item__image {
    width: min(46.5rem, 40vw);
  }
  .sc-service-works__item__inner {
    padding-top: 3.4rem;
    border-top: 1px solid var(--color-border);
  }
  .sc-service-works__item__ttl {
    margin-bottom: 2rem;
    font-size: 3rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-service-works__item {
    margin-top: 4rem;
  }
  .sc-service-works__item__ttl {
    font-size: 2.4rem;
    margin: 2rem 0 1.4rem;
  }
}

.sc-service-detail {
  border: 1px solid var(--color-border);
}
.sc-service-detail__ttl {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 1em;
  margin: 0 auto;
  color: var(--color-primary);
  font-weight: 700;
  line-height: 1;
  background-color: #fff;
}
.sc-service-detail__list li {
  display: flex;
  align-items: baseline;
  line-height: 1.5;
}
.sc-service-detail__list li::before {
  content: "●";
  color: var(--color-primary);
  transform: scale(0.5);
}
@media screen and (min-width: 812px) {
  .sc-service-detail {
    margin-top: 10rem;
  }
  .sc-service-detail__ttl {
    font-size: 2.6rem;
    transform: translateY(-50%);
  }
  .sc-service-detail__list {
    display: grid;
    grid-template-columns: repeat(2, auto);
    -moz-column-gap: 5rem;
    column-gap: 5rem;
    row-gap: 1rem;
    padding: 5rem 7rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-service-detail {
    margin-top: 5rem;
  }
  .sc-service-detail__ttl {
    font-size: 2.2rem;
    transform: translateY(-50%);
  }
  .sc-service-detail__list {
    display: flex;
    flex-direction: column;
    row-gap: 0.9rem;
    padding: 3rem;
  }
}

.sc-service-relation {
  overflow: hidden;
}
@media screen and (min-width: 812px) {
  .sc-service-relation {
    margin-top: 15rem;
  }
  .sc-service-relation .l-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
  }
  .sc-service-relation__inner {
    grid-row: 2;
    grid-column: 1/span 2;
    margin-top: 3rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-service-relation {
    margin-top: 7rem;
  }
  .sc-service-relation .m-btn {
    margin: 2rem auto 0;
  }
}

.sc-service-relation__list .js-slider__pagination:empty {
  display: none;
}
@media screen and (min-width: 812px) {
  .sc-service-relation__list .swiper {
    margin: 0 min(-2rem, -1.5vw);
  }
  .sc-service-relation__list .swiper-slide {
    width: 33.33%;
    padding: 0 min(2rem, 1.5vw);
  }
  .sc-service-relation__list .m-interview-idx-item__image {
    aspect-ratio: 37/24;
  }
  .sc-service-relation__list .m-interview-idx-item__inner {
    padding-top: 2.2rem;
  }
  .sc-service-relation__list .m-interview-idx-item__tag {
    border: none;
    border-radius: 0rem 0.5rem 0rem 0rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-service-relation__list {
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
  .sc-service-relation__list .swiper-slide {
    width: 33.5rem;
    padding: 0 1rem;
  }
  .sc-service-relation__list .m-interview-idx-item__image {
    aspect-ratio: 316/205;
  }
  .sc-service-relation__list .m-interview-idx-item__inner {
    padding-top: 1.7rem;
  }
  .sc-service-relation__list .m-interview-idx-item__tag {
    border: none;
    border-radius: 0rem 0.5rem 0rem 0rem;
  }
}

/* ============================================================
  management page
============================================================ */
.sc-management__image {
  border: 1px solid var(--color-border);
}
.sc-management__tab {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  background-color: var(--color-container);
  text-decoration: none;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.sc-management__tab::after {
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  background-color: inherit;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  z-index: -1;
}
@media (hover: hover) {
  .sc-management__tab {
    cursor: pointer;
  }
  .sc-management__tab:hover {
    background-color: var(--color-primary);
    color: #fff;
  }
}
.sc-management__tab[aria-selected=true] {
  position: relative;
  background-color: var(--color-primary);
  color: #fff;
  pointer-events: none;
}
@media screen and (min-width: 812px) {
  .sc-management {
    margin-top: 7rem;
  }
  .sc-management__header {
    margin-bottom: 8rem;
  }
  .sc-management__image {
    margin-top: 5rem;
  }
  .sc-management__tablist {
    margin-bottom: 5rem;
    display: flex;
    align-items: center;
    -moz-column-gap: 1.9rem;
    column-gap: 1.9rem;
  }
  .sc-management__tab {
    flex: 1;
    height: 5.6rem;
  }
  .sc-management__tab::after {
    content: "";
    width: 2.6rem;
    height: 1.2rem;
    transition: transform 0.3s ease;
    transform: translate(-50%, -100%);
  }
  .sc-management__tab[aria-selected=true]::after {
    transform: translate(-50%, 0);
  }
  .sc-management__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: min(4rem, 3vw);
    column-gap: min(4rem, 3vw);
    row-gap: 5rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-management {
    margin-top: 6rem;
  }
  .sc-management__header {
    margin-bottom: 6rem;
  }
  .sc-management__image {
    margin-top: 2rem;
  }
  .sc-management__tablist {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.3rem;
    margin: 0 -3rem 3rem;
  }
  .sc-management__tab {
    height: 4.6rem;
    font-size: 1.6rem;
  }
  .sc-management__tab:nth-child(1) {
    grid-column: 1/span 2;
  }
  .sc-management__list {
    display: flex;
    flex-direction: column;
    row-gap: 4rem;
  }
}

/* ============================================================
/*  recruit page
============================================================ */
.sc-rec-mv {
  position: relative;
  z-index: 0;
  overflow: hidden;
  background-color: var(--color-primary-container);
}
.sc-rec-mv__slide-text {
  position: absolute;
  z-index: -1;
  left: 0;
  color: #fff;
  font-weight: 600;
  line-height: 1;
  font-family: "Raleway", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
}
.sc-rec-mv__ttl {
  line-height: 1.4;
  font-weight: 700;
  white-space: nowrap;
}
.sc-rec-mv__ttl em {
  font-style: normal;
  color: var(--color-primary);
}
.sc-rec-mv__image {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  z-index: -1;
}
.sc-rec-mv__image__block img {
  width: auto;
  height: 100%;
}
@media screen and (min-width: 812px) {
  .sc-rec-mv {
    padding: 15rem 0 2rem;
  }
  .sc-rec-mv__slide-text {
    top: 15rem;
    font-size: 15rem;
  }
  .sc-rec-mv__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .sc-rec-mv__ttl {
    font-size: 5rem;
  }
  .sc-rec-mv__signature {
    position: relative;
    flex: 1;
  }
  .sc-rec-mv__signature img {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    max-width: 50rem;
    width: min(36vw, 50rem);
  }
  .sc-rec-mv__image {
    margin-top: 6rem;
  }
  .sc-rec-mv__image__block {
    aspect-ratio: 3204/840;
    height: 42rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-rec-mv {
    padding: 8rem 0 2rem;
  }
  .sc-rec-mv__slide-text {
    top: 8rem;
    margin-top: -0.1em;
    font-size: 8rem;
  }
  .sc-rec-mv__header {
    margin-top: 4.5rem;
  }
  .sc-rec-mv__ttl {
    font-size: 3.3rem;
  }
  .sc-rec-mv__signature {
    position: relative;
    flex: 1;
  }
  .sc-rec-mv__signature img {
    position: absolute;
    top: -3rem;
    left: 7.7rem;
    z-index: 1;
    width: 24.8rem;
  }
  .sc-rec-mv__image {
    margin-top: 4.2rem;
  }
  .sc-rec-mv__image__block {
    aspect-ratio: 124/91;
    height: 45.5rem;
  }
}

.sc-rec-about {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)), url(../img/recruit/img_spiral.svg) no-repeat center bottom;
}
.sc-rec-about__desc p + p {
  margin-top: 1.5em;
}
@media screen and (min-width: 812px) {
  .sc-rec-about {
    margin-top: 15rem;
    background-size: 170rem auto;
    background-position-x: 30%;
  }
  .sc-rec-about__container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .sc-rec-about__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    -moz-column-gap: min(5rem, 3.6vw);
    column-gap: min(5rem, 3.6vw);
    row-gap: min(8rem, 6vw);
    width: min(72rem, 52vw);
    margin-right: -5rem;
  }
  .sc-rec-about__header {
    position: sticky;
    top: 16rem;
  }
  .sc-rec-about__ttl {
    margin-top: 0;
  }
}
@media screen and (min-width: 812px) and (max-width: 1200px) {
  .sc-rec-about__inner {
    -moz-column-gap: 3rem;
    column-gap: 3rem;
    row-gap: 5rem;
    width: 46vw;
  }
}
@media screen and (max-width: 811px) {
  .sc-rec-about {
    margin-top: 7rem;
    background-size: 70rem auto;
    background-position-x: 30%;
    background-position-y: 14rem;
  }
  .sc-rec-about__inner {
    display: flex;
    flex-direction: column;
    row-gap: 4rem;
    margin-top: 4rem;
  }
}

.sc-rec-about__item__link {
  display: block;
  text-decoration: none;
}
.sc-rec-about__item__image {
  position: relative;
  border-radius: 1.5rem;
}
.sc-rec-about__item__image figcaption {
  position: absolute;
  left: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 1em;
  height: 3rem;
  line-height: 1;
  font-family: "Raleway", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  color: var(--color-primary);
  background-color: #fff;
  border-radius: 0 1rem 0 0;
}
.sc-rec-about__item__ttl {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.5em;
  column-gap: 0.5em;
  font-weight: 700;
  line-height: 1;
}
.sc-rec-about__item__ttl em {
  font-size: 90%;
  color: var(--color-primary);
}
@media (hover: hover) {
  .sc-rec-about__item__ttl em {
    transition: transform 0.3s ease;
  }
  .sc-rec-about__item__link:hover .sc-rec-about__item__ttl em {
    transform: scale(1.1);
  }
}
@media screen and (min-width: 812px) {
  .sc-rec-about__item__image {
    aspect-ratio: 33/39;
  }
  .sc-rec-about__item__image figcaption {
    font-size: 1.4rem;
  }
  .sc-rec-about__item__ttl {
    font-size: min(2.2rem, 1.8vw);
    margin-top: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-rec-about__item__image {
    aspect-ratio: 1/1;
  }
  .sc-rec-about__item__image figcaption {
    font-size: 1.2rem;
  }
  .sc-rec-about__item__ttl {
    font-size: 1.8rem;
    margin-top: 2rem;
  }
}

.sc-rec-voice {
  overflow: hidden;
}
.sc-rec-voice__slide {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
}
.sc-rec-voice__list {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}
.sc-rec-voice__list li {
  display: flex;
  align-items: center;
}
.sc-rec-voice__list a {
  text-decoration: none;
}
.sc-rec-voice__list span {
  -webkit-text-stroke: 1px var(--color-base);
  text-stroke: 1px var(--color-base);
  paint-order: stroke;
  color: #fff;
}
.sc-rec-voice__list .thumb-1 {
  width: 20rem;
}
.sc-rec-voice__list .thumb-2 {
  width: 10rem;
}
.sc-rec-voice__list .thumb-3 {
  width: 8rem;
}
.sc-rec-voice__list .thumb-4 {
  width: 20rem;
}
.sc-rec-voice__list .thumb-5 {
  width: 8rem;
}
.sc-rec-voice__list .thumb-6 {
  width: 17rem;
}
@media (hover: hover) {
  .sc-rec-voice__list span {
    transition: color 0.3s ease, -webkit-text-stroke 0.3s ease;
  }
  .sc-rec-voice__list a:hover span {
    -webkit-text-stroke: 1px var(--color-primary);
    text-stroke: 1px var(--color-primary);
  }
}
@media screen and (min-width: 812px) {
  .sc-rec-voice {
    margin-top: 12rem;
  }
  .sc-rec-voice__inner {
    margin-top: 6rem;
  }
  .sc-rec-voice__slide {
    margin-bottom: 4rem;
  }
  .sc-rec-voice__list {
    font-size: 3rem;
  }
  .sc-rec-voice__list li {
    padding-right: 4rem;
  }
  .sc-rec-voice .rm-btn {
    margin: 6rem auto 0;
  }
}
@media screen and (max-width: 811px) {
  .sc-rec-voice {
    margin-top: 5rem;
  }
  .sc-rec-voice__slide {
    margin-bottom: 1rem;
  }
  .sc-rec-voice__list {
    font-size: 2.4rem;
  }
  .sc-rec-voice__list li {
    padding-right: 2.5rem;
  }
  .sc-rec-voice__list li:has(img) img {
    transform: scale(0.88);
  }
  .sc-rec-voice .rm-btn {
    margin: 2.5rem auto 0;
  }
}

.sc-rec-worker {
  overflow: hidden;
  position: relative;
  z-index: 0;
}
.sc-rec-worker:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--color-primary-container);
  z-index: -1;
}
@media screen and (min-width: 812px) {
  .sc-rec-worker:before {
    width: calc(100vw - 4rem);
    max-width: 1400px;
    border-radius: 6rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-rec-worker:before {
    width: calc(100vw - 2rem);
    border-radius: 3rem;
  }
}
@media screen and (min-width: 812px) {
  .sc-rec-worker {
    margin-top: 15rem;
    padding-bottom: 14rem;
  }
  .sc-rec-worker:before {
    top: 3.4rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-rec-worker {
    margin-top: 5.8rem;
    padding-bottom: 5.5rem;
  }
  .sc-rec-worker:before {
    top: 1.9rem;
  }
}

.sc-rec-interview {
  position: relative;
  z-index: 1;
}
.sc-rec-interview__idx__slider {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
}
@media screen and (min-width: 812px) {
  .sc-rec-interview {
    margin-top: 8rem;
  }
  .sc-rec-interview__inner {
    display: grid;
    grid-template-columns: 1fr auto;
    row-gap: 4rem;
  }
  .sc-rec-interview__idx {
    grid-column: 1/-1;
    grid-row: 2;
  }
}
@media screen and (max-width: 811px) {
  .sc-rec-interview {
    margin-top: 3.6rem;
  }
  .sc-rec-interview__idx {
    margin-top: 2.5rem;
  }
  .sc-rec-interview .rm-btn {
    margin: 3rem auto 0;
  }
}

.sc-rec-crosstalk {
  position: relative;
  z-index: 0;
}
.sc-rec-crosstalk:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: calc(100vw - 4rem);
  max-width: 1400px;
  height: 100%;
  z-index: -1;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/recruit/img_spiral.svg");
  mask-image: url("../img/recruit/img_spiral.svg");
  background: currentColor;
  background-color: #fff2e7;
}
.sc-rec-crosstalk__inner {
  position: relative;
}
.sc-rec-crosstalk__block:nth-child(n+2) {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  visibility: hidden;
  opacity: 0;
}
@media screen and (min-width: 812px) {
  .sc-rec-crosstalk:after {
    margin-top: -18rem;
    -webkit-mask-size: 1700px auto;
    mask-size: 1700px auto;
    -webkit-mask-position: center top;
    mask-position: center top;
  }
  .sc-rec-crosstalk__block {
    padding-top: 12rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-rec-crosstalk:after {
    content: none;
  }
  .sc-rec-crosstalk__block {
    padding-top: 8rem;
  }
}

.sc-rec-crosstalk__item__meta {
  display: flex;
  align-items: center;
  -moz-column-gap: 1em;
  column-gap: 1em;
}
.sc-rec-crosstalk__item__cap {
  line-height: 1;
  color: var(--color-primary);
  font-family: "Raleway", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
}
.sc-rec-crosstalk__item__tag {
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 1em;
  line-height: 1;
  font-weight: 500;
  color: var(--color-primary);
  background-color: #fff;
  border-radius: 0.5rem;
}
.sc-rec-crosstalk__item__ttl {
  font-weight: 700;
  line-height: 1.4;
}
.sc-rec-crosstalk__item__ttl em {
  font-style: normal;
  color: var(--color-primary);
}
.sc-rec-crosstalk__item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 2rem;
}
@media screen and (min-width: 812px) {
  .sc-rec-crosstalk__item {
    padding-top: 2rem;
    display: flex;
    justify-content: space-between;
  }
  .sc-rec-crosstalk__item__inner {
    flex: 1;
    max-width: 62rem;
    margin-right: 5rem;
  }
  .sc-rec-crosstalk__item__meta {
    margin-bottom: 2rem;
  }
  .sc-rec-crosstalk__item__cap {
    font-size: 1.4rem;
  }
  .sc-rec-crosstalk__item__tag {
    height: 3rem;
  }
  .sc-rec-crosstalk__item__image {
    width: min(50rem, 40vw);
    aspect-ratio: 10/13;
  }
  .sc-rec-crosstalk__item__ttl {
    margin-bottom: 2rem;
    font-size: min(4rem, 3vw);
  }
  .sc-rec-crosstalk__item__desc {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 7;
  }
  .sc-rec-crosstalk__item .rm-btn {
    margin-top: 4rem;
  }
}
@media (min-width: 812px) and (max-height: 740px) {
  .sc-rec-crosstalk__item__desc {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  .sc-rec-crosstalk__item .rm-btn {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-rec-crosstalk__item {
    padding-top: 1rem;
  }
  .sc-rec-crosstalk__item__meta {
    margin-bottom: 1rem;
  }
  .sc-rec-crosstalk__item__cap {
    font-size: 1.2rem;
  }
  .sc-rec-crosstalk__item__tag {
    height: 2.7rem;
  }
  .sc-rec-crosstalk__item__image {
    aspect-ratio: 1/1;
  }
  .sc-rec-crosstalk__item__ttl {
    margin-bottom: 1.4rem;
    font-size: 2.4rem;
  }
  .sc-rec-crosstalk__item__desc {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  .sc-rec-crosstalk__item .rm-btn {
    position: relative;
    z-index: 1;
    margin: 2rem auto -2.85rem;
  }
}

/* ============================================================
  recruit requirements
============================================================ */
.sc-rec-requirements__ttl {
  font-weight: 700;
  line-height: 1;
  color: var(--color-career);
}
.sc-rec-requirements__footer .rm-btn {
  margin: 0 auto;
}
@media screen and (min-width: 812px) {
  .sc-rec-requirements {
    margin-top: 13rem;
  }
  .sc-rec-requirements__ttl {
    margin-bottom: 4.5rem;
    font-size: 3.6rem;
  }
  .sc-rec-requirements__footer {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-rec-requirements {
    margin-top: 7rem;
  }
  .sc-rec-requirements__ttl {
    margin-bottom: 3rem;
    font-size: 2.6rem;
  }
  .sc-rec-requirements__footer {
    margin-top: 3rem;
  }
}

.sc-rec-requirements__item {
  line-height: 1.8;
  border-bottom: 1px solid var(--color-border);
}
.sc-rec-requirements__item:first-child {
  border-top: 1px solid var(--color-border);
}
.sc-rec-requirements__item dt {
  font-weight: 700;
  color: var(--color-career);
}
.sc-rec-requirements__item dd p + p {
  margin-top: 1em;
}
@media screen and (min-width: 812px) {
  .sc-rec-requirements__item {
    display: grid;
    grid-template-columns: 16rem 1fr;
    padding: 1.6rem 3rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-rec-requirements__item {
    padding: 2rem 0;
  }
  .sc-rec-requirements__item dt {
    margin-bottom: 1.1rem;
    line-height: 1.1;
    font-size: 1.6rem;
  }
}

/* ============================================================
  recruit flow
============================================================ */
.sc-rec-flow {
  position: relative;
  z-index: 0;
}
.sc-rec-flow:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--color-career-container);
  z-index: -1;
}
@media screen and (min-width: 812px) {
  .sc-rec-flow:before {
    width: calc(100vw - 4rem);
    max-width: 1400px;
    border-radius: 6rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-rec-flow:before {
    width: calc(100vw - 2rem);
    border-radius: 3rem;
  }
}
@media screen and (min-width: 812px) {
  .sc-rec-flow {
    margin-top: 12rem;
    padding: 12rem 0;
  }
  .sc-rec-flow__header {
    display: flex;
    align-items: flex-end;
    -moz-column-gap: 8rem;
    column-gap: 8rem;
  }
  .sc-rec-flow__desc {
    margin-bottom: 4.5rem;
    font-size: 1.2rem;
  }
  .sc-rec-flow__list {
    display: flex;
    -moz-column-gap: min(5rem, 3.6vw);
    column-gap: min(5rem, 3.6vw);
    row-gap: 2.8rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-rec-flow {
    margin-top: 5.8rem;
    padding: 6.7rem 0 7rem;
  }
  .sc-rec-flow__header {
    margin-bottom: 4rem;
  }
  .sc-rec-flow__desc {
    font-size: 1.1rem;
  }
  .sc-rec-flow__list {
    display: flex;
    flex-direction: column;
    row-gap: 2.8rem;
  }
}

.sc-rec-flow__item {
  position: relative;
  line-height: 1;
  background-color: #fff;
}
.sc-rec-flow__item:last-child {
  background-color: var(--color-career);
  color: #fff;
  margin-bottom: 0;
}
.sc-rec-flow__item:last-child::after {
  content: none;
}
.sc-rec-flow__item:last-child dt {
  color: inherit;
}
.sc-rec-flow__item dt {
  color: var(--color-career);
  text-decoration: underline;
  font-family: "Raleway", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  font-weight: 700;
}
.sc-rec-flow__item dd {
  font-weight: 700;
}
@media screen and (min-width: 812px) {
  .sc-rec-flow__item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 13rem;
    border-radius: 1.5rem;
    padding: 2rem 0;
    row-gap: 2.4rem;
  }
  .sc-rec-flow__item:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 100%;
    width: 3.8rem;
    height: 3.8rem;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center center;
    mask-position: center center;
    -webkit-mask-image: url("../img/common/icon_long_arrow.svg");
    mask-image: url("../img/common/icon_long_arrow.svg");
    background: currentColor;
    background-color: var(--color-career);
    transform: translateY(-50%);
  }
  .sc-rec-flow__item dt {
    font-size: 1.6rem;
  }
  .sc-rec-flow__item dd {
    font-size: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-rec-flow__item {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    -moz-column-gap: 2rem;
    column-gap: 2rem;
    padding: 0 2rem;
    height: 6rem;
    border-radius: 1rem;
  }
  .sc-rec-flow__item:after {
    content: "";
    position: absolute;
    top: 100%;
    left: 3.6rem;
    width: 2rem;
    height: 2rem;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center center;
    mask-position: center center;
    -webkit-mask-image: url("../img/common/icon_arrow.svg");
    mask-image: url("../img/common/icon_arrow.svg");
    background: currentColor;
    background-color: var(--color-career);
    transform: rotate(90deg);
  }
  .sc-rec-flow__item dt {
    font-size: 1.3rem;
  }
  .sc-rec-flow__item dd {
    font-size: 1.8rem;
  }
}

/* ============================================================
  recruit card
============================================================ */
.sc-rec-card__ttl {
  font-weight: 700;
  line-height: 1;
  color: var(--color-career);
}
.sc-rec-card__list {
  display: flex;
  flex-direction: column;
}
.sc-rec-card__footer__ttl {
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
.sc-rec-card__footer .rm-btn {
  margin: 0 auto;
}
@media screen and (min-width: 812px) {
  .sc-rec-card {
    margin-top: 13rem;
  }
  .sc-rec-card__ttl {
    margin-bottom: 4.5rem;
    font-size: 3.6rem;
  }
  .sc-rec-card__list {
    row-gap: 4rem;
  }
  .sc-rec-card__footer {
    margin-top: 8rem;
  }
  .sc-rec-card__footer__ttl {
    margin-bottom: 3rem;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-rec-card {
    margin-top: 7rem;
  }
  .sc-rec-card__ttl {
    margin-bottom: 3rem;
    font-size: 2.6rem;
  }
  .sc-rec-card__list {
    row-gap: 2rem;
  }
  .sc-rec-card__footer {
    margin-top: 4rem;
  }
  .sc-rec-card__footer__ttl {
    margin-bottom: 1.6rem;
    font-size: 1.8rem;
  }
}

.sc-rec-card__item {
  background-color: var(--color-career-container);
}
.sc-rec-card__item__image {
  overflow: hidden;
}
.sc-rec-card__item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.sc-rec-card__item__meta {
  display: flex;
  flex-direction: column;
}
.sc-rec-card__item__meta dl {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
}
.sc-rec-card__item__meta dt {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-career);
  font-weight: 700;
  color: #fff;
}
.sc-rec-card__item__meta dd {
  line-height: 1.3;
  font-weight: 500;
}
.sc-rec-card__item__meta dd strong {
  line-height: 1;
  font-weight: 700;
}
.sc-rec-card__item__desc {
  line-height: 2;
}
@media screen and (min-width: 812px) {
  .sc-rec-card__item {
    display: grid;
    grid-template-columns: auto 1fr;
    -moz-column-gap: min(5rem, 3.6vw);
    column-gap: min(5rem, 3.6vw);
    padding: 4rem min(5rem, 3.6vw);
    border-radius: 2rem;
  }
  .sc-rec-card__item__image {
    width: min(37rem, 30vw);
    border-radius: 2rem;
    aspect-ratio: 37/25;
  }
  .sc-rec-card__item__meta {
    row-gap: 1.5rem;
  }
  .sc-rec-card__item__meta dl {
    -moz-column-gap: 1rem;
    column-gap: 1rem;
  }
  .sc-rec-card__item__meta dt {
    width: 7rem;
    font-size: 1.3rem;
    height: 2.8rem;
    border-radius: 0.5rem;
  }
  .sc-rec-card__item__meta dd {
    font-size: 1.8rem;
  }
  .sc-rec-card__item__meta dd strong {
    font-size: 2.4rem;
  }
  .sc-rec-card__item__desc {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    margin-top: 2.5rem;
  }
  .sc-rec-card__item .rm-btn {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-rec-card__item {
    padding: 2rem 3rem;
    border-radius: 1.5rem;
  }
  .sc-rec-card__item__image {
    margin-bottom: 2rem;
    border-radius: 1rem;
    aspect-ratio: 256/170;
  }
  .sc-rec-card__item__meta {
    row-gap: 1.2rem;
  }
  .sc-rec-card__item__meta dl {
    -moz-column-gap: 1rem;
    column-gap: 1rem;
  }
  .sc-rec-card__item__meta dt {
    width: 5rem;
    font-size: 1.1rem;
    height: 2.4rem;
    border-radius: 0.3rem;
  }
  .sc-rec-card__item__meta dd strong {
    font-size: 1.8rem;
  }
  .sc-rec-card__item__desc {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    margin-top: 1.4rem;
    font-size: 1.3rem;
  }
  .sc-rec-card__item .rm-btn {
    margin: 2rem auto 0;
  }
}

/* ============================================================
  recruit relation
============================================================ */
@media screen and (min-width: 812px) {
  .sc-rec-relation {
    margin-top: 15rem;
  }
  .sc-rec-relation__desc {
    margin-bottom: 4.8rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-rec-relation {
    margin-top: 7rem;
  }
  .sc-rec-relation__desc {
    margin-bottom: 3rem;
  }
}

.sc-rec-relation__list .m-interview-idx-item__inner {
  box-shadow: 0 0.5rem 1rem 0 rgba(0, 0, 0, 0.03);
}
@media screen and (min-width: 812px) {
  .sc-rec-relation__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: min(4.5rem, 3.25vw);
    column-gap: min(4.5rem, 3.25vw);
  }
  .sc-rec-relation__list .m-interview-idx-item__image {
    aspect-ratio: 37/23;
    border-radius: 2rem;
  }
  .sc-rec-relation__list .m-interview-idx-item__inner {
    margin: -2rem 2rem 0;
    border-radius: 0 1rem 1rem 1rem;
    padding: 2rem 2.5rem;
  }
  .sc-rec-relation__list .m-interview-idx-item__tag {
    height: 3.6rem;
    border-radius: 1rem 1rem 0 0;
  }
  .sc-rec-relation__list .m-crosstalk-idx-item__image {
    aspect-ratio: 37/23;
    border-radius: 2rem;
  }
  .sc-rec-relation__list .m-crosstalk-idx-item__inner {
    padding: 2rem 1rem;
  }
  .sc-rec-relation__list .m-crosstalk-idx-item__ttl {
    row-gap: 1.3rem;
  }
  .sc-rec-relation__list .m-crosstalk-idx-item__ttl .main {
    font-size: 2.4rem;
  }
  .sc-rec-relation__list .m-crosstalk-idx-item__ttl .sub {
    font-size: 1.4rem;
  }
  .sc-rec-relation__list .m-crosstalk-idx-item .m-arrow {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-rec-relation__list {
    display: flex;
    flex-direction: column;
    row-gap: 5rem;
  }
  .sc-rec-relation__list .m-interview-idx-item__image {
    aspect-ratio: 316/196;
    border-radius: 2rem;
  }
  .sc-rec-relation__list .m-interview-idx-item__inner {
    margin: -2rem 2rem 0;
    border-radius: 0 1rem 1rem 1rem;
    padding: 2rem 2.5rem;
  }
  .sc-rec-relation__list .m-interview-idx-item__tag {
    height: 3.1rem;
    border-radius: 1rem 1rem 0 0;
  }
}

/* ============================================================
  recruit requirements disabled
============================================================ */
.sc-rec-requirements:has(.sc-rec-requirements__disabled) .sc-rec-requirements__ttl,
.sc-rec-requirements:has(.sc-rec-requirements__disabled) .sc-rec-requirements__footer, .sc-rec-requirements:has(.sc-rec-requirements__disabled) + .sc-rec-flow {
  display: none;
}

/* ============================================================
/*  interview index page
============================================================ */
.sc-interview-idx .m-interview-idx-item__inner {
  box-shadow: 0 0.5rem 1rem 0 rgba(0, 0, 0, 0.03);
}
@media screen and (min-width: 812px) {
  .sc-interview-idx__inner {
    margin-top: 6rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 4.5rem;
    column-gap: 4.5rem;
    row-gap: 7rem;
  }
  .sc-interview-idx .m-interview-idx-item__image {
    aspect-ratio: 37/23;
    border-radius: 2rem;
  }
  .sc-interview-idx .m-interview-idx-item__inner {
    margin: -2rem 2rem 0;
    border-radius: 0 1rem 1rem 1rem;
    padding: 2rem 2.5rem;
  }
  .sc-interview-idx .m-interview-idx-item__tag {
    height: 3.6rem;
    border-radius: 1rem 1rem 0 0;
  }
}
@media screen and (max-width: 811px) {
  .sc-interview-idx {
    margin-top: 6rem;
  }
  .sc-interview-idx__inner {
    margin-top: 4rem;
    display: flex;
    flex-direction: column;
    row-gap: 5rem;
  }
  .sc-interview-idx .m-interview-idx-item__image {
    aspect-ratio: 316/196;
    border-radius: 2rem;
  }
  .sc-interview-idx .m-interview-idx-item__inner {
    margin: -2rem 2rem 0;
    border-radius: 0 1rem 1rem 1rem;
    padding: 2rem 2.5rem;
  }
  .sc-interview-idx .m-interview-idx-item__tag {
    height: 3.1rem;
    border-radius: 1rem 1rem 0 0;
  }
}

/* ============================================================
/*  interview detail page
============================================================ */
.sc-interview.new-graduate {
  --color-career-container: var(--color-primary-container);
  --color-career: var(--color-primary);
}
.sc-interview.mid-career {
  --color-career-container: var(--color-secondary-container);
  --color-career: var(--color-secondary);
}

.sc-interview {
  --image-offset: calc(600px - 50vw);
  --image-offset-sp: calc(230px - 50vw);
}
.sc-interview__header {
  position: relative;
  z-index: 0;
  overflow: hidden;
}
.sc-interview__slide-text {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: -1;
  font-family: "Raleway", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  font-weight: 700;
  line-height: 1;
  overflow: hidden;
  color: var(--color-career-container);
}
.sc-interview__image span {
  display: block;
}
.sc-interview__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.sc-interview__ttl {
  font-weight: 700;
  line-height: 1.36;
}
.sc-interview__ttl b,
.sc-interview__ttl strong,
.sc-interview__ttl em {
  font-style: normal;
  color: var(--color-career);
}
.sc-interview__meta {
  border-bottom: 1px dashed var(--color-border);
}
.sc-interview__tag {
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
  padding: 0 0.5em;
  border-radius: 0.5rem;
  font-weight: 700;
  color: #fff;
  background-color: var(--color-career);
}
.sc-interview__name {
  display: flex;
  align-items: baseline;
  -moz-column-gap: 0.5em;
  column-gap: 0.5em;
  line-height: 1;
}
.sc-interview__name .main {
  font-weight: 700;
}
.sc-interview__name .sub {
  font-family: "Raleway", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  font-weight: 500;
  color: var(--color-career);
}
.sc-interview__prof {
  line-height: 1.86;
}
@media screen and (min-width: 812px) {
  .sc-interview__header .rl-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto auto 1fr;
    align-content: flex-start;
    -moz-column-gap: min(5rem, 4vw);
    column-gap: min(5rem, 4vw);
  }
  .sc-interview__slide-text {
    top: 16rem;
    font-size: 12rem;
  }
  .sc-interview__image {
    width: min(68rem, 46vw);
    margin-right: min(-5rem, var(--image-offset));
    grid-column: 2;
    grid-row: 1/span 2;
  }
  .sc-interview__image span {
    height: 100%;
  }
  .sc-interview__image img {
    border-radius: 0 0 0 6rem;
  }
  .sc-interview__breadcrumb {
    padding-top: 13rem;
  }
  .sc-interview__ttl {
    margin-top: min(8rem, 5vw);
    font-size: min(4.4rem, 3.5vw);
  }
  .sc-interview__meta {
    margin-top: min(5rem, 3vw);
    margin-bottom: 2.5rem;
    padding-bottom: 2.5rem;
  }
  .sc-interview__tag {
    height: 2.6rem;
    font-size: 1.4rem;
  }
  .sc-interview__name {
    margin: 1.9rem 0 1.7rem;
  }
  .sc-interview__name .main {
    font-size: 3rem;
  }
  .sc-interview__name .sub {
    font-size: 1.2rem;
  }
  .sc-interview__inner {
    padding-top: 15rem;
  }
}
@media screen and (min-width: 1400px) {
  .sc-interview__header .rl-inner {
    -moz-column-gap: 8rem;
    column-gap: 8rem;
  }
  .sc-interview__image {
    width: 68rem;
    margin-right: -10rem;
  }
  .sc-interview__image span {
    aspect-ratio: 68/80;
  }
  .sc-interview__ttl {
    margin-top: 8rem;
  }
  .sc-interview__meta {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-interview__header {
    padding: 8rem 0 3.5rem;
    border-bottom: 1px solid var(--color-border);
  }
  .sc-interview__slide-text {
    display: none;
  }
  .sc-interview__image {
    margin: 2rem min(-3rem, var(--image-offset-sp)) 0 0;
  }
  .sc-interview__image img {
    border-radius: 3rem 0 0 3rem;
  }
  .sc-interview__ttl {
    margin-top: 2rem;
    font-size: 3rem;
  }
  .sc-interview__meta {
    margin-top: 2rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .sc-interview__tag {
    height: 2.2rem;
    font-size: 1.2rem;
  }
  .sc-interview__name {
    margin: 1.5rem 0 1.2rem;
  }
  .sc-interview__name .main {
    font-size: 2.6rem;
  }
  .sc-interview__name .sub {
    font-size: 1.2rem;
  }
  .sc-interview__inner {
    padding-top: 7rem;
  }
}

.sc-interview-cont__ttl {
  font-weight: 700;
  line-height: 1.36;
}
.sc-interview-cont__ttl b,
.sc-interview-cont__ttl strong,
.sc-interview-cont__ttl em {
  font-style: normal;
}
.sc-interview-cont__cap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
  padding: 0 1em;
  font-family: "Raleway", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  border-radius: 0.5rem;
  font-weight: 600;
  color: #fff;
  background-color: var(--color-career);
}
@media screen and (min-width: 812px) {
  .sc-interview-cont__ttl {
    font-size: 3.2rem;
  }
  .sc-interview-cont__cap {
    height: 2.6rem;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-interview-cont__header {
    display: flex;
    flex-direction: column;
    row-gap: 1rem;
    margin-bottom: 1.8rem;
  }
  .sc-interview-cont__ttl {
    font-size: 2.5rem;
  }
  .sc-interview-cont__cap {
    height: 2.2rem;
    font-size: 1.2rem;
  }
}

.sc-interview-detail {
  overflow: hidden;
}
.sc-interview-detail__image {
  overflow: hidden;
}
.sc-interview-detail__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media screen and (min-width: 812px) {
  .sc-interview-detail {
    margin-bottom: 15rem;
  }
  .sc-interview-detail .rl-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    -moz-column-gap: min(10rem, 6vw);
    column-gap: min(10rem, 6vw);
  }
  .sc-interview-detail__inner {
    flex: 1;
  }
  .sc-interview-detail .sc-interview-cont__header {
    display: flex;
    flex-direction: column;
    row-gap: 2rem;
    margin-bottom: 2rem;
  }
  .sc-interview-detail:nth-of-type(3n + 1) .rl-inner {
    flex-direction: row-reverse;
  }
  .sc-interview-detail:nth-of-type(3n + 2) .rl-inner {
    flex-direction: column;
  }
  .sc-interview-detail:nth-of-type(3n) .sc-interview-detail__image {
    width: min(72rem, 46vw);
    aspect-ratio: 72/63;
    border-radius: 2rem 0 0 2rem;
    margin-right: min(-5rem, var(--image-offset));
  }
  .sc-interview-detail:nth-of-type(3n + 1) .sc-interview-detail__image {
    width: min(72rem, 46vw);
    aspect-ratio: 72/63;
    border-radius: 0 2rem 2rem 0;
    margin-left: min(-5rem, var(--image-offset));
  }
  .sc-interview-detail:nth-of-type(3n + 2) .sc-interview-detail__image {
    width: 100%;
    aspect-ratio: 120/50;
    border-radius: 2rem;
  }
  .sc-interview-detail:nth-of-type(3n + 2) .sc-interview-detail__inner {
    max-width: 100rem;
    margin: 0 auto 6rem;
  }
}
@media screen and (min-width: 1400px) {
  .sc-interview-detail .rl-inner {
    -moz-column-gap: 10rem;
    column-gap: 10rem;
  }
  .sc-interview-detail:nth-of-type(3n + 1) .sc-interview-detail__image {
    width: 72rem;
    margin-left: -10rem;
  }
  .sc-interview-detail:nth-of-type(3n) .sc-interview-detail__image {
    width: 72rem;
    margin-right: -10rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-interview-detail {
    margin-bottom: 7rem;
  }
  .sc-interview-detail:nth-of-type(3n) .sc-interview-detail__image {
    margin-top: 4rem;
    margin-right: min(-3rem, var(--image-offset-sp));
    border-radius: 1.5rem 0 0 1.5rem;
  }
  .sc-interview-detail:nth-of-type(3n + 1) .sc-interview-detail__image {
    margin-top: 4rem;
    margin-left: min(-3rem, var(--image-offset-sp));
    border-radius: 0 1.5rem 1.5rem 0;
  }
  .sc-interview-detail:nth-of-type(3n + 2) .sc-interview-detail__image {
    margin: 4rem min(-3rem, var(--image-offset-sp)) 0;
  }
}

.sc-interview-qa {
  position: relative;
  z-index: 0;
}
.sc-interview-qa:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--color-career-container);
  z-index: -1;
}
@media screen and (min-width: 812px) {
  .sc-interview-qa:before {
    width: calc(100vw - 4rem);
    max-width: 1400px;
    border-radius: 6rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-interview-qa:before {
    width: calc(100vw - 2rem);
    border-radius: 3rem;
  }
}
.sc-interview-qa__item {
  position: relative;
  background-color: #fff;
}
.sc-interview-qa__item__ttl {
  line-height: 1.4;
  font-weight: 700;
}
.sc-interview-qa__item__cap {
  position: absolute;
  line-height: 1;
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
  font-weight: 600;
  color: var(--color-career);
}
@media screen and (min-width: 812px) {
  .sc-interview-qa {
    padding: 15rem 0;
  }
  .sc-interview-qa .sc-interview-cont__header {
    margin-bottom: 4.3rem;
    display: flex;
    align-items: center;
    -moz-column-gap: 2rem;
    column-gap: 2rem;
  }
  .sc-interview-qa__inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: min(4.5rem, 3vw);
  }
  .sc-interview-qa__item {
    border-radius: 2rem;
    padding: min(4rem, 3vw);
  }
  .sc-interview-qa__item__ttl {
    margin: 1rem 0 1.5rem;
    font-size: 2.4rem;
  }
  .sc-interview-qa__item__cap {
    font-size: 3rem;
    top: 1rem;
    left: 1.5rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-interview-qa {
    padding: 7rem 0;
  }
  .sc-interview-qa__inner {
    display: flex;
    flex-direction: column;
    row-gap: 2rem;
    margin-top: 3rem;
  }
  .sc-interview-qa__item {
    border-radius: 2rem;
    padding: 4rem 3rem;
  }
  .sc-interview-qa__item__ttl {
    margin: 0 0 1.5rem;
    font-size: 2.2rem;
  }
  .sc-interview-qa__item__cap {
    font-size: 2.4rem;
    top: 1rem;
    left: 1.5rem;
  }
}

.sc-interview-sche__inner {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 812px) {
  .sc-interview-sche {
    margin-top: 9rem;
  }
  .sc-interview-sche .rl-inner {
    display: grid;
    grid-template-columns: min(24rem, 17vw) 1fr;
    align-items: flex-start;
  }
  .sc-interview-sche .sc-interview-cont__header {
    position: sticky;
    top: 16rem;
    padding-left: 4.5rem;
  }
  .sc-interview-sche .sc-interview-cont__header .sc-interview-cont__ttl {
    writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: nowrap;
  }
  .sc-interview-sche .sc-interview-cont__header .sc-interview-cont__ttl .hor {
    font-style: normal;
    -webkit-text-combine: horizontal;
    -ms-text-combine-horizontal: all;
    text-combine-upright: all;
    letter-spacing: normal;
  }
  .sc-interview-sche .sc-interview-cont__header .sc-interview-cont__ttl .half {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 0.5em;
    width: 1em;
    font-style: normal;
    text-combine-upright: all;
  }
  .sc-interview-sche .sc-interview-cont__header .sc-interview-cont__cap {
    position: absolute;
    top: 0;
    left: 0;
    transform: rotate(90deg) translateY(-100%);
    transform-origin: left top;
  }
  .sc-interview-sche__inner {
    row-gap: 3rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-interview-sche {
    padding-top: 7rem;
  }
  .sc-interview-sche__inner {
    row-gap: 2.3rem;
  }
}

.sc-interview-sche__item {
  border-bottom: 1px dashed var(--color-border);
}
.sc-interview-sche__item:last-of-type {
  border-bottom: none;
}
.sc-interview-sche__item__meta {
  display: flex;
  align-items: baseline;
}
.sc-interview-sche__item__time {
  color: var(--color-career);
  font-weight: 600;
  white-space: nowrap;
}
.sc-interview-sche__item__ttl {
  line-height: 1.4;
  font-weight: 700;
}
.sc-interview-sche__item__image {
  overflow: hidden;
}
@media screen and (min-width: 812px) {
  .sc-interview-sche__item {
    padding-bottom: 3rem;
    display: grid;
    grid-template-columns: 1fr min(30rem, 23vw);
    align-items: flex-start;
    -moz-column-gap: 5rem;
    column-gap: 5rem;
  }
  .sc-interview-sche__item__meta {
    margin-bottom: 1rem;
    -moz-column-gap: 1.8rem;
    column-gap: 1.8rem;
  }
  .sc-interview-sche__item__time {
    font-size: 1.8rem;
  }
  .sc-interview-sche__item__ttl {
    font-size: 2.4rem;
  }
  .sc-interview-sche__item__image {
    border-radius: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-interview-sche__item {
    padding-bottom: 2.3rem;
  }
  .sc-interview-sche__item__meta {
    margin-bottom: 1rem;
    -moz-column-gap: 1.2rem;
    column-gap: 1.2rem;
  }
  .sc-interview-sche__item__time {
    font-size: 1.6rem;
  }
  .sc-interview-sche__item__ttl {
    font-size: 2rem;
  }
  .sc-interview-sche__item__image {
    margin-top: 2rem;
    border-radius: 2rem;
  }
}

.sc-interview-holiday__image {
  aspect-ratio: 62/39;
  overflow: hidden;
}
.sc-interview-holiday__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media screen and (min-width: 812px) {
  .sc-interview-holiday {
    margin-top: 15rem;
  }
  .sc-interview-holiday .sc-interview-cont__header {
    display: flex;
    flex-direction: column;
    row-gap: 2rem;
    margin-bottom: 3rem;
  }
  .sc-interview-holiday .rl-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    -moz-column-gap: min(8rem, 6vw);
    column-gap: min(8rem, 6vw);
  }
  .sc-interview-holiday__image {
    width: min(30rem, 23vw);
    border-radius: 2rem;
  }
}
@media screen and (min-width: 1400px) {
  .sc-interview-holiday .rl-inner {
    -moz-column-gap: 10rem;
    column-gap: 10rem;
  }
  .sc-interview-holiday__image {
    width: 30rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-interview-holiday {
    margin-top: 7rem;
  }
  .sc-interview-holiday__image {
    margin-top: 2rem;
    border-radius: 1.5rem;
  }
}

.sc-interview-other {
  overflow: hidden;
  position: relative;
  z-index: 0;
}
.sc-interview-other:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--color-career-container);
  z-index: -1;
}
@media screen and (min-width: 812px) {
  .sc-interview-other:before {
    width: calc(100vw - 4rem);
    max-width: 1400px;
    border-radius: 6rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-interview-other:before {
    width: calc(100vw - 2rem);
    border-radius: 3rem;
  }
}
.sc-interview-other:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: calc(100vw - 4rem);
  max-width: 1400px;
  height: 100%;
  z-index: -1;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/recruit/img_spiral.svg");
  mask-image: url("../img/recruit/img_spiral.svg");
  background: currentColor;
}
.sc-interview.new-graduate .sc-interview-other:after {
  background-color: #fff2e7;
}
.sc-interview.mid-career .sc-interview-other:after {
  background-color: #e9f0f8;
}
@media screen and (min-width: 812px) {
  .sc-interview-other {
    padding: 15rem 0;
    margin-top: 15rem;
  }
  .sc-interview-other:after {
    -webkit-mask-size: 1500px auto;
    mask-size: 1500px auto;
    -webkit-mask-position: center 65%;
    mask-position: center 65%;
  }
  .sc-interview-other .sc-interview-cont__header {
    display: flex;
    align-items: center;
    -moz-column-gap: 2rem;
    column-gap: 2rem;
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-interview-other {
    padding: 7rem 0;
    margin-top: 7rem;
  }
}

.js-inview-fade .sc-interview__header__inner,
.js-inview-fade .sc-interview__inner {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1s ease, transform 1s ease;
}
.js-inview-fade.isInviewed .sc-interview__header__inner,
.js-inview-fade.isInviewed .sc-interview__inner {
  opacity: 1;
  transform: translateY(0);
}

/* ============================================================
  crosstalk index page
============================================================ */
.sc-crosstalk .sc-rec-subpage__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media screen and (min-width: 812px) {
  .sc-crosstalk .sc-rec-subpage__header {
    height: 50rem;
  }
  .sc-crosstalk .sc-rec-subpage__image {
    aspect-ratio: 60/65;
    width: min(44vw, 60rem);
  }
  .sc-crosstalk .sc-rec-subpage__inner {
    padding-top: 0;
  }
}
@media screen and (min-width: 1400px) {
  .sc-crosstalk .sc-rec-subpage__image {
    width: 60rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-crosstalk .sc-rec-subpage__header {
    padding-bottom: 0;
  }
  .sc-crosstalk .sc-rec-subpage__header::before {
    height: calc(100% - 15rem);
  }
  .sc-crosstalk .sc-rec-subpage__image {
    aspect-ratio: 1/1;
  }
  .sc-crosstalk .sc-rec-subpage__slide-text {
    display: none;
  }
}

.sc-crosstalk-lead {
  position: relative;
}
.sc-crosstalk-lead__ttl {
  font-weight: 700;
  line-height: 1.4;
}
.sc-crosstalk-lead__ttl em {
  font-style: normal;
  color: var(--color-primary);
}
@media screen and (min-width: 812px) {
  .sc-crosstalk-lead {
    margin-top: -10rem;
    padding-top: min(10rem, 6vw);
  }
  .sc-crosstalk-lead .rl-inner {
    display: grid;
    grid-template-columns: 1fr auto;
  }
  .sc-crosstalk-lead .rl-inner:after {
    content: "";
    display: block;
    aspect-ratio: 60/65;
    width: min(44vw, 60rem);
    margin-top: -34rem;
  }
  .sc-crosstalk-lead__ttl {
    margin-bottom: min(1.6vw, 2rem);
    font-size: min(3vw, 3.4rem);
    width: min(54rem, 45vw);
  }
  .sc-crosstalk-lead__text {
    line-height: 2;
    width: min(52rem, 42vw);
  }
}
@media screen and (min-width: 1400px) {
  .sc-crosstalk-lead {
    padding-top: 10rem;
  }
  .sc-crosstalk-lead__ttl {
    margin-bottom: 2rem;
    font-size: 3.4rem;
  }
  .sc-crosstalk-lead__text {
    width: 52rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-crosstalk-lead__ttl {
    margin-bottom: 2rem;
    font-size: 2.2rem;
    text-align: center;
  }
}

.sc-crosstalk-member__ttl {
  line-height: 1;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  color: var(--color-primary);
  font-family: "Raleway", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  font-weight: 700;
  border-bottom: 2px solid;
}
.sc-crosstalk-member__item__name {
  display: flex;
  flex-direction: column;
  line-height: 1;
}
.sc-crosstalk-member__item__name .main {
  font-weight: 700;
}
.sc-crosstalk-member__item__name .sub {
  font-family: "Raleway", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  font-weight: 500;
  color: var(--color-primary);
}
.sc-crosstalk-member__item__image {
  aspect-ratio: 1/1;
}
.sc-crosstalk-member__item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 50%;
}
.sc-crosstalk-member__item__prof {
  line-height: 1.6;
}
@media screen and (min-width: 812px) {
  .sc-crosstalk-member {
    margin-top: 10rem;
  }
  .sc-crosstalk-member__ttl {
    margin-bottom: 3rem;
    font-size: 4rem;
  }
  .sc-crosstalk-member__inner {
    display: flex;
    justify-content: center;
    -moz-column-gap: 2rem;
    column-gap: 2rem;
  }
  .sc-crosstalk-member__item {
    width: 25%;
  }
  .sc-crosstalk-member__item__image {
    max-width: min(24rem, 18vw);
    margin: 0 auto 1.9rem;
  }
  .sc-crosstalk-member__item__name {
    row-gap: 1rem;
    align-items: center;
    text-align: center;
  }
  .sc-crosstalk-member__item__name .main {
    font-size: 2.6rem;
  }
  .sc-crosstalk-member__item__name .sub {
    font-size: 1.2rem;
  }
  .sc-crosstalk-member__item__prof {
    margin-top: 1.4rem;
    font-size: 1.4rem;
    text-align: center;
  }
}
@media screen and (min-width: 1400px) {
  .sc-crosstalk-member .rl-inner {
    max-width: 130rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-crosstalk-member {
    margin-top: 7rem;
  }
  .sc-crosstalk-member__ttl {
    margin-bottom: 2.6rem;
    font-size: 2.6rem;
  }
  .sc-crosstalk-member__inner {
    display: flex;
    flex-direction: column;
    row-gap: 2rem;
  }
  .sc-crosstalk-member__item {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    -moz-column-gap: 2rem;
    column-gap: 2rem;
  }
  .sc-crosstalk-member__item__image {
    width: 14rem;
  }
  .sc-crosstalk-member__item__name {
    row-gap: 0.9rem;
  }
  .sc-crosstalk-member__item__name .main {
    font-size: 2.2rem;
  }
  .sc-crosstalk-member__item__name .sub {
    font-size: 1.1rem;
  }
  .sc-crosstalk-member__item__prof {
    margin-top: 1.1rem;
    font-size: 1.3rem;
  }
}

.sc-crosstalk-detail__ttl {
  border-bottom: 1px solid var(--color-border);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
.sc-crosstalk-detail__ttl em {
  font-style: normal;
  color: var(--color-primary);
}
.sc-crosstalk-detail__list {
  display: flex;
  flex-direction: column;
}
.sc-crosstalk-detail__item {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: flex-start;
}
.sc-crosstalk-detail__item__avatar {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.sc-crosstalk-detail__item__avatar span {
  aspect-ratio: 1/1;
}
.sc-crosstalk-detail__item__avatar span img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 50%;
}
.sc-crosstalk-detail__item__avatar figcaption {
  line-height: 1;
  color: var(--color-primary);
  font-weight: 600;
}
.sc-crosstalk-detail__item__image span img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 50%;
}
@media screen and (min-width: 812px) {
  .sc-crosstalk-detail {
    margin-top: 14rem;
  }
  .sc-crosstalk-detail .rl-inner {
    max-width: 96rem;
  }
  .sc-crosstalk-detail__ttl {
    margin-bottom: 5rem;
    padding-bottom: 4.5rem;
    font-size: 4rem;
  }
  .sc-crosstalk-detail__list {
    max-width: 86rem;
    margin: 0 auto;
    row-gap: 3rem;
  }
  .sc-crosstalk-detail__item {
    -moz-column-gap: 3rem;
    column-gap: 3rem;
  }
  .sc-crosstalk-detail__item__avatar {
    width: 7rem;
    row-gap: 0.7rem;
  }
  .sc-crosstalk-detail__image {
    margin-top: 3.2rem;
    display: flex;
    -moz-column-gap: 4rem;
    column-gap: 4rem;
  }
  .sc-crosstalk-detail__image span {
    aspect-ratio: 46/40;
  }
  .sc-crosstalk-detail__image img {
    border-radius: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-crosstalk-detail {
    margin-top: 7rem;
  }
  .sc-crosstalk-detail__ttl {
    margin-bottom: 4rem;
    padding-bottom: 4rem;
    font-size: 2.8rem;
  }
  .sc-crosstalk-detail__list {
    max-width: 86rem;
    margin: 0 auto;
    row-gap: 3rem;
  }
  .sc-crosstalk-detail__item {
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
  }
  .sc-crosstalk-detail__item__avatar {
    width: 6rem;
    row-gap: 0.5rem;
  }
  .sc-crosstalk-detail__item__avatar figcaption {
    font-size: 1.2rem;
  }
  .sc-crosstalk-detail__image {
    margin-top: 3.4rem;
    display: flex;
    flex-direction: column;
    row-gap: 2rem;
  }
  .sc-crosstalk-detail__image span {
    aspect-ratio: 316/220;
  }
  .sc-crosstalk-detail__image img {
    border-radius: 1.5rem;
  }
}

.sc-crosstalk-after__text {
  text-align: center;
}
.sc-crosstalk-after__image {
  overflow: hidden;
}
.sc-crosstalk-after__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media screen and (min-width: 812px) {
  .sc-crosstalk-after {
    margin-top: 13rem;
  }
  .sc-crosstalk-after__image {
    position: relative;
    width: 136rem;
    max-width: calc(100vw - 4rem);
    left: 50%;
    transform: translateX(-50%);
    margin: 13rem auto 0;
    aspect-ratio: 136/60;
    border-radius: 6rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-crosstalk-after {
    margin-top: 7rem;
  }
  .sc-crosstalk-after__image {
    margin: 5rem -2rem 0;
    aspect-ratio: 358/280;
    border-radius: 3rem;
  }
}

@media screen and (min-width: 812px) {
  .sc-crosstalk-other {
    margin-top: 15rem;
  }
  .sc-crosstalk-other__inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 5rem;
    column-gap: 5rem;
  }
  .sc-crosstalk-other .m-crosstalk-idx-item__image {
    aspect-ratio: 575/280;
    border-radius: 2rem;
  }
  .sc-crosstalk-other .m-crosstalk-idx-item__inner {
    padding: 2rem 3rem;
  }
  .sc-crosstalk-other .m-crosstalk-idx-item__ttl {
    row-gap: 1.4rem;
  }
  .sc-crosstalk-other .m-crosstalk-idx-item__ttl .main {
    font-size: 2.6rem;
  }
  .sc-crosstalk-other .m-crosstalk-idx-item__ttl .sub {
    font-size: 1.4rem;
  }
  .sc-crosstalk-other .m-crosstalk-idx-item .m-arrow {
    font-size: 3rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-crosstalk-other {
    margin-top: 7em;
  }
  .sc-crosstalk-other__inner {
    display: flex;
    flex-direction: column;
    row-gap: 4rem;
  }
}

/* ============================================================
  question page
============================================================ */
.sc-question__list {
  display: flex;
  flex-direction: column;
}
.sc-question__item__anchor {
  position: relative;
  display: flex;
  align-items: center;
  line-height: 1.3;
  border-radius: 1rem;
  font-weight: 700;
  background-color: var(--color-primary-container);
}
.sc-question__item__anchor:before {
  content: "Q";
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  left: 0;
  text-align: center;
  color: var(--color-primary);
  font-family: "Raleway", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  font-weight: 700;
}
.sc-question__item__anchor .icon-accordion {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 0.6em;
  height: 0.6em;
}
.sc-question__item__anchor .icon-accordion::before, .sc-question__item__anchor .icon-accordion::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.sc-question__item__anchor .icon-accordion:before {
  width: 100%;
  border-top: 0.2rem solid var(--color-primary);
}
.sc-question__item__anchor .icon-accordion:after {
  height: 100%;
  border-left: 0.2rem solid var(--color-primary);
}
.sc-question__item__anchor[aria-expanded=true] .icon-accordion:after {
  opacity: 0;
}
.sc-question__item__inner {
  position: relative;
}
.sc-question__item__inner:before {
  content: "A";
  position: absolute;
  top: 0;
  left: 0;
  text-align: center;
  color: var(--color-primary);
  font-family: "Raleway", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  font-weight: 700;
}
@media screen and (min-width: 812px) {
  .sc-question {
    margin-top: 13rem;
  }
  .sc-question__list {
    row-gap: 5rem;
  }
  .sc-question__item__anchor {
    margin-bottom: 1rem;
    padding: 1.5rem 3rem 1.5rem 7.9rem;
    font-size: 2rem;
  }
  .sc-question__item__anchor:before {
    font-size: 2.2rem;
    width: 7.9rem;
    padding-top: 1.5rem;
  }
  .sc-question__item__anchor .icon-accordion {
    right: 3rem;
  }
  .sc-question__item__inner {
    padding: 0 3rem 0 7.9rem;
    font-size: 1.5rem;
  }
  .sc-question__item__inner:before {
    font-size: 2.2rem;
    width: 7.9rem;
    margin-top: -0.3em;
  }
}
@media screen and (max-width: 811px) {
  .sc-question {
    margin-top: 6rem;
  }
  .sc-question__list {
    row-gap: 3rem;
  }
  .sc-question__item__anchor {
    min-height: 6rem;
    margin-bottom: 1rem;
    padding: 1rem 2.4rem 1rem 5.2rem;
    font-size: 1.6rem;
  }
  .sc-question__item__anchor:before {
    height: 100%;
    font-size: 2rem;
    width: 5.2rem;
  }
  .sc-question__item__anchor .icon-accordion {
    right: 1.6rem;
  }
  .sc-question__item__inner {
    padding: 0 0 0 5.2rem;
    font-size: 1.3rem;
  }
  .sc-question__item__inner:before {
    font-size: 2rem;
    width: 5.2rem;
    margin-top: -0.3em;
  }
}

/* ============================================================
  message page
============================================================ */
.sc-message__ttl {
  line-height: 1.4;
  font-weight: 700;
  color: var(--color-primary);
}
.sc-message__content p + p {
  margin-top: 1.5em;
}
.sc-message__signature {
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  -moz-column-gap: 1em;
  column-gap: 1em;
  line-height: 1;
}
.sc-message__signature strong {
  font-weight: 700;
}
.sc-message__image {
  overflow: hidden;
}
.sc-message__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media screen and (min-width: 812px) {
  .sc-message {
    margin-top: 10rem;
  }
  .sc-message__ttl {
    margin-bottom: 3rem;
    font-size: 4rem;
  }
  .sc-message__inner {
    max-width: 70rem;
    margin: 0 auto 5rem;
  }
  .sc-message__signature {
    margin-top: 3rem;
    font-size: 1.4rem;
  }
  .sc-message__signature strong {
    font-size: 2.6rem;
  }
  .sc-message__image {
    max-width: 90rem;
    aspect-ratio: 2/1;
    margin: 0 auto;
    border-radius: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-message {
    overflow: hidden;
    margin-top: 5rem;
  }
  .sc-message__ttl {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 2rem;
    font-size: 3rem;
  }
  .sc-message__inner {
    margin-bottom: 4rem;
  }
  .sc-message__signature {
    margin-top: 2rem;
    font-size: 1.2rem;
  }
  .sc-message__signature strong {
    font-size: 2.2rem;
  }
  .sc-message__image {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    aspect-ratio: 378/300;
  }
}

/* ============================================================
  voice page
============================================================ */
@media screen and (max-width: 811px) {
  .sc-voice {
    margin-top: 6rem;
  }
}

.sc-voice-searchbox__ttl {
  line-height: 1;
  font-family: "Raleway", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  font-weight: 700;
  margin-bottom: -0.15em;
}
@media screen and (min-width: 812px) {
  .sc-voice-searchbox {
    margin-top: 8rem;
  }
  .sc-voice-searchbox__ttl {
    font-size: 6.8rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-voice-searchbox {
    margin-top: 6rem;
  }
  .sc-voice-searchbox__ttl {
    font-size: 4.4rem;
  }
}

.sc-voice-searchbox__item {
  border-bottom: 1px solid var(--color-border);
}
.sc-voice-searchbox__item:first-child {
  border-top: 1px solid var(--color-border);
}
.sc-voice-searchbox__item dd:has(button) {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.sc-voice-searchbox__item button {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  background-color: var(--color-career-container);
}
@media (hover: hover) {
  .sc-voice-searchbox__item button {
    transition: color 0.3s ease, background-color 0.3s ease;
  }
  .sc-voice-searchbox__item button:hover {
    color: #fff;
    background-color: var(--color-career);
  }
}
.sc-voice-searchbox__item button[aria-selected=true] {
  color: #fff;
  background-color: var(--color-career);
  pointer-events: none;
}
.sc-voice-searchbox__item .m-form-item__input {
  position: relative;
}
.sc-voice-searchbox__item .m-form-item__input input {
  padding-right: 6rem;
}
.sc-voice-searchbox__item .m-form-item__input button {
  position: absolute;
  width: 6rem;
  height: 100%;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 2rem;
  color: var(--color-career);
  background-color: transparent;
  cursor: pointer;
}
@media screen and (min-width: 812px) {
  .sc-voice-searchbox__item {
    padding: 2rem 0;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
  }
  .sc-voice-searchbox__item dt {
    width: min(18rem, 14vw);
  }
  .sc-voice-searchbox__item dd:has(button) {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    -moz-column-gap: min(1.3rem, 0.8vw);
    column-gap: min(1.3rem, 0.8vw);
    row-gap: 1rem;
  }
  .sc-voice-searchbox__item dd:has(button) button {
    height: 5rem;
    font-size: min(1.5rem, 1.1vw);
    border-radius: 1rem;
  }
  .sc-voice-searchbox__item .m-form-item {
    width: 49rem;
  }
  .sc-voice-searchbox__item .m-form-item__input {
    border-radius: 1rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-voice-searchbox__item {
    padding: 2rem 0;
  }
  .sc-voice-searchbox__item dt {
    margin-bottom: 1.2rem;
    font-size: 1.5rem;
  }
  .sc-voice-searchbox__item dd:has(button) {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
  .sc-voice-searchbox__item dd:has(button) button {
    height: 4rem;
    font-size: 1.4rem;
    border-radius: 0.6rem;
  }
  .sc-voice-searchbox__item .m-form-item__input {
    border-radius: 0.6rem;
  }
}

.sc-voice-idx__ttl {
  font-weight: 700;
  line-height: 1;
}
.sc-voice-idx__ttl em {
  font-style: normal;
  color: var(--color-career);
}
.sc-voice-idx__ttl strong {
  display: inline-block;
  margin: 0 0.1em;
  font-size: 180%;
}
.sc-voice-idx__list {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 812px) {
  .sc-voice-idx {
    margin-top: 8rem;
  }
  .sc-voice-idx__ttl {
    margin-bottom: 3rem;
    font-size: 1.6rem;
  }
  .sc-voice-idx__list {
    row-gap: 4rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-voice-idx {
    margin-top: 6rem;
  }
  .sc-voice-idx__ttl {
    margin-bottom: 2rem;
    font-size: 1.5rem;
  }
}

.sc-voice-idx__item {
  background-color: var(--color-career-container);
  animation: anim-voice-idx-item 1s ease forwards;
}
.sc-voice-idx__item__link {
  display: block;
  text-decoration: none;
}
.sc-voice-idx__item__keyword {
  display: flex;
  align-items: center;
  font-weight: 700;
  line-height: 1;
  padding: 0 0.6em;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  color: #fff;
  border-radius: 0.5rem;
  background-color: var(--color-career);
}
.sc-voice-idx__item__keyword span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sc-voice-idx__item__ttl {
  font-weight: 700;
  line-height: 1.3;
}
.sc-voice-idx__item__text {
  line-height: 2.1;
}
.sc-voice-idx__item__more {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  -moz-column-gap: 0.5em;
  column-gap: 0.5em;
  color: var(--color-career);
  font-weight: 700;
  line-height: 1;
}
.sc-voice-idx__item__more .m-icon-book {
  font-size: 130%;
  margin-top: 0.1em;
}
@media screen and (min-width: 812px) {
  .sc-voice-idx__item__link {
    display: grid;
    grid-template-columns: auto 1fr;
    -moz-column-gap: min(5rem, 3.6vw);
    column-gap: min(5rem, 3.6vw);
    padding: 4rem 5rem;
    border-radius: 2rem;
  }
  .sc-voice-idx__item__image {
    aspect-ratio: 37/25;
    width: min(37rem, 30vw);
    border-radius: 1.5rem;
  }
  .sc-voice-idx__item__keyword {
    margin-bottom: 2rem;
    height: 2.8rem;
    font-size: 1.3rem;
  }
  .sc-voice-idx__item__ttl {
    margin-bottom: 1rem;
    font-size: 2.4rem;
  }
  .sc-voice-idx__item__text {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    font-size: 1.5rem;
  }
  .sc-voice-idx__item__more {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-voice-idx__item__link {
    padding: 2rem 3rem;
    border-radius: 1.5rem;
  }
  .sc-voice-idx__item__image {
    aspect-ratio: 256/170;
    border-radius: 1rem;
  }
  .sc-voice-idx__item__keyword {
    max-width: 96%;
    height: 2.8rem;
    font-size: 1.3rem;
    margin: 0 auto;
    transform: translateY(-50%);
  }
  .sc-voice-idx__item__ttl {
    margin-bottom: 0.8rem;
    font-size: 1.8rem;
  }
  .sc-voice-idx__item__text {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    font-size: 1.3rem;
  }
  .sc-voice-idx__item__more {
    margin-top: 1.3rem;
  }
}

@keyframes anim-voice-idx-item {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* ============================================================
  contact page
============================================================ */
@media screen and (min-width: 812px) {
  .sc-contact {
    margin-top: 7rem;
  }
  .sc-contact__inner {
    max-width: 90rem;
    margin: 0 auto;
  }
}
@media screen and (max-width: 811px) {
  .sc-contact {
    margin-top: 6rem;
  }
}

.sc-contact-thanks__ttl {
  font-weight: 700;
}
.sc-contact-thanks__footer {
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 812px) {
  .sc-contact-thanks {
    margin-top: 7rem;
  }
  .sc-contact-thanks__ttl {
    line-height: 1;
    font-size: 3rem;
    text-align: center;
  }
  .sc-contact-thanks__text {
    margin: 4rem auto;
    text-align: center;
  }
}
@media screen and (max-width: 811px) {
  .sc-contact-thanks {
    margin-top: 6rem;
  }
  .sc-contact-thanks__ttl {
    line-height: 1.4;
    font-size: 2.4rem;
    text-align: center;
  }
  .sc-contact-thanks__text {
    margin: 1.6rem auto 2.4rem;
    text-align: center;
  }
}

/* ============================================================
  request page
============================================================ */
.sc-request:has(#form-confirm.is_visible) .sc-request__desc, .sc-request:has(#form-confirm.is_visible) .sc-request__image {
  display: none;
}
@media screen and (min-width: 812px) {
  .sc-request {
    margin-top: 7rem;
  }
  .sc-request__container {
    margin-top: 7rem;
    display: flex;
    justify-content: space-between;
    -moz-column-gap: min(8rem, 6vw);
    column-gap: min(8rem, 6vw);
  }
  .sc-request__image {
    width: min(44rem, 30vw);
  }
  .sc-request__inner {
    flex: 1;
  }
}
@media screen and (max-width: 811px) {
  .sc-request {
    margin-top: 6rem;
  }
  .sc-request__image {
    margin-top: 3rem;
  }
  .sc-request__inner {
    margin-top: 5rem;
  }
}

.sc-request-thanks__ttl {
  font-weight: 700;
}
.sc-request-thanks__footer {
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 812px) {
  .sc-request-thanks {
    margin-top: 7rem;
  }
  .sc-request-thanks__ttl {
    line-height: 1;
    font-size: 3rem;
    text-align: center;
  }
  .sc-request-thanks__text {
    margin: 4rem auto;
    text-align: center;
  }
}
@media screen and (max-width: 811px) {
  .sc-request-thanks {
    margin-top: 6rem;
  }
  .sc-request-thanks__ttl {
    line-height: 1.4;
    font-size: 2.4rem;
    text-align: center;
  }
  .sc-request-thanks__text {
    margin: 1.6rem auto 2.4rem;
    text-align: center;
  }
}

/* ============================================================
  entry page
============================================================ */
@media screen and (min-width: 812px) {
  .sc-entry {
    margin-top: 13rem;
    margin-bottom: 15rem;
  }
  .sc-entry__inner {
    max-width: 90rem;
    margin: 0 auto;
  }
}
@media screen and (max-width: 811px) {
  .sc-entry {
    margin-top: 6rem;
    margin-bottom: 7rem;
  }
}

.sc-entry-thanks__ttl {
  font-weight: 700;
}
.sc-entry-thanks__footer {
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 812px) {
  .sc-entry-thanks {
    margin-top: 13rem;
    margin-bottom: 15rem;
  }
  .sc-entry-thanks__ttl {
    line-height: 1;
    font-size: 3rem;
    text-align: center;
  }
  .sc-entry-thanks__text {
    margin: 4rem auto;
    text-align: center;
  }
}
@media screen and (max-width: 811px) {
  .sc-entry-thanks {
    margin-top: 6rem;
    margin-bottom: 7rem;
  }
  .sc-entry-thanks__ttl {
    line-height: 1.4;
    font-size: 2.4rem;
    text-align: center;
  }
  .sc-entry-thanks__text {
    margin: 1.6rem auto 2.4rem;
    text-align: center;
  }
}

/* ============================================================
  privacy page
============================================================ */
.sc-subpage__inner:has(.sc-privacy) {
  counter-reset: section 0;
}
@media screen and (min-width: 812px) {
  .sc-subpage__inner:has(.sc-privacy) {
    padding-top: 7rem;
  }
  .sc-subpage__inner:has(.sc-privacy) .l-inner {
    max-width: 90rem;
    box-sizing: content-box;
  }
}
@media screen and (max-width: 811px) {
  .sc-subpage__inner:has(.sc-privacy) {
    padding-top: 6rem;
  }
}

.sc-privacy a {
  color: var(--color-primary);
}
.sc-privacy ul li {
  padding-left: 1em;
  text-indent: -1em;
}
.sc-privacy ul li::before {
  content: "・";
  display: inline-block;
  width: 1em;
  text-indent: 0;
}
.sc-privacy__ttl {
  margin-bottom: 0.5em;
  line-height: 1.3;
  font-weight: 700;
  padding-left: 1.25em;
  text-indent: -1.25em;
}
.sc-privacy__ttl::before {
  content: counter(section) ".";
  counter-increment: section 1;
  display: inline-block;
  width: 1.25em;
  text-indent: 0;
}
.sc-privacy__contact {
  border: 1px solid var(--color-border);
}
.sc-privacy__contact__ttl {
  font-weight: 700;
}
@media screen and (min-width: 812px) {
  .sc-privacy {
    margin-top: 5.8rem;
  }
  .sc-privacy__ttl {
    font-size: 2.6rem;
  }
  .sc-privacy__contact {
    margin-top: 5.8rem;
    padding: 4rem 5rem;
    display: grid;
    grid-template-columns: 22rem 1fr;
    align-items: center;
  }
  .sc-privacy__contact__ttl {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-privacy {
    margin-top: 3rem;
  }
  .sc-privacy__ttl {
    font-size: 2rem;
  }
  .sc-privacy__contact {
    margin-top: 3rem;
    padding: 2rem;
  }
  .sc-privacy__contact__ttl {
    margin-bottom: 0.5em;
    font-size: 1.8rem;
    text-align: center;
  }
}

/* ============================================================
  sitemap page
============================================================ */
.sc-subpage__inner:has(.sc-sitemap) {
  counter-reset: section 0;
}
@media screen and (min-width: 812px) {
  .sc-subpage__inner:has(.sc-sitemap) {
    padding-top: 7rem;
  }
  .sc-subpage__inner:has(.sc-sitemap) .l-inner {
    max-width: 90rem;
    box-sizing: content-box;
  }
}
@media screen and (max-width: 811px) {
  .sc-subpage__inner:has(.sc-sitemap) {
    padding-top: 6rem;
  }
}

.sc-sitemap__caption {
  line-height: 1;
  font-weight: 700;
  background-color: var(--color-container);
}
.sc-sitemap a {
  display: inline-flex;
  align-items: center;
  -moz-column-gap: 0.5em;
  column-gap: 0.5em;
  text-decoration: none;
  line-height: 1;
}
.sc-sitemap a .m-arrow {
  color: var(--color-primary);
  font-size: 120%;
}
@media (hover: hover) {
  .sc-sitemap a {
    transition: color 0.3s;
  }
  .sc-sitemap a .m-arrow {
    transition: transform 0.3s;
  }
  .sc-sitemap a:hover {
    color: var(--color-primary);
  }
  .sc-sitemap a:hover .m-arrow {
    transform: scale(1.2);
  }
}
.sc-sitemap__list {
  display: flex;
  flex-wrap: wrap;
}
.sc-sitemap__list li {
  line-height: 1;
}
@media screen and (min-width: 812px) {
  .sc-sitemap:not(:first-child) {
    margin-top: 5rem;
  }
  .sc-sitemap__caption {
    padding: 1.5rem 2rem;
  }
  .sc-sitemap__list {
    padding: 2rem 2rem 0;
    -moz-column-gap: 3rem;
    column-gap: 3rem;
    row-gap: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-sitemap:not(:first-child) {
    margin-top: 3rem;
  }
  .sc-sitemap__caption {
    padding: 1.2rem 1.5rem;
  }
  .sc-sitemap__list {
    padding: 1.6rem 0 0 1.5rem;
    -moz-column-gap: 2rem;
    column-gap: 2rem;
    row-gap: 1.7rem;
  }
}