@charset "UTF-8";
/*! kiso.css v1.2.2 | MIT License | https://github.com/tak-dcxi/kiso.css */
/* ======================================================
//  MARK: Universal
// ====================================================== */
*,
::before,
::after {
  /*
  * Includes `padding` and `border` in the element's specified dimensions.
  * It is highly recommended to set `box-sizing: border-box;` by default, as it makes styling much easier, especially when specifying `width: 100%;`.
  */
  box-sizing: border-box;
}

/* ======================================================
//  MARK: Document and Body Elements
// ====================================================== */
:where(:root) {
  /* In Safari, if `font-family` is not specified, a serif font is applied by default, so `sans-serif` is set as the default here. */
  font-family: sans-serif;
  /*
  * For accessibility, it is recommended to set the `line-height` to at least 1.5 times the text size within paragraphs.
  * @see https://waic.jp/translations/WCAG21/#visual-presentation
  */
  line-height: 1.5;
  /* Remove space when punctuation marks are adjacent, and also remove leading spaces in a line. */
  text-spacing-trim: trim-start;
  /* Improves readability by inserting a small space between Japanese and alphanumeric characters. */
  text-autospace: normal;
  /* Prevents misreading by applying strict line-breaking rules. */
  line-break: strict;
  /* Wraps English words mid-word. Specifying `anywhere` also prevents content from overflowing in layouts like `flex` or `grid`. */
  overflow-wrap: anywhere;
  /*
  * Mobile browsers have an algorithm that automatically adjusts font sizes to prevent text from becoming too small.
  * This controls the auto-adjustment feature to prevent unwanted resizing.
  */
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  /* Prevents layout shift caused by the appearance or disappearance of the scrollbar. */
  scrollbar-gutter: stable;
  /* Suppresses the tap highlight on iOS. */
  -webkit-tap-highlight-color: transparent;
}

:where(body) {
  /*
  * When creating a sticky footer, a minimum height is often required.
  * Setting the `min-block-size` to the dynamic viewport height ensures enough space for the footer.
  */
  min-block-size: 100dvb;
  /* The `margin` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset here. */
  margin: unset;
}

/* ======================================================
// MARK: Sections
// ------------------------------------------------------ */
:where(h1, h2, h3, h4, h5, h6) {
  /* Prevents the last line of text from ending with a single word, which can look awkward (known as an orphan). */
  text-wrap: pretty;
}

:where(h1) {
  /*
  * Adjusts user agent (UA) styles for `h1` elements within sectioning content.
  * This addresses DevTools warnings that appear when `h1` elements nested within sectioning content lack `font-size` and `margin` properties.
  * @see https://html.spec.whatwg.org/#sections-and-headings
  */
  margin-block: 0.67em;
  font-size: 2em;
}

:where(h2, h3, h4, h5, h6) {
  /* The `margin-block` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset. */
  margin-block: unset;
}

:where(search) {
  /*
  * The `<search>` element is supported from Safari 17.
  * This prevents it from being displayed as an inline element in unsupported environments.
  */
  display: block flow;
}

/* ======================================================
//  MARK: Grouping content
// ====================================================== */
:where(p, blockquote, figure, pre, address, ul, ol, dl, menu) {
  /* The `margin-block` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset. */
  margin-block: unset;
}

:where(blockquote, figure) {
  /* The `margin-inline` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset. */
  margin-inline: unset;
}

:where(p:lang(en)) {
  /*
  * In English, a single word on the last line is called a "widow" or "orphan" and is considered something to avoid as it makes the text harder to read.
  * Therefore, when lang="en", this prevents the last line from ending with a single word.
  */
  text-wrap: pretty;
}

:where(address:lang(ja)) {
  /* Italic style is not common in Japanese, so the `font-style` is reset. */
  font-style: unset;
}

:where(ul, ol, menu) {
  /* The `padding-inline-start` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset. */
  padding-inline-start: unset;
  /*
  * In Safari, using `list-style: none` prevents screen readers from announcing lists.
  * `list-style-type: ""` is used to hide markers without affecting accessibility.
  * @see https://matuzo.at/blog/2023/removing-list-styles-without-affecting-semantics
  */
  list-style-type: "";
}

:where(dt) {
  /* It is common to display `<dt>` elements in bold, so `font-weight: bolder;` is set by default. */
  font-weight: bolder;
}

:where(dd) {
  /* The `margin-inline-start` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset. */
  margin-inline-start: unset;
}

:where(pre) {
  /*
  * Since `text-spacing-trim` can affect spacing in `<pre>` elements even with its initial value, the final rendering may depend on the user's font settings.
  * To ensure consistent alignment, `space-all` is explicitly specified and inheritance is prevented.
  */
  text-spacing-trim: space-all;
  /* Set to `no-autospace` as it can cause misalignment with monospaced fonts. */
  text-autospace: no-autospace;
}

/* ======================================================
//  MARK: Text-level semantics
// ====================================================== */
:where(em:lang(ja)) {
  /* In Japanese, emphasis is commonly represented by bold text, so `font-weight: bolder;` is set by default. */
  font-weight: bolder;
}

:where(:is(i, cite, em, dfn, var):lang(ja)) {
  /* Italic style is not common in Japanese, so the `font-style` is reset. */
  font-style: unset;
}

:where(code, kbd, samp) {
  /*
  * Set a monospace font family referencing Tailwind.
  * @see https://tailwindcss.com/docs/font-family
  */
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  /* Font feature settings can have adverse effects on monospaced fonts, so their values are explicitly set to `initial` to prevent inheritance. */
  font-feature-settings: initial;
  font-variation-settings: initial;
  /* Resets the `font-size` specified in the UA stylesheet to allow inheritance. */
  font-size: unset;
  /*
  * Disables font ligatures for programming fonts (like Fira Code)
  * to prevent character combinations like `=>` from being rendered as a single symbol (e.g., `⇒`).
  */
  font-variant-ligatures: none;
}

:where(abbr[title]) {
  /*
  * The `<abbr>` element with the `title` attribute isn't helpful regarding accessibility because support is inconsistent, and it's only accessible to some users.
  * This rule shows a dotted underline on abbreviations in all browsers (there's a bug in Safari) and changes the cursor.
  * @see https://adrianroselli.com/2024/01/using-abbr-element-with-title-attribute.html
  */
  text-decoration-line: underline;
  text-decoration-style: dotted;
  cursor: help;
}

:where(time) {
  /* Set to `no-autospace` because date notations in typography do not include spaces. */
  text-autospace: no-autospace;
}

@media (forced-colors: active) {
  :where(mark) {
    /*
    * In forced-colors mode, the color of the mark element may not change, which can be problematic. Use system colors in forced-colors mode.
    * @see https://adrianroselli.com/2017/12/tweaking-text-level-styles.html#MarkWHCM
    */
    background-color: Highlight;
    color: HighlightText;
  }
}
@media print {
  :where(mark) {
    /*
    * Not all printers support color, and users might print in grayscale.
    * It's worth adding a non-disruptive style that scales with the text, as an alternative to relying only on background color.
    * @see https://adrianroselli.com/2017/12/tweaking-text-level-styles.html#MarkPrint
    */
    border-width: 1px;
    border-style: dotted;
  }
}
/* ======================================================
//  MARK: Links
// ====================================================== */
:where(a:-moz-any-link) {
  /* The default `color` from the UA stylesheet is rarely used as is, so it's reset to allow inheritance. */
  color: unset;
  /*
  * While link underlines can be useful, they are often obstructive.
  * They are disabled by default.
  * If needed, restore them using `text-decoration-line: revert;`.
  */
  text-decoration-line: unset;
  /* Set the underline thickness to the font's default thickness. */
  text-decoration-thickness: from-font;
}
:where(a:any-link) {
  /* The default `color` from the UA stylesheet is rarely used as is, so it's reset to allow inheritance. */
  color: unset;
  /*
  * While link underlines can be useful, they are often obstructive.
  * They are disabled by default.
  * If needed, restore them using `text-decoration-line: revert;`.
  */
  text-decoration-line: unset;
  /* Set the underline thickness to the font's default thickness. */
  text-decoration-thickness: from-font;
}

/* ======================================================
//  MARK: Embedded content
// ====================================================== */
:where(img, svg, picture, video, canvas, model, audio, embed, object) {
  /* Automatically adjust block size based on content. */
  block-size: auto;
  /* Prevents overflow by setting the maximum width to `100%`. */
  max-inline-size: 100%;
  /* Prevents extra space from appearing at the bottom of the element. */
  vertical-align: bottom;
}

/* もともと上にiframe含まれていたが block-size: auto の指定があるとheight属性による指定ができなくなり、かつ、上書きもできなかったので直接修正 */
:where(iframe) {
  max-inline-size: 100%;
  vertical-align: bottom;
}

:where(iframe) {
  /* The `border` specified in the UA stylesheet is often unnecessary, so it is reset. */
  border: unset;
}

/* ======================================================
//  MARK: Tabular data
// ====================================================== */
:where(table) {
  /* Collapse borders for a more refined table design. */
  border-collapse: collapse;
}

:where(caption, th) {
  /* The `text-align` specified in the UA stylesheet is often unnecessary, so it is reset. */
  text-align: unset;
}

:where(caption) {
  /* Prevents the last line of text from ending with a single word, which can look awkward (known as an orphan). */
  text-wrap: pretty;
}

/* ======================================================
//  MARK: Forms
// ====================================================== */
:where(button, input, select, textarea),
::file-selector-button {
  /*
  * These elements are often styled with a border, so a `1px` border is applied by default for consistency.
  * This ensures readability even for unstyled elements.
  * When resetting, it's recommended to use `border-color: transparent` instead of `border: none` to account for forced color modes.
  */
  border-width: 1px;
  border-style: solid;
  /* These styles specified in the UA stylesheet are often unnecessary, so they are reset to allow for inheritance. */
  border-color: unset;
  border-radius: unset;
  color: unset;
  font: unset;
  letter-spacing: unset;
  text-align: unset;
}

:where(input:is([type=radio i], [type=checkbox i])) {
  /* The `margin` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset here. */
  margin: unset;
}

:where(input[type=file i]) {
  /* The `border` is often unnecessary, so it is reset here. */
  border: unset;
}

:where(input[type=search i]) {
  /* Remove the rounded corners of search inputs on macOS and normalize the background color. */
  -webkit-appearance: textfield;
}

@supports (-webkit-touch-callout: none) {
  :where(input[type=search i]) {
    /* normalize the background color on iOS. */
    background-color: Canvas;
  }
}
:where(input:is([type=tel i],
[type=url i],
[type=email i],
[type=number i]):not(:-moz-placeholder)) {
  /*
  * Certain input types need to maintain left alignment even in right-to-left (RTL) languages.
  * However, this only applies when the value is not empty, as the placeholder should be right-aligned.
  * @see https://rtlstyling.com/posts/rtl-styling#form-inputs
  */
  direction: ltr;
}
:where(input:is([type=tel i],
[type=url i],
[type=email i],
[type=number i]):not(:placeholder-shown)) {
  /*
  * Certain input types need to maintain left alignment even in right-to-left (RTL) languages.
  * However, this only applies when the value is not empty, as the placeholder should be right-aligned.
  * @see https://rtlstyling.com/posts/rtl-styling#form-inputs
  */
  direction: ltr;
}

:where(textarea) {
  /* The `margin-block` specified in Firefox's UA stylesheet is often unnecessary, so it is reset. */
  margin-block: unset;
  /* Allows vertical resizing for `<textarea>` elements. */
  resize: block;
}

:where(input:not([type=button i], [type=submit i], [type=reset i]),
textarea,
[contenteditable]) {
  /* Set to `no-autospace` because `text-autospace` can insert spaces during input, potentially causing erratic behavior. */
  text-autospace: no-autospace;
}

:where(button,
input:is([type=button i], [type=submit i], [type=reset i])),
::file-selector-button {
  /* The `background-color` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset here. */
  background-color: unset;
}

:where(button,
input:is([type=button i], [type=submit i], [type=reset i]),
[role=tab i],
[role=button i],
[role=option i]),
::file-selector-button {
  /*
  * On iOS, double-tapping a button can cause zooming, which harms usability.
  * `touch-action: manipulation` is specified to disable zooming on double-tap.
  * Third-party plugins such as Swiper sometimes use div elements with these roles as buttons, since double-tapping a div can still trigger zooming, it's advisable to specify this property.
  */
  touch-action: manipulation;
}

:where(button:enabled,
label[for],
select:enabled,
input:is([type=button i],
[type=submit i],
[type=reset i],
[type=radio i],
[type=checkbox i]):enabled,
[role=tab i],
[role=button i],
[role=option i]),
:where(:enabled)::file-selector-button {
  /* Indicate clickable elements with a pointer cursor. */
  cursor: pointer;
}

:where(fieldset) {
  /*
  * Prevent fieldset from causing overflow.
  * Reset the default `min-inline-size: min-content` to prevent children from stretching fieldset.
  * @see https://github.com/twbs/bootstrap/issues/12359
  */
  min-inline-size: 0;
  /* The following default styles are often unnecessary, so they are reset. */
  margin-inline: unset;
  padding: unset;
  border: unset;
}

:where(legend) {
  /* The default `padding-inline` is often unnecessary, so it is reset. */
  padding-inline: unset;
}

:where(progress) {
  /* Resets the vertical alignment of the `<progress>` element to its initial value. */
  vertical-align: unset;
}

::-moz-placeholder {
  /* Standardize the opacity of placeholder text (it may be set lower by default in Firefox). */
  opacity: unset;
}

::placeholder {
  /* Standardize the opacity of placeholder text (it may be set lower by default in Firefox). */
  opacity: unset;
}

/* ======================================================
//  MARK: Interactive elements
// ====================================================== */
/* :where(summary) {
  // The default triangle marker is often unnecessary, so it is disabled.
  list-style-type: "";

  // Changing the cursor to a pointer clarifies the clickability of the element.
  cursor: pointer;
} 

:where(summary)::-webkit-details-marker {
  // In Safari versions earlier than 18.4 (released in April 2025), a triangle icon is displayed using the -webkit-details-marker CSS pseudo-element, so it should be removed.
  display: none;
}*/
:where(dialog, [popover]) {
  /*
  * When these fixed-position elements are scrolled, preventing scroll chaining on the underlying page and bounce effects on mobile improves usability.
  * Disabling block-direction scroll chaining is recommended.
  */
  overscroll-behavior-block: contain;
  /* The following default styles are often unnecessary, so they are reset. */
  padding: unset;
  border: unset;
}

:where(dialog:not([open], [popover]), [popover]:not(:popover-open)) {
  /*
  * These elements can be easily displayed by explicitly setting their `display` property.
  * To prevent them from appearing when not in an open state, they are forcibly hidden.
  */
  display: none !important;
}

:where(dialog) {
  /*
  * The max width and height of a `<dialog>` element are typically determined by the design.
  * These UA stylesheet properties are reset as they can be obstructive, especially when trying to make the dialog full-screen.
  */
  max-inline-size: unset;
  max-block-size: unset;
}

:where(dialog)::backdrop {
  /* Normalize the background color of the `::backdrop` element. */
  background-color: oklch(0% 0 0deg/30%);
}

:where([popover]) {
  /*
  * While the UA stylesheet's `margin` for `<dialog>` elements is useful for centering with `inset: 0`,
  * but `margin` for `popover` elements is often obstructive as they frequently use Anchor Positioning.
  */
  margin: unset;
}

/* ======================================================
//  MARK: Focus Styles
// ====================================================== */
:where(:focus-visible) {
  /* Add space between the content and the focus outline. */
  outline-offset: 3px;
}

[tabindex="-1"]:focus {
  /* Prevent programmatically focused elements from displaying an outline unless they are naturally focusable. */
  outline: none !important;
}

/* ======================================================
//  MARK: Misc
// ====================================================== */
:where(:disabled, [aria-disabled=true i]) {
  /* Display the default cursor on disabled elements to reflect their non-interactive state. */
  cursor: default;
}

[hidden]:not([hidden=until-found i]) {
  /* Ensure that elements intended to be hidden are not displayed, improving clarity and layout control. */
  display: none !important;
}

@media (min-width: 1080.01px) {
  :root {
    --pc-flag: 1;
    --sp-flag: 0;
  }
}
@media (max-width: 1080px) {
  :root {
    --pc-flag: 0;
    --sp-flag: 1;
  }
}

:root {
  --color-blue: #003888;
  --color-blue-light: #809bc3;
  --color-brown: #534741;
  --color-brown-dark: #27181a;
  --color-beige: #f3eee1;
  --color-gray: #aaa6a4;
  --color-bg: var(--color-beige);
  --color-text: #666;
  --font-family-sans: "Noto Sans JP", sans-serif;
  --font-family-mincho: "Shippori Mincho", serif;
  --font-family-serif: "Crimson Text", serif;
  --font-size-base: min(100vw * 10 / 1280, 10px);
  --line-height-base: 1.75;
  --base-radius: 2rem;
  --site-gap: 4rem;
  --site-header-height: 11rem;
  --content-width-pc: 120rem;
  --content-width-sp: 32rem;
  --content-width: var(--content-width-pc);
  --viewport-height: 100vh;
  --viewport-height-without-header: calc(var(--viewport-height) - var(--site-header-height));
  --link-dot-url: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><circle cx="8" cy="8" r="4.5"/></svg>');
  --link-arrow-url: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M15.8 7.47 9.71.44A.807.807 0 1 0 8.49 1.5l4.93 5.7H.81c-.45 0-.81.36-.81.81s.36.81.81.81h12.61l-4.93 5.7c-.29.34-.26.85.08 1.14.15.13.34.2.53.2.23 0 .45-.09.61-.28l6.09-7.04c.26-.3.26-.76 0-1.06Z"/></svg>');
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  font-family: var(--font-family-sans);
  color: var(--color-text);
  background-color: #fff;
  scroll-behavior: smooth;
  scroll-padding-top: var(--site-header-height);
}
@media (max-width: 1080px) {
  :root {
    --font-size-base: min(100vw * 10 / 360, 20px);
    --base-radius: 0.66rem;
    --site-gap: 2rem;
    --site-header-height: 4.3rem;
    --content-width: var(--content-width-sp);
  }
}

:where(h1, h2, h3, h4, h5, h6) {
  font-weight: normal;
}

a {
  --link-icon-mask-image: var(--link-dot-url);
}
a:hover {
  --link-icon-mask-image: var(--link-arrow-url);
}

.holdings-condensed-text {
  width: 7.5em;
  scale: 0.7 1;
  transform-origin: 0% 50%;
  letter-spacing: -0.1em;
  white-space: nowrap;
}

.network-condensed-text {
  width: 9.5em;
  scale: 0.83 1;
  transform-origin: 0% 50%;
  white-space: nowrap;
}

@media (min-width: 1080.01px) {
  .pc-hidden {
    display: none !important;
  }
}

@media (max-width: 1080px) {
  .sp-hidden {
    display: none !important;
  }
}

.hidden-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.BgWhite {
  background-color: white;
  overflow: hidden;
}

.Container {
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
}

.Container93 {
  --content-width: max(93rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
}

.fs16 {
  font-size: 1.6rem;
}

.fs-16 {
  font-size: 1.6rem;
}

.fs-18 {
  font-size: 1.6rem;
}

.fs-23 {
  font-size: 1.6rem;
}

.fs-31 {
  font-size: 3.1rem;
}

.mt-10 {
  margin-top: 1rem;
}

.mt-15 {
  margin-top: 1.5rem;
}

.mt-20 {
  margin-top: 2rem;
}

.text-center {
  text-align: center;
}

.flex-column {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.flex-row {
  display: flex;
  flex-flow: row wrap;
  gap: 1rem;
}

.flex-grow {
  flex-grow: 1;
}

.flex-shrink {
  flex-shrink: 0;
}

.pagination {
  margin-top: 5rem;
  font-size: 2rem;
}
@media (max-width: 1080px) {
  .pagination {
    margin-top: 3rem;
    font-size: 2rem;
  }
}
.pagination .nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.5em 2em;
}
.pagination .nav-links .page-numbers {
  color: var(--color-blue-light);
}
.pagination .nav-links .page-numbers.current {
  color: var(--color-blue);
}

.EditorContent {
  font-size: 1.6rem;
}
.EditorContent p {
  margin-block: 1em;
}
.EditorContent h1,
.EditorContent h2,
.EditorContent h3,
.EditorContent h4,
.EditorContent h5,
.EditorContent h6 {
  margin-block: 2em 1em;
  font-weight: bold;
  line-height: 1.4;
}
.EditorContent ul {
  margin-block: 1em;
  padding-inline: 1.5em;
  list-style: disc;
}
.EditorContent ol {
  margin-block: 1em;
  padding-inline: 1.5em;
  list-style: decimal;
}
.EditorContent li {
  margin-block: 0.5em;
}
.EditorContent a {
  text-decoration: underline;
  color: var(--color-blue);
}

@media (min-width: 1080.01px) {
  :root {
    --pc-flag: 1;
    --sp-flag: 0;
  }
}
@media (max-width: 1080px) {
  :root {
    --pc-flag: 0;
    --sp-flag: 1;
  }
}

.RecruitHeader {
  --bg-color: var(--color-brown-dark);
  --text-color: #fff;
  --logo-color: #fff;
  position: sticky;
  z-index: 100;
  top: 0;
  padding-inline: var(--site-gap);
  width: 100%;
  height: var(--site-header-height);
  background-color: var(--bg-color);
  color: var(--text-color);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.RecruitHeader .RecruitHeader__left {
  display: flex;
  align-items: center;
}
.RecruitHeader .RecruitHeader__right {
  display: flex;
  align-items: center;
  gap: 2.5rem;
}

.RecruitHeaderLogo {
  margin: 0;
  color: var(--logo-color);
}
.RecruitHeaderLogo .RecruitHeaderLogo__link {
  display: block;
}
.RecruitHeaderLogo .RecruitHeaderLogo__image {
  display: block;
  width: auto;
  height: 6.3rem;
}
@media (max-width: 1080px) {
  .RecruitHeaderLogo .RecruitHeaderLogo__image {
    height: 3.2rem;
  }
}
.RecruitHeaderLogo .RecruitHeaderLogo__recruit {
  margin-bottom: calc(var(--size) * 16 / 64);
  display: block;
  width: auto;
  height: calc(var(--size) * 14 / 64);
}

.RecruitHeaderNav {
  margin-right: calc(-1 * var(--site-gap));
  font-size: 1.8rem;
  display: flex;
  align-items: center;
  height: var(--site-header-height);
}
@media (max-width: 1080px) {
  .RecruitHeaderNav {
    display: none;
  }
}
.RecruitHeaderNav .list {
  display: flex;
  height: 100%;
  gap: 2em;
}
.RecruitHeaderNav .list .item {
  position: relative;
  height: 100%;
}
.RecruitHeaderNav .list .item .link {
  display: flex;
  align-items: center;
  height: 100%;
  text-shadow: 0 0 0 rgba(255, 255, 255, 0);
  transition: text-shadow 0.2s ease;
}
.RecruitHeaderNav .list .item .link:hover {
  text-shadow: 0 0 0.5em rgb(255, 255, 255);
}
.RecruitHeaderNav .list .item .link-entry {
  display: flex;
  align-items: center;
  height: 100%;
  background-color: var(--color-blue);
  padding-inline: var(--site-gap);
  transition: filter 0.2s ease;
}
.RecruitHeaderNav .list .item .link-entry:hover {
  filter: brightness(1.2);
}
.RecruitHeaderNav .list .item .link-text {
  margin-bottom: -1.8rem;
  font-family: var(--font-family-mincho);
}
.RecruitHeaderNav .list .item .sub {
  --space: 5rem;
  font-size: 1.6rem;
  position: absolute;
  left: 50%;
  translate: -50% 0;
  top: calc(100% + var(--space));
  border: 1px solid #fff;
  padding: 0.8em 1em;
  border-radius: 1rem;
  background-color: rgba(0, 0, 0, 0.7);
  white-space: nowrap;
}
.RecruitHeaderNav .list .item .sub::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100% + 1px);
  height: var(--space);
}
.RecruitHeaderNav .list .item .sub .sub-item {
  padding: 0.3em 0;
}
.RecruitHeaderNav .list .item .sub .sub-item:nth-child(n+2) {
  border-top: 1px solid #fff;
}
.RecruitHeaderNav .list .item .sub .sub-item .sub-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5em;
}
.RecruitHeaderNav .list .item .sub .sub-item .sub-link.indent {
  padding-left: 1em;
}
.RecruitHeaderNav .list .item .sub .sub-item .sub-link::after {
  flex-shrink: 0;
  content: "";
  display: inline-block;
  aspect-ratio: 1;
  width: var(--link-icon-size, 0.8888888889em);
  height: auto;
  background-color: var(--link-icon-color, currentcolor);
  -webkit-mask: var(--link-icon-mask-image) no-repeat center/100% 100%;
          mask: var(--link-icon-mask-image) no-repeat center/100% 100%;
}

.RecruitHeaderMenuButton {
  position: relative;
  z-index: 2;
  aspect-ratio: 1;
  border: none;
  padding: 0;
  width: 2.7rem;
  height: auto;
  border-radius: 50%;
  background-color: #5d5753;
  color: #fff;
}
@media (min-width: 1080.01px) {
  .RecruitHeaderMenuButton {
    display: none;
  }
}
.RecruitHeaderMenuButton svg {
  display: block;
  width: 100%;
  height: 100%;
}

.js-has-pseudo [csstools-has-2q-33-2s-3d-1m-2w-2p-37-14-1a-2a-2t-2r-36-39-2x-38-28-33-34-33-3a-2t-36-25-2t-32-39-2j-2p-36-2x-2p-19-2w-2x-2s-2s-2t-32-1p-2u-2p-30-37-2t-2l-15]:not(.does-not-exist):not(does-not-exist) {
  overflow: hidden;
}

body:has(.RecruitPopoverMenu[aria-hidden=false]) {
  overflow: hidden;
}

.RecruitPopoverMenu {
  position: fixed;
  z-index: 101;
  right: 0;
  top: 0;
  background-color: var(--color-brown-dark);
  color: #fff;
}
@media (min-width: 1080.01px) {
  .RecruitPopoverMenu {
    width: min(100% - 2.4rem, 1600px);
    border-bottom-left-radius: 10rem;
  }
}
@media (max-width: 1080px) {
  .RecruitPopoverMenu {
    width: 100%;
    height: 100%;
  }
}
.RecruitPopoverMenu[aria-hidden=true] {
  display: none;
}
.RecruitPopoverMenu .RecruitPopoverMenuHeader {
  padding-inline: var(--site-gap);
  height: var(--site-header-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.RecruitPopoverMenu .RecruitPopoverMenuHeader .RecruitPopoverMenuHeader__left {
  display: flex;
  align-items: center;
}
.RecruitPopoverMenu .RecruitPopoverMenuHeader .RecruitPopoverMenuHeader__right {
  display: flex;
  align-items: center;
}
.RecruitPopoverMenu .RecruitPopoverMenuHeader .logo .logo__link {
  display: flex;
  align-items: end;
  gap: 1.5rem;
}
.RecruitPopoverMenu .RecruitPopoverMenuHeader .logo .logo__link .logo__image {
  display: block;
  width: auto;
  height: 2.4rem;
}
.RecruitPopoverMenu .RecruitPopoverMenuHeader .logo .logo__link .logo__recruit {
  width: auto;
  height: 1rem;
  margin-bottom: 0.15rem;
}
@media (min-width: 1080.01px) {
  .RecruitPopoverMenu .RecruitPopoverMenuBody {
    padding-block: 3rem 9rem;
  }
}
@media (max-width: 1080px) {
  .RecruitPopoverMenu .RecruitPopoverMenuBody {
    overflow-y: scroll;
    padding: 0 var(--site-gap) 2rem;
    height: calc(100% - var(--site-header-height));
  }
}
.RecruitPopoverMenu .RecruitPopoverMenuItems {
  margin: 1rem 0 0 1rem;
  padding-block: 1rem 2rem;
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 2em;
  line-height: 1.3;
}
.RecruitPopoverMenu .RecruitPopoverMenuItems .item {
  font-size: 1.6rem;
  font-weight: 400;
}
.RecruitPopoverMenu .RecruitPopoverMenuItems .item-entry {
  background-color: var(--color-blue);
  padding: 0.8em 1em;
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
}
.RecruitPopoverMenu .RecruitPopoverMenuItems .item-child {
  margin-left: 1em;
  font-size: 1.3rem;
  font-weight: 200;
}
.RecruitPopoverMenu .RecruitPopoverMenuItems .item-external {
  font-size: 1.3rem;
  font-weight: 200;
}
.RecruitPopoverMenu .RecruitPopoverMenuItems .item-external::after {
  display: inline-block;
  vertical-align: top;
  margin-top: 0.1em;
  margin-left: 0.5em;
  content: "";
  width: 1em;
  height: 1em;
  background-color: currentcolor;
  -webkit-mask: url("../assets/common/icon-external.svg") no-repeat center/contain;
          mask: url("../assets/common/icon-external.svg") no-repeat center/contain;
}
.RecruitPopoverMenu .RecruitPopoverMenuItems .item-instagram {
  font-size: 1.3rem;
  font-weight: 200;
}
.RecruitPopoverMenu .RecruitPopoverMenuItems .item-instagram::before {
  display: inline-block;
  vertical-align: top;
  margin-top: 0.2em;
  margin-right: 0.5em;
  content: "";
  width: 1em;
  height: 1em;
  background-color: currentcolor;
  -webkit-mask: url("../recruit/images/icon-instagram.svg") no-repeat center/contain;
          mask: url("../recruit/images/icon-instagram.svg") no-repeat center/contain;
}
.RecruitPopoverMenu .RecruitPopoverMenuItems .space {
  margin-block: -0.5rem 0;
  height: 0;
  border: none;
}

.RecruitPopoverMenuTel {
  margin-top: 2rem;
  font-size: 1.5rem;
  line-height: 1;
  border: 1px solid #fff;
  padding: 1em 1.3em 0.8em;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: var(--base-radius);
  display: grid;
  grid-template-columns: auto auto auto;
  gap: 0.5em 0.7em;
  align-items: center;
}
@media (min-width: 1080.01px) {
  .RecruitPopoverMenuTel {
    display: none;
  }
}
.RecruitPopoverMenuTel::before {
  content: "";
  width: 1.2em;
  height: 1.2em;
  background-color: #fff;
  -webkit-mask: url("../assets/common/icon-tel.svg") no-repeat 50%/93.75% auto;
          mask: url("../assets/common/icon-tel.svg") no-repeat 50%/93.75% auto;
}
.RecruitPopoverMenuTel .title {
  font-family: var(--font-family-mincho);
  font-weight: bold;
}
.RecruitPopoverMenuTel .number {
  font-size: 125%;
  font-weight: bold;
}
.RecruitPopoverMenuTel .notes {
  grid-column: 3/span 1;
  font-size: 81%;
}

.RecruitFooter {
  background-color: var(--color-brown-dark);
  color: #fff;
}
.RecruitFooter .RecruitFooter__totop {
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  position: relative;
}
@media (max-width: 1080px) {
  .RecruitFooter .RecruitFooter__totop {
    display: none;
  }
}
.RecruitFooter .RecruitFooter__totop .RecruitFooterTotop {
  --size: 8.4rem;
  --font-size: max(1rem, 10px);
  position: absolute;
  right: 0;
  top: calc(-0.5 * var(--size));
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1em;
  font-size: var(--font-size);
  line-height: 1;
  color: var(--color-blue);
  border: 1px solid currentcolor;
  transition: 0.2s;
  transition-property: background-color, color;
}
.RecruitFooter .RecruitFooter__totop .RecruitFooterTotop::before {
  content: "";
  width: 1.2em;
  height: 1.2em;
  background-color: currentcolor;
  -webkit-mask: var(--link-arrow-url) no-repeat 50%/100% auto;
          mask: var(--link-arrow-url) no-repeat 50%/100% auto;
  rotate: -90deg;
}
.RecruitFooter .RecruitFooter__totop .RecruitFooterTotop:hover {
  transition-duration: 0.3s;
  background-color: var(--color-blue);
  color: #fff;
}
.RecruitFooter .RecruitFooter__container {
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  padding-block: 9rem;
  display: grid;
  gap: 0 6rem;
  grid-template: "logo subnav" auto ". ." 6rem "address nav" auto ". ." 10rem "bottom bottom" auto/minmax(auto, max-content) 1fr;
}
@media (max-width: 1080px) {
  .RecruitFooter .RecruitFooter__container {
    padding-block: 4rem;
    gap: 0;
    grid-template: "logo" auto "." 4rem "address" auto "." 4rem "subnav" auto "." 4rem "bottom" auto/auto;
    justify-items: center;
  }
}
.RecruitFooter .RecruitFooter__container .RecruitFooter__logo {
  grid-area: logo;
}
.RecruitFooter .RecruitFooter__container .RecruitFooter__address {
  grid-area: address;
  align-self: end;
  font-size: 1.6rem;
}
@media (max-width: 1080px) {
  .RecruitFooter .RecruitFooter__container .RecruitFooter__address {
    font-size: 1.3rem;
  }
}
.RecruitFooter .RecruitFooter__container .RecruitFooter__subnav {
  grid-area: subnav;
}
@media (min-width: 1080.01px) {
  .RecruitFooter .RecruitFooter__container .RecruitFooter__subnav {
    place-self: end end;
  }
}
.RecruitFooter .RecruitFooter__container .RecruitFooter__nav {
  grid-area: nav;
}
@media (min-width: 1080.01px) {
  .RecruitFooter .RecruitFooter__container .RecruitFooter__nav {
    justify-self: end;
  }
}
@media (max-width: 1080px) {
  .RecruitFooter .RecruitFooter__container .RecruitFooter__nav {
    display: none;
  }
}
.RecruitFooter .RecruitFooter__container .RecruitFooter__bottom {
  grid-area: bottom;
  border-top: 1px solid rgba(255, 255, 255, 0.5);
  padding-top: 2rem;
  display: flex;
  align-items: center;
  gap: 3rem;
}
@media (max-width: 1080px) {
  .RecruitFooter .RecruitFooter__container .RecruitFooter__bottom {
    border-top: none;
  }
}
.RecruitFooter .RecruitFooter__container .RecruitFooter__bottom .RecruitFooter__copyright {
  font-size: 1.3rem;
  font-family: var(--font-family-mincho);
}
@media (max-width: 1080px) {
  .RecruitFooter .RecruitFooter__container .RecruitFooter__bottom .RecruitFooter__copyright {
    font-size: 0.7rem;
  }
}

.RecruitFooterLogo {
  display: flex;
  align-items: end;
  font-size: 5.2rem;
  line-height: 1;
  gap: 0.5769230769em;
}
@media (max-width: 1080px) {
  .RecruitFooterLogo {
    font-size: 4rem;
  }
}
.RecruitFooterLogo .logo {
  width: auto;
  height: 1em;
}
.RecruitFooterLogo .recruit {
  width: auto;
  height: 0.25em;
  margin-bottom: 0.1em;
  filter: invert(1);
}

.RecruitFooterSubnav {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.6rem;
  gap: 1rem 2em;
}
@media (max-width: 1080px) {
  .RecruitFooterSubnav {
    margin-inline: auto;
    width: -moz-fit-content;
    width: fit-content;
    flex-flow: column nowrap;
    font-size: 1.3rem;
  }
}
.RecruitFooterSubnav .RecruitFooterSubnav__item.RecruitFooterSubnav__item--external::after {
  content: "";
  display: inline-block;
  vertical-align: top;
  margin-top: 0.5em;
  margin-left: 0.5em;
  width: 0.8em;
  height: 0.8em;
  background-color: currentcolor;
  -webkit-mask: url("../recruit/images/icon-external.svg") no-repeat center/contain;
          mask: url("../recruit/images/icon-external.svg") no-repeat center/contain;
}

@media (min-width: 1080.01px) {
  .RecruitFooterNav {
    min-height: 100%;
    font-size: 1.6rem;
    line-height: 1.4;
    display: flex;
    border-right: 1px solid rgba(255, 255, 255, 0.5);
  }
  .RecruitFooterNav .RecruitFooterNav__column {
    border-left: 1px solid rgba(255, 255, 255, 0.5);
    padding-inline: 3.3rem 4.5rem;
    min-width: 23rem;
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 1.5em;
  }
  .RecruitFooterNav .RecruitFooterNav__children {
    margin-top: -1rem;
    margin-left: 1.2em;
    display: flex;
    flex-direction: column;
    align-items: start;
    font-size: 1.5rem;
    font-weight: 200;
    gap: 0.3em;
  }
  .RecruitFooterNav .RecruitFooterNav__instagram {
    width: 1.2em;
    height: 1.2em;
    filter: invert(1);
  }
}

.RecruitContact {
  padding-block: 12rem;
  background-color: var(--color-beige);
}
@media (max-width: 1080px) {
  .RecruitContact {
    padding-block: 5rem;
  }
}
.RecruitContact .RecruitContact__container {
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  display: flex;
  justify-content: space-between;
  gap: 3rem;
}
@media (max-width: 1080px) {
  .RecruitContact .RecruitContact__container {
    flex-direction: column;
    gap: 2rem;
  }
}
.RecruitContact .RecruitContactHeader .heading {
  font-size: 2rem;
  line-height: 1;
  color: var(--color-blue);
}
@media (max-width: 1080px) {
  .RecruitContact .RecruitContactHeader .heading {
    font-size: 1rem;
  }
}
.RecruitContact .RecruitContactHeader .english {
  margin-top: 0.2em;
  font-size: 8.8rem;
  line-height: 1;
  font-family: var(--font-family-serif);
  color: var(--color-brown);
}
@media (max-width: 1080px) {
  .RecruitContact .RecruitContactHeader .english {
    font-size: 4.4rem;
  }
}
.RecruitContact .RecruitContactHeader .description {
  margin-top: 1rem;
  font-size: 1.8rem;
}
@media (max-width: 1080px) {
  .RecruitContact .RecruitContactHeader .description {
    font-size: 1rem;
  }
}
.RecruitContact .RecruitContactCards {
  display: grid;
  grid-template: 20rem/36rem 36rem;
  gap: 2.4rem;
}
@media (max-width: 1080px) {
  .RecruitContact .RecruitContactCards {
    grid-template: 7rem 7rem/100%;
    gap: 1.7rem;
  }
}
.RecruitContact .RecruitContactCard {
  position: relative;
  border: 1px solid var(--color-blue);
  padding: 3.5rem 2rem 2rem 3.5rem;
  border-radius: var(--base-radius);
  color: var(--color-blue);
  line-height: 1.4;
}
@media (max-width: 1080px) {
  .RecruitContact .RecruitContactCard {
    justify-content: start;
    padding: 1.4rem 2.4rem 0;
  }
}
.RecruitContact .RecruitContactCard.-contact {
  --disc-arrow-bg-color: var(--color-blue);
  --disc-arrow-border-color: var(--color-blue);
  --disc-arrow-icon-color: #fff;
  --disc-arrow-transition-duration: 0.2s;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.RecruitContact .RecruitContactCard.-contact:hover {
  --disc-arrow-bg-color: #fff;
  --disc-arrow-icon-color: var(--color-blue);
  --disc-arrow-transition-duration: 0.3s;
}
@media (max-width: 1080px) {
  .RecruitContact .RecruitContactCard.-contact {
    justify-content: start;
    gap: 0.3rem;
  }
}
.RecruitContact .RecruitContactCard.-tel {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media (max-width: 1080px) {
  .RecruitContact .RecruitContactCard.-tel {
    flex-direction: row;
    align-items: start;
    justify-content: start;
    gap: 1rem;
  }
}
.RecruitContact .RecruitContactCard .title {
  display: flex;
  align-items: center;
  gap: 0.5em;
  font-size: 2.3rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
}
@media (max-width: 1080px) {
  .RecruitContact .RecruitContactCard .title {
    font-size: 1.8rem;
  }
}
.RecruitContact .RecruitContactCard .title::before {
  content: "";
  width: 1.4em;
  height: 1.4em;
  background-color: currentcolor;
}
.RecruitContact .RecruitContactCard .title.contact-icon::before {
  -webkit-mask: url("../assets/common/icon-mail.svg") no-repeat 50%/100% auto;
          mask: url("../assets/common/icon-mail.svg") no-repeat 50%/100% auto;
}
.RecruitContact .RecruitContactCard .title.tel-icon::before {
  -webkit-mask: url("../assets/common/icon-tel.svg") no-repeat 50%/93.75% auto;
          mask: url("../assets/common/icon-tel.svg") no-repeat 50%/93.75% auto;
}
.RecruitContact .RecruitContactCard .notes {
  font-size: 1.6rem;
}
@media (max-width: 1080px) {
  .RecruitContact .RecruitContactCard .notes {
    font-size: 1.1rem;
  }
}
@media (max-width: 1080px) {
  .RecruitContact .RecruitContactCard.-contact .notes {
    margin-left: 3.7rem;
  }
}
.RecruitContact .RecruitContactCard .arrow {
  aspect-ratio: 1;
  width: var(--disc-arrow-size, 6.4rem);
  height: auto;
  border-radius: 50%;
  background-color: var(--disc-arrow-bg-color, var(--color-blue));
  border: 1px solid var(--disc-arrow-border-color, var(--color-blue));
  display: grid;
  place-content: center;
  transition: var(--disc-arrow-transition-duration, 0.3s);
  transition-property: background-color, border-color;
  position: absolute;
  right: 2rem;
  bottom: 2rem;
}
.RecruitContact .RecruitContactCard .arrow::before {
  content: "";
  display: block;
  aspect-ratio: 1;
  width: calc(var(--disc-arrow-size, 6.4rem) * 12 / 64);
  height: auto;
  background-color: var(--disc-arrow-icon-color, #fff);
  -webkit-mask: var(--link-arrow-url) no-repeat 50%/100% auto;
          mask: var(--link-arrow-url) no-repeat 50%/100% auto;
  transition: background-color var(--disc-arrow-transition-duration, 0.3s);
}
@media (max-width: 1080px) {
  .RecruitContact .RecruitContactCard .arrow {
    --disc-arrow-size: 3.2rem;
    right: 1.4rem;
    bottom: 1.4rem;
  }
}
.RecruitContact .RecruitContactCard .tel-text {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 1.5rem;
}
@media (max-width: 1080px) {
  .RecruitContact .RecruitContactCard .tel-text {
    margin-top: 0.5rem;
    gap: 0.5rem;
  }
}
.RecruitContact .RecruitContactCard .number {
  width: auto;
  height: 2.2rem;
}
@media (max-width: 1080px) {
  .RecruitContact .RecruitContactCard .number {
    height: 1.66rem;
  }
}

.RecruitContact2 .RecruitContact2__container {
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  display: flex;
  justify-content: space-between;
}
@media (max-width: 1080px) {
  .RecruitContact2 .RecruitContact2__container {
    flex-direction: column;
    gap: 2rem;
  }
}
.RecruitContact2 .RecruitContact2__item {
  --disc-arrow-bg-color: var(--color-blue);
  --disc-arrow-border-color: var(--color-blue);
  --disc-arrow-icon-color: #fff;
  --disc-arrow-transition-duration: 0.2s;
  padding: 4rem 0 0 4rem;
  height: 27rem;
  border-radius: 2rem;
  position: relative;
}
.RecruitContact2 .RecruitContact2__item:hover {
  --disc-arrow-bg-color: #fff;
  --disc-arrow-icon-color: var(--color-blue);
  --disc-arrow-transition-duration: 0.3s;
}
@media (max-width: 1080px) {
  .RecruitContact2 .RecruitContact2__item {
    padding: 1.4rem 0 0 1.4rem;
    height: 16rem;
    border-radius: 1rem;
  }
}
.RecruitContact2 .RecruitContact2__item .RecruitContact2__arrow {
  aspect-ratio: 1;
  width: var(--disc-arrow-size, 6.4rem);
  height: auto;
  border-radius: 50%;
  background-color: var(--disc-arrow-bg-color, var(--color-blue));
  border: 1px solid var(--disc-arrow-border-color, var(--color-blue));
  display: grid;
  place-content: center;
  transition: var(--disc-arrow-transition-duration, 0.3s);
  transition-property: background-color, border-color;
  position: absolute;
  right: 2rem;
  bottom: 2rem;
}
.RecruitContact2 .RecruitContact2__item .RecruitContact2__arrow::before {
  content: "";
  display: block;
  aspect-ratio: 1;
  width: calc(var(--disc-arrow-size, 6.4rem) * 12 / 64);
  height: auto;
  background-color: var(--disc-arrow-icon-color, #fff);
  -webkit-mask: var(--link-arrow-url) no-repeat 50%/100% auto;
          mask: var(--link-arrow-url) no-repeat 50%/100% auto;
  transition: background-color var(--disc-arrow-transition-duration, 0.3s);
}
@media (max-width: 1080px) {
  .RecruitContact2 .RecruitContact2__item .RecruitContact2__arrow {
    --disc-arrow-size: 3.2rem;
    right: 1.4rem;
    bottom: 1.4rem;
  }
}
.RecruitContact2 .RecruitContact2__item.RecruitContact2Ashita {
  width: 56.5rem;
  background-image: url("../recruit/images/cta-ashita.webp");
  background-size: cover;
}
@media (max-width: 1080px) {
  .RecruitContact2 .RecruitContact2__item.RecruitContact2Ashita {
    width: 100%;
  }
}
.RecruitContact2 .RecruitContact2__item.RecruitContact2Ashita .RecruitContact2Ashita__ashita {
  font-size: 2.9rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
}
@media (max-width: 1080px) {
  .RecruitContact2 .RecruitContact2__item.RecruitContact2Ashita .RecruitContact2Ashita__ashita {
    font-size: 1.9rem;
  }
}
.RecruitContact2 .RecruitContact2__item.RecruitContact2Contact {
  width: 56rem;
  border: 1px solid var(--color-blue);
}
@media (max-width: 1080px) {
  .RecruitContact2 .RecruitContact2__item.RecruitContact2Contact {
    width: 100%;
  }
}
.RecruitContact2 .RecruitContact2__item.RecruitContact2Contact .RecruitContact2Contact__text {
  position: relative;
  padding-left: 2.4em;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  font-size: 2.3rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
}
@media (max-width: 1080px) {
  .RecruitContact2 .RecruitContact2__item.RecruitContact2Contact .RecruitContact2Contact__text {
    font-size: 1.8rem;
    gap: 0.2em;
  }
}
.RecruitContact2 .RecruitContact2__item.RecruitContact2Contact .RecruitContact2Contact__text small {
  font-size: 86.9565217391%;
}
@media (max-width: 1080px) {
  .RecruitContact2 .RecruitContact2__item.RecruitContact2Contact .RecruitContact2Contact__text small {
    font-size: 1.3rem;
  }
}
.RecruitContact2 .RecruitContact2__item.RecruitContact2Contact .RecruitContact2Contact__text::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2em;
  width: 1.4em;
  height: 1.4em;
  background-color: currentcolor;
  -webkit-mask: url("../assets/common/icon-mail.svg") no-repeat 50%/100% auto;
          mask: url("../assets/common/icon-mail.svg") no-repeat 50%/100% auto;
}
.RecruitContact2 .RecruitContact2__item.RecruitContact2Contact .RecruitContact2Contact__notes {
  font-size: 1.6rem;
  color: var(--color-blue);
  position: absolute;
  left: 4rem;
  bottom: 2rem;
}
@media (max-width: 1080px) {
  .RecruitContact2 .RecruitContact2__item.RecruitContact2Contact .RecruitContact2Contact__notes {
    left: 1.4rem;
    bottom: 1.4rem;
    font-size: 1.3rem;
  }
}

.PageHeader {
  --color-text: var(--color-brown);
  --color-english: var(--color-blue);
  --text-shadow: none;
  display: flow-root;
  position: relative;
  background-color: var(--color-beige);
  padding-block: 7.5rem 8.5rem;
}
.js-has-pseudo [csstools-has-1a-28-2p-2v-2t-20-2t-2p-2s-2t-36-1m-2w-2p-37-14-1a-28-2p-2v-2t-20-2t-2p-2s-2t-36-2n-2n-2q-2v-15]:not(.does-not-exist) {
  --color-text: white;
  --color-english: white;
  --text-shadow: 0 0 0.3rem rgb(0, 0, 0, 0.8);
}
.PageHeader:has(.PageHeader__bg) {
  --color-text: white;
  --color-english: white;
  --text-shadow: 0 0 0.3rem rgb(0, 0, 0, 0.8);
}
@media (min-width: 1080.01px) {
  .js-has-pseudo [csstools-has-1a-28-2p-2v-2t-20-2t-2p-2s-2t-36-1m-2w-2p-37-14-1a-28-2p-2v-2t-20-2t-2p-2s-2t-36-2n-2n-2q-2v-15]:not(.does-not-exist) {
    height: 39.6rem;
  }
  .PageHeader:has(.PageHeader__bg) {
    height: 39.6rem;
  }
}
@media (max-width: 1080px) {
  .PageHeader {
    padding-block: 3rem;
  }
}
.PageHeader .PageHeader__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.PageHeader .PageHeader__container {
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  position: relative;
}

.PageHeaderMain {
  display: flex;
}
@media (min-width: 1080.01px) {
  .PageHeaderMain {
    flex-wrap: wrap;
    align-items: end;
    justify-content: space-between;
  }
}
@media (max-width: 1080px) {
  .PageHeaderMain {
    flex-direction: column;
    align-items: start;
    gap: 1rem;
  }
}

.PageHeaderTitle {
  line-height: 1;
  display: flex;
  flex-direction: column;
  gap: max(1.5rem * var(--pc-flag), 0.5rem * var(--sp-flag));
  color: var(--color-text);
  text-shadow: var(--text-shadow);
}
.PageHeaderTitle .PageHeaderTitle__english {
  font-size: max(2rem * var(--pc-flag), 1.3rem * var(--sp-flag));
  font-family: var(--font-family-serif);
  color: var(--color-english);
}
.PageHeaderTitle .PageHeaderTitle__title {
  margin: 0;
  font-size: max(5rem * var(--pc-flag), 2.5rem * var(--sp-flag));
  font-family: var(--font-family-mincho);
}

.PageHeaderTopicpath {
  font-size: max(1.5rem * var(--pc-flag), 1.1rem * var(--sp-flag));
  color: var(--color-text);
  text-shadow: var(--text-shadow);
}
@media (max-width: 1080px) {
  .PageHeaderTopicpath {
    align-self: end;
  }
}

.PageHeaderNav {
  margin-top: 8rem;
}
@media (max-width: 1080px) {
  .PageHeaderNav {
    margin-top: 2rem;
  }
}
.PageHeaderNav .PageHeaderNav__list {
  display: flex;
  gap: 1.3em;
  font-size: 1.9rem;
}
@media (max-width: 1080px) {
  .PageHeaderNav .PageHeaderNav__list {
    flex-direction: column;
    font-size: 1.3rem;
    gap: 0.5em;
  }
}
.PageHeaderNav .PageHeaderNav__list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-inline: 1.16em 0.9em;
  min-width: 16em;
  height: 2.7em;
  background-color: #aaa6a4;
  border-radius: 9999px;
  font-family: var(--font-family-mincho);
  color: white;
}
.PageHeaderNav .PageHeaderNav__list a[aria-current=page] {
  background-color: var(--color-blue);
}
.PageHeaderNav .PageHeaderNav__list a::after {
  flex-shrink: 0;
  content: "";
  display: inline-block;
  aspect-ratio: 1;
  width: var(--link-icon-size, 0.8888888889em);
  height: auto;
  background-color: var(--link-icon-color, currentcolor);
  -webkit-mask: var(--link-icon-mask-image) no-repeat center/100% 100%;
          mask: var(--link-icon-mask-image) no-repeat center/100% 100%;
}

@keyframes SlideGallerySlide {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-100%, 0, 0);
  }
}
.SlideGallery {
  --speed: 8s;
  --item-ratio: 518 / 342;
  --item-width: 51.8rem;
  --item-gap: 1.1rem;
  --height: calc(var(--item-width) / (var(--item-ratio)));
  --total-width: calc((var(--item-width) + var(--item-gap)) * var(--item-count));
  margin-inline: auto;
  overflow: hidden;
  max-width: var(--total-width);
}
@media (max-width: 1080px) {
  .SlideGallery {
    --item-width: 24rem;
    --item-gap: 0.4rem;
  }
}
.SlideGallery .SlideGallery__inner {
  display: flex;
  gap: var(--item-gap);
  width: var(--total-width);
  animation: SlideGallerySlide calc(var(--item-count) * var(--speed)) linear infinite;
}
.SlideGallery .SlideGallery__img {
  flex-shrink: 0;
  width: var(--item-width);
  height: var(--height);
}

.HomeHero {
  position: relative;
  height: 100.8rem;
}
@media (max-width: 1080px) {
  .HomeHero {
    height: min(100svh - var(--site-header-height), 75rem);
  }
}
.HomeHero .HomeHero__image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 0%;
     object-position: 50% 0%;
}
.HomeHero .HomeHero__text {
  position: absolute;
  inset: 0;
  margin: auto;
  width: auto;
  height: 1em;
  filter: drop-shadow(0 0 0.02em #fff) drop-shadow(0 0 0.03em #fff);
}
@media (min-width: 1080.01px) {
  .HomeHero .HomeHero__text {
    font-size: 21.4rem;
    translate: -2.5% 102%;
  }
}
@media (max-width: 1080px) {
  .HomeHero .HomeHero__text {
    font-size: 8rem;
    translate: 0% 60%;
  }
}

.HomeHonmono {
  padding-block: 5rem;
  text-align: center;
}
.HomeHonmono img {
  height: 26rem;
}
@media (max-width: 1080px) {
  .HomeHonmono img {
    height: 15rem;
  }
}

.HomeMessage {
  padding-block: 8rem 10rem;
  background-color: #f3eee1;
}
.HomeMessage .HomeMessage__container {
  --content-width: max(93.2rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  display: grid;
}
@media (min-width: 1080.01px) {
  .HomeMessage .HomeMessage__container {
    grid-template: "hgroup hgroup" auto "text image" auto/1fr 22.9rem;
    gap: 5rem;
  }
}
@media (max-width: 1080px) {
  .HomeMessage .HomeMessage__container {
    grid-template: "hgroup" auto "text" auto "image" auto/1fr;
    gap: 3rem;
  }
}
.HomeMessage .HomeMessage__hgroup {
  grid-area: hgroup;
  color: var(--color-blue);
}
.HomeMessage .HomeMessage__hgroup .HomeMessage__title {
  font-size: 2rem;
}
.HomeMessage .HomeMessage__hgroup .HomeMessage__headline {
  margin-top: 0.5em;
  font-size: max(3.1rem * var(--pc-flag), 2.4rem * var(--sp-flag));
  font-family: var(--font-family-mincho);
  font-weight: bold;
}
.HomeMessage .HomeMessage__text {
  grid-area: text;
  font-size: 1.6rem;
}
.HomeMessage .HomeMessage__image {
  grid-area: image;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.HomeMessage .HomeMessage__image img {
  border-radius: 0.7rem;
}
.HomeMessage .HomeMessage__image figcaption {
  margin-top: 1em;
  text-align: right;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  font-size: 1.6rem;
}
.HomeMessage .HomeMessage__image figcaption b {
  font-size: 118.75%;
}

.HomeContentsContainer {
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
}

.HomeContentsHeading {
  font-family: var(--font-family-serif);
  color: #fff;
}
@media (min-width: 1080.01px) {
  .HomeContentsHeading {
    font-size: 8.8rem;
  }
}
@media (max-width: 1080px) {
  .HomeContentsHeading {
    font-size: 6rem;
  }
}

.HomeContentsItems {
  background-color: #fff;
  display: grid;
  grid-template-columns: 100%;
  gap: 1px;
}

.HomeContentsItem {
  display: grid;
  background-color: var(--bg-color);
}
.HomeContentsItem:nth-child(1) {
  --number: "01";
  --bg-color: rgb(83, 71, 65, 0.7);
  --description-color: #fff;
}
.HomeContentsItem:nth-child(2) {
  --number: "02";
  --bg-color: rgb(83, 71, 65, 0.5);
  --description-color: #fff;
}
.HomeContentsItem:nth-child(3) {
  --number: "03";
  --bg-color: rgb(83, 71, 65, 0.3);
  --description-color: #666;
}
.HomeContentsItem:nth-child(4) {
  --number: "04";
  --bg-color: rgb(83, 71, 65, 0.15);
  --description-color: #666;
}
.HomeContentsItem:nth-child(5) {
  --bg-color: #f9f6f0;
  --description-color: #666;
}
@media (min-width: 1080.01px) {
  .HomeContentsItem {
    padding-block: 3rem;
    grid-template: "number image content" auto/7rem 52.3rem 2fr;
  }
}
@media (max-width: 1080px) {
  .HomeContentsItem {
    padding: 1rem 2rem 2.5rem;
    grid-template: "number" auto "." 1rem "image" auto "." 1.5rem "content" auto/100%;
  }
}
.HomeContentsItem::before {
  content: var(--number);
  grid-area: number;
  padding-left: 1px;
  font-size: 2rem;
  color: var(--color-brown);
  line-height: 1;
}
.HomeContentsItem .HomeContentsItem__image {
  grid-area: image;
  aspect-ratio: 523/298;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 2rem;
}
@media (max-width: 1080px) {
  .HomeContentsItem .HomeContentsItem__image {
    border-radius: 1rem;
  }
}
.HomeContentsItem .HomeContentsItem__content {
  grid-area: content;
}
@media (min-width: 1080.01px) {
  .HomeContentsItem .HomeContentsItem__content {
    padding-inline: 5rem;
  }
}
.HomeContentsItem .HomeContentsItem__title {
  margin-bottom: 0.6em;
  line-height: 1.2;
  font-family: var(--font-family-serif);
  font-weight: bold;
  color: var(--color-blue);
}
@media (min-width: 1080.01px) {
  .HomeContentsItem .HomeContentsItem__title {
    font-size: 3.1rem;
  }
}
@media (max-width: 1080px) {
  .HomeContentsItem .HomeContentsItem__title {
    font-size: 2.3rem;
  }
}
.HomeContentsItem .HomeContentsItem__links {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
@media (min-width: 1080.01px) {
  .HomeContentsItem .HomeContentsItem__links {
    width: -moz-fit-content;
    width: fit-content;
  }
}
.HomeContentsItem .HomeContentsItem__links a {
  border: 1px solid var(--color-blue);
  line-height: 1.3;
  font-family: var(--font-family-mincho);
  background-color: var(--color-blue);
  color: #fff;
  border-radius: 2em;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8em;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.HomeContentsItem .HomeContentsItem__links a:hover {
  background-color: #fff;
  color: var(--color-blue);
}
@media (min-width: 1080.01px) {
  .HomeContentsItem .HomeContentsItem__links a {
    font-size: 1.9rem;
    padding: 0.6em 1.2em 0.6em 1.9em;
    min-width: 27.5rem;
  }
}
@media (max-width: 1080px) {
  .HomeContentsItem .HomeContentsItem__links a {
    padding: 0.7em 1.2em 0.7em 1.5em;
    font-size: 1.4rem;
  }
}
.HomeContentsItem .HomeContentsItem__links a::after {
  content: "";
  flex-shrink: 0;
  width: 0.84em;
  height: 0.84em;
  background-color: currentcolor;
  -webkit-mask: url("../recruit/images/icon-arrow-right.svg") no-repeat center;
          mask: url("../recruit/images/icon-arrow-right.svg") no-repeat center;
}
.HomeContentsItem .HomeContentsItem__description {
  margin-top: 1em;
  font-size: 1.8rem;
  color: var(--description-color);
}
@media (max-width: 1080px) {
  .HomeContentsItem .HomeContentsItem__description {
    font-size: 1.3rem;
  }
}

.HomeDataBlock.--gray {
  background-color: #f5f5f5;
}
@media (min-width: 1080.01px) {
  .HomeDataBlock {
    padding-block: 6rem 10rem;
  }
}
@media (max-width: 1080px) {
  .HomeDataBlock {
    padding-block: 6rem 8rem;
  }
}

.HomeDataContainer {
  --content-width: max(93.2rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
}
.HomeDataContainer + .HomeDataContainer {
  margin-top: 5rem;
}

.HomeContentsBg {
  background-image: url("../recruit/images/top/contents-bg.webp");
  background-size: cover;
  background-position: center;
}
@media (min-width: 1080.01px) {
  .HomeContentsBg {
    padding-block: 12rem 22rem;
  }
}
@media (max-width: 1080px) {
  .HomeContentsBg {
    padding-block: 6rem 8rem;
  }
}

.HomeDataHeader {
  margin-bottom: 3rem;
}
.HomeDataHeader .HomeDataHeader__title {
  font-size: 3.1rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
}
@media (max-width: 1080px) {
  .HomeDataHeader .HomeDataHeader__title {
    font-size: 2.5rem;
  }
}
.HomeDataHeader .HomeDataHeader__note {
  font-size: 1.6rem;
  color: var(--color-blue);
}
@media (max-width: 1080px) {
  .HomeDataHeader .HomeDataHeader__note {
    font-size: 1.4rem;
  }
}
.HomeDataHeader .HomeDataHeader__description {
  font-size: 2rem;
  color: var(--color-blue);
}
@media (max-width: 1080px) {
  .HomeDataHeader .HomeDataHeader__description {
    font-size: 1.6rem;
  }
}

.HomeDataGrid {
  display: grid;
}
.HomeDataGrid > .HomeDataGrid__item {
  border: 1px solid var(--color-blue);
  border-radius: 0.8em;
  background-color: #fff;
}
.HomeDataGrid > .HomeDataGrid__item.--style-gray {
  border: none;
  background-color: #f0efee;
}
@media (min-width: 1080.01px) {
  .HomeDataGrid {
    grid-template-columns: repeat(6, 1fr);
    gap: 4rem;
  }
  .HomeDataGrid > .HomeDataGrid__item {
    grid-column: span 6;
  }
  .HomeDataGrid > .HomeDataGrid__item.--span-onethird {
    grid-column: span 2;
  }
  .HomeDataGrid > .HomeDataGrid__item.--span-half {
    grid-column: span 3;
  }
}
@media (max-width: 1080px) {
  .HomeDataGrid {
    gap: 1.5rem;
  }
}

.HomeDataNumber {
  line-height: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
@media (min-width: 1080.01px) {
  .HomeDataNumber {
    padding-block: 4.5rem 3.5rem;
    min-height: 19rem;
  }
}
@media (max-width: 1080px) {
  .HomeDataNumber {
    padding-block: 3rem;
  }
}
.HomeDataNumber .HomeDataNumber__label {
  order: 2;
  font-size: 2.3rem;
}
@media (max-width: 1080px) {
  .HomeDataNumber .HomeDataNumber__label {
    font-size: 2rem;
  }
  .HomeDataNumber .HomeDataNumber__label.--real {
    font-size: 1.6rem;
  }
}
.HomeDataNumber .HomeDataNumber__value {
  order: 1;
  font-size: 4rem;
  font-weight: bold;
}
@media (max-width: 1080px) {
  .HomeDataNumber .HomeDataNumber__value {
    font-size: 3rem;
  }
}
.HomeDataNumber .HomeDataNumber__value b {
  font-size: 175%;
  color: var(--color-blue);
}
.HomeDataNumber .HomeDataNumber__note {
  order: 3;
  font-size: 1.6rem;
  font-weight: 200;
}

.HomeDataAge {
  display: grid;
}
@media (min-width: 1080.01px) {
  .HomeDataAge {
    padding: 3rem;
    grid-template: "chart  data" auto "header  header" auto/29.1rem auto;
    gap: 2rem 5rem;
    align-items: center;
    justify-content: center;
  }
}
@media (max-width: 1080px) {
  .HomeDataAge {
    padding: 3rem;
    grid-template: "header" auto "chart" auto "data" auto/1fr;
    gap: 2rem;
    justify-items: center;
  }
}
.HomeDataAge .HomeDataAge__header {
  grid-area: header;
  text-align: center;
}
.HomeDataAge .HomeDataAge__header .HomeDataAge__title {
  font-size: 2.3rem;
  font-weight: bold;
}
.HomeDataAge .HomeDataAge__header .HomeDataAge__note {
  font-size: 1.6rem;
}
.HomeDataAge .HomeDataAge__chart {
  grid-area: chart;
}
.HomeDataAge .HomeDataAge__chart svg {
  width: 100%;
  height: auto;
}
@media (min-width: 1080.01px) {
  .HomeDataAge .HomeDataAge__chart {
    justify-self: right;
  }
}
.HomeDataAge .HomeDataAge__data {
  grid-area: data;
  align-self: center;
}
.HomeDataAge .HomeDataAge__data .HomeDataAgeData {
  width: -moz-max-content;
  width: max-content;
  font-size: 1.6rem;
  border-collapse: separate;
  border-spacing: 1em 0;
}
.HomeDataAge .HomeDataAge__data .HomeDataAgeData :where(th, td) {
  font-weight: normal;
}
.HomeDataAge .HomeDataAge__data .HomeDataAgeData :where(th, td) b {
  font-size: 2rem;
  font-weight: bold;
  color: var(--color-blue);
}
.HomeDataAge .HomeDataAge__data .HomeDataAgeData :where(th, td).HomeDataAgeData__label::before {
  content: "";
  display: inline-block;
  margin-right: 0.5em;
  width: 1em;
  height: 1em;
  background-color: var(--color);
  border: 1px solid rgba(0, 0, 0, 0.3);
}
.HomeDataAge .HomeDataAge__data .HomeDataAgeData :where(th, td).HomeDataAgeData__value {
  text-align: right;
}

.HomeDataQual {
  padding: 2rem;
}
.HomeDataQual.--prize {
  padding: 3rem 2rem;
}
.HomeDataQual .HomeDataQual__heading {
  font-size: 2.7rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
  border-bottom: 1px solid var(--color-blue);
  margin-block: 0 2rem;
}
@media (max-width: 1080px) {
  .HomeDataQual .HomeDataQual__heading {
    font-size: 2.3rem;
  }
}
.HomeDataQual .HomeDataQual__subheading {
  margin-block: 0.8em 0.4em;
  font-size: 2.3rem;
  line-height: 1.3;
  font-weight: bold;
}
@media (max-width: 1080px) {
  .HomeDataQual .HomeDataQual__subheading {
    font-size: 2rem;
  }
}
.HomeDataQual .HomeDataQual__table {
  border-collapse: separate;
  border-spacing: 1rem;
}
.HomeDataQual .HomeDataQual__table th,
.HomeDataQual .HomeDataQual__table td {
  vertical-align: middle;
  white-space: nowrap;
  line-height: 1;
}
.HomeDataQual .HomeDataQual__table th {
  font-size: 2rem;
  font-weight: bold;
  text-align: right;
  width: 100%;
}
@media (max-width: 1080px) {
  .HomeDataQual .HomeDataQual__table th {
    font-size: 1.4rem;
  }
}
.HomeDataQual .HomeDataQual__table td {
  font-size: 1.6rem;
}
@media (max-width: 1080px) {
  .HomeDataQual .HomeDataQual__table td {
    font-size: 1.4rem;
  }
}
.HomeDataQual .HomeDataQual__bar {
  width: 22.8rem;
  height: 2.5rem;
  border-radius: 0.4rem;
  background-color: #f0efee;
  overflow: hidden;
}
@media (max-width: 1080px) {
  .HomeDataQual .HomeDataQual__bar {
    border-radius: 0.3rem;
    width: 13rem;
    height: 2rem;
  }
}
.HomeDataQual .HomeDataQual__bar::before {
  content: "";
  display: block;
  border-radius: 0.4rem;
  width: calc(var(--value) * 100%);
  height: 100%;
  background-color: #809bc3;
}
@media (max-width: 1080px) {
  .HomeDataQual .HomeDataQual__bar::before {
    border-radius: 0.3rem;
  }
}
.HomeDataQual .HomeDataQual__list {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.6rem;
  gap: 0.5em;
}
@media (max-width: 1080px) {
  .HomeDataQual .HomeDataQual__list {
    font-size: 1.4rem;
  }
}
.HomeDataQual .HomeDataQual__list > li {
  padding: 0 0.8em;
  border-radius: 9999px;
  background-color: #edf1f7;
  border: 1px solid var(--color-blue);
  min-width: 11rem;
  text-align: center;
}
.HomeDataQual .HomeDataQual__list > li.--white {
  background-color: #fff;
}

.HomeDataFrom {
  display: grid;
}
@media (min-width: 1080.01px) {
  .HomeDataFrom {
    padding: 2rem 2rem 5rem;
    gap: 4rem;
    grid-template: "heading heading" auto "chart comment" auto/53rem 1fr;
  }
}
@media (max-width: 1080px) {
  .HomeDataFrom {
    padding: 1rem 1rem 3rem;
    gap: 2rem;
    grid-template: "heading" auto "chart" auto "comment" auto/1fr;
  }
}
.HomeDataFrom .HomeDataFrom__heading {
  grid-area: heading;
  font-size: 2.7rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
}
@media (max-width: 1080px) {
  .HomeDataFrom .HomeDataFrom__heading {
    font-size: 2rem;
  }
}
.HomeDataFrom .HomeDataFrom__chart {
  grid-area: chart;
}
.HomeDataFrom .HomeDataFrom__comment {
  grid-area: comment;
  font-size: 2.3rem;
}
@media (max-width: 1080px) {
  .HomeDataFrom .HomeDataFrom__comment {
    font-size: 1.8rem;
  }
}
.HomeDataFrom .HomeDataFrom__comment b {
  font-weight: bold;
}

.HomeDataFromChart {
  display: flex;
  justify-content: center;
  gap: 2.5rem;
  background: linear-gradient(var(--color-blue)) no-repeat;
  background-size: 100% 1px;
  background-position: left 0 bottom 3rem;
}
@media (max-width: 1080px) {
  .HomeDataFromChart {
    gap: 1.5rem;
  }
}
.HomeDataFromChart .HomeDataFromChart__item {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  justify-content: end;
  gap: 2px;
}
.HomeDataFromChart .HomeDataFromChart__item .HomeDataFromChart__label {
  height: 3rem;
  font-size: 2rem;
  font-weight: bold;
}
@media (max-width: 1080px) {
  .HomeDataFromChart .HomeDataFromChart__item .HomeDataFromChart__label {
    font-size: 1.6rem;
  }
}
.HomeDataFromChart .HomeDataFromChart__item .HomeDataFromChart__value {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: end;
  font-size: 1.6rem;
}
.HomeDataFromChart .HomeDataFromChart__item .HomeDataFromChart__value::after {
  content: "";
  background-color: #ecb760;
  width: 8.9rem;
  height: calc(15.3rem * var(--ratio));
  border-radius: 1rem 1rem 0 0;
}
@media (max-width: 1080px) {
  .HomeDataFromChart .HomeDataFromChart__item .HomeDataFromChart__value::after {
    width: 5rem;
    height: calc(10rem * var(--value) / 6);
    border-radius: 0.6rem 0.6rem 0 0;
  }
}

.HomeDataVoice {
  display: grid;
}
@media (min-width: 1080.01px) {
  .HomeDataVoice {
    padding: 2rem 2rem 3rem;
    grid-template-columns: 1fr 1fr;
    gap: 1rem 4rem;
  }
}
@media (max-width: 1080px) {
  .HomeDataVoice {
    padding: 2rem 2rem 3rem;
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.HomeDataVoice .HomeDataVoice__heading {
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
}
@media (min-width: 1080.01px) {
  .HomeDataVoice .HomeDataVoice__heading {
    grid-column: span 2;
    font-size: 2.7rem;
  }
}
@media (max-width: 1080px) {
  .HomeDataVoice .HomeDataVoice__heading {
    font-size: 2.3rem;
  }
}
.HomeDataVoice .HomeDataVoice__section {
  padding: 1.5rem 1.8rem 2.5rem;
  background-color: #f0efee;
  border-radius: 1rem;
}
.HomeDataVoice .HomeDataVoice__section.--orange {
  --label-color: #fad582;
}
.HomeDataVoice .HomeDataVoice__section.--yellow {
  --label-color: #f4e776;
}
.HomeDataVoice .HomeDataVoice__section h3 {
  font-size: 2.3rem;
  font-weight: bold;
}
@media (max-width: 1080px) {
  .HomeDataVoice .HomeDataVoice__section h3 {
    font-size: 2rem;
  }
}
.HomeDataVoice .HomeDataVoice__section ul {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  font-size: 1.6rem;
  gap: 0.5em;
}
@media (min-width: 1080.01px) {
  .HomeDataVoice .HomeDataVoice__section ul {
    font-size: 1.4rem;
  }
}
.HomeDataVoice .HomeDataVoice__section ul > li {
  padding: 0 0.8em;
  border-radius: 9999px;
  background-color: var(--label-color);
  border: 1px solid var(--color-blue);
  text-align: center;
}
.HomeDataVoice .HomeDataVoice__section ul > li.--white {
  background-color: #fff;
}
.HomeDataVoice .HomeDataVoice__section p {
  margin-top: 1rem;
  font-size: 2.3rem;
}
@media (max-width: 1080px) {
  .HomeDataVoice .HomeDataVoice__section p {
    font-size: 1.8rem;
  }
}

.HomeDataQuestionnaire {
  padding: 2rem 2rem 3rem;
  display: grid;
  gap: 2.5rem;
}
.HomeDataQuestionnaire .HomeDataQuestionnaire__heading {
  font-size: 2.7rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
  border-bottom: 1px solid var(--color-blue);
}
@media (max-width: 1080px) {
  .HomeDataQuestionnaire .HomeDataQuestionnaire__heading {
    font-size: 2.3rem;
  }
}
.HomeDataQuestionnaire .HomeDataQuestionnaire__heading > small {
  font-size: 60%;
}
.HomeDataQuestionnaire .HomeDataQuestionnaire__result {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 0.8rem 1rem;
  line-height: 1;
}
.HomeDataQuestionnaire .HomeDataQuestionnaire__result > dt {
  font-size: 2rem;
  font-weight: bold;
  text-align: right;
}
@media (max-width: 1080px) {
  .HomeDataQuestionnaire .HomeDataQuestionnaire__result > dt {
    font-size: 1.4rem;
  }
}
.HomeDataQuestionnaire .HomeDataQuestionnaire__result > dd {
  font-size: 1.6rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (max-width: 1080px) {
  .HomeDataQuestionnaire .HomeDataQuestionnaire__result > dd {
    font-size: 1.4rem;
  }
}
.HomeDataQuestionnaire .HomeDataQuestionnaire__result > dd > span {
  width: 20rem;
  height: 2.5rem;
  border-radius: 0.4rem;
  background-color: #f0efee;
}
@media (max-width: 1080px) {
  .HomeDataQuestionnaire .HomeDataQuestionnaire__result > dd > span {
    width: 12rem;
    height: 2rem;
    border-radius: 0.3rem;
  }
}
.HomeDataQuestionnaire .HomeDataQuestionnaire__result > dd > span::before {
  content: "";
  display: block;
  border-radius: 0.4rem;
  width: calc(var(--ratio) * 100%);
  height: 100%;
  background-color: #809bc3;
}
@media (max-width: 1080px) {
  .HomeDataQuestionnaire .HomeDataQuestionnaire__result > dd > span::before {
    border-radius: 0.3rem;
  }
}
.HomeDataQuestionnaire .HomeDataQuestionnaire__comment {
  font-size: 2.3rem;
}
@media (max-width: 1080px) {
  .HomeDataQuestionnaire .HomeDataQuestionnaire__comment {
    font-size: 1.8rem;
  }
}

.JobLead {
  --content-width: max(71rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  margin-block: max(9rem * var(--pc-flag), 6rem * var(--sp-flag)) max(15rem * var(--pc-flag), 10rem * var(--sp-flag));
}
.JobLead .JobLead__title {
  font-size: max(8.8rem * var(--pc-flag), 6rem * var(--sp-flag));
  font-family: var(--font-family-serif);
  color: var(--color-brown);
  text-align: center;
  line-height: 1;
}
.JobLead .JobLead__text {
  margin-top: 2.5em;
  font-size: 1.6rem;
}

.JobBlockBg {
  display: flow-root;
  padding-block: 7rem 10rem;
}
.JobBlockBg.--gray {
  background-color: #f5f5f5;
}
.JobBlockBg.--white {
  background-color: #fff;
}

.JobHeading {
  font-size: max(4.8rem * var(--pc-flag), 3rem * var(--sp-flag));
  line-height: 1.3;
  font-family: var(--font-family-serif);
  color: var(--color-blue);
  text-align: center;
}

.JobItems {
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  margin-top: max(6rem * var(--pc-flag), 4rem * var(--sp-flag));
  display: grid;
  gap: max(8rem * var(--pc-flag), 4rem * var(--sp-flag));
}
@media (min-width: 1080.01px) {
  .JobItems.--senmon {
    grid-template-columns: 56rem 56rem;
  }
}

.JobItem {
  background-color: #e5ebf3;
  border-radius: 2rem;
  overflow: hidden;
  display: grid;
  grid-template: "image image image" 33.6rem ". . . " 2rem ". content ." 1fr ". . . " 4rem ". interview ." auto ". . ." 7rem/5rem 1fr 5rem;
}
@media (max-width: 1080px) {
  .JobItem {
    grid-template: "image image image" 20rem ". . . " 2rem ". content ." 1fr ". . . " 2rem ". interview ." auto ". . ." 3rem/2rem 1fr 2rem;
  }
}
@media (min-width: 1080.01px) {
  .JobItem.--kenchiku {
    height: 47rem;
    grid-template: "image . . ." 1fr "image . content ." auto "image . . ." 3rem "image . interview ." auto "image . . ." 1fr/60rem 8rem auto 5rem;
  }
}
.JobItem .JobItem__image {
  grid-area: image;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.JobItem .JobItem__content {
  grid-area: content;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.JobItem .JobItem__content .JobItem__department {
  font-size: max(2rem * var(--pc-flag), 1.6rem * var(--sp-flag));
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
}
.JobItem .JobItem__content .JobItem__role {
  font-size: max(2.6rem * var(--pc-flag), 2rem * var(--sp-flag));
  font-weight: bold;
  color: var(--color-blue);
}
.JobItem .JobItem__content .JobItem__description {
  font-size: max(1.6rem * var(--pc-flag), 1.4rem * var(--sp-flag));
}
.JobItem .JobItem__interview {
  grid-area: interview;
}

.JobInterview {
  --image-width: 14.7rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  overflow: hidden;
  min-height: max(12.7rem * var(--pc-flag), 9rem * var(--sp-flag));
  border-radius: 1.1rem;
  background-color: #fff;
  padding-left: calc(var(--image-width) + 1em);
  font-size: max(1.6rem * var(--pc-flag), 1.2rem * var(--sp-flag));
  line-height: 1.4;
  gap: 0.3em;
}
.JobInterview:hover {
  --image-scale: 1.1;
  --image-brightness: 1.1;
}
@media (max-width: 1080px) {
  .JobInterview {
    --image-width: 10rem;
  }
}
.JobInterview .JobInterview__image {
  position: absolute;
  left: 0;
  top: 0;
  width: var(--image-width);
  height: 100%;
  overflow: hidden;
}
.JobInterview .JobInterview__image > img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  scale: var(--image-scale, 1);
  filter: brightness(var(--image-brightness, 1));
  transition: scale 0.3s ease, filter 0.3s ease;
}
.JobInterview .JobInterview__text1 {
  font-family: var(--font-family-mincho);
  color: var(--color-blue);
  font-weight: bold;
}
.JobInterview .JobInterview__text2 {
  color: var(--color-blue);
}
.JobInterview .JobInterview_text3 {
  color: var(--color-text);
}

.InterviewBlock.InterviewBlock--job {
  padding-block: 8rem 20rem;
  background-color: #809bc3;
}
@media (max-width: 1080px) {
  .InterviewBlock.InterviewBlock--job {
    padding-block: 6rem 8rem;
  }
}
.InterviewBlock.InterviewBlock--career {
  padding-block: 13rem 14rem;
  background-color: #f3eee1;
}
@media (max-width: 1080px) {
  .InterviewBlock.InterviewBlock--career {
    padding-block: 6rem 8rem;
  }
}

.InterviewContainer {
  --content-width: max(94rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
}

.InterviewHeading {
  text-align: center;
  color: var(--color-brown);
  margin-bottom: 7rem;
}
@media (max-width: 1080px) {
  .InterviewHeading {
    margin-bottom: 4rem;
  }
}
.InterviewHeading .InterviewHeading__english {
  font-size: 8.8rem;
  line-height: 1.2;
  font-family: var(--font-family-serif);
}
@media (max-width: 1080px) {
  .InterviewHeading .InterviewHeading__english {
    font-size: 4rem;
  }
}
.InterviewHeading .InterviewHeading__title {
  font-size: 3.5rem;
  font-family: var(--font-family-mincho);
}
.InterviewHeading .InterviewHeading__title.--white {
  color: #fff;
}
@media (max-width: 1080px) {
  .InterviewHeading .InterviewHeading__title {
    font-size: 2.3rem;
  }
}

.InterviewList {
  display: grid;
}
@media (min-width: 1080.01px) {
  .InterviewList {
    grid-template-columns: 1fr 1fr;
    gap: 4rem 2.5rem;
  }
}
@media (max-width: 1080px) {
  .InterviewList {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.InterviewList .InterviewList__link {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background-color: #fff;
  border-radius: 1rem;
  overflow: hidden;
}
.InterviewList .InterviewList__link:hover {
  --image-scale: 1.1;
  --image-brightness: 1.1;
}
@media (max-width: 1080px) {
  .InterviewList .InterviewList__link {
    grid-template-columns: 0.8fr 1fr;
  }
}
.InterviewList .InterviewList__link .InterviewList__image {
  aspect-ratio: 221/227;
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden;
}
.InterviewList .InterviewList__link .InterviewList__image > img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  scale: var(--image-scale, 1);
  filter: brightness(var(--image-brightness, 1));
  transition: scale 0.3s ease, filter 0.3s ease;
}
.InterviewList .InterviewList__link .InterviewList__info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.8rem;
  gap: 1rem;
  line-height: 1.5;
}
@media (max-width: 1080px) {
  .InterviewList .InterviewList__link .InterviewList__info {
    padding: 1.5rem;
    gap: 0.5rem;
  }
}
.InterviewList .InterviewList__link .InterviewList__info .InterviewList__department {
  font-size: 2.3rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
}
@media (max-width: 1080px) {
  .InterviewList .InterviewList__link .InterviewList__info .InterviewList__department {
    font-size: 1.8rem;
  }
}
.InterviewList .InterviewList__link .InterviewList__info .InterviewList__role {
  color: var(--color-blue);
  font-size: 1.6rem;
}
@media (max-width: 1080px) {
  .InterviewList .InterviewList__link .InterviewList__info .InterviewList__role {
    font-size: 1.4rem;
  }
}
.InterviewList .InterviewList__link .InterviewList__info .InterviewList__name {
  font-size: 1.6rem;
}
@media (max-width: 1080px) {
  .InterviewList .InterviewList__link .InterviewList__info .InterviewList__name {
    font-size: 1.4rem;
  }
}

.InterviewJobHeaderBg {
  background-color: #809bc3;
  display: flow-root;
}

.InterviewJobHeaderTopicpath {
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  height: 11rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  font-size: 1.3rem;
  color: var(--color-brown);
}
@media (max-width: 1080px) {
  .InterviewJobHeaderTopicpath {
    height: 6rem;
    font-size: 1.1rem;
  }
}

.InterviewJobHeader {
  display: grid;
}
@media (min-width: 1080.01px) {
  .InterviewJobHeader {
    margin-left: calc((100% - 120rem) / 2);
    display: grid;
    max-width: 131.2rem;
    grid-template-columns: 56rem auto;
    margin-bottom: -4.5rem;
  }
}
@media (max-width: 1080px) {
  .InterviewJobHeader {
    margin-inline: auto;
    padding-inline: var(--site-gap);
    max-width: calc(var(--content-width) + var(--site-gap) * 2);
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-bottom: -2.5rem;
  }
}
@media (min-width: 1080.01px) {
  .InterviewJobHeader .InterviewJobHeader__image {
    order: 2;
  }
}
@media (min-width: 1080.01px) {
  .InterviewJobHeader .InterviewJobHeader__image img {
    border-radius: 2.4rem;
    width: 100%;
    height: 49.6rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media (max-width: 1424px) {
  .InterviewJobHeader .InterviewJobHeader__image img {
    border-radius: 2.4rem 0 0 2.4rem;
  }
}
@media (max-width: 1080px) {
  .InterviewJobHeader .InterviewJobHeader__image img {
    border-radius: 1.2rem;
  }
}
.InterviewJobHeader .InterviewJobHeader__content .title {
  margin: 0;
  font-size: 5.1rem;
  line-height: 1.2;
  color: var(--color-brown);
  font-family: var(--font-family-serif);
}
@media (max-width: 1080px) {
  .InterviewJobHeader .InterviewJobHeader__content .title {
    font-size: 3.5rem;
  }
}
.InterviewJobHeader .InterviewJobHeader__content .title b {
  font-size: 150%;
  font-weight: normal;
}
.InterviewJobHeader .InterviewJobHeader__content .description {
  font-size: 4.8rem;
  min-height: 4lh;
  font-weight: 500;
  color: #fff;
  white-space: nowrap;
}
@media (max-width: 1080px) {
  .InterviewJobHeader .InterviewJobHeader__content .description {
    font-size: 2.4rem;
    min-height: 0;
  }
}
.InterviewJobHeader .InterviewJobHeader_profile {
  margin-top: 2rem;
  border-radius: 1rem;
  background-color: #e5ebf3;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
@media (min-width: 1080.01px) {
  .InterviewJobHeader .InterviewJobHeader_profile {
    padding: 3.5rem 2.5rem;
    width: 47rem;
    min-height: 20.4rem;
    gap: 2rem 1.5rem;
  }
}
@media (max-width: 1080px) {
  .InterviewJobHeader .InterviewJobHeader_profile {
    margin-inline: 2rem;
    padding: 1.5rem 2rem;
    width: auto;
    gap: 1rem;
  }
}
.InterviewJobHeader .InterviewJobHeader_profile .department {
  font-size: 2.3rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
}
@media (max-width: 1080px) {
  .InterviewJobHeader .InterviewJobHeader_profile .department {
    font-size: 1.8rem;
  }
}
.InterviewJobHeader .InterviewJobHeader_profile .position {
  font-size: 1.6rem;
  color: var(--color-blue);
}
@media (max-width: 1080px) {
  .InterviewJobHeader .InterviewJobHeader_profile .position {
    font-size: 1.4rem;
  }
}
.InterviewJobHeader .InterviewJobHeader_profile .name {
  width: 100%;
  font-size: 1.6rem;
}
@media (max-width: 1080px) {
  .InterviewJobHeader .InterviewJobHeader_profile .name {
    font-size: 1.2rem;
  }
}

.InterviewJobQa {
  padding: 6rem 10rem 10rem 12rem;
  background-color: #e5ebf3;
  border-radius: 1.5rem;
}
@media (max-width: 1080px) {
  .InterviewJobQa {
    padding: 3rem 2rem 5rem;
    border-radius: 1rem;
  }
}
.InterviewJobQa .InterviewJobQa__q {
  font-size: 2.3rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
  position: relative;
}
@media (min-width: 1080.01px) {
  .InterviewJobQa .InterviewJobQa__q.InterviewJobQa__q--pcnowrap {
    white-space: nowrap;
  }
}
@media (max-width: 1080px) {
  .InterviewJobQa .InterviewJobQa__q {
    position: relative;
    padding-left: 2em;
    font-size: 1.8rem;
  }
}
.InterviewJobQa .InterviewJobQa__q::before {
  content: "Q.";
  font-size: 217%;
  position: absolute;
  left: -1.4em;
  top: -0.7em;
}
@media (max-width: 1080px) {
  .InterviewJobQa .InterviewJobQa__q::before {
    font-size: 150%;
    left: 0;
    top: -0.5em;
  }
}
.InterviewJobQa .InterviewJobQa__a {
  margin-top: 4rem;
  font-size: 1.6rem;
  display: grid;
  gap: 1em;
}
@media (max-width: 1080px) {
  .InterviewJobQa .InterviewJobQa__a {
    margin-top: 2rem;
  }
}

.InterviewJobLast .InterviewJobLast__q {
  font-size: 2.3rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
  position: relative;
}
.InterviewJobLast .InterviewJobLast__q::before {
  content: "Q.";
  font-size: 217%;
  margin-right: 0.1em;
}
@media (max-width: 1080px) {
  .InterviewJobLast .InterviewJobLast__q::before {
    font-size: 150%;
  }
}
.InterviewJobLast .InterviewJobLast__a {
  margin-top: 3rem;
  font-size: 1.6rem;
  display: grid;
  gap: 1em;
}
@media (max-width: 1080px) {
  .InterviewJobLast .InterviewJobLast__a {
    margin-top: 2rem;
  }
}

.InterviewJobBlock1 {
  margin-top: 9rem;
  overflow: hidden;
}
@media (max-width: 1080px) {
  .InterviewJobBlock1 {
    margin-top: 6rem;
  }
}
.InterviewJobBlock1 .InterviewJobBlock1__container {
  --content-width: max(94rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
}

.InterviewJobBlock2 {
  margin-top: 9rem;
  overflow: hidden;
}
@media (max-width: 1080px) {
  .InterviewJobBlock2 {
    margin-top: 3rem;
  }
}
.InterviewJobBlock2 .InterviewJobBlock2__container {
  display: grid;
}
@media (min-width: 1080.01px) {
  .InterviewJobBlock2 .InterviewJobBlock2__container {
    margin-inline: auto calc((100% - 94rem) / 2);
    max-width: 144.4rem;
    grid-template-columns: 1fr 62.2rem;
    gap: 7rem;
  }
}
@media (max-width: 1080px) {
  .InterviewJobBlock2 .InterviewJobBlock2__container {
    margin-inline: auto;
    padding-inline: var(--site-gap);
    max-width: calc(var(--content-width) + var(--site-gap) * 2);
    gap: 3rem;
  }
}
@media (min-width: 1080.01px) {
  .InterviewJobBlock2 .InterviewJobBlock2__image img {
    border-radius: 2.4rem;
    width: 100%;
    height: 49.6rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media (min-width: 1080.01px) and (max-width: 1948px) {
  .InterviewJobBlock2 .InterviewJobBlock2__image img {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
}
@media (max-width: 1080px) {
  .InterviewJobBlock2 .InterviewJobBlock2__image img {
    border-radius: 1rem;
  }
}

.InterviewJobBlock3 {
  margin-top: 9rem;
  overflow: hidden;
}
@media (max-width: 1080px) {
  .InterviewJobBlock3 {
    margin-top: 3rem;
  }
}
.InterviewJobBlock3 .InterviewJobBlock3__container {
  display: grid;
}
@media (min-width: 1080.01px) {
  .InterviewJobBlock3 .InterviewJobBlock3__container {
    margin-inline: calc((100% - 94rem) / 2) auto;
    max-width: 144.4rem;
    grid-template-columns: 62.2rem 1fr;
    gap: 7rem;
  }
}
@media (max-width: 1080px) {
  .InterviewJobBlock3 .InterviewJobBlock3__container {
    margin-inline: auto;
    padding-inline: var(--site-gap);
    max-width: calc(var(--content-width) + var(--site-gap) * 2);
    gap: 3rem;
  }
}
@media (min-width: 1080.01px) {
  .InterviewJobBlock3 .InterviewJobBlock3__image {
    order: 2;
  }
}
@media (min-width: 1080.01px) {
  .InterviewJobBlock3 .InterviewJobBlock3__image img {
    border-radius: 2.4rem;
    width: 100%;
    height: 49.6rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media (min-width: 1080.01px) and (max-width: 1948px) {
  .InterviewJobBlock3 .InterviewJobBlock3__image img {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
}
@media (max-width: 1080px) {
  .InterviewJobBlock3 .InterviewJobBlock3__image img {
    border-radius: 1rem;
  }
}

.InterviewJobBlock4 {
  margin-top: 9rem;
  overflow: hidden;
}
@media (max-width: 1080px) {
  .InterviewJobBlock4 {
    margin-top: 3rem;
  }
}
.InterviewJobBlock4 .InterviewJobBlock4__container {
  --content-width: max(94rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
}
@media (min-width: 1080.01px) {
  .InterviewJobBlock4 .InterviewJobBlock4__image {
    display: flex;
    justify-content: center;
  }
}
@media (max-width: 1080px) {
  .InterviewJobBlock4 .InterviewJobBlock4__image {
    margin-inline: calc(-1 * var(--site-gap));
  }
}
@media (min-width: 1080.01px) {
  .InterviewJobBlock4 .InterviewJobBlock4__image img {
    border-radius: 2.4rem;
    max-width: none;
    width: 120rem;
    height: 39.7rem;
  }
}
@media (max-width: 1080px) {
  .InterviewJobBlock4 .InterviewJobBlock4__image img {
    width: 100%;
    height: 24rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.InterviewJobBlock4 .InterviewJobBlock4__content {
  margin-top: -3rem;
  position: relative;
}

.InterviewJobSchedule {
  margin-top: 15rem;
  background-color: #f9f9f9;
}
@media (max-width: 1080px) {
  .InterviewJobSchedule {
    margin-top: 8rem;
  }
}
.InterviewJobSchedule .InterviewJobSchedule__container {
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  position: relative;
  padding-block: 13rem 10rem;
}
@media (max-width: 1080px) {
  .InterviewJobSchedule .InterviewJobSchedule__container {
    padding-block: 8rem 5rem;
  }
}
.InterviewJobSchedule .InterviewJobSchedule__heading {
  position: absolute;
  top: -3.2rem;
  line-height: 1.2;
}
@media (max-width: 1080px) {
  .InterviewJobSchedule .InterviewJobSchedule__heading {
    top: -2rem;
  }
}
.InterviewJobSchedule .InterviewJobSchedule__heading .english {
  font-size: 5.1rem;
  font-family: var(--font-family-serif);
  color: var(--color-brown);
}
@media (max-width: 1080px) {
  .InterviewJobSchedule .InterviewJobSchedule__heading .english {
    font-size: 3rem;
  }
}
.InterviewJobSchedule .InterviewJobSchedule__heading .title {
  font-size: 2.3rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: #000;
}
@media (max-width: 1080px) {
  .InterviewJobSchedule .InterviewJobSchedule__heading .title {
    font-size: 1.8rem;
  }
}
.InterviewJobSchedule .InterviewJobSchedule__list {
  margin-inline: auto;
  width: 93rem;
}
@media (max-width: 1080px) {
  .InterviewJobSchedule .InterviewJobSchedule__list {
    width: auto;
  }
}
.InterviewJobSchedule .InterviewJobSchedule__list > div {
  position: relative;
  display: grid;
  grid-template-columns: 20rem 1fr;
}
@media (max-width: 1080px) {
  .InterviewJobSchedule .InterviewJobSchedule__list > div {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.InterviewJobSchedule .InterviewJobSchedule__list > div:nth-child(1) {
  padding-bottom: 2rem;
}
.InterviewJobSchedule .InterviewJobSchedule__list > div:nth-child(2) {
  padding-top: 6rem;
}
@media (max-width: 1080px) {
  .InterviewJobSchedule .InterviewJobSchedule__list > div:nth-child(2) {
    padding-top: 3rem;
  }
}
.InterviewJobSchedule .InterviewJobSchedule__list > div:nth-child(2)::before, .InterviewJobSchedule .InterviewJobSchedule__list > div:nth-child(2)::after {
  content: "";
  position: absolute;
  left: 0;
  height: 1px;
  background-color: var(--color-blue);
}
.InterviewJobSchedule .InterviewJobSchedule__list > div:nth-child(2)::before {
  top: 0.375px;
  opacity: 0.25;
  width: 100%;
}
.InterviewJobSchedule .InterviewJobSchedule__list > div:nth-child(2)::after {
  top: 0;
  width: 14rem;
}
@media (max-width: 1080px) {
  .InterviewJobSchedule .InterviewJobSchedule__list > div:nth-child(2)::after {
    width: 8rem;
  }
}
.InterviewJobSchedule .InterviewJobSchedule__list > div > dt {
  font-size: 4.2rem;
  line-height: 1;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
}
@media (max-width: 1080px) {
  .InterviewJobSchedule .InterviewJobSchedule__list > div > dt {
    font-size: 3rem;
  }
}
.InterviewJobSchedule .InterviewJobSchedule__list > div > dd {
  font-size: 1.6rem;
}

.InterviewJobBlock5 {
  margin-top: 9rem;
  overflow: hidden;
}
@media (max-width: 1080px) {
  .InterviewJobBlock5 {
    margin-top: 4rem;
  }
}
@media (min-width: 1080.01px) {
  .InterviewJobBlock5 .InterviewJobBlock5__container {
    margin-inline: calc((100% - 94rem) / 2) auto;
    display: grid;
    max-width: 144.4rem;
    grid-template-columns: 59.4rem 1fr;
    gap: 11.4rem;
  }
}
@media (max-width: 1080px) {
  .InterviewJobBlock5 .InterviewJobBlock5__container {
    margin-inline: auto;
    padding-inline: var(--site-gap);
    max-width: calc(var(--content-width) + var(--site-gap) * 2);
    display: grid;
  }
}
.InterviewJobBlock5 .InterviewJobBlock5__image {
  order: 2;
}
@media (max-width: 1080px) {
  .InterviewJobBlock5 .InterviewJobBlock5__image {
    margin-top: 2rem;
  }
}
@media (min-width: 1080.01px) {
  .InterviewJobBlock5 .InterviewJobBlock5__image img {
    border-radius: 2.4rem;
    width: 100%;
    height: 49.6rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media (min-width: 1080.01px) and (max-width: 1948px) {
  .InterviewJobBlock5 .InterviewJobBlock5__image img {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
}
@media (max-width: 1080px) {
  .InterviewJobBlock5 .InterviewJobBlock5__image img {
    border-radius: 1.2rem;
  }
}
.InterviewJobBlock5 .InterviewJobBlock5__content {
  padding-top: 5rem;
}
@media (max-width: 1080px) {
  .InterviewJobBlock5 .InterviewJobBlock5__content {
    padding-top: 0;
  }
}

.InterviewJobNote {
  --content-width: max(94rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  margin-top: 12rem;
  font-size: 1.6rem;
}
@media (max-width: 1080px) {
  .InterviewJobNote {
    margin-top: 8rem;
  }
}

.InterviewOthers {
  margin-top: 5rem;
  padding-block: 14rem 20rem;
  background-color: var(--bg-color);
}
.InterviewOthers.InterviewOthers--job {
  --bg-color: #809bc3;
  --english-color: var(--color-brown);
  --title-color: #fff;
  --link-bg: #f9f6f0;
  --link-color: var(--color-text);
}
.InterviewOthers.InterviewOthers--career {
  --bg-color: #f9f6f0;
  --english-color: var(--color-brown);
  --title-color: var(--color-brown);
  --link-bg: #809bc3;
  --link-color: var(--color-brown);
}
@media (max-width: 1080px) {
  .InterviewOthers {
    padding-block: 5rem 8rem;
  }
}
.InterviewOthers .InterviewOthers__container {
  --content-width: max(94rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
}
.InterviewOthers .InterviewOthers__heading {
  line-height: 1.4;
  margin-bottom: 4rem;
}
.InterviewOthers .InterviewOthers__heading .InterviewOthers__english {
  font-size: 8.8rem;
  font-family: var(--font-family-serif);
  color: var(--english-color);
}
@media (max-width: 1080px) {
  .InterviewOthers .InterviewOthers__heading .InterviewOthers__english {
    font-size: 4.4rem;
  }
}
.InterviewOthers .InterviewOthers__heading .InterviewOthers__title {
  font-size: 3.5rem;
  font-family: var(--font-family-mincho);
  font-weight: 200;
  color: var(--title-color);
}
@media (max-width: 1080px) {
  .InterviewOthers .InterviewOthers__heading .InterviewOthers__title {
    font-size: 2.2rem;
  }
}
.InterviewOthers .InterviewOthers__link {
  display: grid;
}
@media (min-width: 1080.01px) {
  .InterviewOthers .InterviewOthers__link {
    margin-top: 8rem;
    grid-template-columns: 1fr 1fr;
    gap: 4rem 2.5rem;
  }
}
@media (max-width: 1080px) {
  .InterviewOthers .InterviewOthers__link {
    margin-top: 4rem;
    grid-template-columns: 1fr;
  }
}
.InterviewOthers .InterviewOthers__link a {
  border: 1px solid var(--link-bg);
  line-height: 1.3;
  background-color: var(--link-bg);
  color: var(--link-color);
  border-radius: 2em;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8em;
  padding: 0.8em 1em 0.8em 2em;
  transition: filter 0.3s ease;
}
.InterviewOthers .InterviewOthers__link a:hover {
  filter: brightness(1.1);
}
@media (min-width: 1080.01px) {
  .InterviewOthers .InterviewOthers__link a {
    font-size: 2.3rem;
  }
}
@media (max-width: 1080px) {
  .InterviewOthers .InterviewOthers__link a {
    font-size: 1.6rem;
  }
}
.InterviewOthers .InterviewOthers__link a::after {
  content: "";
  flex-shrink: 0;
  width: 0.84em;
  height: 0.84em;
  background-color: currentcolor;
  -webkit-mask: url("../recruit/images/icon-arrow-right.svg") no-repeat center;
          mask: url("../recruit/images/icon-arrow-right.svg") no-repeat center;
}

.InterviewCareerTimeline {
  --content-width: max(74rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  margin-top: 10rem;
  margin-bottom: 10rem;
}
@media (max-width: 1080px) {
  .InterviewCareerTimeline {
    margin-top: 7rem;
    margin-bottom: 5rem;
  }
}
.InterviewCareerTimeline > hgroup {
  line-height: 1.3;
  margin-bottom: 4rem;
}
.InterviewCareerTimeline > hgroup div {
  font-size: 5.1rem;
  font-family: var(--font-family-serif);
  color: var(--color-brown);
}
@media (max-width: 1080px) {
  .InterviewCareerTimeline > hgroup div {
    font-size: 3.5rem;
  }
}
.InterviewCareerTimeline > hgroup h2 {
  font-size: 1.6rem;
  color: var(--color-brown);
}
.InterviewCareerTimeline .timeline {
  display: grid;
  gap: 4rem;
  padding-left: 2rem;
  position: relative;
}
@media (max-width: 1080px) {
  .InterviewCareerTimeline .timeline {
    gap: 3rem;
  }
}
.InterviewCareerTimeline .timeline::before {
  content: "";
  position: absolute;
  top: 1rem;
  bottom: 0;
  left: -0.5px;
  width: 1px;
  background-color: var(--color-blue);
  opacity: 0.25;
}
.InterviewCareerTimeline .timeline div {
  position: relative;
}
.InterviewCareerTimeline .timeline div::before {
  content: "";
  position: absolute;
  top: 0.9rem;
  left: -2.5rem;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background-color: #809bc3;
}
.InterviewCareerTimeline .timeline h3 {
  font-size: 1.6rem;
  color: var(--color-blue);
}
.InterviewCareerTimeline .timeline h4 {
  font-size: 2.3rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
}
@media (max-width: 1080px) {
  .InterviewCareerTimeline .timeline h4 {
    font-size: 1.8rem;
  }
}
.InterviewCareerTimeline .timeline p {
  font-size: 1.6rem;
}

.InterviewCareerSection {
  padding-block: 10rem;
}
@media (max-width: 1080px) {
  .InterviewCareerSection {
    padding-block: 5rem;
  }
}
.InterviewCareerSection.--beige {
  background-color: var(--color-beige);
}
.InterviewCareerSection .InterviewCareerSection__container {
  --content-width: max(93rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
}
.InterviewCareerSection .InterviewCareerSection__container h2 {
  background-color: var(--color-brown);
  border-radius: 2rem;
  text-align: center;
  padding: 0.6em 1em 0.9em;
  font-size: 2.3rem;
  line-height: 1;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: baseline;
}
@media (max-width: 1080px) {
  .InterviewCareerSection .InterviewCareerSection__container h2 {
    font-size: 1.8rem;
    border-radius: 1.2rem;
  }
}
.InterviewCareerSection .InterviewCareerSection__container h2 b {
  margin-inline: 0.05em;
  font-size: 191.3043478261%;
  translate: 0 4%;
}
.InterviewCareerSection .InterviewCareerSection__container img {
  margin-top: 4rem;
  display: block;
  border-radius: 2rem;
  width: 100%;
  height: auto;
}
@media (max-width: 1080px) {
  .InterviewCareerSection .InterviewCareerSection__container img {
    margin-top: 2rem;
    border-radius: 1.2rem;
  }
}
.InterviewCareerSection .InterviewCareerSection__container h3 {
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
  position: relative;
}
@media (min-width: 1080.01px) {
  .InterviewCareerSection .InterviewCareerSection__container h3 {
    font-size: 2.3rem;
    margin-inline: auto;
    margin-block: 7rem 5rem;
    width: 70rem;
  }
}
@media (max-width: 1080px) {
  .InterviewCareerSection .InterviewCareerSection__container h3 {
    margin-block: 3rem 2rem;
    font-size: 1.8rem;
    padding-left: 2em;
  }
}
.InterviewCareerSection .InterviewCareerSection__container h3::before {
  content: "Q.";
  font-size: 217%;
  position: absolute;
  left: -1.2em;
  top: -0.7em;
}
@media (max-width: 1080px) {
  .InterviewCareerSection .InterviewCareerSection__container h3::before {
    font-size: 150%;
    left: 0;
    top: -0.5em;
  }
}
.InterviewCareerSection .InterviewCareerSection__container p {
  margin-top: 1em;
  font-size: 1.6rem;
}
@media (min-width: 1080.01px) {
  .InterviewCareerSection .InterviewCareerSection__container p {
    margin-inline: auto;
    width: 70rem;
  }
}

.InterviewCareerLast {
  margin-top: 10rem;
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
}
@media (max-width: 1080px) {
  .InterviewCareerLast {
    margin-top: 5rem;
  }
}
.InterviewCareerLast img {
  display: block;
  border-radius: 2rem;
  width: 100%;
  height: auto;
}
@media (max-width: 1080px) {
  .InterviewCareerLast img {
    border-radius: 0;
    margin-inline: calc(-1 * var(--site-gap));
    width: calc(100% + 2 * var(--site-gap));
    max-width: none;
    height: 20rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .InterviewCareerLast img.--sp-fit-right {
    -o-object-position: right;
       object-position: right;
  }
}
.InterviewCareerLast div {
  margin-top: 2rem;
  margin-inline: auto;
  padding: 5rem 12rem 10rem;
  max-width: 94rem;
  border-radius: 1rem;
  background-color: #e5ebf3;
}
@media (max-width: 1080px) {
  .InterviewCareerLast div {
    padding: 3rem 2rem;
  }
}
.InterviewCareerLast div h2 {
  font-size: 2.3rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
  margin-bottom: 4rem;
}
@media (max-width: 1080px) {
  .InterviewCareerLast div h2 {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
}
.InterviewCareerLast div p {
  margin-top: 1em;
  font-size: 1.6rem;
}

.InterviewCareerHeader {
  background-color: #f3eee1;
  display: flow-root;
}
.InterviewCareerHeader .InterviewCareerHeader__topicpath {
  --content-width: max(120rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  height: 11rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  font-size: 1.3rem;
  color: var(--color-brown);
}
@media (max-width: 1080px) {
  .InterviewCareerHeader .InterviewCareerHeader__topicpath {
    height: 6rem;
    font-size: 1rem;
  }
}
.InterviewCareerHeader .InterviewCareerHeader__title {
  --content-width: max(120rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  margin-block: 0;
  font-size: 5.1rem;
  line-height: 1.2;
  color: var(--color-brown);
  font-family: var(--font-family-serif);
}
@media (max-width: 1080px) {
  .InterviewCareerHeader .InterviewCareerHeader__title {
    font-size: 3.5rem;
  }
}
.InterviewCareerHeader .InterviewCareerHeader__title b {
  font-size: 150%;
  font-weight: normal;
}
.InterviewCareerHeader .InterviewCareerHeader__container {
  display: grid;
}
@media (min-width: 1080.01px) {
  .InterviewCareerHeader .InterviewCareerHeader__container {
    margin: 7rem calc((100% - 120rem) / 2) -4.5rem auto;
    max-width: 140rem;
    display: grid;
    grid-template-columns: 1fr 60rem;
    gap: 5rem;
  }
}
@media (max-width: 1080px) {
  .InterviewCareerHeader .InterviewCareerHeader__container {
    margin-inline: auto;
    padding-inline: var(--site-gap);
    max-width: calc(var(--content-width) + var(--site-gap) * 2);
    margin-top: 1rem;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-bottom: -2.5rem;
  }
}
@media (min-width: 1080.01px) {
  .InterviewCareerHeader .InterviewCareerHeader__container .InterviewCareerHeader__image img {
    border-radius: 2.4rem;
    width: 100%;
    height: 49.6rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media (min-width: 1080.01px) and (max-width: 1600px) {
  .InterviewCareerHeader .InterviewCareerHeader__container .InterviewCareerHeader__image img {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
}
@media (max-width: 1080px) {
  .InterviewCareerHeader .InterviewCareerHeader__container .InterviewCareerHeader__image img {
    border-radius: 1.2rem;
  }
}
.InterviewCareerHeader .InterviewCareerHeader__container .InterviewCareerHeader__content .description {
  font-size: 4.8rem;
  min-height: 3lh;
  font-weight: 500;
  color: var(--color-brown);
  white-space: nowrap;
}
@media (max-width: 1080px) {
  .InterviewCareerHeader .InterviewCareerHeader__container .InterviewCareerHeader__content .description {
    margin-top: 1rem;
    font-size: 2.4rem;
    min-height: 0;
  }
}
.InterviewCareerHeader .InterviewCareerHeader__container .InterviewCareerHeader__content .InterviewCareerHeader__profile {
  margin-top: 2rem;
  border-radius: 1rem;
  padding: 3.5rem 2.5rem 5rem;
  width: 45.6rem;
  background-color: #e5ebf3;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2rem 1.5rem;
}
@media (max-width: 1080px) {
  .InterviewCareerHeader .InterviewCareerHeader__container .InterviewCareerHeader__content .InterviewCareerHeader__profile {
    width: auto;
    margin-inline: 2rem;
    padding: 1.5rem 2rem;
    gap: 1rem;
  }
}
.InterviewCareerHeader .InterviewCareerHeader__container .InterviewCareerHeader__content .InterviewCareerHeader__profile .department {
  font-size: 2.3rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
}
@media (max-width: 1080px) {
  .InterviewCareerHeader .InterviewCareerHeader__container .InterviewCareerHeader__content .InterviewCareerHeader__profile .department {
    font-size: 1.8rem;
  }
}
.InterviewCareerHeader .InterviewCareerHeader__container .InterviewCareerHeader__content .InterviewCareerHeader__profile .position {
  font-size: 1.6rem;
  color: var(--color-blue);
}
@media (max-width: 1080px) {
  .InterviewCareerHeader .InterviewCareerHeader__container .InterviewCareerHeader__content .InterviewCareerHeader__profile .position {
    font-size: 1.4rem;
  }
}
.InterviewCareerHeader .InterviewCareerHeader__container .InterviewCareerHeader__content .InterviewCareerHeader__profile .name {
  width: 100%;
  font-size: 1.6rem;
}
@media (max-width: 1080px) {
  .InterviewCareerHeader .InterviewCareerHeader__container .InterviewCareerHeader__content .InterviewCareerHeader__profile .name {
    font-size: 1.2rem;
  }
}

.EducationLead {
  --content-width: max(70.6rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  margin-top: 8rem;
}
@media (max-width: 1080px) {
  .EducationLead {
    margin-top: 4rem;
  }
}
.EducationLead .EducationLead__english {
  font-size: 8.8rem;
  line-height: 1.4;
  font-family: var(--font-family-serif);
  color: var(--color-brown);
  opacity: 0.3;
  text-align: center;
}
@media (max-width: 1080px) {
  .EducationLead .EducationLead__english {
    font-size: 3.9rem;
  }
}
.EducationLead .EducationLead__title {
  font-size: 4.8rem;
  line-height: 1.4;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-brown);
  text-align: center;
}
@media (max-width: 1080px) {
  .EducationLead .EducationLead__title {
    font-size: 2.9rem;
  }
}
.EducationLead .EducationLead__text {
  margin-top: 4rem;
  margin-inline: auto;
  max-width: 70.6rem;
  font-size: 1.6rem;
}
@media (max-width: 1080px) {
  .EducationLead .EducationLead__text {
    margin-top: 3rem;
  }
}

.EducationImage {
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  display: flex;
  justify-content: center;
}
.EducationImage img {
  border-radius: 2.4rem;
}
@media (max-width: 1080px) {
  .EducationImage img {
    border-radius: 1.2rem;
    width: 100%;
    height: 15rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.EducationImage.EducationImage--lead {
  margin-block: 9rem;
}
@media (max-width: 1080px) {
  .EducationImage.EducationImage--lead {
    margin-block: 5rem;
  }
}
.EducationImage.EducationImage--support {
  margin-top: 10rem;
}
@media (max-width: 1080px) {
  .EducationImage.EducationImage--support {
    margin-top: 5rem;
  }
}

.EducationFresh {
  --content-width: max(70rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
}
.EducationFresh h3 {
  font-size: 2.3rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
}
@media (max-width: 1080px) {
  .EducationFresh h3 {
    font-size: 2rem;
  }
}
.EducationFresh p {
  margin-top: 1em;
  font-size: 1.6rem;
}

.EducationHeading {
  --content-width: max(94rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
}
.EducationHeading .EducationHeading__heading {
  padding: 0.8rem 12rem;
  border-radius: 2rem;
  background-color: var(--color-brown);
  font-size: 3.8rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: #fff;
}
@media (max-width: 1080px) {
  .EducationHeading .EducationHeading__heading {
    padding: 0.5rem 2rem;
    font-size: 2.4rem;
    border-radius: 1.2rem;
    text-align: center;
  }
}
.EducationHeading.EducationHeading--system {
  margin-top: 8rem;
}
@media (max-width: 1080px) {
  .EducationHeading.EducationHeading--system {
    margin-top: 5rem;
  }
}
.EducationHeading.EducationHeading--careerup {
  margin-top: 5rem;
}
@media (max-width: 1080px) {
  .EducationHeading.EducationHeading--careerup {
    margin-top: 3rem;
  }
}
.EducationHeading.EducationHeading--qualification {
  margin-top: 13rem;
}
@media (max-width: 1080px) {
  .EducationHeading.EducationHeading--qualification {
    margin-top: 5rem;
  }
}

.EducationSubheading {
  --content-width: max(71.4rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  font-family: var(--font-family-mincho);
  color: var(--color-brown);
  font-weight: bold;
}
.EducationSubheading .EducationSubheading__heading {
  font-size: 2.3rem;
}
@media (max-width: 1080px) {
  .EducationSubheading .EducationSubheading__heading {
    font-size: 2rem;
  }
}
.EducationSubheading .EducationSubheading__text {
  font-size: 1.6rem;
}
.EducationSubheading.EducationSubheading--system {
  margin-top: 3rem;
}
@media (max-width: 1080px) {
  .EducationSubheading.EducationSubheading--system {
    margin-top: 2rem;
  }
}
.EducationSubheading.EducationSubheading--careerup {
  margin-top: 5rem;
}
@media (max-width: 1080px) {
  .EducationSubheading.EducationSubheading--careerup {
    margin-top: 3rem;
  }
}
.EducationSubheading.EducationSubheading--qualification {
  margin-top: 5rem;
}
@media (max-width: 1080px) {
  .EducationSubheading.EducationSubheading--qualification {
    margin-top: 3rem;
  }
}
.EducationSubheading.EducationSubheading--support {
  margin-top: 5rem;
}
@media (max-width: 1080px) {
  .EducationSubheading.EducationSubheading--support {
    margin-top: 3rem;
  }
}

.EducationChart {
  --content-width: max(94rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
}
.EducationChart figcaption {
  font-size: 2.6rem;
  font-weight: bold;
  color: var(--color-blue);
}
@media (max-width: 1080px) {
  .EducationChart figcaption {
    font-size: 1.4rem;
    margin-bottom: 0.5em;
  }
}
.EducationChart img {
  display: block;
  margin-inline: auto;
}
.EducationChart.EducationChart--sakanmodel {
  margin-top: 7rem;
}
@media (max-width: 1080px) {
  .EducationChart.EducationChart--sakanmodel {
    margin-top: 5rem;
  }
}
@media (min-width: 1080.01px) {
  .EducationChart.EducationChart--sakanmodel figcaption {
    margin-bottom: -0.9lh;
  }
}
.EducationChart.EducationChart--sakanmodel2 {
  margin-top: 10rem;
}
@media (max-width: 1080px) {
  .EducationChart.EducationChart--sakanmodel2 {
    margin-top: 5rem;
  }
}
@media (min-width: 1080.01px) {
  .EducationChart.EducationChart--sakanmodel2 figcaption {
    margin-bottom: 4rem;
  }
}
.EducationChart.EducationChart--ginokoumodel {
  margin-top: 10rem;
}
@media (max-width: 1080px) {
  .EducationChart.EducationChart--ginokoumodel {
    margin-top: 5rem;
  }
}
@media (min-width: 1080.01px) {
  .EducationChart.EducationChart--ginokoumodel figcaption {
    margin-bottom: 4rem;
  }
}

.EducationSystem {
  --content-width: max(73rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  margin-top: 3rem;
}
.EducationSystem > dl {
  display: grid;
  gap: 2.5rem;
  background-image: linear-gradient(var(--color-blue));
  background-repeat: no-repeat;
  background-size: 1px 100%;
  background-position: 5.5rem 0;
}
@media (max-width: 1080px) {
  .EducationSystem > dl {
    background-position: 3rem 0;
  }
}
.EducationSystem > dl > div {
  display: grid;
  grid-template-columns: 11rem 1fr;
  gap: 2.5rem;
  align-items: start;
}
@media (max-width: 1080px) {
  .EducationSystem > dl > div {
    grid-template-columns: 6rem 1fr;
    gap: 1.5rem;
  }
}
.EducationSystem > dl > div > dt {
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px solid currentcolor;
  font-size: 3.3rem;
  font-family: var(--font-family-mincho);
  color: var(--color-blue);
  font-weight: 300;
  text-align: center;
  letter-spacing: -0.1em;
  background-color: #fff;
}
@media (max-width: 1080px) {
  .EducationSystem > dl > div > dt {
    font-size: 1.8rem;
  }
}
.EducationSystem > dl > div > dt b {
  font-size: 166.6666666667%;
}
.EducationSystem > dl > div > dd {
  padding: 4rem 0 3rem;
  font-size: 1.6rem;
  display: grid;
  gap: 2rem;
}
@media (max-width: 1080px) {
  .EducationSystem > dl > div > dd {
    padding: 1.5rem 0;
    gap: 1rem;
  }
}
.EducationSystem > dl > div > dd:empty::before {
  content: " ";
  display: block;
  height: 10rem;
}
@media (max-width: 1080px) {
  .EducationSystem > dl > div > dd:empty::before {
    height: 5rem;
  }
}
.EducationSystem > dl > div > dd .bold {
  font-size: 2.3rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
}
@media (max-width: 1080px) {
  .EducationSystem > dl > div > dd .bold {
    font-size: 1.8rem;
  }
}

.EducationBg {
  margin-top: 15rem;
  padding-block: 10rem 14rem;
  background-color: var(--color-beige);
}
@media (max-width: 1080px) {
  .EducationBg {
    margin-top: 7rem;
    padding-block: 5rem 7rem;
  }
}

.EducationSlideGallery {
  margin-block: 16rem 10rem;
}
@media (max-width: 1080px) {
  .EducationSlideGallery {
    margin-block: 8rem 5rem;
  }
}

.EducationSkills {
  --content-width: max(70rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  margin-top: 7rem;
}
@media (max-width: 1080px) {
  .EducationSkills {
    margin-top: 3rem;
  }
}
.EducationSkills > dl {
  display: grid;
  grid-template-columns: 14rem 1fr;
  gap: 5rem 0;
  font-size: 1.6rem;
  line-height: 1.5;
}
@media (max-width: 1080px) {
  .EducationSkills > dl {
    grid-template-columns: 1fr;
    font-size: 1.2rem;
    gap: 1rem 0;
  }
  .EducationSkills > dl:not(:first-child) {
    margin-top: 2rem;
  }
}
.EducationSkills > dl > :where(dt, dd) {
  padding-bottom: 1rem;
}
.EducationSkills > dl > :where(dt, dd):where(dt) {
  grid-row: span 1;
  border-bottom: 2px solid #003888;
}
@media (max-width: 1080px) {
  .EducationSkills > dl > :where(dt, dd):where(dt) {
    border-bottom-width: 1px;
    position: relative;
  }
  .EducationSkills > dl > :where(dt, dd):where(dt)::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 12em;
    border-bottom: 2px solid #003888;
  }
}
@media (max-width: 1080px) and (max-width: 1080px) {
  .EducationSkills > dl > :where(dt, dd):where(dt)::before {
    width: 6em;
  }
}
.EducationSkills > dl > :where(dt, dd):where(dd) {
  grid-row: span 2;
}
.EducationSkills > dl > :where(dt, dd):where(dd) > dl > :where(dt) {
  padding-bottom: 1rem;
  border-bottom: 1px solid #003888;
  padding-left: 2rem;
  font-weight: normal;
}
.EducationSkills > dl > :where(dt, dd):where(dd) > dl > :where(dt):empty::before {
  content: "　";
}
@media (max-width: 1080px) {
  .EducationSkills > dl > :where(dt, dd):where(dd) > dl > :where(dt):empty {
    display: none;
  }
}
@media (max-width: 1080px) {
  .EducationSkills > dl > :where(dt, dd):where(dd) > dl > :where(dt) {
    padding-left: 1em;
  }
}
.EducationSkills > dl > :where(dt, dd):where(dd) > dl > :where(dt):not(:first-child) {
  padding-top: 5rem;
}
@media (max-width: 1080px) {
  .EducationSkills > dl > :where(dt, dd):where(dd) > dl > :where(dt):not(:first-child) {
    padding-top: 2rem;
  }
}
.EducationSkills > dl > :where(dt, dd):where(dd) > dl > :where(dd) {
  padding-left: 2rem;
  display: grid;
  grid-template-columns: 0.9fr 1fr;
  align-items: start;
}
@media (max-width: 1080px) {
  .EducationSkills > dl > :where(dt, dd):where(dd) > dl > :where(dd) {
    padding-left: 1em;
    grid-template-columns: 1fr 1fr;
  }
}
.js-has-pseudo [csstools-has-1a-1x-2s-39-2r-2p-38-2x-33-32-2b-2z-2x-30-30-37-w-1q-w-2s-30-w-1q-w-1m-3b-2w-2t-36-2t-14-2s-38-18-w-2s-2s-15-1m-3b-2w-2t-36-2t-14-2s-2s-15-w-1q-w-2s-30-w-1q-w-1m-3b-2w-2t-36-2t-14-2s-2s-15-1m-2w-2p-37-14-39-30-1m-33-32-30-3d-19-2r-2w-2x-30-2s-15]:not(.does-not-exist):not(does-not-exist):not(does-not-exist):not(does-not-exist) {
  grid-template-columns: 1fr;
}
.EducationSkills > dl > :where(dt, dd):where(dd) > dl > :where(dd):has(ul:only-child) {
  grid-template-columns: 1fr;
}
.EducationSkills > dl > :where(dt, dd):where(dd) > dl > :where(dd) > ul {
  margin-top: 1em;
  display: grid;
  align-items: start;
}
.EducationSkills > dl > :where(dt, dd):where(dd) > dl > :where(dd) > ul > li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.3em;
}
.EducationSkills > dl > :where(dt, dd):where(dd) > dl > :where(dd) > ul > li::before {
  content: "■";
}

.EducationRecruitContact2 {
  margin-top: 10rem;
}
@media (max-width: 1080px) {
  .EducationRecruitContact2 {
    margin-top: 5rem;
  }
}

.BenefitSlideGallery {
  margin-block: 16rem 10rem;
}
@media (max-width: 1080px) {
  .BenefitSlideGallery {
    margin-block: 8rem 5rem;
  }
}

.BenefitRecruitContact2 {
  margin-top: 10rem;
  margin-bottom: 14rem;
}
@media (max-width: 1080px) {
  .BenefitRecruitContact2 {
    margin-top: 5rem;
    margin-bottom: 7rem;
  }
}

.BenefitLead {
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  margin-top: 8rem;
}
@media (max-width: 1080px) {
  .BenefitLead {
    margin-top: 4rem;
  }
}
.BenefitLead .BenefitLead__english {
  font-size: 8.8rem;
  line-height: 1.4;
  font-family: var(--font-family-serif);
  color: var(--color-brown);
  opacity: 0.3;
  text-align: center;
}
@media (max-width: 1080px) {
  .BenefitLead .BenefitLead__english {
    font-size: 3.9rem;
  }
}
.BenefitLead .BenefitLead__title {
  font-size: 4.8rem;
  line-height: 1.4;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-brown);
  text-align: center;
}
@media (max-width: 1080px) {
  .BenefitLead .BenefitLead__title {
    font-size: 2.9rem;
  }
}
.BenefitLead .BenefitLead__text {
  margin-top: 4rem;
  margin-inline: auto;
  max-width: 70.6rem;
  font-size: 1.6rem;
}
@media (max-width: 1080px) {
  .BenefitLead .BenefitLead__text {
    margin-top: 3rem;
  }
}

.BenefitLeadImage {
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  margin-top: 8rem;
}
@media (max-width: 1080px) {
  .BenefitLeadImage {
    margin-top: 4rem;
  }
}
.BenefitLeadImage img {
  border-radius: 2.4rem;
}
@media (max-width: 1080px) {
  .BenefitLeadImage img {
    border-radius: 1.2rem;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    height: 15rem;
  }
}

.BenefitSection {
  margin-top: 7rem;
  display: flow-root;
}
@media (max-width: 1080px) {
  .BenefitSection {
    margin-top: 4rem;
  }
}
.BenefitSection .BenefitSection__container {
  --content-width: max(94rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
}
.BenefitSection .BenefitSection__heading {
  margin-bottom: 3rem;
  padding: 0.8rem 11rem;
  border-radius: 2rem;
  background-color: var(--color-brown);
  font-size: 3.8rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: #fff;
}
@media (max-width: 1080px) {
  .BenefitSection .BenefitSection__heading {
    margin-bottom: 2rem;
    padding: 0.5rem 2rem;
    font-size: 2.4rem;
    border-radius: 1.2rem;
    text-align: center;
  }
}
.BenefitSection .BenefitSection__content {
  margin-inline: auto;
  max-width: 72rem;
}
.BenefitSection .BenefitSection__content h3 {
  font-size: 2.3rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
}
@media (max-width: 1080px) {
  .BenefitSection .BenefitSection__content h3 {
    font-size: 1.9rem;
  }
}
.BenefitSection .BenefitSection__content p {
  margin-top: 0.6em;
  font-size: 1.6rem;
}
.BenefitSection .BenefitSection__image {
  margin-top: 4rem;
  border-radius: 2rem;
  width: 100%;
}
@media (max-width: 1080px) {
  .BenefitSection .BenefitSection__image {
    margin-top: 2rem;
    border-radius: 1.2rem;
  }
}
.BenefitSection.BenefitSection--beige {
  margin-top: 14rem;
  background-color: var(--color-beige);
  padding-bottom: 7rem;
}
@media (max-width: 1080px) {
  .BenefitSection.BenefitSection--beige {
    margin-top: 6rem;
    padding-bottom: 4rem;
  }
}
.BenefitSection.BenefitSection--beige .BenefitSection__heading {
  margin-top: -2rem;
}

.BenefitHouse {
  --content-width: max(72rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
}
.BenefitHouse .BenefitHouse__text1 {
  font-size: 1.6rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-brown);
}
.BenefitHouse .BenefitHouse__text1 small {
  font-size: 1.4rem;
}
.BenefitHouse .BenefitHouse__text2 {
  margin-top: 1.5em;
  font-size: 2.3rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
}
@media (max-width: 1080px) {
  .BenefitHouse .BenefitHouse__text2 {
    font-size: 1.9rem;
  }
}
.BenefitHouse .BenefitHouse__text3 {
  margin-top: 0.6em;
  font-size: 1.6rem;
}

.BenefitHouseHr {
  margin-block: 5rem;
  border-top: 1px solid var(--color-brown);
}
@media (max-width: 1080px) {
  .BenefitHouseHr {
    margin-block: 3rem;
  }
}

.BenefitDormitory {
  --content-width: max(72rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  display: flex;
}
@media (min-width: 1080.01px) {
  .BenefitDormitory {
    padding-bottom: 7rem;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 6rem 0;
  }
}
@media (max-width: 1080px) {
  .BenefitDormitory {
    padding-bottom: 4rem;
    flex-direction: column;
    gap: 2rem;
  }
}
.BenefitDormitory .BenefitDormitory__text h3 {
  font-size: 2.3rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
}
@media (max-width: 1080px) {
  .BenefitDormitory .BenefitDormitory__text h3 {
    font-size: 1.9rem;
  }
}
.BenefitDormitory .BenefitDormitory__text p {
  margin-top: 0.6em;
  font-size: 1.6rem;
}
.BenefitDormitory .BenefitDormitory__mainimage {
  border-radius: 2.6rem;
  width: 47.7rem;
}
@media (max-width: 1080px) {
  .BenefitDormitory .BenefitDormitory__mainimage {
    border-radius: 1.3rem;
  }
}
.BenefitDormitory .BenefitDormitory__subimages {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem 4rem;
}
@media (max-width: 1080px) {
  .BenefitDormitory .BenefitDormitory__subimages {
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem 2rem;
  }
}
.BenefitDormitory .BenefitDormitory__subimages > figure > img {
  border-radius: 2rem;
}
@media (max-width: 1080px) {
  .BenefitDormitory .BenefitDormitory__subimages > figure > img {
    border-radius: 1rem;
  }
}
.BenefitDormitory .BenefitDormitory__subimages > figure > figcaption {
  margin: 1rem 2rem 0;
  font-size: 1.6rem;
}
@media (max-width: 1080px) {
  .BenefitDormitory .BenefitDormitory__subimages > figure > figcaption {
    margin: 0.3rem 1rem 0;
    font-size: 1.4rem;
  }
}

.DescLead {
  --content-width: max(93rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  margin-top: 13rem;
}
@media (max-width: 1080px) {
  .DescLead {
    margin-top: 4rem;
  }
}
.DescLead .DescLead__title {
  font-size: 3.1rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
}
@media (max-width: 1080px) {
  .DescLead .DescLead__title {
    font-size: 1.9rem;
  }
}
.DescLead .DescLead__text {
  margin-top: 0.6em;
  font-size: 1.6rem;
}

.DescList {
  --content-width: max(93rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  --dt-width: 14rem;
  margin-top: 4rem;
}
.DescList.DescList--md {
  --dt-width: 17rem;
}
@media (max-width: 1080px) {
  .DescList {
    margin-top: 2rem;
  }
}
.DescList > dl {
  position: relative;
  font-size: 1.6rem;
}
.DescList > dl small {
  font-size: 1.4rem;
}
.DescList > dl > div {
  position: relative;
  border-top: 1px solid rgba(0, 56, 136, 0.25);
  padding-block: 3rem;
  display: grid;
  grid-template-columns: var(--dt-width) 1fr;
}
@media (max-width: 1080px) {
  .DescList > dl > div {
    padding-block: 2rem;
    grid-template-columns: 1fr;
  }
}
.DescList > dl > div::before {
  content: "";
  position: absolute;
  left: 0;
  top: -1px;
  width: var(--dt-width);
  border-top: 1px solid var(--color-blue);
}
.DescList > dl > div:last-child {
  border-bottom: 1px solid rgba(0, 56, 136, 0.25);
}
.DescList > dl > div:last-child::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: var(--dt-width);
  border-bottom: 1px solid var(--color-blue);
}
.DescList > dl > div > dt {
  font-weight: bold;
}
.DescList > dl > div > dd {
  padding-inline: 5rem;
}
@media (max-width: 1080px) {
  .DescList > dl > div > dd {
    padding-inline: 1em 0;
  }
}
.DescList .DescList__sublist {
  margin-inline: -5rem;
  display: grid;
  grid-template-columns: max-content 1fr;
}
@media (max-width: 1080px) {
  .DescList .DescList__sublist {
    margin-inline: 0;
    grid-template-columns: 1fr;
  }
}
.DescList .DescList__sublist > :where(dt, dd) {
  font-weight: normal;
}
.DescList .DescList__sublist > :where(dt, dd):where(dt) {
  padding-left: 5rem;
}
@media (max-width: 1080px) {
  .DescList .DescList__sublist > :where(dt, dd):where(dt) {
    padding-left: 0;
  }
  .DescList .DescList__sublist > :where(dt, dd):where(dt):not(:first-of-type) {
    border-top: 1px solid rgba(0, 56, 136, 0.25);
    margin-top: 0.5rem;
    padding-top: 0.5rem;
  }
}
.DescList .DescList__sublist > :where(dt, dd):where(dd) {
  padding-left: 1.5rem;
  padding-right: 5rem;
}
@media (max-width: 1080px) {
  .DescList .DescList__sublist > :where(dt, dd):where(dd) {
    padding-left: 1em;
    padding-right: 0;
  }
}
@media (min-width: 1080.01px) {
  .DescList .DescList__sublist > :where(dt, dd):not(:first-of-type) {
    border-top: 1px solid rgba(0, 56, 136, 0.25);
    margin-top: 0.5rem;
    padding-top: 0.5rem;
  }
}

.DescSchedule {
  margin-block: 7rem 14rem;
}
.DescSchedule.DescSchedule--hs {
  margin-block: 12rem 0;
  padding-block: 6rem;
  background-color: #f5f5f5;
}
@media (max-width: 1080px) {
  .DescSchedule {
    margin-block: 4em 10rem;
  }
  .DescSchedule.DescSchedule--hs {
    margin-block: 6rem 0;
    padding-block: 6rem;
  }
}
.DescSchedule .DescSchedule__container {
  --content-width: max(93rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
}
.DescSchedule .DescSchedule__container .DescSchedule__heading {
  margin-bottom: 1rem;
  font-size: 3.1rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
}
.DescSchedule .DescSchedule__container .DescSchedule__heading:not(:first-child) {
  margin-top: 1.3em;
}
@media (max-width: 1080px) {
  .DescSchedule .DescSchedule__container .DescSchedule__heading {
    font-size: 1.9rem;
  }
}
.DescSchedule .DescSchedule__container .DescSchedule__chart {
  width: 100%;
  height: auto;
}

.DescBeige {
  padding-block: 10rem;
  background-color: var(--color-beige);
}
@media (max-width: 1080px) {
  .DescBeige {
    padding-block: 6rem;
  }
}

.DescFaq {
  --content-width: max(93rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
}
.DescFaq .DescFaq__heading {
  font-size: 5rem;
  font-family: var(--font-family-mincho);
  font-weight: 200;
  color: var(--color-blue);
}
@media (max-width: 1080px) {
  .DescFaq .DescFaq__heading {
    font-size: 3rem;
  }
}

.DescFaqItems {
  margin-top: 2.5rem;
}
.DescFaqItems .DescFaqItems__details {
  --qa-size: 5rem;
  --qa-width: 9rem;
  --title-size: 2.3rem;
  --icon-size: 3rem;
  --icon-clip-path: polygon(45% 0, 55% 0, 55% 45%, 100% 45%, 100% 55%, 55% 55%, 55% 100%, 45% 100%, 45% 55%, 0 55%, 0 45%, 45% 45%);
  position: relative;
  border-bottom: 1px solid rgba(0, 56, 136, 0.25);
}
.DescFaqItems .DescFaqItems__details::after {
  content: "";
  border-bottom: 1px solid var(--color-blue);
  width: 5.8rem;
  position: absolute;
  left: 0;
  bottom: -1px;
}
.DescFaqItems .DescFaqItems__details:first-child {
  border-top: 1px solid rgba(0, 56, 136, 0.25);
}
.DescFaqItems .DescFaqItems__details:first-child::before {
  content: "";
  border-top: 1px solid var(--color-blue);
  width: 5.8rem;
  position: absolute;
  left: 0;
  top: -1px;
}
.DescFaqItems .DescFaqItems__details[open] {
  --icon-clip-path: polygon(0 45%, 100% 45%, 100% 55%, 0 55%);
}
@media (max-width: 1080px) {
  .DescFaqItems .DescFaqItems__details {
    --qa-size: 3rem;
    --qa-width: 4rem;
    --title-size: 1.8rem;
    --icon-size: 1.8rem;
  }
}
.DescFaqItems .DescFaqItems__summary {
  position: relative;
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: baseline;
  line-height: 1.3;
  padding-bottom: 2.5rem;
}
@media (max-width: 1080px) {
  .DescFaqItems .DescFaqItems__summary {
    padding-top: 1rem;
    padding-bottom: 2rem;
  }
}
.DescFaqItems .DescFaqItems__summary::-webkit-details-marker {
  display: none;
}
.DescFaqItems .DescFaqItems__summary::before {
  flex-shrink: 0;
  content: "Q.";
  width: var(--qa-width);
  font-size: var(--qa-size);
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
}
.DescFaqItems .DescFaqItems__summary .DescFaqItems__question {
  flex-grow: 1;
  font-size: var(--title-size);
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
}
@media (max-width: 1080px) {
  .DescFaqItems .DescFaqItems__summary .DescFaqItems__question {
    padding-right: calc(var(--icon-size) + 1rem);
  }
}
.DescFaqItems .DescFaqItems__summary::after {
  flex-shrink: 0;
  content: "";
  background-color: var(--color-blue);
  width: var(--icon-size);
  height: var(--icon-size);
  clip-path: var(--icon-clip-path);
}
@media (max-width: 1080px) {
  .DescFaqItems .DescFaqItems__summary::after {
    position: absolute;
    right: 0;
    top: calc(50% - var(--icon-size) / 2);
  }
}
.DescFaqItems .DescFaqItems__answer {
  position: relative;
  margin-top: 1rem;
  padding-left: var(--qa-width);
}
@media (max-width: 1080px) {
  .DescFaqItems .DescFaqItems__answer {
    margin-top: 0;
  }
}
.DescFaqItems .DescFaqItems__answer::before {
  content: "A.";
  font-size: var(--qa-size);
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: #809bc3;
  position: absolute;
  left: 0;
  top: -0.7em;
}
@media (max-width: 1080px) {
  .DescFaqItems .DescFaqItems__answer::before {
    top: -0.5em;
  }
}
.DescFaqItems .DescFaqItems__answer .DescFaqItems__answerTitle {
  font-size: var(--title-size);
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
}
.DescFaqItems .DescFaqItems__answer .DescFaqItems__answerText {
  padding-bottom: 2rem;
  font-size: 1.6rem;
}

.DescRecruitContact {
  margin-top: 10rem;
  border-top: 1px solid var(--color-brown);
  padding-top: 10rem;
}
@media (max-width: 1080px) {
  .DescRecruitContact {
    margin-top: 6rem;
    padding-top: 6rem;
  }
}
.DescRecruitContact .RecruitContact {
  padding-block: 0;
}

.DescTsEntry {
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  margin-top: 7rem;
  display: flex;
  justify-content: center;
}

.DescMdEntry {
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  margin-top: 7rem;
  display: flex;
  justify-content: center;
}

.DescEntryButton {
  border: 1px solid var(--color-blue);
  position: relative;
  width: 17em;
  max-width: 100%;
  height: 3.12em;
  font-size: 2.4rem;
  font-weight: bold;
  background-color: var(--color-blue);
  color: #fff;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.DescEntryButton:hover {
  background-color: #fff;
  color: var(--color-blue);
}
.DescEntryButton.DescEntryButton--external {
  text-indent: -0.5em;
}
.DescEntryButton.DescEntryButton--external::after {
  content: "";
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  background-color: currentcolor;
  -webkit-mask: url("../recruit/images/icon-external2.svg") no-repeat 0 0/100% 100%;
          mask: url("../recruit/images/icon-external2.svg") no-repeat 0 0/100% 100%;
  position: absolute;
  right: 1.5em;
  top: calc(50% - 0.5em);
}
@media (max-width: 1080px) {
  .DescEntryButton {
    font-size: 1.8rem;
  }
}

.ContactContainer {
  --content-width: max(93rem * var(--pc-flag), var(--content-width-sp) * var(--sp-flag));
  margin-inline: auto;
  padding-inline: var(--site-gap);
  max-width: calc(var(--content-width) + var(--site-gap) * 2);
  margin-block: 12rem 15rem;
}
@media (max-width: 1080px) {
  .ContactContainer {
    margin-block: 6rem 8rem;
  }
}

.ContactTel {
  display: flex;
  align-items: start;
  gap: 1rem;
  color: var(--color-blue);
}
.ContactTel::before {
  content: "";
  flex-shrink: 0;
  width: 2.8rem;
  height: 2.8rem;
  background-color: currentcolor;
  -webkit-mask: url("../assets/common/icon-tel.svg") no-repeat center/contain;
          mask: url("../assets/common/icon-tel.svg") no-repeat center/contain;
}
@media (max-width: 1080px) {
  .ContactTel::before {
    width: 2rem;
    height: 2rem;
  }
}
.ContactTel .ContactTel__inner .ContactTel__heading {
  margin-bottom: 0.5em;
  line-height: 1;
  font-size: 2.3rem;
  font-family: var(--font-family-mincho);
  display: flex;
  align-items: center;
  gap: 0.3em;
}
@media (max-width: 1080px) {
  .ContactTel .ContactTel__inner .ContactTel__heading {
    font-size: 1.8rem;
  }
}
.ContactTel .ContactTel__inner .ContactTel__number {
  font-size: 2.7rem;
  font-weight: bold;
}
.ContactTel .ContactTel__inner .ContactTel__number small {
  font-size: 100%;
}
@media (max-width: 1080px) {
  .ContactTel .ContactTel__inner .ContactTel__number {
    font-size: 2.1rem;
  }
  .ContactTel .ContactTel__inner .ContactTel__number small {
    display: block;
    font-size: 75%;
  }
}
.ContactTel .ContactTel__inner .ContactTel__note {
  font-size: 1.6rem;
}
@media (max-width: 1080px) {
  .ContactTel .ContactTel__inner .ContactTel__note {
    font-size: 1.4rem;
  }
}

.ContactDivider {
  margin-block: 4rem;
  border-top: 1px solid #6f6d6d;
  max-width: 100%;
  width: 93rem;
}
@media (max-width: 1080px) {
  .ContactDivider {
    margin-block: 2rem;
  }
}

.ContactHeader .ContactHeader__heading {
  font-size: 3.5rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
  margin-bottom: 0.4em;
}
@media (max-width: 1080px) {
  .ContactHeader .ContactHeader__heading {
    font-size: 2.3rem;
  }
}
.ContactHeader .ContactHeader__text {
  font-size: 1.6rem;
}

.ContactFinish {
  margin-inline: auto;
  width: -moz-fit-content;
  width: fit-content;
}
.ContactFinish .ContactFinish__heading {
  font-size: 3.5rem;
  font-family: var(--font-family-mincho);
  font-weight: bold;
  color: var(--color-blue);
  margin-bottom: 0.4em;
}
@media (max-width: 1080px) {
  .ContactFinish .ContactFinish__heading {
    font-size: 2.2rem;
  }
}
.ContactFinish .ContactFinish__text {
  font-size: 1.5rem;
}
.ContactSteps {
  --gap: 4rem;
  margin-block: 4rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gap);
  font-size: 1.7rem;
}
@media (max-width: 1080px) {
  .ContactSteps {
    --gap: 2rem;
    font-size: 1.2rem;
  }
}
.ContactSteps > li {
  position: relative;
  height: 3em;
  border-radius: 1.5em;
  background-color: #aaa6a4;
  color: white;
  display: grid;
  place-items: center;
}
.ContactSteps > li[aria-current=step] {
  background-color: var(--color-blue);
  font-weight: bold;
}
.ContactSteps > li:not(:last-child)::after {
  --size: 1.2rem;
  content: "";
  position: absolute;
  top: calc(50% - var(--size) / 2);
  right: calc(-1 * (var(--gap) + var(--size)) / 2);
  background-color: var(--color-blue);
  -webkit-mask: var(--link-arrow-url) no-repeat center/contain;
          mask: var(--link-arrow-url) no-repeat center/contain;
  width: var(--size);
  height: var(--size);
}
@media (max-width: 1080px) {
  .ContactSteps > li:not(:last-child)::after {
    --size: 1rem;
  }
}

.FormRequired {
  flex-shrink: 0;
  display: inline-grid;
  place-content: center;
  width: 3.3rem;
  height: 1.6rem;
  color: white;
  line-height: 1;
  font-size: 1.1rem;
  border-radius: 0.3rem;
  white-space: nowrap;
  background-color: #b00000;
}

.FormLayout {
  display: grid;
}
.FormSubheading + .FormLayout {
  margin-top: 3rem;
}
@media (max-width: 1080px) {
  .FormSubheading + .FormLayout {
    margin-top: 2rem;
  }
}
@media (min-width: 1080.01px) {
  .FormLayout {
    margin-block: 6rem;
    grid-template-columns: 1fr 65rem;
    gap: 4rem 2rem;
  }
}
@media (max-width: 1080px) {
  .FormLayout {
    margin-block: 4rem;
    gap: 1rem;
  }
}
.FormLayout .FormLayout__dt {
  position: relative;
}
@media (min-width: 1080.01px) {
  .FormLayout .FormLayout__dt {
    margin-top: 0.9rem;
    padding-left: 4rem;
  }
  .FormLayout .FormLayout__dt.FormLayout__dt--noMarginTop {
    margin-top: 0.2rem;
  }
  .FormLayout .FormLayout__dt .FormRequired {
    position: absolute;
    left: 0;
    top: 0.5rem;
  }
}
@media (max-width: 1080px) {
  .FormLayout .FormLayout__dt {
    display: flex;
    align-items: start;
    gap: 0.5rem;
  }
  .FormLayout .FormLayout__dt:not(:first-child) {
    margin-top: 1.5rem;
  }
  .FormLayout .FormLayout__dt .FormRequired {
    margin-top: 0.5rem;
  }
}
.FormLayout .FormLayout__dt .FormLayout__label {
  font-size: 1.4rem;
  font-weight: bold;
}
.FormLayout .FormLayout__dd {
  display: grid;
  gap: 1rem;
  font-size: 1.6rem;
}

:where(input[type=text], input[type=email], input[type=tel], input[type=number], input[type=date], select, textarea).FormControl {
  display: block;
  padding: 0.3em 0.8em;
  border: 1px solid #d6d3d5;
  font-size: 1.6rem;
  border-radius: 0.5rem;
}
@media (max-width: 1080px) {
  :where(input[type=text], input[type=email], input[type=tel], input[type=number], input[type=date], select, textarea).FormControl {
    padding: 0.3em 0.5em;
  }
}
:where(input[type=text], input[type=email], input[type=tel], input[type=number], input[type=date], select, textarea).FormControl::-moz-placeholder {
  color: #c9caca;
}
:where(input[type=text], input[type=email], input[type=tel], input[type=number], input[type=date], select, textarea).FormControl::placeholder {
  color: #c9caca;
}
:where(input[type=text], input[type=email], input[type=tel], input[type=number], input[type=date], select, textarea).FormControl:where(input[type=text], input[type=email], input[type=tel], input[type=number]) {
  width: 100%;
}
:where(input[type=text], input[type=email], input[type=tel], input[type=number], input[type=date], select, textarea).FormControl:where(input[type=text], input[type=email], input[type=tel], input[type=number], input[type=date], select) {
  height: 4.4rem;
}
:where(input[type=text], input[type=email], input[type=tel], input[type=number], input[type=date], select, textarea).FormControl:where(input[type=date]) {
  width: auto;
}
:where(input[type=text], input[type=email], input[type=tel], input[type=number], input[type=date], select, textarea).FormControl:where(textarea) {
  width: 100%;
  min-height: 7lh;
}
@media (max-width: 1080px) {
  :where(input[type=text], input[type=email], input[type=tel], input[type=number], input[type=date], select, textarea).FormControl:where(textarea) {
    min-height: 6lh;
  }
}
:where(input[type=text], input[type=email], input[type=tel], input[type=number], input[type=date], select, textarea).FormControl.FormControlZipcode {
  max-width: 8.5em;
}

label.FormControl {
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1.6rem;
}
label.FormControl input[type=radio] {
  margin: 0;
  width: 1em;
  height: 1em;
}
label.FormControl input[type=checkbox] {
  margin: 0;
  width: 1.9rem;
  height: 1.9rem;
}

.FormCheckItems {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 1rem 3rem;
}
.FormCheckItems.FormCheckItems--horizontal {
  flex-flow: row wrap;
}
@media (max-width: 1080px) {
  .FormCheckItems {
    gap: 0.5rem;
  }
}

.FormAgreement {
  margin-block: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.FormAgreement.with-border {
  margin-top: 10rem;
  padding-top: 3rem;
  border-top: 1px solid #6f6d6d;
}
@media (max-width: 1080px) {
  .FormAgreement.with-border {
    margin-top: 5rem;
  }
}
.FormAgreement p {
  font-size: 1.6rem;
}
.FormAgreement a {
  display: inline-flex;
  align-items: center;
  text-decoration: underline;
}
.FormAgreement a[target=_blank]::after {
  content: "";
  margin-top: 0.1rem;
  margin-inline: 0.3rem;
  width: 1.4rem;
  height: 1.4rem;
  background-color: currentcolor;
  -webkit-mask: url("../recruit/images/icon-external3.svg") no-repeat 0 0/100% 100%;
          mask: url("../recruit/images/icon-external3.svg") no-repeat 0 0/100% 100%;
}
.FormAgreement label.FormControl {
  align-self: center;
}
.FormAgreement .FormError {
  align-self: center;
  font-size: 1.4rem;
}

.FormButtonWrap {
  margin-block: 4rem;
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: center;
  gap: 2rem;
}
@media (max-width: 1080px) {
  .FormButtonWrap {
    flex-direction: column;
  }
}

.FormButton {
  position: relative;
  color: white;
  border: none;
  padding: 0.9em 1.5em;
  font-size: 1.8rem;
  font-weight: bold;
  background-color: #aaa6a4;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15em;
  max-width: 100%;
  border-radius: 2em;
}
.FormButton::after {
  content: "";
  position: absolute;
  right: 1.2em;
  top: calc(50% - 0.35em);
  width: 0.8em;
  height: 0.8em;
  -webkit-mask: var(--link-arrow-url) no-repeat center/contain;
          mask: var(--link-arrow-url) no-repeat center/contain;
  background-color: currentcolor;
}
.FormButton.FormButton--send {
  background-color: var(--color-blue);
}
.FormButton.FormButton--back::after {
  transform: rotate(180deg);
  left: 1.2em;
  right: unset;
}

.FormError {
  color: red;
}

.FormErrorMessage {
  margin-block: 3rem;
  color: red;
  font-size: 1.6rem;
  display: flex;
  justify-content: center;
}

.FormFinish {
  margin: 5rem auto 0;
  border-top: 1px solid #6f6d6d;
  padding-top: 5rem;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media (max-width: 1080px) {
  .FormFinish {
    margin-top: 3rem;
    padding-top: 3rem;
  }
}
.FormFinish .tel {
  align-self: start;
  font-size: 2rem;
  font-weight: bold;
}

.FormConfirmValue {
  display: block;
  padding: 0.4em 0.8em 0.3em;
  border-bottom: 1px solid #ccc;
  font-size: 1.6rem;
  background-color: #fff;
  color: #333;
}

.FormCheckList {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
}

.FormSubheading {
  display: grid;
}
@media (min-width: 1080.01px) {
  .FormSubheading {
    grid-template-columns: 1fr 65rem;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    align-items: baseline;
  }
}
.FormSubheading .FormSubheading__title {
  font-size: 2.5rem;
  font-weight: bold;
}
.FormSubheading .FormSubheading__note {
  font-size: 1.4rem;
  font-weight: bold;
}
@media (max-width: 1080px) {
  .FormSubheading .FormSubheading__note {
    font-size: 1.2rem;
  }
}

.FormGraduation {
  display: flex;
  align-items: baseline;
  gap: 1rem;
}
.FormGraduation .FormGraduation__year {
  width: 11rem;
}