@charset "UTF-8";/*! kiso.css v1.2.4 | 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%;
  text-size-adjust: 100%;

  /*
  * Prevents layout shift caused by the appearance or disappearance of the scrollbar.
  * Starting with Chrome 145, specifying `scrollbar-gutter: stable` will cause vw to be calculated without considering the scrollbar, which will also prevent horizontal scrolling.
  */
  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(:is(h1, h2, h3, h4, h5, h6):lang(en)) {
  /* 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;
}

@media print {
  :where(pre) {
    /* Prevent text wrapping in print media. */
    text-wrap-mode: unset;
  }
}

/* ======================================================
//  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):lang(ja)) {
  /* Italic style is not common in Japanese, so the `font-style` is reset. */
  font-style: unset;
}

:where(u, s, del, ins) {
  /* Set the underline inset to `auto` and separate only the horizontal lines when underlines are consecutive. */
  text-decoration-inset: auto;
}

: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;
  text-decoration-inset: auto;
  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) {
  /*
  * The default `color` from the UA stylesheet is rarely used as is, so it's reset to allow inheritance.
  * In Firefox on iOS, the user agent stylesheet’s text color is applied even when the text is not a link.
  * @see https://github.com/darkreader/darkreader/issues/9836
  */
  color: unset;
}

:where(a:any-link) {
  /*
  * 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;

  /* Set the underline inset to `auto` and separate only the horizontal lines when underlines are consecutive. */
  text-decoration-inset: auto;
}

/* ======================================================
//  MARK: Embedded content
// ====================================================== */
:where(img, svg, picture, video, audio, canvas, model, iframe, embed, object) {
  /* 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;
}

:where(img, svg, picture, video, canvas, model, iframe, embed, object) {
  /*
  * Automatically adjust block size based on content.
  * Exclude the <audio> element as it disappears when block-size is auto.
  * @see https://github.com/tak-dcxi/kiso.css/issues/5
  */
  block-size: auto;
}

: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:lang(en)) {
  /* 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(: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;
}

::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;
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.breadcrumbs {
  align-items: center;
  background-color: #f8fafc;
  box-sizing: border-box;
  display: flex;
  height: 3rem;
  padding: 0 7%;
  position: relative;
  width: 100%;
}
.breadcrumbs::before {
  background: linear-gradient(90deg, rgb(248, 250, 252) 30%, rgba(248, 250, 252, 0) 100%);
  content: "";
  height: 100%;
  left: calc(7% - 0.1rem);
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  transition: opacity 0.2s ease;
  width: 3.1rem;
  z-index: 1;
}
.breadcrumbs::after {
  background: linear-gradient(90deg, rgba(248, 250, 252, 0) 0%, rgb(248, 250, 252) 70%);
  content: "";
  height: 100%;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  right: 7%;
  top: 0;
  transition: opacity 0.2s ease;
  width: 3rem;
  z-index: 1;
}

.breadcrumbs.breadcrumbs--can-scroll-left::before {
  opacity: 1;
}

.breadcrumbs.breadcrumbs--can-scroll-right::after {
  opacity: 1;
}

.breadcrumbs__item {
  align-items: center;
  color: #0369a1;
  display: inline-flex;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  height: 1.5rem;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.breadcrumbs__item--current {
  color: #1e293b;
  cursor: default;
}

.breadcrumbs__list {
  align-items: center;
  display: flex;
  gap: 0.625rem;
  list-style: none;
  margin: 0;
  -webkit-overflow-scrolling: touch;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  padding: 0;
  scrollbar-width: none;
  touch-action: pan-x;
  white-space: nowrap;
  width: 100%;
}

.breadcrumbs__list.is-dragging {
  cursor: grabbing;
  user-select: none;
}

.breadcrumbs__list::-webkit-scrollbar {
  display: none;
}

.breadcrumbs__list-item {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  gap: 0.625rem;
}

.breadcrumbs__separator {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  height: 1.5rem;
  justify-content: center;
  overflow: hidden;
  width: 1.5rem;
}

.breadcrumbs__separator-icon {
  display: block;
  height: 1.5rem;
  width: 1.5rem;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.site-footer {
  background-color: #fff;
  border-bottom: 1px solid #e2e8f0;
  padding-top: 8rem;
  width: 100%;
}
@media screen and (width <= 68.75rem) {
  .site-footer {
    padding-top: 8rem;
  }
}

@media screen and (width <= 56.1875rem) {
  .site-footer[data-sp-padding-top=disabled] {
    padding-top: 0;
  }
}

.site-footer__bottom {
  align-items: center;
  display: flex;
  gap: 0.5rem;
  padding-bottom: 2.5rem;
  width: 100%;
}
@media screen and (width <= 68.75rem) {
  .site-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 1.5rem;
    padding: 2rem 2.3125rem 2.5rem;
  }
}

.site-footer__brand {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  max-width: 32.1875rem;
  width: 100%;
}
@media screen and (width <= 68.75rem) {
  .site-footer__brand {
    border-bottom: 0.0625rem solid #f1f5f9;
    gap: 1rem;
    max-width: 100%;
    padding-bottom: 2.5rem;
  }
}

.site-footer__contact-block {
  display: flex;
  gap: 1rem;
  width: 100%;
}
@media screen and (width <= 68.75rem) {
  .site-footer__contact-block {
    flex-direction: column;
    gap: 0.5rem;
  }
}

.site-footer__contact-icon {
  display: block;
  flex-shrink: 0;
  object-fit: contain;
}

.site-footer__contact-icon--phone {
  height: 1.5rem;
  width: 1.5rem;
}

.site-footer__contact-icon--mail {
  height: 1.5rem;
  width: 1.5rem;
}

.site-footer__contact-label {
  align-items: center;
  background-color: #e2e8f0;
  border-radius: 2.5rem;
  color: #475569;
  display: flex;
  flex-shrink: 0;
  font-size: 0.875rem;
  font-weight: 700;
  height: 1.625rem;
  justify-content: center;
  line-height: 1.2;
  white-space: nowrap;
  width: 6.375rem;
}
@media screen and (width <= 68.75rem) {
  .site-footer__contact-label {
    font-size: 0.75rem;
    height: 1.5625rem;
    width: 5.75rem;
  }
}

.site-footer__contact-link,
.site-footer__contact-info {
  align-items: center;
  color: #1e293b;
  display: flex;
  font-size: 0.875rem;
  font-weight: 500;
  gap: 0.25rem;
  line-height: 1.3;
  text-decoration: none;
}

.site-footer__contact-links {
  display: flex;
  gap: 1.5rem;
}
@media screen and (width <= 68.75rem) {
  .site-footer__contact-links {
    flex-direction: column;
    gap: 0.25rem;
  }
}

.site-footer__contact-text {
  color: #1e293b;
  display: flex;
  flex-direction: column;
  font-size: 0.875rem;
  font-weight: 500;
  gap: 0.25rem;
  line-height: 1.3;
}

.site-footer__contact-text p {
  margin: 0;
}

.site-footer__contact-note {
  color: #475569;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.015rem;
  line-height: 1.6;
}

.site-footer__contacts {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
}

.site-footer__copyright {
  color: #1e293b;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.2;
  margin: 0;
}

.site-footer__inner {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 5rem 7% 0;
}
@media screen and (width <= 68.75rem) {
  .site-footer__inner {
    gap: 0;
    padding: 0;
  }
}

.site-footer__legal {
  align-items: flex-end;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.75rem;
  text-align: right;
}
@media screen and (width <= 68.75rem) {
  .site-footer__legal {
    align-items: flex-start;
    gap: 1.5rem;
    text-align: left;
    width: 100%;
  }
}

.site-footer__legal-link {
  align-items: center;
  color: #475569;
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 500;
  gap: 0.125rem;
  line-height: 1.2;
  text-decoration: underline;
  white-space: nowrap;
}

.site-footer__legal-link-icon {
  display: block;
  height: 1rem;
  width: 1rem;
}

.site-footer__legal-links {
  display: flex;
  gap: 1.5rem;
}
@media screen and (width <= 68.75rem) {
  .site-footer__legal-links {
    flex-direction: column;
    gap: 1rem;
  }
}

.site-footer__logo {
  display: block;
  height: 100%;
  width: 100%;
}

.site-footer__logo-link {
  display: block;
  height: 3.75rem;
  width: 27.1875rem;
}
@media screen and (width <= 68.75rem) {
  .site-footer__logo-link {
    height: 1.875rem;
    width: 13.5929rem;
  }
}

.site-footer__logo-wrapper {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media screen and (width <= 68.75rem) {
  .site-footer__logo-wrapper {
    gap: 0.75rem;
  }
}

.site-footer__main {
  background-color: #fff;
}

.site-footer__nav {
  display: flex;
  gap: 3rem;
}
@media screen and (width <= 68.75rem) {
  .site-footer__nav {
    gap: 2rem;
    width: 100%;
  }
}

.site-footer__nav-arrow {
  display: block;
  height: 0.75rem;
  width: 0.75rem;
}

.site-footer__nav-column {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media screen and (width <= 68.75rem) {
  .site-footer__nav-column {
    width: calc((100% - 2rem) / 2);
  }
}

.site-footer__nav-heading {
  color: #1e293b;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}
@media screen and (width <= 68.75rem) {
  .site-footer__nav-heading {
    font-size: 0.875rem;
  }
}

.site-footer__nav-item {
  align-items: center;
  color: #1e293b;
  display: flex;
  font-size: 0.875rem;
  font-weight: 500;
  gap: 0.25rem;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}
@media screen and (width <= 68.75rem) {
  .site-footer__nav-item {
    font-size: 0.75rem;
  }
}

.site-footer__nav-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (width <= 68.75rem) {
  .site-footer__nav-list {
    gap: 1rem;
  }
}

.site-footer__nav-section {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.site-footer__school-name {
  color: #1e293b;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
}

.site-footer__school-break {
  display: none;
}
@media screen and (width <= 68.75rem) {
  .site-footer__school-break {
    display: block;
  }
}

.site-footer__social-icon {
  display: block;
  object-fit: contain;
}

.site-footer__social-icon--note {
  height: 1.5rem;
  width: 1.5rem;
}
@media screen and (width <= 68.75rem) {
  .site-footer__social-icon--note {
    height: 1.5rem;
    width: 1.5rem;
  }
}

.site-footer__social-icon--instagram {
  height: 1.5rem;
  width: 1.5rem;
}
@media screen and (width <= 68.75rem) {
  .site-footer__social-icon--instagram {
    height: 1.5rem;
    width: 1.5rem;
  }
}

.site-footer__social-icon--youtube {
  height: 1.5rem;
  width: 1.5rem;
}
@media screen and (width <= 68.75rem) {
  .site-footer__social-icon--youtube {
    height: 1.5rem;
    width: 1.5rem;
  }
}

.site-footer__social-link {
  align-items: center;
  border: 0.0625rem solid #e2e8f0;
  border-radius: 2.5rem;
  display: flex;
  height: 2.5rem;
  justify-content: center;
  width: 2.5rem;
}
@media screen and (width <= 68.75rem) {
  .site-footer__social-link {
    border-radius: 3rem;
    border-width: 0.075rem;
    height: 3rem;
    width: 3rem;
  }
}

.site-footer__socials {
  display: flex;
  gap: 0.5rem;
}
@media screen and (width <= 68.75rem) {
  .site-footer__socials {
    gap: 0.75rem;
  }
}

.site-footer__top {
  display: flex;
  gap: 2.5rem;
  justify-content: space-between;
}
@media screen and (width <= 68.75rem) {
  .site-footer__top {
    align-items: flex-start;
    flex-direction: column;
    gap: 2.5rem;
    justify-content: flex-start;
    padding: 2.5rem 2.3125rem 0;
  }
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
/* stylelint-disable selector-id-pattern, rule-empty-line-before 外部提供ファイルのスタイルのためlintを無効化 */
/* # Reset 'Browser standard style'
---------------------------------------------------------------------------- */
#gHeader,
#gFooter {
  font: 13px/1.231 arial, helvetica, clean, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

.gStyle p,
.gStyle ul,
.gStyle ol,
.gStyle li {
  font-size: 100%;
  font-style: normal;
  font-weight: normal;
  margin: 0;
  padding: 0;
  text-decoration: none;
}

.gStyle img {
  border: 0;
  vertical-align: bottom;
}

.gStyle ol,
.gStyle ul {
  list-style: none;
}

/* # gStyle
---------------------------------------------------------------------------- */
div.gStyle {
  background-color: #fff;
  color: #000;
  line-height: 1.5;
}

div.gStyle div.gStyleIn {
  margin: 0 auto;
  overflow: hidden;
  padding-inline: 3%;
}

#gFooter.gStyle div.gStyleIn {
  display: flex;
  justify-content: space-between;
  padding-inline: 7%;
}

.gStyle a {
  color: #004979;
}

.gStyle a:hover {
  text-decoration: none;
}

div#gHeader {
  border-bottom: solid 1px #e5e5e5;
  border-top: solid 2px #0072ba;
  padding: 3px 10px 4px;
}

div#gHeader p.groupLogo {
  float: right;
  margin: 4px 0 0 10px;
  max-width: 104px;
}

div#gHeader p.groupContact {
  float: right;
  margin: 2px 0 0;
}

div#gFooter {
  padding: 14px 0;
}

div#gFooter p.groupLogo {
  float: left;
  margin: 9px 10px 9px 0;
  max-width: 200px;
}

div#gFooter div#gFooterGroups {
  float: right;
}

div#gFooter div#gFooterGroups p {
  margin: 0 0 7px;
}

div#gFooter div#gFooterGroups ul {
  display: flex;
  flex-wrap: wrap;
  font-size: 12px;
  line-height: 1.5;
}

div#gFooter div#gFooterGroups ul li {
  border-left: solid 1px #ccc;
  display: inline;
  line-height: 1.5;
  margin: 5px 0 5px 9px;
  padding: 0 0 0 9px;
}

div#gFooter div#gFooterGroups ul li.first {
  border: none;
  margin-left: 0;
  padding: 0;
}

div#gFooter div#gFooterGroups ul li a {
  white-space: nowrap;
}

/* # clearfix
---------------------------------------------------------------------------- */
div#gHeader,
div#gFooter {
  zoom: 1;
}

div#gHeader::after,
div#gFooter::after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  line-height: 0;
  visibility: hidden;
}

@media screen and (width <= 68.75rem) {
  #gHeader {
    display: none;
  }
  div.gStyle div.gStyleIn {
    margin: 0;
    padding-inline: 2.3125rem;
    text-align: center;
    width: 100%;
  }
  #gFooterGroups {
    display: none;
    float: none;
  }
  #gFooter.gStyle div.gStyleIn {
    justify-content: center;
  }
  div#gFooter {
    text-align: center;
  }
  div#gFooter p.groupLogo {
    display: inline-block;
    float: none;
    width: 200px;
  }
  div#gFooter p.groupLogo:first-of-type {
    margin-left: 10px;
  }
  div#gFooter p.groupLogo:first-of-type:has(a[href^="https://www.kawaijuku.jp/"]) {
    width: 200px;
  }
  div#gFooter p.groupLogo img {
    height: auto;
    width: 100%;
  }
  #copyrightBlock {
    font-size: 8pt;
    margin-bottom: 10px;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
body.mobile-menu-open {
  overflow: hidden;
}

.header {
  background: #fff;
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 1200;
}

.header-content {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding: 2rem 3% 1.25rem;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .header-content {
    padding: 0.75rem 2%;
  }
}

.header-logo {
  flex-shrink: 0;
  height: 2.5rem;
  image-rendering: -webkit-optimize-contrast;
  width: 18.125rem;
}
@media (width <= 68.75rem) {
  .header-logo {
    margin-right: 0.5rem;
    width: 7.4929rem;
  }
}

.header-logo a {
  display: block;
  height: 100%;
  width: 100%;
}

.header-logo img {
  display: block;
  height: 100%;
  width: 100%;
}

.header-nav {
  align-items: center;
  display: flex;
  gap: 2rem;
}
@media (width <= 68.75rem) {
  .header-nav {
    display: none;
  }
}

.nav-item {
  background: none;
  border: none;
  color: #1e293b;
  cursor: pointer;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.2;
  padding: 0;
  text-align: center;
  text-decoration: none;
}

.nav-item-with-icon {
  align-items: center;
  display: flex;
  gap: 0.25rem;
}

.nav-item-icon {
  display: block;
  flex-shrink: 0;
  position: absolute;
  transition: opacity 0.3s ease;
}

.nav-item-icon-container {
  align-items: center;
  display: flex;
  height: 1.5rem;
  justify-content: center;
  overflow: hidden;
  position: relative;
  width: 1.5rem;
}

.nav-item-icon-minus {
  height: 1.5rem;
  opacity: 0;
  width: 1.5rem;
}

.nav-item-icon-plus {
  height: 1.5rem;
  opacity: 1;
  width: 1.5rem;
}

.nav-item-with-icon.is-open .nav-item-icon-minus {
  opacity: 1;
}

.nav-item-with-icon.is-open .nav-item-icon-plus {
  opacity: 0;
}

.nav-dropdown {
  position: relative;
}

.nav-dropdown > .nav-item-with-icon {
  border-bottom: 1.25rem solid transparent;
  border-top: 2rem solid transparent;
  margin-bottom: -1.25rem;
  margin-top: -2rem;
}

.dropdown-overlay {
  --dropdown-overlay-top: 6rem;
  /* stylelint-disable-next-line property-no-vendor-prefix */
  -webkit-backdrop-filter: blur(0.4375rem);
  backdrop-filter: blur(0.4375rem);
  background: rgba(23, 61, 150, 0.15);
  height: calc(100vh - var(--dropdown-overlay-top));
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: var(--dropdown-overlay-top);
  transition: opacity 0.3s ease, visibility 0s linear 0.3s;
  visibility: hidden;
  width: 100vw;
  z-index: 999;
}

.dropdown-overlay.show {
  opacity: 1;
  pointer-events: none;
  transition: opacity 0.3s ease;
  visibility: visible;
}

.dropdown-menu {
  background: #fff;
  border-radius: 0.75rem;
  box-shadow: 0 0 3.125rem 0 rgba(226, 232, 240, 0.6);
  display: flex;
  flex-direction: column;
  left: 50%;
  min-width: 15.375rem;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  pointer-events: none;
  position: absolute;
  top: 4.25rem;
  transform: translateX(-50%);
  transition: opacity 0.3s ease, visibility 0s linear 0.3s;
  visibility: hidden;
  white-space: normal;
  z-index: 1000;
}

.dropdown-menu.show {
  opacity: 1;
  pointer-events: auto;
  transition: opacity 0.3s ease;
  visibility: visible;
}

.dropdown-item {
  align-items: center;
  color: #1e293b;
  cursor: pointer;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  justify-content: space-between;
  line-height: 1.2;
  text-decoration: none;
  width: 100%;
}

.dropdown-item-top {
  font-size: 1.125rem;
  font-weight: 900;
}

.dropdown-menu-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1.75rem 2rem;
  width: 100%;
}

.dropdown-menu-top {
  border-bottom: 0.0625rem solid #cbd5e1;
  padding: 1.75rem 2rem;
  width: 100%;
}

.dropdown-arrow {
  --dropdown-arrow-icon-height: 0.4463rem;
  --dropdown-arrow-icon-width: 0.6133rem;
  align-items: center;
  background-color: #e0f2fe;
  border: 0.0625rem solid transparent;
  border-radius: 39.0234rem;
  box-sizing: border-box;
  display: flex;
  height: 1.5625rem;
  justify-content: center;
  overflow: hidden;
  transition: background-color 0.3s ease, border-color 0.3s ease;
  width: 2.5rem;
}

.dropdown-arrow-icon {
  display: block;
  flex: 0 0 50%;
  height: var(--dropdown-arrow-icon-height);
  width: var(--dropdown-arrow-icon-width);
}

.dropdown-arrow-slider {
  align-items: center;
  display: flex;
  height: 100%;
  transform: translateX(0);
  transition: transform 0.2s ease;
  width: calc(var(--dropdown-arrow-icon-width) * 2);
}

.dropdown-arrow-viewport {
  height: var(--dropdown-arrow-icon-height);
  overflow: hidden;
  width: var(--dropdown-arrow-icon-width);
}

.header-buttons {
  align-items: center;
  display: flex;
  gap: 0.5rem;
}

.header-mobile-actions {
  align-items: center;
  display: none;
  gap: 0.25rem;
}
@media (width <= 68.75rem) {
  .header-mobile-actions {
    display: flex;
  }
}

.header-desktop-button {
  align-items: center;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 62.5rem 62.5rem;
  border: none;
  border-radius: 2.5rem;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.0625rem;
  font-weight: 700;
  height: 2.75rem;
  justify-content: center;
  line-height: 1.2;
  padding: 0;
  position: relative;
  text-align: center;
  text-decoration: none;
  width: 8.25rem;
}

.header-desktop-button::before {
  background-image: url("/common/image/bg_noise.webp");
  background-position: top left;
  background-repeat: repeat;
  background-size: 3.125rem 3.125rem;
  border-radius: 2.5rem;
  content: "";
  inset: 0;
  opacity: 1;
  pointer-events: none;
  position: absolute;
}

.header-desktop-button-primary {
  background: linear-gradient(107.65deg, #173d96 0.4359%, #019bc4 100%);
}

.header-desktop-button-secondary {
  background: linear-gradient(to right, #1e293b, #475569);
}

.header-mobile-button {
  align-items: center;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 62.5rem 62.5rem;
  border: none;
  border-radius: 2.5rem;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 700;
  height: 2.0625rem;
  justify-content: center;
  line-height: 1.2;
  position: relative;
  text-align: center;
  text-decoration: none;
  width: 5rem;
}

.header-mobile-button::before {
  background-image: url("/common/image/bg_noise.webp");
  background-position: top left;
  background-repeat: repeat;
  background-size: 3.125rem 3.125rem;
  border-radius: 2.5rem;
  content: "";
  inset: 0;
  opacity: 1;
  pointer-events: none;
  position: absolute;
}

.header-mobile-button-primary {
  background: linear-gradient(107.65deg, #173d96 0.4359%, #019bc4 100%);
}

.header-mobile-button-secondary {
  background: linear-gradient(to right, #1e293b, #475569);
}

.mobile-menu-arrow {
  align-items: center;
  background: #fff;
  border-radius: 39.0234rem;
  display: flex;
  height: 1.5625rem;
  justify-content: center;
  width: 2.5rem;
}

.mobile-menu-arrow img {
  display: block;
  height: 0.4463rem;
  width: 0.6133rem;
}

.mobile-menu-cta {
  align-items: center;
  border-radius: 2.5rem;
  color: #fff;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  justify-content: center;
  line-height: 1.2;
  min-height: 3.75rem;
  position: relative;
  text-decoration: none;
  width: 100%;
}

.mobile-menu-cta::before {
  background-image: url("/common/image/bg_noise.webp");
  background-position: top left;
  background-repeat: repeat;
  background-size: 3.125rem 3.125rem;
  border-radius: 2.5rem;
  content: "";
  inset: 0;
  opacity: 1;
  pointer-events: none;
  position: absolute;
}

.mobile-menu-cta-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
}
.mobile-menu-cta-group a {
  min-height: 3.25rem;
}

.mobile-menu-cta-primary {
  background: linear-gradient(107.65deg, #173d96 0.4359%, #019bc4 100%);
}

.mobile-menu-cta-secondary {
  background: linear-gradient(to right, #1e293b, #475569);
}

.mobile-menu-drawer {
  background: #fff;
  border-bottom-left-radius: 1rem;
  border-top-left-radius: 1rem;
  bottom: 0;
  box-shadow: 0 0 3.125rem 0 rgba(226, 232, 240, 0.6), 0 0 3.125rem 0 rgba(226, 232, 240, 0.6);
  display: flex;
  flex-direction: column;
  gap: 2rem;
  overflow-y: auto;
  padding: 4.5rem 1rem 2.5rem;
  position: absolute;
  right: 0;
  top: 0;
  transform: translateX(100%);
  transition: transform 0.3s ease;
  width: min(22rem, 100vw - 1rem);
}
@media (width <= 68.75rem) {
  .header.mobile-menu-open .mobile-menu-drawer {
    transform: translateX(0);
  }
}

.mobile-menu-faq {
  align-items: center;
  border: 0.0625rem solid #e2e8f0;
  border-radius: 62.4375rem;
  color: #1e293b;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  justify-content: center;
  line-height: 1.2;
  min-height: 3rem;
  text-decoration: none;
  width: 100%;
}

.mobile-menu-item {
  align-items: center;
  background: #f1f5f9;
  border-radius: 0.75rem;
  color: #1e293b;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 900;
  justify-content: space-between;
  line-height: 1.2;
  min-height: 4rem;
  padding: 1.25rem 1.25rem 1.25rem 1.5rem;
  text-decoration: none;
  width: 100%;
}

.mobile-menu-item-group {
  display: flex;
  flex-direction: column;
  gap: 0.0625rem;
  width: 100%;
}

.mobile-menu-item-head {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.mobile-menu-line {
  backface-visibility: hidden;
  background-color: #1e293b;
  border-radius: 0.0625rem;
  display: block;
  height: 0.125rem;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transform-origin: center;
  transition: opacity 0.3s ease, transform 0.3s ease;
  width: 1.5rem;
}

.mobile-menu-line:nth-child(1) {
  transform: translate(-50%, calc(-50% - 0.4375rem));
}

.mobile-menu-line:nth-child(3) {
  transform: translate(-50%, calc(-50% + 0.4375rem));
}

.mobile-menu-nav {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
}

.mobile-menu-overlay {
  /* stylelint-disable-next-line property-no-vendor-prefix */
  -webkit-backdrop-filter: blur(0.4375rem);
  backdrop-filter: blur(0.4375rem);
  background: rgba(23, 61, 150, 0.15);
  display: none;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  transition: opacity 0.3s ease;
  z-index: 1100;
}
@media (width <= 68.75rem) {
  .mobile-menu-overlay {
    display: block;
  }
  .header.mobile-menu-open .mobile-menu-overlay {
    opacity: 1;
    pointer-events: auto;
  }
}

.mobile-menu-subitem {
  align-items: center;
  color: #1e293b;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  justify-content: space-between;
  line-height: 1.2;
  text-decoration: none;
  width: 100%;
}

.mobile-menu-subitems {
  background: #f1f5f9;
  border-bottom-left-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding: 1.5rem 1.25rem 1.5rem 1.5rem;
  width: 100%;
}

.mobile-menu-button {
  background: none;
  border: none;
  cursor: pointer;
  height: 2.5rem;
  padding: 0;
  position: relative;
  width: 2.5rem;
  z-index: 1201;
}

.header.mobile-menu-open .mobile-menu-button {
  position: fixed;
  right: 1rem;
  top: 1rem;
}

.header.mobile-menu-open .mobile-menu-line:nth-child(1) {
  transform: translate(-50%, -50%) rotate(45deg);
}

.header.mobile-menu-open .mobile-menu-line:nth-child(2) {
  opacity: 0;
}

.header.mobile-menu-open .mobile-menu-line:nth-child(3) {
  transform: translate(-50%, -50%) rotate(-45deg);
}

@media screen and (hover: hover) and (width >= 56.25rem) {
  .dropdown-arrow-slider {
    flex-direction: row-reverse;
    transform: translateX(-50%);
  }
  .dropdown-item:hover .dropdown-arrow {
    background-color: #fff;
    border-color: #cbd5e1;
  }
  .dropdown-item:hover .dropdown-arrow-slider {
    transform: translateX(0);
  }
}.section-inner {
  margin-left: auto;
  margin-right: auto;
  width: 80%;
}

.section-inner--sp-0 {
  width: 100%;
}

.section-inner--sp-2pct {
  width: 96%;
}

@media screen and (width >= 56.25rem) {
  .section-inner {
    margin-left: auto;
    margin-right: auto;
    max-width: none;
    min-width: 0;
    width: 72%;
  }
  .section-inner--pc-0 {
    width: 100%;
  }
  .section-inner--pc-3pct {
    width: 94%;
  }
  .section-inner--pc-7pct {
    width: 86%;
  }
  .section-inner--pc-20pct {
    width: 60%;
  }
  .section-inner--max-50rem {
    max-width: 50rem;
  }
  .section-inner--min-4375rem {
    min-width: 43.75rem;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.page-h2 {
  color: #1e293b;
  font-size: 2.5rem;
  font-weight: 900;
  letter-spacing: 0.05rem;
  line-height: 1.3;
  margin: 0;
  text-align: center;
}
@media screen and (width <= 56.1875rem) {
  .page-h2 {
    font-size: 1.875rem;
    letter-spacing: 0.0375rem;
  }
}

.page-h2--key {
  color: #173d96;
}

.page-h2--left {
  text-align: left;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.page-body-text {
  color: #1e293b;
  display: flex;
  flex-direction: column;
  font-feature-settings: "palt";
  font-size: 1rem;
  font-weight: 500;
  gap: 0.75rem;
  letter-spacing: 0.04rem;
  line-height: 1.8;
  margin-top: 0;
  text-align: justify;
}

.page-body-text.page-body-text--margin-top-05rem {
  margin-top: 0.5rem;
}

.page-body-text p {
  margin: 0;
  white-space: pre-line;
}

.page-body-text strong {
  font-weight: 900;
}

.page-body-text sup {
  font-size: 0.625em;
  line-height: 1;
  vertical-align: super;
}

.page-body-text a {
  color: #173d96;
  text-decoration: underline;
  text-decoration-style: solid;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .page-body-text a:hover {
    opacity: 0.7;
  }
}

.page-body-text a:visited {
  color: #173d96;
}

h2 + .page-body-text,
h3 + .page-body-text {
  margin-top: 1.5rem;
}

*:not(h2, h3) + .page-body-text {
  margin-top: 1rem;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.base-section {
  background-color: #fff;
  padding-bottom: 8rem;
  padding-top: 8rem;
}
@media screen and (width <= 56.1875rem) {
  .base-section {
    padding-bottom: 4rem;
    padding-top: 4rem;
  }
}

.base-section:nth-of-type(even) {
  background-color: #f8fafc;
}

.base-section.base-section--bg-white {
  background-color: #fff;
}

.base-section.base-section--bg-f8fafc {
  background-color: #f8fafc;
}

.base-section--pc-pt-5rem {
  padding-top: 5rem;
}

.base-section--pc-pt-13rem {
  padding-top: 13rem;
}

.base-section--pc-pb-0 {
  padding-bottom: 0;
}

@media screen and (width <= 56.1875rem) {
  .base-section--sp-pt-5rem {
    padding-top: 5rem;
  }
  .base-section--sp-pt-6rem {
    padding-top: 6rem;
  }
  .base-section--sp-pb-0 {
    padding-bottom: 0;
  }
  .base-section--sp-pb-5rem {
    padding-bottom: 5rem;
  }
  .base-section--sp-pb-8rem {
    padding-bottom: 8rem;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.page-title {
  padding: 0 3%;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .page-title {
    padding: 0 2%;
  }
}

.page-title__container {
  background-color: #e0f2fe;
  border-radius: 1.5rem;
  padding: 5rem 4.25rem 6rem;
  position: relative;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .page-title__container {
    border-radius: 0.75rem;
    padding: 2.5rem 1.875rem;
  }
}

.page-title__heading {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  position: relative;
  width: 100%;
  z-index: 1;
}
@media screen and (width <= 56.1875rem) {
  .page-title__heading {
    gap: 0.25rem;
  }
}

.page-title--with-buttons .page-title__container {
  padding: 5rem 3.625rem 3.5rem;
}
@media screen and (width <= 56.1875rem) {
  .page-title--with-buttons .page-title__container {
    padding: 2.5rem 1.875rem;
  }
}

.page-title__container::before {
  background-image: url("/common/image/bg_gradation.webp");
  background-position: center;
  background-size: cover;
  border-radius: 1.5rem;
  content: "";
  inset: 0;
  opacity: 0.5;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}
@media screen and (width <= 56.1875rem) {
  .page-title__container::before {
    border-radius: 0.75rem;
  }
}

.page-title__container::after {
  background: url("/common/image/bg_noise_black.webp") 0 0/3.125rem 3.125rem repeat;
  border-radius: 1.5rem;
  content: "";
  inset: 0;
  opacity: 0.3;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}
@media screen and (width <= 56.1875rem) {
  .page-title__container::after {
    border-radius: 0.75rem;
  }
}

.page-title--with-buttons .page-title__container::after {
  background: url("/common/image/bg_noise.webp") 0 0/3.125rem 3.125rem repeat;
  opacity: 0.05;
}

.page-title__en {
  align-items: center;
  color: #173d96;
  display: flex;
  font-family: Montserrat, sans-serif;
  font-size: 1.5rem;
  font-weight: 200;
  gap: 0.625rem;
  line-height: 1.2;
  margin: 0;
  position: relative;
  width: fit-content;
  z-index: 1;
}
@media screen and (width <= 56.1875rem) {
  .page-title__en {
    font-size: 1rem;
    gap: 0.5rem;
  }
}

.page-title__category {
  align-items: center;
  border: 0.0625rem solid #173d96;
  border-radius: 0.25rem;
  box-sizing: border-box;
  display: flex;
  height: 1.5625rem;
  justify-content: center;
  padding: 0 0.5rem;
  white-space: nowrap;
}

.page-title__category-text {
  color: #173d96;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1;
  margin: 0;
  text-align: center;
}

.page-title__main {
  background: linear-gradient(to right, #075985 0%, #1e293b 30%);
  background-clip: text;
  color: transparent;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.25rem;
  font-weight: 900;
  line-height: 1.2;
  margin: 0;
  position: relative;
  z-index: 1;
}
@media screen and (width <= 56.1875rem) {
  .page-title__main {
    font-size: 2.125rem;
  }
}

.page-title--with-buttons .page-title__main {
  font-size: 3.125rem;
}
@media screen and (width <= 56.1875rem) {
  .page-title--with-buttons .page-title__main {
    font-size: 2.125rem;
  }
}

.page-title--article .page-title__container {
  padding: 5rem 3.625rem 6rem;
}
@media screen and (width <= 56.1875rem) {
  .page-title--article .page-title__container {
    padding: 2.5rem 1.875rem;
  }
}

.page-title--article .page-title__heading {
  gap: 1rem;
}

.page-title--article .page-title__en {
  font-size: 1.25rem;
}
@media screen and (width <= 56.1875rem) {
  .page-title--article .page-title__en {
    font-size: 1rem;
  }
}

.page-title--article .page-title__main {
  font-size: 2.5rem;
  letter-spacing: 0;
}
@media screen and (width <= 56.1875rem) {
  .page-title--article .page-title__main {
    font-size: 1.5rem;
  }
}

.page-title__button-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 3rem 0 0;
  position: relative;
  width: 100%;
  z-index: 1;
}
@media screen and (width <= 56.1875rem) {
  .page-title__button-list {
    padding-top: 1.5rem;
  }
}

.page-title__button-item {
  margin: 0;
}

.page-title__button {
  align-items: center;
  background-color: #fff;
  border: 0.0625rem solid #cbd5e1;
  border-radius: 2.5rem;
  color: #173d96;
  display: inline-flex;
  gap: 1rem;
  overflow: hidden;
  padding: 0.75rem 0.75rem 0.75rem 1.5rem;
  position: relative;
  text-decoration: none;
  transition: border-color 0.3s ease, opacity 0.3s ease;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .page-title__button:hover {
    background: linear-gradient(102.232deg, #173d96 1.9213%, #019bc4 100%);
    border-color: #fff;
    opacity: 0.9;
  }
  .page-title__button:hover::after {
    opacity: 1;
  }
}
@media screen and (width <= 56.1875rem) {
  .page-title__button {
    gap: 1.25rem;
    padding: 0.5rem 0.5rem 0.5rem 1rem;
  }
}

.page-title__button::after {
  background: url("/common/image/bg_noise.webp") 0 0/3.125rem 3.125rem repeat;
  border-radius: inherit;
  content: "";
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 0.3s ease;
  z-index: 0;
}

.page-title__button-label {
  color: inherit;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.2;
  min-width: 6.25rem;
  position: relative;
  white-space: nowrap;
  z-index: 1;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .page-title__button:hover .page-title__button-label {
    color: #fff;
  }
}
@media screen and (width <= 56.1875rem) {
  .page-title__button-label {
    font-size: 0.625rem;
    min-width: 0;
  }
}

.page-title__button-icon {
  align-items: center;
  background-color: #e0f2fe;
  border-radius: 39.0234rem;
  display: flex;
  flex-shrink: 0;
  height: 1.5625rem;
  justify-content: center;
  overflow: hidden;
  padding: 0.3125rem 0.7813rem;
  position: relative;
  transition: background-color 0.3s ease;
  width: 2.5rem;
  z-index: 1;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .page-title__button:hover .page-title__button-icon {
    background-color: rgba(255, 255, 255, 0.2);
  }
}

.page-title__button-icon-viewport {
  height: 0.6133rem;
  overflow: hidden;
  width: 0.4463rem;
}

.page-title__button-icon-slider {
  align-items: center;
  display: flex;
  height: 1.2266rem;
  transform: translateY(0);
  transition: transform 0.2s ease;
  width: 0.4463rem;
}

.page-title__button-icon-slider--direction-down {
  flex-direction: column-reverse;
  transform: translateY(-50%);
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .page-title__button:hover .page-title__button-icon-slider--direction-down {
    transform: translateY(0);
  }
}

.page-title__button-arrow {
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.about-key-concept-section__content {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  min-width: 0;
}

.about-key-concept-section .about-key-concept-section__description {
  gap: 0;
  margin-top: 0;
  width: 100%;
}

.about-key-concept-section__inner {
  align-items: center;
  border-radius: 1.5rem;
  display: flex;
  gap: 2.5rem;
  margin: 0 auto;
  padding: 5rem 11svw;
  position: relative;
  width: 100%;
}
@media screen and (width <= 86.25rem) {
  .about-key-concept-section__inner {
    align-items: flex-start;
    padding: 4rem 3rem;
  }
}
@media screen and (width <= 56.1875rem) {
  .about-key-concept-section__inner {
    border-radius: 1.5rem;
    flex-direction: column;
    gap: 2.5rem;
    padding: 5rem 8vw;
  }
}

.about-key-concept-section__inner::before {
  background-image: url("/common/image/bg_gradation.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 1.5rem;
  content: "";
  inset: 0;
  opacity: 0.5;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.about-key-concept-section__inner > * {
  position: relative;
  z-index: 1;
}

.about-key-concept-section__label {
  color: #173d96;
  font-family: Montserrat, sans-serif;
  font-size: 5rem;
  font-weight: 200;
  letter-spacing: 0;
  line-height: 1;
  margin: 0 0 2.5rem;
  white-space: nowrap;
}
@media screen and (width <= 86.25rem) {
  .about-key-concept-section__label {
    font-size: 4rem;
  }
}
@media screen and (width <= 56.1875rem) {
  .about-key-concept-section__label {
    font-size: 3rem;
    margin-bottom: 2.5rem;
  }
}

.about-key-concept-section__title {
  color: #173d96;
  display: flex;
  flex-direction: column;
  font-size: 2.75rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.5;
  margin: 0 0 1.5rem;
  white-space: nowrap;
}
@media screen and (width <= 86.25rem) {
  .about-key-concept-section__title {
    font-size: 1.9rem;
  }
}
@media screen and (width <= 56.1875rem) {
  .about-key-concept-section__title {
    font-size: 1.75rem;
    letter-spacing: 0.01em;
    line-height: 1.5;
    margin-bottom: 1.5rem;
    white-space: normal;
  }
}

.about-key-concept-section__title-line {
  display: block;
}

.about-key-concept-section__visual {
  aspect-ratio: 960/880;
  flex: 1 1 0;
  min-width: 0;
  position: relative;
}
@media screen and (width <= 86.25rem) {
  .about-key-concept-section__visual {
    align-self: center;
  }
}
@media screen and (width <= 56.1875rem) {
  .about-key-concept-section__visual {
    aspect-ratio: 960/880;
    display: block;
    margin-inline: auto;
    max-width: 31.25rem;
    width: 100%;
  }
}

.about-key-concept-section__visual-image {
  display: block;
  height: auto;
  width: 100%;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.about-philosophy-section__body {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: 0;
  min-height: 0.0625rem;
  min-width: 0.0625rem;
  padding-top: 0.25rem;
}
@media screen and (width <= 56.1875rem) {
  .about-philosophy-section__body {
    flex: 0 0 auto;
    min-height: 0;
    min-width: 0;
    width: 100%;
  }
}

.about-philosophy-section__body--education {
  padding-top: 0;
}

.about-philosophy-section__body--education .page-body-text {
  margin-top: 0;
}

.about-philosophy-section__body--vision {
  gap: 3rem;
  padding-top: 0.75rem;
}

.about-philosophy-section__catch {
  color: #1e293b;
  font-family: "Noto Serif JP", serif;
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.4;
  margin: 0;
}
@media screen and (width <= 56.1875rem) {
  .about-philosophy-section__catch {
    font-size: 2.125rem;
  }
}

.about-philosophy-section__en-title {
  color: #173d96;
  font-family: Montserrat, sans-serif;
  font-size: 3.5rem;
  font-weight: 200;
  letter-spacing: 0.02em;
  line-height: 1;
  margin: 0;
  white-space: nowrap;
}
@media screen and (width <= 56.1875rem) {
  .about-philosophy-section__en-title {
    font-size: 3rem;
  }
}

.about-philosophy-section__heading {
  display: flex;
  flex: 0 0 22.0625rem;
  flex-direction: column;
  gap: 0.5rem;
  width: 22.0625rem;
}
@media screen and (width <= 56.1875rem) {
  .about-philosophy-section__heading {
    flex: none;
    width: 100%;
  }
}

.about-philosophy-section__ja-title {
  align-items: center;
  color: #173d96;
  display: inline-flex;
  font-size: 1.125rem;
  font-weight: 900;
  gap: 0.25rem;
  letter-spacing: 0.02em;
  line-height: 1.4;
  margin: 0;
}

.about-philosophy-section__ja-title::before {
  background-image: url("/common/image/icon_minus.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  flex-shrink: 0;
  height: 1.5rem;
  width: 1.5rem;
}

.about-philosophy-section__list {
  margin-top: 1rem;
}

.about-philosophy-section__inner {
  display: grid;
  row-gap: 10rem;
}
@media screen and (width <= 56.1875rem) {
  .about-philosophy-section__inner {
    row-gap: 6rem;
  }
}

.about-philosophy-section__row {
  display: flex;
  gap: 4rem;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .about-philosophy-section__row {
    flex-direction: column;
    gap: 2rem;
  }
}

.about-philosophy-section__vision-block {
  width: 100%;
}

.about-philosophy-section__vision-title {
  color: #1e293b;
  font-size: 1.75rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.5;
  margin: 0;
}
@media screen and (width <= 56.1875rem) {
  .about-philosophy-section__vision-title {
    font-size: 1.375rem;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.about-dalton-plan-section__card {
  align-items: start;
  align-self: stretch;
  background-color: #fff;
  border-radius: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  justify-content: center;
  padding: 1.75rem 2rem 2rem;
  position: relative;
}
@media screen and (width <= 56.1875rem) {
  .about-dalton-plan-section__card {
    gap: 0.625rem;
    padding: 1.75rem 2rem 2rem;
  }
}

.about-dalton-plan-section__card-label {
  border-radius: 62.4375rem;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 900;
  left: 50%;
  letter-spacing: 0.02em;
  line-height: 1;
  margin: 0;
  padding: 0.75rem 1.25rem;
  position: absolute;
  text-box: trim-both cap alphabetic;
  top: -1.125rem;
  transform: translateX(-50%);
  white-space: nowrap;
}

.about-dalton-plan-section__card-label--pillars {
  background: linear-gradient(90deg, #173d96 0%, #0ea5e9 100%);
}

.about-dalton-plan-section__card-label--principles {
  background: linear-gradient(90deg, #173d96 0%, #67b9a7 100%);
}

.about-dalton-plan-section__description.page-body-text {
  margin-inline: 0;
  margin-bottom: 3rem;
  margin-top: 0;
}
@media screen and (width <= 56.1875rem) {
  .about-dalton-plan-section__description.page-body-text {
    letter-spacing: 0.02rem;
    margin-inline: 0;
    margin-bottom: 3rem;
    margin-top: 0;
  }
}

.about-dalton-plan-section__diagram {
  align-self: stretch;
  margin: 0;
  max-width: 18.75rem;
  min-width: 0;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .about-dalton-plan-section__diagram {
    align-self: center;
    margin-inline: auto;
    max-width: 31.25rem;
    width: 100%;
  }
}

.about-dalton-plan-section__diagram img {
  display: block;
  height: auto;
  max-width: 100%;
  width: 100%;
}

.about-dalton-plan-section__grid {
  align-items: start;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr) minmax(0, min(18.75rem, (100% - 3rem) / 3)) minmax(0, 1fr);
  margin-inline: auto;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .about-dalton-plan-section__grid {
    grid-template-columns: 1fr;
  }
}

.about-dalton-plan-section__header {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  margin-bottom: 0.5rem;
}
@media screen and (width <= 78.75rem) {
  .about-dalton-plan-section__header .about-dalton-plan-section__sub-title {
    font-size: 1rem;
  }
  .about-dalton-plan-section__header .about-dalton-plan-section__title {
    font-size: 2.3rem;
  }
}
@media screen and (width <= 56.1875rem) {
  .about-dalton-plan-section__header {
    align-items: start;
    flex-direction: column;
    gap: 0.5rem;
  }
}

.about-dalton-plan-section__inner {
  background-color: #e0f2fe;
  border-radius: 1.5rem;
  display: flex;
  flex-direction: column;
  padding: 3.5rem;
  position: relative;
}
@media screen and (width <= 56.1875rem) {
  .about-dalton-plan-section__inner {
    border-radius: 1rem;
    margin-inline: 2%;
    padding: 8% 8vw;
  }
}

.about-dalton-plan-section__inner::before {
  background-image: url("/common/image/bg_gradation.webp");
  background-position: center;
  background-size: cover;
  border-radius: inherit;
  content: "";
  inset: 0;
  opacity: 0.5;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.about-dalton-plan-section__inner::after {
  background: url("/common/image/bg_noise_black.webp") 0 0/3.125rem 3.125rem repeat;
  border-radius: inherit;
  content: "";
  inset: 0;
  opacity: 0.3;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.about-dalton-plan-section__inner > * {
  position: relative;
  z-index: 1;
}

.about-dalton-plan-section__item {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  text-align: justify;
  width: 100%;
}

.about-dalton-plan-section__item-description {
  color: #1e293b;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.65;
  margin: 0;
}

.about-dalton-plan-section__item-title {
  color: #173d96;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9375rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.45;
  margin: 0;
}

.about-dalton-plan-section__item-title--principles {
  color: rgb(0, 128, 151);
}

.about-dalton-plan-section__sub-title {
  color: #173d96;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.4;
  margin: 0;
}
@media screen and (width <= 56.1875rem) {
  .about-dalton-plan-section__sub-title {
    font-size: 1.125rem;
  }
}

.about-dalton-plan-section__title {
  color: #173d96;
  font-family: Montserrat, sans-serif;
  font-size: 3.75rem;
  font-weight: 200;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0;
}
@media screen and (width <= 75rem) {
  .about-dalton-plan-section__title {
    font-size: 3.25rem;
  }
}
@media screen and (width <= 56.1875rem) {
  .about-dalton-plan-section__title {
    font-size: 2.75rem;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.info-table {
  border-collapse: separate;
  border-spacing: 0;
  margin-top: 0;
  table-layout: fixed;
  width: 100%;
}

* + .info-table {
  margin-top: 1rem;
}

.page-h2 + .info-table {
  margin-top: 3rem;
}
@media screen and (width <= 56.1875rem) {
  .page-h2 + .info-table {
    margin-top: 2rem;
  }
}

.page-h3 + .info-table {
  margin-top: 2rem;
}

.info-table th,
.info-table td {
  border-color: #cbd5e1;
  border-style: solid;
  border-width: 0 0 0.0625rem;
  color: #1e293b;
  font-feature-settings: "palt";
  font-size: 1.125rem;
  letter-spacing: 0.0225rem;
  line-height: 1.6;
  padding: 1rem;
  text-align: left;
  vertical-align: top;
}
@media screen and (width <= 56.1875rem) {
  .info-table th,
  .info-table td {
    font-size: 0.75rem;
    letter-spacing: 0.015rem;
    padding: 0.75rem;
  }
}

.info-table tr:first-child th,
.info-table tr:first-child td {
  border-top-width: 0.0625rem;
}

.info-table th {
  background-color: #e2e8f0;
  font-weight: 900;
  width: 7.75rem;
}
@media screen and (width <= 56.1875rem) {
  .info-table th {
    width: 5.4rem;
  }
}

.info-table td {
  font-weight: 500;
}

.info-table__value-line {
  display: block;
}

.info-table__value-line + .info-table__value-line {
  margin-top: 0.25rem;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.about-founding-section {
  overflow: hidden;
  padding: 13rem 2.5rem 15rem;
  position: relative;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .about-founding-section {
    padding: 64vw 10%;
    padding-bottom: 64vw;
    padding-top: 64vw;
  }
}

.about-founding-section__decoration {
  border-radius: 0.5rem;
  display: block;
  height: auto;
  max-width: none;
  position: absolute;
  transform: translateX(-50%);
}
@media screen and (width <= 56.1875rem) {
  .about-founding-section__decoration {
    transform: translateX(0);
  }
}

.about-founding-section__decoration--01 {
  left: calc(50% + 28.75rem);
  top: 3.3125rem;
  width: 23.125rem;
}
@media screen and (width <= 56.1875rem) {
  .about-founding-section__decoration--01 {
    left: -13.3219vw;
    top: 11.2vw;
    width: 41.7962vw;
  }
}

.about-founding-section__decoration--02 {
  left: calc(50% - 34.9063rem);
  top: 12.75rem;
  width: 23.125rem;
}
@media screen and (width <= 56.1875rem) {
  .about-founding-section__decoration--02 {
    bottom: 19.64vw;
    left: 8.2666vw;
    top: auto;
    width: 41.7962vw;
  }
}

.about-founding-section__decoration--03 {
  left: calc(50% + 36.1725rem);
  top: 26.06rem;
  width: 21.875rem;
}
@media screen and (width <= 56.1875rem) {
  .about-founding-section__decoration--03 {
    left: 34.4888vw;
    top: 25.8666vw;
    width: 39.5054vw;
  }
}

.about-founding-section__decoration--04 {
  left: calc(50% - 28.1875rem);
  top: 39.125rem;
  width: 15.625rem;
}
@media screen and (width <= 56.1875rem) {
  .about-founding-section__decoration--04 {
    bottom: 10.1444vw;
    left: 60.4853vw;
    top: auto;
    width: 28.2181vw;
  }
}

.about-founding-section__decoration--05 {
  left: calc(50% + 12.125rem);
  top: 47.8125rem;
  width: 12.5rem;
}
@media screen and (width <= 56.1875rem) {
  .about-founding-section__decoration--05 {
    left: 80.08vw;
    top: 15.4027vw;
    width: 22.5733vw;
  }
}

.about-founding-section__decorations {
  height: 100%;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

.about-founding-section__description {
  color: #1e293b;
  display: flex;
  flex-direction: column;
  font-feature-settings: "palt";
  font-size: 1.125rem;
  font-weight: 500;
  gap: 1.5rem;
  letter-spacing: 0.0225rem;
  line-height: 2.5;
  text-align: center;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .about-founding-section__description {
    font-size: 1rem;
    gap: 0.75rem;
    letter-spacing: 0.02rem;
    line-height: 2;
    position: relative;
    text-align: left;
    z-index: 1;
  }
}

.about-founding-section__description p {
  margin: 0;
  white-space: pre-line;
}
@media screen and (width <= 56.1875rem) {
  .about-founding-section__description p {
    white-space: normal;
  }
}

.about-founding-section__inner {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 3rem;
  margin: 0 auto;
  max-width: 64.875rem;
  position: relative;
  width: 100%;
  z-index: 1;
}
@media screen and (width <= 56.1875rem) {
  .about-founding-section__inner {
    gap: 1.5rem;
    position: static;
    width: 100%;
    z-index: auto;
  }
}

@media screen and (width <= 56.1875rem) {
  .about-founding-section__title.page-h2 {
    letter-spacing: 0.0425rem;
    position: relative;
    z-index: 1;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.principal-message-section__card {
  align-items: start;
  background-color: #fff;
  border: 0.0625rem solid #173d96;
  border-radius: 1rem;
  box-sizing: border-box;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr) 15.625rem;
  margin: 0 auto;
  padding: 2rem;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .principal-message-section__card {
    align-items: stretch;
    gap: 0;
    grid-template-columns: 1fr;
    padding: 1.5rem;
  }
}

.principal-message-section__content {
  display: flex;
  flex-direction: column;
  min-height: 0.0625rem;
  min-width: 0;
}
@media screen and (width <= 56.1875rem) {
  .principal-message-section__content {
    width: 100%;
  }
}

.principal-message-section__image {
  display: block;
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
}

.principal-message-section__image-wrapper {
  aspect-ratio: 480/320;
  background-color: #e2e8f0;
  border-radius: 0.5rem;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.principal-message-section__name {
  color: #1e293b;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.035rem;
  line-height: 1.65;
  margin: 0;
  text-align: justify;
  white-space: pre-line;
  width: 100%;
}

.principal-message-section__profile {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 0.5rem;
  margin: 0;
  width: 15.625rem;
}
@media screen and (width <= 56.1875rem) {
  .principal-message-section__profile {
    margin: 0;
    padding-top: 1.5rem;
    width: 100%;
  }
}

.principal-message-section__text {
  color: #1e293b;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-size: 1rem;
  font-weight: 500;
  gap: 0;
  letter-spacing: 0.04rem;
  line-height: 1.8;
  margin-top: 0;
  text-align: start;
  width: 100%;
}

.principal-message-section__text p {
  white-space: pre-line;
}

.principal-message-section__title + .principal-message-section__text {
  margin-top: 0.5rem;
}

.principal-message-section__title {
  color: #173d96;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: 0.025rem;
  line-height: 1.5;
  margin: 0;
  width: 100%;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.page-body-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

h2 + .page-body-list,
h3 + .page-body-list {
  margin-top: 1.5rem;
}

*:not(h2, h3) + .page-body-list {
  margin-top: 1rem;
}

.page-body-list__item {
  align-items: flex-start;
  color: #1e293b;
  display: flex;
  font-feature-settings: "palt";
  font-size: 1rem;
  font-weight: 500;
  gap: 0.5rem;
  letter-spacing: 0.04rem;
  line-height: 1.8;
  text-align: justify;
}

.page-body-list__item p {
  margin: 0;
}

.page-body-list__icon {
  display: inline-block;
  flex-shrink: 0;
  height: 1rem;
  margin-top: 0.375rem;
  position: relative;
  width: 1rem;
}
.page-body-list__icon::before {
  background-color: #0284c7;
  border-radius: 50%;
  content: "";
  display: block;
  height: 0.4375rem;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 0.4375rem;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.page-note {
  color: #475569;
  display: flex;
  flex-direction: column;
  font-feature-settings: "palt";
  font-size: 0.75rem;
  font-weight: 500;
  gap: 0.25rem;
  letter-spacing: 0.015rem;
  line-height: 1.6;
  margin: 1rem 0 0;
}

.page-note__line {
  margin: 0;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.button {
  align-items: center;
  background-clip: padding-box;
  background-image: url("/common/image/bg_noise.webp");
  background-position: 0 0;
  background-repeat: repeat;
  background-size: 3.125rem 3.125rem;
  border: 0.0625rem solid transparent;
  border-radius: 2.5rem;
  display: inline-flex;
  height: 4.5rem;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  transition: background 0.3s ease, border-color 0.3s ease, opacity 0.3s ease;
  width: fit-content;
}
@media screen and (width <= 56.1875rem) {
  .button {
    height: 3.875rem;
  }
}

/* Primary variant */
.button--primary {
  background-clip: padding-box, padding-box;
  background-image: url("/common/image/bg_noise.webp"), linear-gradient(102.232deg, #173d96 1.9213%, #019bc4 100%);
  background-position: 0 0, 0 0;
  background-repeat: repeat, no-repeat;
  background-size: 3.125rem 3.125rem, 100% 100%;
}
@media screen and (width <= 56.1875rem) {
  .button--primary {
    background-image: url("/common/image/bg_noise.webp"), linear-gradient(102.649deg, #173d96 1.9213%, #019bc4 100%);
  }
}

.button--primary .button__label {
  color: #fff;
}

/* Secondary variant */
.button--secondary {
  background-clip: padding-box, padding-box;
  background-image: url("/common/image/bg_noise.webp"), linear-gradient(#fff, #fff);
  background-position: 0 0, 0 0;
  background-repeat: repeat, no-repeat;
  background-size: 3.125rem 3.125rem, 100% 100%;
  border-color: #cbd5e1;
}

.button--secondary .button__label {
  color: #173d96;
}

.button--primary .button__label,
.button--secondary .button__label {
  flex: 0 1 auto;
  margin-right: 2.5rem;
  text-align: left;
}

/* Link variant */
.button--link {
  background: transparent;
  border: 0;
  border-radius: 0;
  gap: 0.5rem;
  height: auto;
  overflow: visible;
  padding: 0;
  width: fit-content;
}
@media screen and (width <= 56.1875rem) {
  .button--link {
    height: auto;
    padding: 0;
    width: fit-content;
  }
}

.button--link .button__label {
  color: #173d96;
  font-size: 1rem;
}

.button__label {
  flex-shrink: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
  min-width: 6.25rem;
  position: relative;
  text-align: center;
  transition: color 0.3s ease;
  z-index: 3;
}
@media screen and (width <= 56.1875rem) {
  .button__label {
    font-size: 1rem;
  }
}

.button__icon-wrapper {
  align-items: center;
  border-radius: 62.4375rem;
  display: flex;
  flex-shrink: 0;
  height: 2.5rem;
  justify-content: center;
  overflow: hidden;
  padding: 0.5rem 1.25rem;
  position: relative;
  transition: background-color 0.3s ease;
  width: 4rem;
  z-index: 3;
}
@media screen and (width <= 56.1875rem) {
  .button__icon-wrapper {
    height: 1.875rem;
    padding: 0.375rem 0.9375rem;
    width: 3rem;
  }
}

.button--link .button__icon-wrapper {
  border: 0.0625rem solid transparent;
  box-sizing: border-box;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

.button--primary.button--icon-right .button__icon-wrapper,
.button--secondary.button--icon-right .button__icon-wrapper {
  margin-left: auto;
  margin-right: 1rem;
}

.button--primary.button--icon-left .button__icon-wrapper,
.button--secondary.button--icon-left .button__icon-wrapper {
  margin-left: 1.75rem;
  margin-right: 2.5rem;
}

.button--primary.button--icon-right .button__label,
.button--secondary.button--icon-right .button__label {
  margin-left: 1.75rem;
}

.button--primary.button--icon-left .button__label,
.button--secondary.button--icon-left .button__label {
  margin-right: 1rem;
}

.button__icon-wrapper--primary {
  --button-icon-absolute-height: 0.7141rem;
  --button-icon-absolute-width: 0.9812rem;
  background-color: rgba(255, 255, 255, 0.2);
}
@media screen and (width <= 56.1875rem) {
  .button__icon-wrapper--primary {
    --button-icon-absolute-height: 0.5356rem;
    --button-icon-absolute-width: 0.7359rem;
  }
}

.button__icon-wrapper--secondary {
  --button-icon-absolute-height: 0.7141rem;
  --button-icon-absolute-width: 0.9812rem;
  background-color: #e0f2fe;
}
@media screen and (width <= 56.1875rem) {
  .button__icon-wrapper--secondary {
    --button-icon-absolute-height: 0.5356rem;
    --button-icon-absolute-width: 0.7359rem;
  }
}

.button__icon-viewport {
  height: var(--button-icon-absolute-height);
  overflow: hidden;
  width: var(--button-icon-absolute-width);
}
@media screen and (width <= 56.1875rem) {
  .button__icon-viewport {
    overflow: visible;
  }
}

.button__icon-slider {
  align-items: center;
  display: flex;
  height: 100%;
  transform: translateX(0);
  transition: transform 0.2s ease;
  width: calc(var(--button-icon-absolute-width) * 2);
}
@media screen and (width <= 56.1875rem) {
  .button__icon-slider {
    transform: translateX(0);
    transition: none;
  }
}

.button__icon {
  display: block;
  flex: 0 0 50%;
  margin: 0;
}

@media screen and (width <= 56.1875rem) {
  .button__icon--next {
    display: none;
  }
}

.button__icon--primary {
  height: 0.7141rem;
  width: 0.9812rem;
}
@media screen and (width <= 56.1875rem) {
  .button__icon--primary {
    height: 0.5356rem;
    width: 0.7359rem;
  }
}

.button__icon--secondary {
  height: 0.7141rem;
  width: 0.9812rem;
}
@media screen and (width <= 56.1875rem) {
  .button__icon--secondary {
    height: 0.5356rem;
    width: 0.7359rem;
  }
}

.button__icon--direction-left {
  transform: rotate(180deg) scaleY(-1);
}

@media screen and (hover: hover) and (width >= 56.25rem) {
  .button__icon-slider--direction-right {
    flex-direction: row-reverse;
    transform: translateX(-50%);
  }
  .button__icon-slider--direction-left {
    flex-direction: row;
    transform: translateX(0);
  }
  .button:hover {
    opacity: 0.9;
  }
  .button--link:hover {
    opacity: 1;
  }
  .button:hover .button__icon-slider--direction-right {
    transform: translateX(0);
  }
  .button:hover .button__icon-slider--direction-left {
    transform: translateX(-50%);
  }
  .button--primary:hover {
    background-image: url("/common/image/bg_noise.webp"), linear-gradient(#fff, #fff);
  }
  .button--primary:hover {
    border-color: #173d96;
  }
  .button--primary:hover .button__label {
    color: #173d96;
  }
  .button--primary:hover .button__icon-wrapper {
    background-color: #e0f2fe;
  }
  .button--secondary:hover {
    background-image: url("/common/image/bg_noise.webp"), linear-gradient(102.232deg, #173d96 1.9213%, #019bc4 100%);
  }
  .button--secondary:hover {
    border-color: #fff;
  }
  .button--secondary:hover .button__label {
    color: #fff;
  }
  .button--secondary:hover .button__icon-wrapper {
    background-color: rgba(255, 255, 255, 0.2);
  }
  .button--secondary.button--secondary-hover-transparent:hover {
    background-image: url("/common/image/bg_noise.webp"), linear-gradient(transparent, transparent);
  }
  .button--link:hover .button__icon-wrapper {
    background-color: #fff;
    border-color: #cbd5e1;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.page-h3 {
  color: #1e293b;
  font-size: 2.125rem;
  font-weight: 900;
  letter-spacing: 0.0425rem;
  line-height: 1.4;
  margin: 0;
  text-align: left;
}
@media screen and (width <= 56.1875rem) {
  .page-h3 {
    font-size: 1.625rem;
  }
}

.page-h3:not(:first-child) {
  margin-top: 4rem;
}
@media screen and (width <= 56.1875rem) {
  .page-h3:not(:first-child) {
    margin-top: 3rem;
  }
}

.page-h3.page-h3--margin-top-025rem {
  margin-top: 0.25rem;
}
@media screen and (width <= 56.1875rem) {
  .page-h3.page-h3--margin-top-025rem {
    margin-top: 0.25rem;
  }
}

.page-h3--key {
  color: #173d96;
}

.page-h3--center {
  text-align: center;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.application-guideline-section__exam-button-list {
  display: flex;
  gap: 0.75rem;
  margin-top: 2.5rem;
}
@media screen and (width <= 56.1875rem) {
  .application-guideline-section__exam-button-list {
    flex-direction: column;
  }
}

.application-guideline-section__exam-list {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  margin-top: 4rem;
}
@media screen and (width <= 56.1875rem) {
  .application-guideline-section__exam-list {
    gap: 3rem;
    margin-top: 3rem;
  }
}

.application-guideline-section__request {
  border: 0.0625rem solid #173d96;
  border-radius: 0.75rem;
  margin-top: 2.5rem;
  padding: 2rem;
}
@media screen and (width <= 56.1875rem) {
  .application-guideline-section__request {
    padding: 1.5rem;
  }
}

.application-guideline-section__request-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
}
@media screen and (width <= 56.1875rem) {
  .application-guideline-section__request-buttons {
    margin-top: 1rem;
  }
}

.page-h3.application-guideline-section__request-title {
  color: #173d96;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: 0.025rem;
  line-height: 1.5;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.application-event-section__archive.news-archive-block {
  padding-top: 2.5rem;
}
@media screen and (width <= 56.1875rem) {
  .application-event-section__archive.news-archive-block {
    padding-top: 2rem;
  }
}

.application-event-section__archive .news-archive__filters {
  display: none;
}

.application-event-section__archive .news-archive__pagination {
  margin-top: 1.5rem;
}
@media screen and (width <= 56.1875rem) {
  .application-event-section__archive .news-archive__pagination {
    margin-top: 1rem;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.prev-next-button {
  --prev-next-icon-height: 0.7141rem;
  --prev-next-icon-width: 0.9812rem;
  align-items: center;
  background-color: #e0f2fe;
  border: 0.0625rem solid transparent;
  border-radius: 62.4375rem;
  box-sizing: border-box;
  display: flex;
  height: 2.5rem;
  justify-content: center;
  overflow: hidden;
  padding: 0.5rem 1.25rem;
  position: relative;
  text-decoration: none;
  transition: background-color 0.3s ease, border-color 0.3s ease;
  width: 4rem;
}

.prev-next-button::after {
  background: url("/common/image/bg_noise.webp") 0 0/3.125rem 3.125rem repeat;
  border-radius: 62.4375rem;
  content: "";
  inset: 0;
  position: absolute;
  z-index: 2;
}

.prev-next-button--slider {
  --prev-next-icon-height: 0.7141rem;
  --prev-next-icon-width: 0.9812rem;
  cursor: pointer;
}

.prev-next-button--pagination {
  --prev-next-icon-height: 0.6875rem;
  --prev-next-icon-width: 1rem;
  cursor: pointer;
}

.prev-next-button--disabled,
.prev-next-button:disabled {
  pointer-events: none;
}

.prev-next-button--disabled,
.prev-next-button:disabled,
.prev-next-button--disabled .prev-next-button__icon-slider,
.prev-next-button:disabled .prev-next-button__icon-slider {
  transition: none;
}

.prev-next-button--slider:disabled,
.prev-next-button--slider.prev-next-button--disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.prev-next-button--pagination:disabled,
.prev-next-button--pagination.prev-next-button--disabled {
  cursor: default;
  opacity: 0.4;
}

.prev-next-button__icon {
  display: block;
  flex: 0 0 50%;
  height: var(--prev-next-icon-height);
  position: relative;
  width: var(--prev-next-icon-width);
  z-index: 3;
}

.prev-next-button__icon-slider {
  align-items: center;
  display: flex;
  height: 100%;
  transform: translateX(0);
  transition: transform 0.2s ease;
  width: calc(var(--prev-next-icon-width) * 2);
}

.prev-next-button__icon-viewport {
  height: var(--prev-next-icon-height);
  overflow: hidden;
  width: var(--prev-next-icon-width);
  z-index: 3;
}

.prev-next-button--slider.prev-next-button--prev .prev-next-button__icon {
  transform: rotate(180deg) scaleY(-1);
}

.prev-next-button--pagination.prev-next-button--prev .prev-next-button__icon {
  transform: rotate(180deg);
}

@media screen and (hover: hover) and (width >= 56.25rem) {
  .prev-next-button--next:not(.prev-next-button--disabled, :disabled) .prev-next-button__icon-slider {
    flex-direction: row-reverse;
    transform: translateX(-50%);
  }
  .prev-next-button--prev:not(.prev-next-button--disabled, :disabled) .prev-next-button__icon-slider {
    flex-direction: row;
    transform: translateX(0);
  }
  .prev-next-button.u-hover-opacity:not(.prev-next-button--disabled, :disabled):hover {
    opacity: 1;
  }
  .prev-next-button:not(.prev-next-button--disabled, :disabled):hover {
    background-color: #fff;
    border-color: #cbd5e1;
  }
  .prev-next-button--next:not(.prev-next-button--disabled, :disabled):hover .prev-next-button__icon-slider {
    transform: translateX(0);
  }
  .prev-next-button--prev:not(.prev-next-button--disabled, :disabled):hover .prev-next-button__icon-slider {
    transform: translateX(-50%);
  }
}
@media screen and (width <= 56.1875rem) {
  .prev-next-button {
    border-radius: 46.8281rem;
    height: 1.875rem;
    padding: 0.375rem 0.9375rem;
    width: 3rem;
  }
  .prev-next-button::after {
    border-radius: 46.8281rem;
  }
  .prev-next-button--slider {
    --prev-next-icon-height: 0.5355rem;
    --prev-next-icon-width: 0.7359rem;
  }
  .prev-next-button--pagination {
    --prev-next-icon-height: 0.4375rem;
    --prev-next-icon-width: 0.625rem;
  }
  .prev-next-button::after {
    background-size: 46.875rem 46.875rem;
  }
  .prev-next-button__icon-slider {
    transition: none;
  }
  .prev-next-button__icon-viewport {
    overflow: visible;
  }
  .prev-next-button__icon--next {
    display: none;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.pagination {
  align-items: center;
  display: flex;
  gap: 1.5rem;
  justify-content: center;
  width: 100%;
}

.pagination__item {
  align-items: center;
  color: #173d96;
  display: inline-flex;
  font-family: Montserrat, sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  justify-content: center;
  line-height: 1.2;
  min-width: 3rem;
  padding: 0.5rem 1.25rem;
  text-align: center;
  text-decoration: underline;
  text-underline-offset: 0.125rem;
}

.pagination__item--current,
.pagination__item--ellipsis {
  color: #1e293b;
  text-decoration: none;
}

.pagination__item--current {
  font-weight: 700;
}

.pagination__item--ellipsis {
  cursor: default;
}

.pagination__list {
  align-items: center;
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pagination__list-item {
  align-items: center;
  display: flex;
}

.pagination__list--sp {
  display: none;
}

@media screen and (width <= 56.1875rem) {
  .pagination {
    gap: 0.75rem;
  }
  .pagination__item {
    font-size: 1rem;
    min-width: 2.25rem;
    padding: 0.375rem 0.75rem;
  }
  .pagination__list--pc {
    display: none;
  }
  .pagination__list--sp {
    display: flex;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.news-list-item {
  border-bottom: 0.0625rem solid #e2e8f0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 2.5rem 0;
  text-decoration: none;
  width: 100%;
}

.news-list-item__header {
  align-items: center;
  display: flex;
  gap: 1rem;
}

.news-list-item__date {
  color: #475569;
  font-family: Montserrat, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.02rem;
  line-height: 1.2;
  margin: 0;
}

.news-list-item__category {
  align-items: center;
  border: 0.0625rem solid #173d96;
  border-radius: 0.25rem;
  box-sizing: border-box;
  display: inline-flex;
  height: 1.5625rem;
  justify-content: center;
  padding: 0 0.5rem;
}

.news-list-item__category-text {
  color: #173d96;
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1;
  margin: 0;
  text-align: center;
}

.news-list-item__content {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  width: 100%;
}

.news-list-item__title {
  color: #1e293b;
  flex: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6;
  margin: 0;
  white-space: pre-wrap;
}

.news-list-item__icon {
  flex-shrink: 0;
  height: 1.5rem;
  width: 1.5rem;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.news-archive__empty {
  color: #475569;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  margin: 1.5rem 0 0;
  text-align: center;
}

.news-archive__filters {
  margin-bottom: 1.5rem;
}

.news-archive-block {
  padding-top: 3rem;
  width: 100%;
}

.news-archive {
  width: 100%;
}

.news-archive__pagination {
  margin-top: 3rem;
}

@media screen and (width >= 56.25rem) {
  .news-archive__filters {
    margin-bottom: 2.5rem;
  }
  .news-archive-block {
    padding-top: 5rem;
  }
  .news-archive__pagination {
    margin-top: 5rem;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.learning-links-section {
  padding-top: 8rem;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .learning-links-section {
    padding-top: 4rem;
  }
}

.learning-links-section__arrow,
.learning-links-section__arrow.button__icon-wrapper {
  align-items: center;
  background-color: #e0f2fe;
  border-radius: 39.0234rem;
  box-sizing: border-box;
  display: flex;
  flex-shrink: 0;
  height: 1.5625rem;
  justify-content: center;
  overflow: hidden;
  padding: 0.3125rem 0.7813rem;
  position: relative;
  width: 2.5rem;
}

.learning-links-section__arrow::before {
  background-image: url("/common/image/bg_noise.webp");
  background-position: left top;
  background-size: 3.125rem 3.125rem;
  content: "";
  inset: 0;
  opacity: 0.05;
  position: absolute;
}

.learning-links-section__arrow-viewport {
  height: 0.4463rem;
  overflow: hidden;
  width: 0.6133rem;
}

.learning-links-section__arrow-slider {
  align-items: center;
  display: flex;
  height: 100%;
  transform: translateX(0);
  transition: transform 0.2s ease;
  width: 1.2266rem;
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .learning-links-section__arrow-slider {
    flex-direction: row-reverse;
    transform: translateX(-50%);
  }
}
.learning-links-section__arrow-icon {
  display: block;
  flex: 0 0 auto;
  height: 0.4463rem;
  margin: 0;
  object-fit: contain;
  width: 0.6133rem;
}

.learning-links-section__card-link {
  align-items: center;
  border-radius: 0.75rem;
  display: flex;
  gap: 1rem;
  height: 100%;
  min-height: 8rem;
  min-width: 0.0625rem;
  padding: 1.5rem 1rem 1.5rem 1.5rem;
  text-decoration: none;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .learning-links-section__card-link {
    min-height: 7.5rem;
    padding: 1.25rem 0.75rem 1.25rem 1.25rem;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .learning-links-section__item--link .learning-links-section__card-link:hover {
    background-color: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
  }
}
.learning-links-section__en {
  font-family: Montserrat, sans-serif;
  font-size: 1rem;
  font-style: normal;
  font-weight: 200;
  letter-spacing: 0;
  line-height: 1.2;
}
@media screen and (width <= 56.1875rem) {
  .learning-links-section__en {
    font-size: 0.875rem;
  }
}

.learning-links-section__inner {
  width: 100%;
}

.learning-links-section__item {
  flex: 1 0 0;
  min-height: 0.0625rem;
  min-width: 0.0625rem;
}
@media screen and (width <= 56.1875rem) {
  .learning-links-section__item {
    flex: 0 0 auto;
    width: 100%;
  }
}

.learning-links-section__item--current .learning-links-section__card-link {
  background-color: rgba(255, 255, 255, 0.1);
  border: 0.0625rem solid rgba(255, 255, 255, 0.2);
  padding-left: 2rem;
}
@media screen and (width <= 56.1875rem) {
  .learning-links-section__item--current .learning-links-section__card-link {
    padding-left: 1.25rem;
  }
  .learning-links-section__item--current .learning-links-section__card-link .learning-links-section__thumb {
    display: none;
  }
}

.learning-links-section__item--current .learning-links-section__text {
  color: #fff;
}

.learning-links-section__item--link .learning-links-section__card-link {
  background-color: #fff;
  border: 0.0625rem solid transparent;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .learning-links-section__item--link .learning-links-section__card-link {
    column-gap: 0.5rem;
  }
  .learning-links-section__item--link .learning-links-section__thumb {
    margin-right: 0.5rem;
  }
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .learning-links-section__item--link .learning-links-section__card-link:hover .learning-links-section__text {
    color: #fff;
  }
  .learning-links-section__item--link .learning-links-section__card-link:hover .learning-links-section__arrow-slider {
    transform: translateX(0);
  }
}
.learning-links-section__item--link .learning-links-section__text {
  color: #173d96;
}

.learning-links-section__ja {
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.0225rem;
  line-height: 1.5;
}

.learning-links-section__list {
  display: flex;
  gap: 0.75rem;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .learning-links-section__list {
    flex-direction: column;
  }
}

.learning-links-section__nav {
  position: relative;
  width: 100%;
  z-index: 1;
}

.learning-links-section__panel {
  background-image: url("/common/image/bg_noise.webp"), linear-gradient(90deg, #173d96 0%, #0ea5e9 100%);
  background-position: left top, left top;
  background-size: 3.125rem 3.125rem, auto;
  border-radius: 1.5rem;
  overflow: hidden;
  padding: 4rem 11svw;
  position: relative;
}
@media screen and (width <= 56.1875rem) {
  .learning-links-section__panel {
    padding: 3rem 8vw;
  }
}

.learning-links-section__panel::before {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  inset: 0;
  opacity: 0.5;
  position: absolute;
}
@media screen and (width <= 56.1875rem) {
  .learning-links-section__panel::before {
    display: none;
  }
}

.learning-links-section__text {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  min-height: 0.0625rem;
  min-width: 0.0625rem;
}

.learning-links-section__thumb {
  background-color: #e2e8f0;
  border-radius: 0.2667rem;
  flex-shrink: 0;
  height: 5rem;
  overflow: hidden;
  width: 5rem;
}

@media (56.25rem <= width <= 90rem) {
  .learning-links-section__thumb {
    display: none;
  }
}
.learning-links-section__thumb-image {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.learning-links-section__title.page-h2 {
  color: #fff;
  font-size: 2.125rem;
  font-style: normal;
  letter-spacing: 0.0425rem;
  line-height: 1.4;
  margin: 0 0 2rem;
  position: relative;
  z-index: 1;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .learning-links-section__title.page-h2 {
    letter-spacing: 0.125rem;
  }
}
@media screen and (width <= 56.1875rem) {
  .learning-links-section__title.page-h2 {
    font-size: 1.625rem;
    letter-spacing: 0.0325rem;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.career-support-system-section__body {
  width: 100%;
}

.career-support-system-section__image {
  aspect-ratio: 1600/800;
  display: block;
  height: auto;
  width: 100%;
}

.career-support-system-section__visual {
  margin: 2.5rem auto 0;
  max-width: 45rem;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .career-support-system-section__visual {
    max-width: none;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.career-path-selection-section__heading-group {
  width: 100%;
}

.career-path-selection-section__inner {
  display: flex;
  flex-direction: column;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.feature-card-list {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (width <= 56.1875rem) {
  .feature-card-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

.feature-card-list--margin-top-25rem {
  margin-top: 2.5rem;
}

.feature-card-list__item {
  list-style: none;
}

.feature-card-list__card {
  border: 0.0625rem solid #173d96;
  border-radius: 0.75rem;
  height: 100%;
  padding: 1.5rem 2rem 2rem;
}
@media screen and (width <= 56.1875rem) {
  .feature-card-list__card {
    padding: 1.25rem 1.5rem 1.5rem;
  }
}

.feature-card-list__title {
  color: #173d96;
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.5;
  margin: 0;
}

.feature-card-list__description {
  color: #1e293b;
  font-feature-settings: "palt";
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.65;
  margin: 0.5rem 0 0;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.page-h4 {
  color: #1e293b;
  font-size: 1.75rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.5;
  margin: 0;
  text-align: left;
}
@media screen and (width <= 56.1875rem) {
  .page-h4 {
    font-size: 1.375rem;
  }
}

.page-h4--center {
  text-align: center;
}

.page-h4--key {
  color: #173d96;
}

* + .page-h4 {
  margin-top: 3rem;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.curriculum-design-section__assignment-arrow {
  background: linear-gradient(#173d96 0 0) center top/0.125rem 0.0625rem no-repeat, linear-gradient(#173d96 0 0) center 33.3333333333%/0.125rem 0.125rem no-repeat, linear-gradient(#173d96 0 0) center 66.6666666667%/0.125rem 0.125rem no-repeat, linear-gradient(#173d96 0 0) center bottom/0.125rem 0.0625rem no-repeat;
  display: block;
  height: 1.25rem;
  margin: 0 auto;
  width: 0.125rem;
}

.curriculum-design-section__assignment-card {
  align-items: center;
  background-color: #fff;
  border-radius: 0.75rem;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 10rem minmax(0, 1fr);
  padding: 2rem;
}
@media screen and (width <= 56.1875rem) {
  .curriculum-design-section__assignment-card {
    align-items: start;
    gap: 0.5rem;
    grid-template-columns: minmax(0, 1fr);
    padding: 1.5rem 2rem 2rem;
  }
}

.curriculum-design-section__assignment-description {
  color: #1e293b;
  font-feature-settings: "palt";
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.8;
  margin: 0.5rem 0 0;
}

.curriculum-design-section__assignment-flow {
  list-style: none;
  margin: 2rem 0 0;
  padding: 0;
}

.curriculum-design-section__assignment-panel {
  background-color: #e0f2fe;
  border-radius: 1.5rem;
  margin-top: 2.5rem;
  overflow: hidden;
  padding: 3rem;
  position: relative;
}
@media screen and (width <= 56.1875rem) {
  .curriculum-design-section__assignment-panel {
    padding: 3rem 8vw;
  }
}

.curriculum-design-section__assignment-panel::before {
  background: url("/common/image/bg_noise_white.webp") 0 0/3.125rem 3.125rem repeat;
  content: "";
  inset: 0;
  mix-blend-mode: screen;
  pointer-events: none;
  position: absolute;
}

.curriculum-design-section__assignment-panel > * {
  position: relative;
}

.curriculum-design-section__assignment-step {
  list-style: none;
}

.curriculum-design-section__assignment-step-heading {
  color: #1e293b;
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.5;
  margin: 0;
}

.curriculum-design-section__assignment-step-item {
  color: #1e293b;
  font-feature-settings: "palt";
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.65;
  margin: 0;
}

.curriculum-design-section__dalton-plan {
  margin-top: 4rem;
}
@media screen and (width <= 56.1875rem) {
  .curriculum-design-section__dalton-plan {
    margin-top: 3rem;
  }
}

.curriculum-design-section__illustration {
  border-radius: 0.5rem;
  display: block;
  margin: 2.5rem auto 0;
  max-width: 45rem;
  overflow: hidden;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .curriculum-design-section__illustration {
    aspect-ratio: 3/2;
    height: auto;
    margin-top: 1.5rem;
    width: 100%;
  }
}

.curriculum-design-section__illustration img {
  width: 100%;
}

.curriculum-design-section__online-class {
  margin-top: 4rem;
}
@media screen and (width <= 56.1875rem) {
  .curriculum-design-section__online-class {
    margin-top: 3rem;
  }
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
/* 関連するHTML要素は現在未実装ですが、今後の更新で表示予定のためスタイルを残しています。 */
.curriculum-overseas-university-section__chart {
  margin: 2.5rem 0 0;
}
@media screen and (width <= 56.1875rem) {
  .curriculum-overseas-university-section__chart {
    margin-top: 1.5rem;
  }
}

.curriculum-overseas-university-section__chart-image {
  display: block;
  height: auto;
  width: 100%;
}

@media screen and (width <= 56.1875rem) {
  .curriculum-overseas-university-section__chart-image--pc {
    display: none;
  }
}

.curriculum-overseas-university-section__chart-image--sp {
  display: none;
}
@media screen and (width <= 56.1875rem) {
  .curriculum-overseas-university-section__chart-image--sp {
    display: block;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.curriculum-timetable-section .section-tab__contents {
  width: calc(100% + 4rem);
}
@media screen and (width <= 56.1875rem) {
  .curriculum-timetable-section .section-tab__contents {
    width: calc(100% + 8vw);
  }
}

.curriculum-timetable-section__title {
  color: #1e293b;
  font-size: 2.5rem;
  font-weight: 900;
  letter-spacing: 0.125rem;
  line-height: 1.3;
  margin: 0;
}
@media screen and (width <= 56.1875rem) {
  .curriculum-timetable-section__title {
    font-size: 1.875rem;
    margin-left: 10%;
    margin-right: 10%;
  }
}

.curriculum-timetable-section__table-scroll {
  isolation: isolate;
  overflow-x: auto;
  position: relative;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .curriculum-timetable-section__table-scroll::before {
    background-color: #f1f5f9;
    content: "";
    inset: 0 auto 0 -0.0625rem;
    pointer-events: none;
    position: absolute;
    width: 0.125rem;
    z-index: 5;
  }
}

.curriculum-timetable-section__table-scroll[hidden] {
  display: none;
}

.curriculum-timetable-section__table {
  --curriculum-time-column-width: 10rem;
  --curriculum-period-column-width: 3.75rem;
  --curriculum-weekday-column-width: auto;
  border-collapse: separate;
  border-spacing: 0;
  min-width: max-content;
  table-layout: auto;
  width: calc(100% - 4rem);
}
@media screen and (width <= 56.1875rem) {
  .curriculum-timetable-section__table {
    --curriculum-time-column-width: 7.5rem;
    --curriculum-period-column-width: 3.25rem;
    min-width: max-content;
    width: calc(100% - 1.8125rem);
  }
}

.curriculum-timetable-section__col-time {
  width: var(--curriculum-time-column-width);
}

.curriculum-timetable-section__col-period {
  width: var(--curriculum-period-column-width);
}

.curriculum-timetable-section__col-weekday {
  max-width: var(--curriculum-weekday-column-width);
  min-width: var(--curriculum-weekday-column-width);
  width: var(--curriculum-weekday-column-width);
}

.curriculum-timetable-section__table tr {
  min-height: 4rem;
}
@media screen and (width <= 56.1875rem) {
  .curriculum-timetable-section__table tr {
    min-height: 3rem;
  }
}

.curriculum-timetable-section__table td,
.curriculum-timetable-section__table th {
  border-bottom: 0.0625rem solid #cbd5e1;
  box-sizing: border-box;
  color: #1e293b;
  font-feature-settings: "palt";
  font-size: 1.125rem;
  line-height: 1.6;
  min-height: 4rem;
  padding: 1rem;
}
@media screen and (width <= 56.1875rem) {
  .curriculum-timetable-section__table td,
  .curriculum-timetable-section__table th {
    font-size: 0.75rem;
    min-height: 3rem;
    padding: 0.75rem 0.5rem;
  }
}

.curriculum-timetable-section__table th {
  min-height: 4rem;
  position: relative;
  white-space: nowrap;
  width: auto;
}
@media screen and (width <= 56.1875rem) {
  .curriculum-timetable-section__table th {
    min-height: 3rem;
  }
}

.curriculum-timetable-section__table thead th {
  --curriculum-th-side-border-color: #0369a1;
  background-color: #0369a1;
  border-bottom-color: #0369a1;
  border-top: 0.0625rem solid #0369a1;
  color: #fff;
  font-weight: 900;
  text-align: center;
}

.curriculum-timetable-section__table thead th:nth-child(2),
.curriculum-timetable-section__table tbody td:nth-child(2) {
  padding: 0.5rem;
  text-align: center;
  white-space: nowrap;
}
@media screen and (width <= 56.1875rem) {
  .curriculum-timetable-section__table thead th:nth-child(2),
  .curriculum-timetable-section__table tbody td:nth-child(2) {
    padding: 0.5rem;
  }
}

.curriculum-timetable-section__table thead th:first-child,
.curriculum-timetable-section__table tbody th {
  background-clip: border-box;
  box-sizing: border-box;
  left: 0;
  max-width: var(--curriculum-time-column-width);
  min-width: var(--curriculum-time-column-width);
  position: sticky;
  width: var(--curriculum-time-column-width);
  z-index: 2;
}
@media screen and (width <= 56.1875rem) {
  .curriculum-timetable-section__table thead th:first-child,
  .curriculum-timetable-section__table tbody th {
    left: -0.0625rem;
  }
}

.curriculum-timetable-section__table thead th:nth-child(2),
.curriculum-timetable-section__table tbody td:nth-child(2) {
  background-clip: padding-box;
  left: var(--curriculum-time-column-width);
  max-width: var(--curriculum-period-column-width);
  min-width: var(--curriculum-period-column-width);
  position: sticky;
  width: var(--curriculum-period-column-width);
  z-index: 1;
}
@media screen and (width <= 56.1875rem) {
  .curriculum-timetable-section__table thead th:nth-child(2),
  .curriculum-timetable-section__table tbody td:nth-child(2) {
    left: calc(var(--curriculum-time-column-width) - 0.0625rem);
    max-width: calc(var(--curriculum-period-column-width) + 0.0625rem);
    min-width: calc(var(--curriculum-period-column-width) + 0.0625rem);
    width: calc(var(--curriculum-period-column-width) + 0.0625rem);
  }
}

.curriculum-timetable-section__table thead th:nth-child(2) {
  z-index: 2;
}

@media screen and (width <= 56.1875rem) {
  .curriculum-timetable-section__table thead th::after {
    border-left: 0.0625rem solid var(--curriculum-th-side-border-color);
    border-right: 0.0625rem solid var(--curriculum-th-side-border-color);
    box-sizing: border-box;
    content: "";
    inset: 0 -0.0625rem;
    pointer-events: none;
    position: absolute;
  }
}

@media screen and (width <= 56.1875rem) {
  .curriculum-timetable-section__table thead th:first-child::after {
    border-left: 0;
  }
}

@media screen and (width <= 56.1875rem) {
  .curriculum-timetable-section__table thead th:nth-child(-n+3) {
    border-left: 0;
    border-right: 0;
  }
}

.curriculum-timetable-section__table thead th:first-child,
.curriculum-timetable-section__table thead th:nth-child(2) {
  background-color: #0369a1;
  border-bottom: 0;
  box-shadow: none;
}

@media screen and (width <= 56.1875rem) {
  .curriculum-timetable-section__table thead th:first-child::before,
  .curriculum-timetable-section__table thead th:nth-child(2)::before {
    background-color: #0369a1;
    bottom: 0;
    content: "";
    height: 0.0625rem;
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
  }
}

.curriculum-timetable-section__table tbody th {
  --curriculum-th-side-border-color: #e2e8f0;
  background-color: #e2e8f0;
}

.curriculum-timetable-section__table tbody td:nth-child(2) {
  background-color: #fff;
  border-right: 0;
}
@media screen and (width <= 56.1875rem) {
  .curriculum-timetable-section__table tbody td:nth-child(2) {
    position: sticky;
  }
}

@media screen and (width <= 56.1875rem) {
  .curriculum-timetable-section__table tbody td:nth-child(2)::after {
    background-color: #fff;
    bottom: 0;
    content: "";
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    width: 0.0625rem;
  }
}

@media screen and (width <= 56.1875rem) {
  .curriculum-timetable-section__table tbody th::after {
    background-color: #e2e8f0;
    bottom: 0;
    content: "";
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    width: 0.0625rem;
  }
}

.curriculum-timetable-section__table tbody td {
  background-color: #fff;
  font-weight: 500;
  text-align: center;
  white-space: nowrap;
}

.curriculum-timetable-section__table tbody td.curriculum-timetable-section__cell-pre-line {
  line-height: 1.3;
}

.curriculum-timetable-section__table tbody td[colspan] {
  text-align: center;
}
@media screen and (width <= 56.1875rem) {
  .curriculum-timetable-section__table tbody td[colspan] {
    text-align: left;
  }
}

.curriculum-timetable-section__table tbody td[rowspan] {
  background-clip: padding-box;
  background-color: #fff;
  min-height: 12rem;
  position: relative;
  z-index: 0;
}
@media screen and (width <= 56.1875rem) {
  .curriculum-timetable-section__table tbody td[rowspan] {
    min-height: 9rem;
  }
}

.curriculum-timetable-section__table thead th:nth-child(n+3):nth-child(-n+7),
.curriculum-timetable-section__table tbody td:nth-child(n+3):nth-child(-n+7) {
  max-width: var(--curriculum-weekday-column-width);
  min-width: var(--curriculum-weekday-column-width);
  width: var(--curriculum-weekday-column-width);
}

.curriculum-timetable-section__table tbody th {
  background-color: #e2e8f0;
  font-weight: 900;
  text-align: center;
  white-space: nowrap;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.curriculum-career-support-section__paragraph {
  color: #1e293b;
  font-feature-settings: "palt";
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.8;
  margin: 0;
  text-align: justify;
}

.curriculum-career-support-section__paragraph-group {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 1.5rem;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.section-tab {
  background-color: #f1f5f9;
  border-radius: 1.5rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0;
  overflow: hidden;
  padding: 3rem 4rem 4rem;
}
@media screen and (width <= 56.1875rem) {
  .section-tab {
    margin-top: 0;
    max-width: none;
    padding: 1.5rem 8vw;
  }
}

.section-tab--pc-mt-3rem {
  margin-top: 3rem;
}

@media screen and (width <= 56.1875rem) {
  .section-tab--sp-mt-2rem {
    margin-top: 2rem;
  }
}
.section-tab__tabs {
  background-color: #fff;
  border: 0.0625rem solid #e2e8f0;
  border-radius: 62.4375rem;
  display: grid;
  gap: 0.25rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 0.5rem;
}

.section-tab__tab {
  align-items: center;
  appearance: none;
  background-color: transparent;
  border: 0;
  border-radius: 2.5rem;
  box-sizing: border-box;
  color: #1e293b;
  cursor: pointer;
  display: flex;
  flex-wrap: wrap;
  font-size: 1rem;
  font-weight: 700;
  gap: 0.46em 0.25em;
  line-height: 1.2;
  padding: 1.5rem 1rem;
  place-content: center;
  text-align: center;
}
@media screen and (width <= 56.1875rem) {
  .section-tab__tab {
    font-size: 0.75rem;
    padding: 0.75rem 0.5rem;
  }
}

.section-tab__tab-text {
  display: block;
  flex: 0 1 auto;
  max-width: 100%;
  min-width: 0;
  overflow-wrap: anywhere;
  /* stylelint-disable-next-line property-no-unknown -- CSS Text Module Level 4 property */
  text-box-edge: cap alphabetic;
  /* stylelint-disable-next-line property-no-unknown -- CSS Text Module Level 4 property */
  text-box-trim: trim-both;
  word-break: normal;
}

.section-tab__tab:focus-visible {
  outline: 0.125rem solid #0369a1;
  outline-offset: 0.125rem;
}

.section-tab__tab--active {
  background-image: url("/common/image/bg_noise.webp"), linear-gradient(98.18deg, #173d96 1.92%, #019bc4 100%);
  background-position: 0 0, 0 0;
  background-repeat: repeat, no-repeat;
  background-size: 3.125rem 3.125rem, cover;
  color: #fff;
}

.section-tab__contents {
  margin-top: 2.5rem;
}
@media screen and (width <= 56.1875rem) {
  .section-tab__contents {
    margin-top: 1.5rem;
  }
}

.section-tab__content {
  width: 100%;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.learning-field-section__image {
  display: block;
  height: auto;
  width: 100%;
}

.learning-field-section__inner {
  width: 100%;
}

.learning-field-section__visual {
  margin-inline: auto;
  max-width: 62.5rem;
  padding-top: 2.5rem;
  width: 100%;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.learning-model-case-section__case-card {
  background-color: #e0f2fe;
  border-radius: 1.5rem;
  overflow: hidden;
  padding: 3.5rem;
  position: relative;
}
@media screen and (width <= 56.1875rem) {
  .learning-model-case-section__case-card {
    padding: 3.5rem 1.8125rem;
  }
}

.learning-model-case-section__case-card:nth-child(4) {
  padding: 6rem 3.5rem 3.5rem;
}
@media screen and (width <= 56.1875rem) {
  .learning-model-case-section__case-card:nth-child(4) {
    padding: 3.5rem 1.8125rem;
  }
}

.learning-model-case-section__case-card::before {
  background: url("/common/image/bg_noise_white.webp") 0 0/3.125rem 3.125rem repeat;
  content: "";
  inset: 0;
  mix-blend-mode: screen;
  pointer-events: none;
  position: absolute;
}

.learning-model-case-section__case-description {
  margin-top: 0.5rem;
}

.learning-model-case-section__case-description p {
  color: #1e293b;
  font-feature-settings: "palt";
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.04rem;
  line-height: 1.8;
  margin: 0;
  text-align: justify;
}

.learning-model-case-section__case-image {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.learning-model-case-section__case-image-label {
  color: #fff;
  font-family: Montserrat, sans-serif;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 200;
  left: 50%;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0;
  position: absolute;
  text-shadow: 0 0 0.5rem rgba(15, 23, 42, 0.7);
  top: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}

.learning-model-case-section__case-image-wrap {
  aspect-ratio: 3/2;
  background-color: #e2e8f0;
  border-radius: 0.5rem;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.learning-model-case-section__case-label {
  color: #0369a1;
  font-family: Montserrat, sans-serif;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.025rem;
  line-height: 1;
  margin: 0;
}

.learning-model-case-section__case-main {
  align-items: flex-start;
  display: flex;
  gap: 2rem;
  position: relative;
  width: 100%;
  z-index: 1;
}
@media screen and (width <= 56.1875rem) {
  .learning-model-case-section__case-main {
    align-items: stretch;
    flex-direction: column;
    gap: 1.5rem;
  }
}

.learning-model-case-section__case-point-card {
  background-color: #fff;
  border-radius: 0.5rem;
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 0.25rem;
  min-height: 0.0625rem;
  min-width: 0.0625rem;
  padding: 1.25rem;
}
@media screen and (width <= 56.1875rem) {
  .learning-model-case-section__case-point-card {
    flex: 0 0 auto;
    width: 100%;
  }
}

.learning-model-case-section__case-point-head {
  align-items: center;
  display: flex;
  gap: 0.25rem;
}
.learning-model-case-section__case-point-head::before {
  background-color: #173d96;
  border-radius: 50%;
  content: "";
  display: block;
  height: 0.25rem;
  width: 0.25rem;
}

.learning-model-case-section__case-point-label {
  color: #173d96;
  font-family: Montserrat, sans-serif;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.0175rem;
  line-height: 1;
  margin: 0;
}

.learning-model-case-section__case-point-text {
  color: #1e293b;
  font-size: 0.9375rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.45;
  margin: 0;
}

.learning-model-case-section__case-points {
  display: flex;
  gap: 0.5rem;
  margin-top: 2.5rem;
  position: relative;
  width: 100%;
  z-index: 1;
}
@media screen and (width <= 56.1875rem) {
  .learning-model-case-section__case-points {
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 2.5rem;
  }
}

.learning-model-case-section__case-texts {
  flex: 1 0 0;
  min-height: 0.0625rem;
  min-width: 0.0625rem;
}
@media screen and (width <= 56.1875rem) {
  .learning-model-case-section__case-texts {
    flex: 0 0 auto;
    min-height: 0;
    min-width: 0;
    width: 100%;
  }
}

.learning-model-case-section__case-title {
  color: #1e293b;
  font-size: 1.75rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.035rem;
  line-height: 1.5;
}
@media screen and (width <= 56.1875rem) {
  .learning-model-case-section__case-title {
    font-size: 1.375rem;
    letter-spacing: 0.0275rem;
  }
}

.learning-model-case-section__case-visual {
  flex: 1 0 0;
  min-height: 0.0625rem;
  min-width: 0.0625rem;
}
@media screen and (width <= 56.1875rem) {
  .learning-model-case-section__case-visual {
    flex: 0 0 auto;
    min-height: 0;
    min-width: 0;
    width: 100%;
  }
}

.learning-model-case-section__cases {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
  padding-top: 4rem;
}
@media screen and (width <= 56.1875rem) {
  .learning-model-case-section__cases {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    padding-top: 4rem;
  }
}

.learning-model-case-section__flow {
  --learning-model-case-section-flow-step-card-gap: 0.625rem;
  --learning-model-case-section-flow-year-01-padding-left: 0.75rem;
  --learning-model-case-section-flow-year-01-padding-right: 1.25rem;
  --learning-model-case-section-flow-year-01-padding-total: calc(
    var(--learning-model-case-section-flow-year-01-padding-left) +
      var(--learning-model-case-section-flow-year-01-padding-right)
  );
  --learning-model-case-section-flow-year-02-padding-left: 1.25rem;
  --learning-model-case-section-flow-year-02-padding-right: 1.5rem;
  --learning-model-case-section-flow-year-02-padding-total: calc(
    var(--learning-model-case-section-flow-year-02-padding-left) +
      var(--learning-model-case-section-flow-year-02-padding-right)
  );
  padding-top: 2.5rem;
}
@media screen and (width <= 56.1875rem) {
  .learning-model-case-section__flow {
    padding-top: 2.5rem;
  }
}

@media (56.25rem < width <= 75rem) {
  .learning-model-case-section__flow {
    --learning-model-case-section-flow-year-01-padding-left: clamp(0.5rem, 0.9vw, 0.75rem);
    --learning-model-case-section-flow-year-01-padding-right: clamp(0.75rem, 2.2vw, 1.25rem);
  }
}
.learning-model-case-section__flow-cards {
  display: flex;
  gap: 0;
}
@media screen and (width <= 56.1875rem) {
  .learning-model-case-section__flow-cards {
    background-color: transparent;
    flex-direction: column;
    gap: 0;
    padding: 0;
  }
}

@media screen and (width <= 56.1875rem) {
  .learning-model-case-section__flow-cards--sp {
    flex: 1 0 0;
    margin-left: -0.5rem;
    min-width: 0.0625rem;
  }
}

@media screen and (width <= 56.1875rem) {
  .learning-model-case-section__flow-cards--sp-01 {
    padding-bottom: 2rem;
    padding-top: 0.75rem;
  }
  .learning-model-case-section__flow-cards--sp-01 .learning-model-case-section__flow-step-card {
    box-shadow: 0 0 1.25rem 0 rgba(57, 66, 78, 0.1);
  }
}

@media screen and (width <= 56.1875rem) {
  .learning-model-case-section__flow-cards--sp-02 {
    padding-bottom: 2rem;
    padding-top: 0;
  }
  .learning-model-case-section__flow-cards--sp-02 .learning-model-case-section__flow-step-card {
    box-shadow: 0 0 1.25rem 0 rgba(57, 66, 78, 0.1);
    margin-bottom: 0;
    margin-top: 0;
  }
  .learning-model-case-section__flow-cards--sp-02 .learning-model-case-section__flow-step-card:not(:last-child) {
    margin-bottom: 0.625rem;
  }
}

.learning-model-case-section__flow-cards--01 {
  margin-top: -1.25rem;
  padding-left: var(--learning-model-case-section-flow-year-01-padding-left);
  padding-right: var(--learning-model-case-section-flow-year-01-padding-right);
  position: relative;
  z-index: 2;
}

.learning-model-case-section__flow-cards--02 {
  margin-top: -1.25rem;
  padding-left: var(--learning-model-case-section-flow-year-02-padding-left);
  padding-right: var(--learning-model-case-section-flow-year-02-padding-right);
  position: relative;
  z-index: 2;
}

.learning-model-case-section__flow-heading {
  align-items: center;
  display: flex;
  gap: 0.25rem;
}

.learning-model-case-section__flow-heading-dot {
  background-color: #0284c7;
  border-radius: 50%;
  display: block;
  height: 0.3125rem;
  width: 0.3125rem;
}

.learning-model-case-section__flow-heading-title {
  color: #0284c7;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.025rem;
  line-height: 1.4;
  margin: 0;
}

.learning-model-case-section__flow-sp-row {
  display: flex;
}
@media screen and (width <= 56.1875rem) {
  .learning-model-case-section__flow-sp-row {
    padding-right: 0.5rem;
  }
}

@media screen and (width <= 56.1875rem) {
  .learning-model-case-section__flow-sp-row--01 {
    position: relative;
    z-index: 2;
  }
}

@media screen and (width <= 56.1875rem) {
  .learning-model-case-section__flow-sp-row--02 {
    margin-top: 0;
    position: relative;
    z-index: 1;
  }
}

.learning-model-case-section__flow-step-card {
  background-color: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 0 1.25rem 0 rgba(57, 66, 78, 0.1);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 0.62rem;
  padding: 1rem 1.25rem 1.25rem;
  position: relative;
  z-index: 4;
}

.learning-model-case-section__flow-track--pc .learning-model-case-section__flow-step-card + .learning-model-case-section__flow-step-card {
  margin-left: var(--learning-model-case-section-flow-step-card-gap);
}

.learning-model-case-section__flow-cards--01 .learning-model-case-section__flow-step-card {
  box-shadow: 0 0 1.25rem 0 rgba(57, 66, 78, 0.1);
  width: 100%;
}

.learning-model-case-section__flow-cards--02 .learning-model-case-section__flow-step-card {
  box-shadow: 0 0 1.25rem 0 rgba(57, 66, 78, 0.1);
  flex: 1 0 0;
}

.learning-model-case-section__flow-step-location {
  align-items: center;
  display: flex;
  gap: 0.125rem;
  margin-top: auto;
}

.learning-model-case-section__flow-step-location p {
  color: #475569;
  font-feature-settings: "palt";
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.015rem;
  line-height: 1.2;
  margin: 0;
}

.learning-model-case-section__flow-step-location-icon {
  display: block;
  height: 0.8125rem;
  width: 0.6667rem;
}

.learning-model-case-section__flow-step-period {
  background-color: #e0f2fe;
  border-radius: 1000rem;
  color: #173d96;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.45;
  margin: 0;
  padding: 0.375rem 0.75rem;
  width: fit-content;
}

.learning-model-case-section__flow-step-title {
  color: #1e293b;
  font-size: 0.9375rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.45;
  margin: 0;
  text-align: justify;
}

.learning-model-case-section__flow-track {
  padding-top: 0.5rem;
}

.learning-model-case-section__flow-track--pc {
  align-items: stretch;
  display: grid;
  grid-template-columns: minmax(0, calc((100% + var(--learning-model-case-section-flow-year-01-padding-total) * 3 - var(--learning-model-case-section-flow-year-02-padding-total) - var(--learning-model-case-section-flow-step-card-gap) * 2) / 4)) minmax(0, 1fr);
}
@media screen and (width <= 56.1875rem) {
  .learning-model-case-section__flow-track--pc {
    display: none;
  }
}

.learning-model-case-section__flow-track--sp {
  display: none;
}
@media screen and (width <= 56.1875rem) {
  .learning-model-case-section__flow-track--sp {
    display: flex;
    flex-direction: column;
  }
}

.learning-model-case-section__flow-year {
  display: flex;
  flex-direction: column;
  min-height: 0.0625rem;
}

.learning-model-case-section__flow-track--pc .learning-model-case-section__flow-cards {
  flex: 1 0 auto;
}

.learning-model-case-section__flow-year--01 {
  min-width: 0.0625rem;
  width: 100%;
}

.learning-model-case-section__flow-year--02 {
  flex: 1 0 0;
  min-width: 0.0625rem;
}

@media (56.25rem < width <= 75rem) {
  .learning-model-case-section__flow-year--02 {
    flex: 1 1 0;
    min-width: 0;
  }
}
.learning-model-case-section__flow-year-label {
  background-position: left top, left top;
  background-size: 3.125rem 3.125rem, auto;
  color: #fff;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.025rem;
  line-height: 1;
  margin: 0;
  padding: 1.25rem 2rem 1.75rem;
  position: relative;
}
@media screen and (width <= 56.1875rem) {
  .learning-model-case-section__flow-year-label {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    line-height: 1;
    min-width: 3.5rem;
    padding: 1.25rem 0.5rem 2rem;
    width: 3.5rem;
  }
}

@media screen and (width <= 56.1875rem) {
  .learning-model-case-section__flow-year-label--sp {
    gap: 0.0625rem;
  }
}

.learning-model-case-section__flow-year-label--01 {
  background: url("/common/image/bg_noise.webp") 0 0/3.125rem 3.125rem repeat, linear-gradient(90deg, #38bdf8 0%, #0284c7 100%);
  border-radius: 0.25rem 0 0 0.25rem;
}
@media screen and (width <= 56.1875rem) {
  .learning-model-case-section__flow-year-label--01 {
    background: url("/common/image/bg_noise.webp") 0 0/3.125rem 3.125rem repeat, linear-gradient(180deg, #38bdf8 0%, #0284c7 100%);
    border-radius: 0.25rem 0.25rem 0 0;
    clip-path: none;
    min-height: 10.375rem;
    padding: 1.25rem 0.5rem 1.75rem 0;
    z-index: 2;
  }
}
.learning-model-case-section__flow-year-label--01 .learning-model-case-section__flow-year-label-tail-sp {
  bottom: 0.0313rem;
  display: block;
  height: 1rem;
  left: 0;
  transform: rotate(180deg);
  width: 3.5rem;
  z-index: 3;
}

.learning-model-case-section__flow-year-label--02 {
  background: url("/common/image/bg_noise.webp") 0 0/3.125rem 3.125rem repeat, linear-gradient(90deg, #0284c7 0%, #173d96 100%);
}
@media screen and (width <= 56.1875rem) {
  .learning-model-case-section__flow-year-label--02 {
    background: url("/common/image/bg_noise.webp") 0 0/3.125rem 3.125rem repeat, linear-gradient(180deg, #0284c7 0%, #173d96 100%);
    box-shadow: none;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 1rem), 50% 100%, 0 calc(100% - 1rem));
    filter: none;
    padding-bottom: 1.25rem;
    padding-left: 0;
    padding-right: 0.5rem;
  }
}
.learning-model-case-section__flow-year-label--02 .learning-model-case-section__flow-year-label-tail-sp {
  display: none;
}

.learning-model-case-section__flow-year-label-arrow-pc {
  display: block;
  height: 1rem;
  max-width: none;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(2.625rem, -0.5rem) rotate(90deg);
  width: 4.25rem;
}

.learning-model-case-section__flow-year-label-tail-pc {
  display: block;
  height: 4.5625rem;
  position: absolute;
  right: -0.5313rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.0629rem;
  z-index: 3;
}

.learning-model-case-section__flow-year-label-tail-sp {
  bottom: -0.5rem;
  display: block;
  height: 1rem;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 3.5rem;
}

.learning-model-case-section__note {
  color: #475569;
  font-feature-settings: "palt";
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.015rem;
  line-height: 1.6;
  margin: 1rem 0 0;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
@media (56.25rem < width <= 75rem) {
  .learning-theme-section .section-inner {
    width: clamp(49.875rem, 59.6576rem - 13.0435vw, 52.3125rem);
  }
}
.learning-theme-section__cards {
  margin-top: 0;
}

.learning-theme-section__cards-shell {
  padding-top: 5rem;
}

.learning-theme-section__cards-row {
  display: flex;
  gap: 1.5rem;
}
@media screen and (width <= 56.1875rem) {
  .learning-theme-section__cards-row {
    flex-direction: column;
    gap: 4rem;
  }
}

.learning-theme-section__cards-row + .learning-theme-section__cards-row {
  margin-top: -1.25rem;
}
@media screen and (width <= 56.1875rem) {
  .learning-theme-section__cards-row + .learning-theme-section__cards-row {
    margin-top: 4rem;
  }
}

.learning-theme-section__cards-row-item {
  flex: 1 0 0;
  min-height: 0.0625rem;
  min-width: 0.0625rem;
}
@media screen and (width <= 56.1875rem) {
  .learning-theme-section__cards-row-item {
    flex: 0 0 auto;
    width: 100%;
  }
}

.learning-theme-section__cards-row-item--02 {
  padding-top: 5rem;
}
@media screen and (width <= 56.1875rem) {
  .learning-theme-section__cards-row-item--02 {
    padding-top: 0;
  }
}

.learning-theme-section__cards-row-item--04 {
  padding-top: 6rem;
}
@media screen and (width <= 56.1875rem) {
  .learning-theme-section__cards-row-item--04 {
    padding-top: 0;
  }
}

.learning-theme-section__description {
  color: #1e293b;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.04rem;
  line-height: 1.8;
  margin: 1.5rem 0 0;
  text-align: justify;
}

.learning-theme-section__description rt {
  font-size: 0.625rem;
  letter-spacing: 0.02rem;
  line-height: 1;
}
@media screen and (width <= 56.1875rem) {
  .learning-theme-section__description rt {
    font-size: 0.5rem;
  }
}

.learning-theme-section__description ruby {
  ruby-align: center;
}

.learning-theme-section__inner {
  width: 100%;
}

.learning-theme-section__text {
  width: 100%;
}

.learning-theme-card {
  background-position: left top, left top;
  background-size: 3.125rem 3.125rem, auto;
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 4rem 2rem 2rem;
  position: relative;
}
@media screen and (width <= 56.1875rem) {
  .learning-theme-card {
    gap: 0.625rem;
    padding: 3rem 1.25rem 1.75rem;
  }
}

.learning-theme-card--01 .learning-theme-card__bubble {
  left: 2rem;
}
@media screen and (width <= 56.1875rem) {
  .learning-theme-card--01 .learning-theme-card__bubble {
    left: 0;
  }
}

.learning-theme-card--blue {
  --bubble-color: #173d96;
  background-image: url("/common/image/bg_noise.webp"), linear-gradient(90deg, #173d96 0%, #0284c7 100%);
}

.learning-theme-card--green {
  --bubble-color: #00856b;
  background-image: url("/common/image/bg_noise.webp"), linear-gradient(90deg, #17967d 0%, #29af38 100%);
}

.learning-theme-card--orange {
  --bubble-color: #b94400;
  background-image: url("/common/image/bg_noise.webp"), linear-gradient(90deg, #e25700 0%, #e89700 100%);
}

.learning-theme-card--red {
  --bubble-color: #df0400;
  background-image: url("/common/image/bg_noise.webp"), linear-gradient(90deg, #df0400 0%, #f54219 100%);
}

.learning-theme-card__avatar {
  border-radius: 78.0469rem;
  height: 5.9436rem;
  overflow: hidden;
  position: relative;
  width: 6.25rem;
}
@media screen and (width <= 56.1875rem) {
  .learning-theme-card__avatar {
    height: 4.7549rem;
    width: 5rem;
  }
}

@media (56.25rem < width <= 75rem) {
  .learning-theme-card__avatar {
    height: 4.9926rem;
    width: 5.25rem;
  }
}
.learning-theme-card__avatar-image {
  display: block;
  object-fit: cover;
}

.learning-theme-card__bubble {
  align-items: flex-start;
  display: flex;
  left: 1.5rem;
  position: absolute;
  top: -3rem;
}
@media screen and (width <= 56.1875rem) {
  .learning-theme-card__bubble {
    left: 0;
    top: -3rem;
  }
}

@media (56.25rem < width <= 75rem) {
  .learning-theme-card__bubble {
    top: -3.375rem;
  }
}
.learning-theme-card__bubble-body {
  align-items: flex-end;
  display: flex;
}

.learning-theme-card__bubble-tail {
  display: block;
  height: 1.991rem;
  width: 0.75rem;
}

.learning-theme-card__bubble-text {
  background-color: #fff;
  border-radius: 0.75rem;
  padding: 1rem 1.25rem;
}

.learning-theme-card__bubble-text p {
  color: var(--bubble-color, #173d96);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.025rem;
  line-height: 1.2;
  margin: 0;
}
@media screen and (width <= 56.1875rem) {
  .learning-theme-card__bubble-text p {
    font-size: 1.0625rem;
    letter-spacing: 0.0213rem;
  }
}

.learning-theme-card__list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.learning-theme-card__list li {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-size: 1rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.02rem;
  line-height: 1.45;
  padding-left: 1.5rem;
  position: relative;
  text-align: justify;
}
@media screen and (width <= 56.1875rem) {
  .learning-theme-card__list li {
    padding-left: 1.25rem;
  }
}

.learning-theme-card__list li::before {
  background-color: #fff;
  border-radius: 1000rem;
  content: "";
  height: 0.4167rem;
  left: 0;
  position: absolute;
  top: 0.5rem;
  width: 0.4167rem;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.image-text-split {
  align-items: flex-start;
  display: flex;
  gap: 2.25rem;
  margin-top: 1rem;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .image-text-split {
    flex-direction: column;
    gap: 1.5rem;
  }
}

.image-text-split__content {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  min-width: 0.0625rem;
}

.image-text-split__image {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.image-text-split__visual {
  aspect-ratio: 501/351;
  border-radius: 0.5rem;
  flex: 0 0 47.34%;
  margin-top: 0.5rem;
  max-width: 31.3125rem;
  overflow: hidden;
  width: 47.34%;
}
@media screen and (width <= 56.1875rem) {
  .image-text-split__visual {
    flex: 0 0 auto;
    margin-top: 0;
    max-width: none;
    width: 100%;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.info-card {
  align-items: flex-start;
  border: 0.0625rem solid #173d96;
  border-radius: 0.75rem;
  display: flex;
  gap: 1.5rem;
  margin-top: 0;
  padding: 2rem;
}
@media screen and (width <= 56.1875rem) {
  .info-card {
    border-radius: 1rem;
    flex-direction: column;
    gap: 1.5rem;
    padding: 1.5rem;
  }
}

.info-card--without-image {
  display: block;
}

.info-card--margin-top-25rem {
  margin-top: 2.5rem;
}

.info-card--margin-top-3rem {
  margin-top: 3rem;
}

.info-card__body {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  min-width: 0.0625rem;
}

.info-card__image {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.info-card__title {
  color: #173d96;
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.5;
  margin: 0;
}

.info-card__visual {
  aspect-ratio: 480/320;
  border-radius: 0.5rem;
  flex: 0 0 35%;
  margin: 0;
  max-width: 15.625rem;
  overflow: hidden;
  width: 35%;
}
@media screen and (width <= 56.1875rem) {
  .info-card__visual {
    flex: 0 0 auto;
    max-width: none;
    width: 100%;
  }
}

.info-card--image-size-half .info-card__visual {
  flex: 0 0 50%;
  max-width: none;
  width: 50%;
}
@media screen and (width <= 56.1875rem) {
  .info-card--image-size-half .info-card__visual {
    flex: 0 0 auto;
    max-width: none;
    width: 100%;
  }
}

.info-card--image-size-quarter .info-card__visual {
  flex: 0 0 25%;
  max-width: none;
  width: 25%;
}
@media screen and (width <= 56.1875rem) {
  .info-card--image-size-quarter .info-card__visual {
    flex: 0 0 auto;
    max-width: none;
    width: 100%;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.schoollife-main-base-section__access-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.schoollife-main-base-section__access-item + .schoollife-main-base-section__access-item {
  margin-top: 0.25rem;
}

.schoollife-main-base-section__access-item--with-label {
  align-items: flex-start;
  flex-direction: row;
  gap: 0.75rem;
}
@media screen and (width <= 56.1875rem) {
  .schoollife-main-base-section__access-item--with-label {
    gap: 0.5rem;
  }
}

.schoollife-main-base-section__access-label {
  color: #1e293b;
  flex: 0 0 3.75rem;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.65;
  margin: 0;
  white-space: nowrap;
}
@media screen and (width <= 56.1875rem) {
  .schoollife-main-base-section__access-label {
    flex-basis: 3.125rem;
  }
}

.schoollife-main-base-section__access-lines {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0.0625rem;
}

.schoollife-main-base-section__access-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 0.5rem;
}

.schoollife-main-base-section__campus {
  width: 100%;
}

.schoollife-main-base-section__campus-body {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  min-width: 0.0625rem;
}

.schoollife-main-base-section__campuses {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  margin-top: 4rem;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .schoollife-main-base-section__campuses {
    gap: 3rem;
    margin-top: 3rem;
  }
}

.schoollife-main-base-section__info {
  margin-top: 1.25rem;
}

.schoollife-main-base-section__info-heading {
  color: #1e293b;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9375rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.45;
  margin: 0;
}

.schoollife-main-base-section__info-text {
  color: #1e293b;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.65;
  margin: 0;
}

.schoollife-main-base-section__inner {
  display: flex;
  flex-direction: column;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.school-day-timeline__item {
  display: flex;
  gap: 2rem;
  position: relative;
  z-index: 1;
}
@media screen and (width <= 56.1875rem) {
  .school-day-timeline__item {
    gap: 1.5rem;
  }
}

.school-day-timeline__body {
  align-items: flex-start;
  display: flex;
  flex: 1 0 0;
  gap: 2rem;
  min-width: 0.0625rem;
  padding-bottom: 3rem;
  padding-top: 0.5rem;
}
@media screen and (width <= 56.1875rem) {
  .school-day-timeline__body {
    flex-direction: column;
    gap: 0;
    padding-bottom: 2.5rem;
    padding-top: 0.75rem;
  }
}

@media screen and (width <= 56.1875rem) {
  .school-day-timeline__item--has-image .school-day-timeline__body {
    gap: 2.5rem;
  }
}
.school-day-timeline__item--has-image .school-day-timeline__text {
  flex: 1 1 0;
}
.school-day-timeline__item--has-image .school-day-timeline__item-image {
  flex: 0 0 48.5%;
  width: 48.5%;
}
@media screen and (width <= 56.1875rem) {
  .school-day-timeline__item--has-image .school-day-timeline__item-image {
    flex: none;
    width: 100%;
  }
}

.school-day-timeline__item-image {
  align-self: flex-start;
  aspect-ratio: 480/320;
  background-color: #e2e8f0;
  border-radius: 0.5rem;
  flex: 1 1 0;
  margin: 0;
  min-width: 0.0625rem;
  overflow: hidden;
  position: relative;
}
.school-day-timeline__item-image img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .school-day-timeline__item-image {
    width: 100%;
  }
}

.school-day-timeline__item-time {
  color: #173d96;
  font-family: Montserrat, sans-serif;
  font-size: 2.5rem;
  font-weight: 200;
  letter-spacing: 0.02em;
  line-height: 1.4;
  margin: 0;
  text-align: right;
  width: 6.875rem;
}

.school-day-timeline__item-time--mobile {
  display: none;
}
@media screen and (width <= 56.1875rem) {
  .school-day-timeline__item-time--mobile {
    display: block;
    font-size: 1.25rem;
    line-height: 1.5;
    margin-bottom: 0.25rem;
    text-align: left;
    white-space: nowrap;
    width: auto;
  }
}

@media screen and (width <= 56.1875rem) {
  .school-day-timeline__item-time--desktop {
    display: none;
  }
}

.school-day-timeline__item-heading {
  color: #1e293b;
  font-size: 1.375rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.5;
  margin: 0;
}
@media screen and (width <= 56.1875rem) {
  .school-day-timeline__item-heading {
    font-size: 1.25rem;
  }
}

.school-day-timeline__text {
  flex: 1 0 0;
  min-width: 0.0625rem;
}

.school-day-timeline__time-column {
  align-items: flex-start;
  display: flex;
  flex-shrink: 0;
  gap: 2rem;
  min-height: 9.375rem;
}
@media screen and (width <= 56.1875rem) {
  .school-day-timeline__time-column {
    flex-direction: column;
    gap: 0;
  }
}

.school-day-timeline__timeline-dot {
  background-color: #173d96;
  border-radius: 50%;
  display: block;
  flex-shrink: 0;
  height: 0.75rem;
  margin-top: 1.38rem;
  position: relative;
  width: 0.75rem;
  z-index: 1;
}

.school-day-timeline__timeline-marker {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 0.75rem;
}
@media screen and (width <= 56.1875rem) {
  .school-day-timeline__timeline-marker {
    min-height: 100%;
  }
}

.school-day-timeline__item:last-child .school-day-timeline__timeline-marker {
  position: relative;
}
.school-day-timeline__item:last-child .school-day-timeline__timeline-marker::after {
  background-color: #f1f5f9;
  bottom: 0;
  content: "";
  left: 50%;
  position: absolute;
  top: 2.13rem;
  transform: translateX(-50%);
  width: 0.75rem;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.school-day-timeline__items {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.school-day-timeline__item-group {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
}

.school-day-timeline__items-line {
  background-image: radial-gradient(circle at center, #173d96 0 0.0625rem, transparent 0.0625rem);
  background-size: 0.125rem 0.5rem;
  inset: 1.755rem auto 0 9.1875rem;
  position: absolute;
  width: 0.125rem;
}
@media screen and (width <= 56.1875rem) {
  .school-day-timeline__items-line {
    inset: 1.755rem auto 0 0.3125rem;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.schoollife-support-system-section__body {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 0;
  min-width: 0.0625rem;
}
@media screen and (width <= 56.1875rem) {
  .schoollife-support-system-section__body {
    flex: 0 0 auto;
    width: 100%;
  }
}

.schoollife-support-system-section__content {
  align-items: flex-start;
  display: flex;
  gap: 2rem;
  margin-top: 3rem;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .schoollife-support-system-section__content {
    flex-direction: column;
    gap: 1.5rem;
    margin-top: 2rem;
  }
}

.schoollife-support-system-section__image {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.schoollife-support-system-section__inner {
  display: flex;
  flex-direction: column;
}

.schoollife-support-system-section__visual {
  aspect-ratio: 480/320;
  border-radius: 0.5rem;
  flex: 1 0 0;
  margin: 0;
  min-width: 0.0625rem;
  overflow: hidden;
}
@media screen and (width <= 56.1875rem) {
  .schoollife-support-system-section__visual {
    flex: 0 0 auto;
    width: 100%;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.pc3-column-layout {
  display: flex;
  gap: 2.5rem;
  margin-top: 0;
  width: 100%;
}
.pc3-column-layout > * {
  flex: 1 1 0;
  min-width: 0.0625rem;
}
@media screen and (width <= 56.1875rem) {
  .pc3-column-layout {
    flex-direction: column;
    gap: 2.5rem;
  }
}

.pc3-column-layout--mt-3rem {
  margin-top: 3rem;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.schoollife-base-info-section__card {
  display: flex;
  flex-direction: column;
}

.schoollife-base-info-section__card-image {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.schoollife-base-info-section__card-title {
  color: #1e293b;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.5;
  margin: 1rem 0 0;
}
@media screen and (width <= 56.1875rem) {
  .schoollife-base-info-section__card-title {
    margin: 1.5rem 0 0;
  }
}

.schoollife-base-info-section__card-visual {
  aspect-ratio: 480/320;
  border-radius: 0.5rem;
  overflow: hidden;
  width: 100%;
}

.schoollife-base-info-section__inner {
  display: flex;
  flex-direction: column;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.education-overview-section__year-image {
  aspect-ratio: 3/2;
  border-radius: 0.5rem;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.education-overview-section__inner {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.education-overview-section__list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (width <= 56.1875rem) {
  .education-overview-section__list {
    gap: 0.5rem;
  }
}

.education-overview-section__list li {
  color: #1e293b;
  font-feature-settings: "palt";
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.02rem;
  line-height: 1.45;
  padding-left: 1rem;
  position: relative;
  text-align: justify;
}
@media screen and (width <= 56.1875rem) {
  .education-overview-section__list li {
    font-size: 1rem;
    letter-spacing: 0.02rem;
  }
}

.education-overview-section__list li::before {
  background-color: #0284c7;
  border-radius: 1000rem;
  content: "";
  height: 0.375rem;
  left: 0;
  position: absolute;
  top: 0.625rem;
  width: 0.375rem;
}
@media screen and (width <= 56.1875rem) {
  .education-overview-section__list li::before {
    top: 0.5rem;
  }
}

.education-overview-section__list p {
  font-size: 1rem;
}

.education-overview-section__pc-column {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0.0625rem;
}

.education-overview-section__pc-columns {
  display: grid;
  gap: 4.3196544276%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 1.75rem 0 0;
  padding: 0;
  padding-right: 1rem;
}

.education-overview-section__pc-year {
  align-items: center;
  background: none;
  color: #fff;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 900;
  justify-content: center;
  letter-spacing: 0.03rem;
  line-height: 1;
  min-height: 4rem;
  position: relative;
}

.education-overview-section__pc-year:first-child,
.education-overview-section__pc-year:last-child,
.education-overview-section__pc-year:nth-child(2) {
  border-radius: 0;
  clip-path: none;
  margin-left: 0;
}

.education-overview-section__pc-year-label {
  display: block;
  transform: translateX(0.25rem);
}

.education-overview-section__pc-arrow {
  height: 4.0625rem;
  object-fit: contain;
  position: absolute;
  right: -0.5rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.0625rem;
  z-index: 1;
}

.education-overview-section__pc-years {
  background: url("/common/image/bg_noise.webp") 0 0/3.125rem 3.125rem repeat, linear-gradient(90deg, #38bdf8 0%, #0284c7 20%, #173d96 100%);
  background-blend-mode: screen, normal;
  border-bottom-left-radius: 0.25rem;
  border-top-left-radius: 0.25rem;
  clip-path: polygon(0 0, calc(100% - 1rem) 0, 100% 50%, calc(100% - 1rem) 100%, 0 100%);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
}

.education-overview-section__sp-content {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 1rem;
  min-height: 0.0625rem;
  min-width: 0.0625rem;
}

.education-overview-section__text {
  color: #1e293b;
  display: flex;
  flex-direction: column;
  font-feature-settings: "palt";
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.04rem;
  line-height: 1.8;
  width: 100%;
}

.education-overview-section__text p {
  margin: 0;
  text-align: justify;
}

.education-overview-section__text p + p {
  margin-top: 0.75rem;
}

.education-overview-section__timeline {
  background-color: #e0f2fe;
  border-radius: 1.5rem;
  isolation: isolate;
  margin-top: 2.5rem;
  overflow: hidden;
  padding: 3rem;
  position: relative;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .education-overview-section__timeline {
    padding: 2rem 1.8125rem;
  }
}

.education-overview-section__timeline::before {
  background-image: url("/common/image/bg_noise_white.webp");
  background-position: left top;
  background-size: 3.125rem 3.125rem;
  content: "";
  inset: 0;
  mix-blend-mode: screen;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.education-overview-section__timeline > * {
  position: relative;
  z-index: 1;
}

.education-overview-section__timeline-pc {
  display: block;
}
@media screen and (width <= 56.1875rem) {
  .education-overview-section__timeline-pc {
    display: none;
  }
}

.education-overview-section__timeline-sp {
  display: none;
}
@media screen and (width <= 56.1875rem) {
  .education-overview-section__timeline-sp {
    display: flex;
    flex-direction: column;
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
  }
  .education-overview-section__timeline-sp::before {
    background: url("/common/image/bg_noise.webp") 0 0/3.125rem 3.125rem repeat, linear-gradient(180deg, #38bdf8 0%, #0284c7 20%, #173d96 100%);
    background-blend-mode: screen, normal;
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 1rem), 50% 100%, 0 calc(100% - 1rem));
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 3rem;
    z-index: 0;
  }
}

.education-overview-section__visual {
  margin-inline: auto;
  max-width: 62.5rem;
  padding-top: 2.5rem;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .education-overview-section__visual {
    max-width: 31.25rem;
    padding: 2.5rem 0 0;
  }
}

.education-overview-section__visual-image {
  display: block;
  height: auto;
  width: 100%;
}

@media screen and (width <= 56.1875rem) {
  .education-overview-section__sp-row {
    align-items: stretch;
    background: none;
    border-radius: 0;
    display: flex;
    gap: 1.25rem;
    position: relative;
    z-index: 1;
  }
}

@media screen and (width <= 56.1875rem) {
  .education-overview-section__sp-row:last-child .education-overview-section__sp-content {
    padding-bottom: 1.125rem;
  }
}

@media screen and (width <= 56.1875rem) {
  .education-overview-section__sp-row:not(:last-child) .education-overview-section__sp-content {
    padding-bottom: 2.5rem;
  }
}

@media screen and (width <= 56.1875rem) {
  .education-overview-section__sp-year {
    align-items: center;
    background: none;
    border-radius: 0;
    color: #fff;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.25rem;
    font-weight: 900;
    gap: 0.125rem;
    justify-content: center;
    letter-spacing: 0.025rem;
    line-height: 1;
    padding-bottom: 1.125rem;
    position: relative;
    width: 3rem;
    z-index: 1;
  }
}

@media screen and (width <= 56.1875rem) {
  .education-overview-section__sp-year--01::after,
  .education-overview-section__sp-year--02::after {
    content: none;
  }
}

@media screen and (width <= 56.1875rem) {
  .education-overview-section__sp-year > .education-overview-section__sp-arrow {
    bottom: 0;
    display: block;
    height: 1.125rem;
    left: 50%;
    max-width: none;
    position: absolute;
    transform: translateX(-50%);
    width: 3.25rem;
    z-index: 1;
  }
}

@media screen and (width <= 56.1875rem) {
  .education-overview-section__sp-year-digit {
    font-size: 1.25rem;
    letter-spacing: 0.04rem;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.education-card {
  align-content: start;
  align-items: start;
  column-gap: 0;
  display: grid;
  grid-template-areas: "image title" "image body";
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: auto 1fr;
  column-gap: 2.5rem;
}
@media screen and (width <= 56.1875rem) {
  .education-card {
    grid-template-areas: "title" "image" "body";
    grid-template-columns: 100%;
  }
}

.education-card--xl .education-card__image-wrap {
  border-radius: 0.75rem;
}

.education-card__body {
  color: #1e293b;
  font-feature-settings: "palt";
  font-size: 1rem;
  font-weight: 500;
  grid-area: body;
  letter-spacing: 0.04rem;
  line-height: 1.8;
}
@media screen and (width <= 56.1875rem) {
  .education-card__body {
    margin-top: 1.5rem;
  }
}

.education-card__body p {
  margin: 0;
  text-align: justify;
}

.education-card__image {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.education-card__image-wrap {
  aspect-ratio: 3/2;
  border-radius: 0.5rem;
  grid-area: image;
  margin-top: 0.5rem;
  overflow: hidden;
}
@media screen and (width <= 56.1875rem) {
  .education-card__image-wrap {
    margin-right: 0;
    margin-top: 0;
  }
}

.education-card__title {
  color: #1e293b;
  display: flex;
  flex-direction: column;
  font-size: 1.75rem;
  font-weight: 900;
  grid-area: title;
  letter-spacing: 0.035rem;
  margin-bottom: 0.5rem;
  line-height: 1.5;
  min-width: 0;
  overflow-wrap: anywhere;
}
@media screen and (width <= 71.875rem) {
  .education-card__title {
    font-size: 1.35rem;
  }
}
@media screen and (width <= 56.1875rem) {
  .education-card__title {
    font-size: 1.625rem;
    letter-spacing: 0.0325rem;
    line-height: 1.4;
    margin-bottom: 1.5rem;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.education-inquiry-section__button {
  align-self: center;
  margin-top: 3rem;
}

.education-inquiry-section__cards {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  width: 100%;
}

.education-inquiry-section__inner {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.education-inquiry-section__title {
  display: block;
  margin-bottom: 3.5rem;
}
@media screen and (width <= 56.1875rem) {
  .education-inquiry-section__title {
    margin-bottom: 3rem;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.education-learner-section__button {
  align-self: center;
  margin-top: 3rem;
}
@media screen and (width <= 56.1875rem) {
  .education-learner-section__button {
    margin-top: 3rem;
  }
}

.education-learner-section__cards {
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .education-learner-section__cards {
    gap: 3rem;
  }
}

.education-learner-section__inner {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.education-learner-section__title {
  margin-bottom: 3rem;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.education-career-section__button {
  align-self: center;
  margin-top: 3rem;
}

.education-career-section__cards {
  width: 100%;
}

.education-career-section__inner {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.education-career-section__title {
  margin-bottom: 3rem;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.faq-card {
  background-color: #f0f9ff;
  border-radius: 0.75rem;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: background-color 0.3s ease;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .faq-card {
    border-radius: 1rem;
  }
}

.faq-card[open] {
  border-bottom-left-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}
@media screen and (width <= 56.1875rem) {
  .faq-card[open] {
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
  }
}

.faq-card-header {
  align-items: center;
  background: none;
  border: none;
  border-radius: 0.75rem;
  cursor: pointer;
  display: flex;
  gap: 2.5rem;
  list-style: none;
  padding: 1.5rem;
  text-align: left;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .faq-card-header {
    gap: 0.5rem;
    padding: 1.25rem 0.5rem 1.25rem 1rem;
  }
}

.faq-card-header::marker {
  content: "";
}

.faq-card-header::-webkit-details-marker {
  display: none;
}

.faq-card[open] .faq-card-header {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.faq-card-content {
  align-items: flex-start;
  color: #1e293b;
  display: flex;
  flex: 1 0 0;
  gap: 0.75rem;
  min-height: 0.0625rem;
  min-width: 0.0625rem;
}
@media screen and (width <= 56.1875rem) {
  .faq-card-content {
    gap: 0.5rem;
  }
}

.faq-card-label {
  font-family: Montserrat, sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (width <= 56.1875rem) {
  .faq-card-label {
    font-size: 1rem;
  }
}

.faq-card-text {
  flex: 1 0 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6;
  min-height: 0.0625rem;
  min-width: 0.0625rem;
  white-space: pre-wrap;
}
@media screen and (width <= 56.1875rem) {
  .faq-card-text {
    font-size: 0.9375rem;
  }
}

.faq-card-button {
  align-items: center;
  border-radius: 62.4375rem;
  display: flex;
  flex-shrink: 0;
  height: 2.5rem;
  justify-content: center;
  min-height: 2.5rem;
  min-width: 4rem;
  position: relative;
  width: 4rem;
}
@media screen and (width <= 56.1875rem) {
  .faq-card-button {
    border-radius: 46.8281rem;
    height: 1.875rem;
    min-height: 1.875rem;
    min-width: 3rem;
    width: 3rem;
  }
}

.faq-card-button-bg {
  background-color: #fff;
  border-radius: 62.4375rem;
  inset: 0;
  pointer-events: none;
  position: absolute;
  transition: background-color 0.3s ease;
  z-index: 1;
}
@media screen and (width <= 56.1875rem) {
  .faq-card-button-bg {
    border-radius: 46.8281rem;
  }
}

.faq-card-button::after {
  background-image: url("https://placehold.jp/1000x1000.png");
  background-position: top left;
  background-size: 62.5rem 62.5rem;
  border-radius: 62.4375rem;
  content: "";
  inset: 0;
  opacity: 0.05;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}
@media screen and (width <= 56.1875rem) {
  .faq-card-button::after {
    background-size: 46.875rem 46.875rem;
    border-radius: 46.8281rem;
  }
}

.faq-card-icon-container {
  align-items: center;
  display: flex;
  height: 1.5rem;
  justify-content: center;
  overflow: hidden;
  position: relative;
  width: 1.5rem;
  z-index: 3;
}
@media screen and (width <= 56.1875rem) {
  .faq-card-icon-container {
    height: 1.125rem;
    width: 1.125rem;
  }
}

.faq-card-icon {
  display: block;
  flex-shrink: 0;
  position: absolute;
  transition: opacity 0.3s ease;
}

.faq-card-icon-plus {
  height: 1.5rem;
  opacity: 1;
  width: 1.5rem;
}
@media screen and (width <= 56.1875rem) {
  .faq-card-icon-plus {
    height: 1.125rem;
    width: 1.125rem;
  }
}

.faq-card-icon-minus {
  height: 1.5rem;
  opacity: 0;
  width: 1.5rem;
}
@media screen and (width <= 56.1875rem) {
  .faq-card-icon-minus {
    height: 1.125rem;
    width: 1.125rem;
  }
}

.faq-card[open] .faq-card-icon-plus {
  opacity: 0;
}

.faq-card[open] .faq-card-icon-minus {
  opacity: 1;
}

.faq-card-answer {
  overflow: hidden;
  transition: background-color 0.3s ease;
}

.faq-card[open] .faq-card-answer {
  background-color: #f0f9ff;
  border-bottom-left-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
  border-top: 0.0625rem solid #e2e8f0;
  opacity: 1;
}
@media screen and (width <= 56.1875rem) {
  .faq-card[open] .faq-card-answer {
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
  }
}

.faq-card-answer-wrapper {
  display: flex;
  gap: 0.75rem;
  min-height: 0;
  padding: 1.5rem;
}
@media screen and (width <= 56.1875rem) {
  .faq-card-answer-wrapper {
    gap: 0.5rem;
    padding: 1.5rem 1rem;
  }
}

.faq-card-answer-label {
  color: #173d96;
  font-family: Montserrat, sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (width <= 56.1875rem) {
  .faq-card-answer-label {
    font-size: 1rem;
  }
}

.faq-card-answer-content {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 0.75rem;
  min-height: 0.0625rem;
  min-width: 0.0625rem;
}

.faq-card-answer-text {
  color: #1e293b;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.02rem;
  line-height: 1.8;
  white-space: pre-wrap;
}
@media screen and (width <= 56.1875rem) {
  .faq-card-answer-text {
    font-size: 0.875rem;
    letter-spacing: 0.0175rem;
    line-height: 1.65;
  }
}

@media screen and (hover: hover) and (width >= 56.25rem) {
  .faq-card:hover {
    background-color: rgba(240, 249, 255, 0.5);
  }
  .faq-card:hover .faq-card-button-bg {
    background-color: #e0f2fe;
  }
  .faq-card[open]:hover .faq-card-answer {
    background-color: rgba(240, 249, 255, 0.5);
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.faq-list {
  width: 100%;
}

.faq-list__item.faq-card {
  width: 100%;
}

.faq-list__items {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 4rem;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .faq-list__items {
    margin-top: 3rem;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.faq-page-contents-section__list .faq-list__items {
  margin-top: 2.5rem;
}
@media screen and (width <= 56.1875rem) {
  .faq-page-contents-section__list .faq-list__items {
    margin-top: 1.5rem;
  }
}.preview-loading {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 30rem;
  }

  .preview-loading__text {
    color: #666;
    font-size: 1rem;
  }

  .preview-error {
    font-size: 1rem;
    padding: 4rem 10%;
    text-align: center;
  }@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.article-h3 {
  color: #1e293b;
  font-feature-settings: "palt";
  font-size: 2.125rem;
  font-weight: 900;
  letter-spacing: 0.0425rem;
  line-height: 1.4;
  margin-top: 4rem;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .article-h3 {
    font-size: 1.625rem;
    letter-spacing: 0.0325rem;
    margin-top: 3rem;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.article-h2 {
  color: #1e293b;
  font-feature-settings: "palt";
  font-size: 2.5rem;
  font-weight: 900;
  letter-spacing: 0.05rem;
  line-height: 1.3;
  margin-top: 8rem;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .article-h2 {
    font-size: 1.875rem;
    letter-spacing: 0.0375rem;
    margin-top: 4rem;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.article-image {
  margin-top: 3rem;
  width: 100%;
}

.article-image--media {
  flex: 1;
  margin-top: 0.5rem;
}
@media screen and (width <= 56.1875rem) {
  .article-image--media {
    margin-top: 1.5rem;
    width: 100%;
  }
}

.article-image--media .article-image__frame {
  margin: 0;
}

.article-image__frame {
  border-radius: 0.5rem;
  margin: 0 auto;
  overflow: hidden;
}

.article-image__image {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.article-image__frame--large {
  aspect-ratio: 1038/519;
  width: 100%;
}

.article-image__frame--medium {
  aspect-ratio: 720/480;
  width: min(100%, 45rem);
}
@media screen and (width <= 56.1875rem) {
  .article-image__frame--medium {
    aspect-ratio: 2/1;
    width: 100%;
  }
}

.article-image__frame--small {
  aspect-ratio: 480/320;
  width: min(100%, 30rem);
}
@media screen and (width <= 56.1875rem) {
  .article-image__frame--small {
    aspect-ratio: 2/1;
    width: 100%;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.article-media-row {
  align-items: flex-start;
  display: flex;
  gap: 2.25rem;
  margin-top: 2rem;
}
@media screen and (width <= 56.1875rem) {
  .article-media-row {
    flex-direction: column;
    gap: 0;
    margin-top: 0;
  }
}

.article-media-row + .article-media-row {
  margin-top: 3rem;
}
@media screen and (width <= 56.1875rem) {
  .article-media-row + .article-media-row {
    margin-top: 0;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.article-text {
  color: #1e293b;
  font-feature-settings: "palt";
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.04rem;
  line-height: 1.8;
  margin-top: 1.5rem;
  text-align: justify;
}
.article-text > :first-child {
  margin-top: 0;
}

.article-text + .article-text {
  margin-top: 0.75rem;
}

.article-media-row .article-text {
  margin-top: 0;
}
@media screen and (width <= 56.1875rem) {
  .article-media-row .article-text {
    margin-top: 1.5rem;
  }
}

.article-text strong {
  font-weight: 900;
}

.article-text__highlight {
  color: #b91c1c;
}

.article-text a {
  align-items: center;
  color: #173d96;
  display: inline-flex;
  gap: 0.25rem;
  letter-spacing: 0.04rem;
  line-height: 1.8;
  text-decoration: underline;
  text-underline-offset: 0.125rem;
  transition: opacity 0.3s ease;
  width: fit-content;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .article-text a:hover {
    opacity: 0.7;
  }
}

.article-text a img {
  display: block;
  height: 1.5rem;
  width: 1.5rem;
}

.article-text ul {
  list-style: none;
  margin-top: 1rem;
  padding: 0;
}

.article-text ul li {
  padding-left: 1.5rem;
  position: relative;
}

.article-text ul li::before {
  background-color: #0284c7;
  border-radius: 50%;
  content: "";
  height: 0.375rem;
  left: 0.2919rem;
  position: absolute;
  top: calc(0.9em - 0.1875rem);
  width: 0.375rem;
}

.article-text ul li + li {
  margin-top: 0.75rem;
}
@media screen and (width <= 56.1875rem) {
  .article-text ul li + li {
    margin-top: 0.5rem;
  }
}

.article-text ol {
  counter-reset: article-text-order;
  list-style: none;
  margin-top: 1rem;
}

.article-text ol li {
  align-items: baseline;
  counter-increment: article-text-order;
  display: flex;
  gap: 0.2rem;
}

.article-text ol li::before {
  color: #0369a1;
  content: counter(article-text-order) ".";
  flex-shrink: 0;
  font-family: Montserrat, sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.0275rem;
  line-height: 1.5;
  text-align: center;
  width: 1.5rem;
}
@media screen and (width <= 56.1875rem) {
  .article-text ol li::before {
    letter-spacing: 0.025rem;
    width: 1.25rem;
  }
}

.article-text ol li + li {
  margin-top: 0.75rem;
}
@media screen and (width <= 56.1875rem) {
  .article-text ol li + li {
    margin-top: 0.5rem;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.image-slider {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin: 5rem 0 8rem;
  width: 100%;
}
.image-slider.image-slider--top {
  overflow: hidden;
}
@media screen and (width <= 56.1875rem) {
  .image-slider {
    margin: 2.5rem 0 4rem;
  }
}

.image-slider__track-wrapper {
  width: 100%;
}
.image-slider__track-wrapper.image-slider__track-wrapper--section-inner-margin {
  margin-left: auto;
  margin-right: auto;
}
.image-slider--centered .image-slider__track-wrapper {
  display: flex;
  justify-content: center;
  padding-left: 0;
  padding-right: 0;
}

.image-slider__track {
  display: flex;
  gap: 1rem;
  transition: transform 0.3s ease;
  width: max-content;
}
@media screen and (width <= 56.1875rem) {
  .image-slider__track {
    gap: 0.5rem;
  }
}

.image-slider__controls {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  justify-content: flex-end;
  padding-right: 7%;
}
@media screen and (width <= 56.1875rem) {
  .image-slider__controls {
    padding-right: 10%;
  }
}
.image-slider--centered .image-slider__controls {
  display: none;
}

.image-slider__slide {
  height: 12.5rem;
  width: 25rem;
}
@media screen and (width <= 56.1875rem) {
  .image-slider__slide {
    height: 5rem;
    width: 10rem;
  }
}

.image-slider__image {
  border-radius: 0.75rem;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .image-slider__image {
    border-radius: 0.3rem;
  }
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.article-template {
  width: 100%;
}

.article-template__inner {
  padding-top: 8rem;
}
.article-template__inner > *:first-child {
  margin-top: 0;
}
.article-template__inner > *:last-child {
  margin-bottom: 0;
}
@media screen and (width <= 56.1875rem) {
  .article-template__inner {
    padding-top: 4rem;
  }
}

.article-template__back-link {
  margin-top: 5rem;
}

.article-template__button {
  display: grid;
  justify-content: center;
  margin-top: 3rem;
}

.article-template__content {
  overflow: hidden;
  width: 100%;
}

.article-template__media-text {
  flex: 1;
}
@media screen and (width <= 56.1875rem) {
  .article-template__media-text {
    margin-top: 1.5rem;
    width: 100%;
  }
}

.article-template__note {
  color: #475569;
  font-feature-settings: "palt";
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.015rem;
  line-height: 1.6;
  margin: 0;
  padding-left: 0.85rem;
  position: relative;
}
.article-template__note::before {
  content: "※";
  left: 0;
  position: absolute;
  top: 0;
}

.article-template__note + .article-template__note {
  margin-top: 0.25rem;
}

.article-template__notes {
  margin-top: 1rem;
}

.article-template__slider.image-slider {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 5rem;
  padding: 0;
  width: 100vw;
}
@media screen and (width <= 56.1875rem) {
  .article-template__slider.image-slider {
    margin-top: 3rem;
  }
}

.article-template__video {
  margin: 3rem auto 0;
  width: min(100%, 35rem);
}
.article-template__video iframe {
  aspect-ratio: 16/9;
  display: block;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.radio-buttons {
  width: 100%;
}

.radio-buttons__inner {
  background-color: #f1f5f9;
  border-radius: 1rem;
  padding: 2.25rem 2.5rem 2.5rem;
}

.radio-buttons__fieldset {
  border: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0;
  min-inline-size: 0;
  padding: 0;
}

.radio-buttons__title {
  color: #1e293b;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 1rem;
  padding: 0;
}

.radio-buttons__options {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  width: 100%;
}

.radio-buttons__option {
  cursor: pointer;
  position: relative;
}

.radio-buttons__input {
  block-size: 0.0625rem;
  clip-path: inset(50%);
  inline-size: 0.0625rem;
  margin: -0.0625rem;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
}

.radio-buttons__chip {
  align-items: center;
  background-color: #fff;
  border: 0.0625rem solid #cbd5e1;
  border-radius: 62.4375rem;
  color: #475569;
  display: inline-flex;
  gap: 0.25rem;
  padding: 0.75rem 1rem 0.75rem 0.75rem;
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.radio-buttons__indicator {
  background-color: #fff;
  border: 0.0625rem solid #64748b;
  border-radius: 50%;
  box-sizing: border-box;
  display: block;
  height: 1.25rem;
  width: 1.25rem;
}

.radio-buttons__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
}

.radio-buttons__input:checked + .radio-buttons__chip {
  background-color: #bae6fd;
  border-color: transparent;
  color: #1e293b;
}

.radio-buttons__input:checked + .radio-buttons__chip .radio-buttons__indicator {
  border: 0.3125rem solid #0369a1;
}

.radio-buttons__input:focus-visible + .radio-buttons__chip {
  outline: 0.125rem solid #0369a1;
  outline-offset: 0.125rem;
}

.radio-buttons__input:disabled + .radio-buttons__chip {
  opacity: 0.5;
}

@media screen and (width <= 56.1875rem) {
  .radio-buttons__inner {
    padding: 1.5rem;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.news-archive__empty {
  color: #475569;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  margin: 1.5rem 0 0;
  text-align: center;
}

.news-archive__filters {
  margin-bottom: 1.5rem;
}

.news-archive-block {
  padding-top: 3rem;
  width: 100%;
}

.news-archive {
  width: 100%;
}

.news-archive__pagination {
  margin-top: 3rem;
}

@media screen and (width >= 56.25rem) {
  .news-archive__filters {
    margin-bottom: 2.5rem;
  }
  .news-archive-block {
    padding-top: 5rem;
  }
  .news-archive__pagination {
    margin-top: 5rem;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.site-policy-section__section {
  margin-top: 4rem;
}
@media screen and (width <= 56.1875rem) {
  .site-policy-section__section {
    margin-top: 2rem;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.main-visual {
  position: relative;
  width: 100%;
}

.main-visual__heading {
  margin: 0;
}

.main-visual__badge {
  align-items: center;
  background-color: #fff;
  border-top-left-radius: 1.5rem;
  bottom: 0;
  display: flex;
  justify-content: center;
  padding: 1.25rem 0.5rem 0.5rem 1.5rem;
  position: absolute;
  right: 3%;
  text-align: center;
}
@media screen and (width <= 56.1875rem) {
  .main-visual__badge {
    border-top-left-radius: 1rem;
    bottom: -0.0625rem;
    padding: 0.75rem 0.5rem 0.5rem 0.75rem;
    right: 2%;
  }
}

.main-visual__badge-corner {
  display: block;
  position: absolute;
}

.main-visual__badge-corner img {
  display: block;
  height: 100%;
  width: 100%;
}

.main-visual__badge-corner--bottom {
  bottom: 0;
  height: 1.5rem;
  left: -1.5rem;
  width: 1.5rem;
}
@media screen and (width <= 56.1875rem) {
  .main-visual__badge-corner--bottom {
    height: 1rem;
    left: -1rem;
    width: 1rem;
  }
}

.main-visual__badge-corner--top {
  height: 1.5rem;
  right: 0;
  top: -1.5rem;
  width: 1.5rem;
}
@media screen and (width <= 56.1875rem) {
  .main-visual__badge-corner--top {
    height: 1rem;
    top: -1rem;
    width: 1rem;
  }
}

.main-visual__badge-subtitle {
  color: #1e293b;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.2;
  margin: 0;
  white-space: nowrap;
}
@media screen and (width <= 56.1875rem) {
  .main-visual__badge-subtitle {
    font-size: 0.625rem;
  }
}

.main-visual__badge-text {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
@media screen and (width <= 56.1875rem) {
  .main-visual__badge-text {
    gap: 0.125rem;
  }
}

.main-visual__badge-title {
  color: #1e293b;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.2;
  margin: 0;
  white-space: nowrap;
}
@media screen and (width <= 56.1875rem) {
  .main-visual__badge-title {
    font-size: 0.8125rem;
  }
}

.main-visual__image {
  display: block;
  height: auto;
  width: 100%;
}

.main-visual__picture {
  border-radius: 1.5rem;
  display: block;
  overflow: hidden;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .main-visual__picture {
    border-radius: 1rem;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.top-education-section__description {
  color: #1e293b;
  display: flex;
  flex-direction: column;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.045rem;
  line-height: 1.7;
  text-align: center;
}
@media screen and (width <= 56.1875rem) {
  .top-education-section__description {
    font-size: 0.875rem;
    letter-spacing: 0.035rem;
    text-align: left;
  }
}

.top-education-section__description p {
  margin: 0;
}

.top-education-section__intro {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}

.top-education-section__intro-content {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
}

.top-education-section__title {
  color: #1e293b;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.25rem;
  font-weight: 900;
  letter-spacing: 0.045rem;
  line-height: 1.2;
  margin: 0;
  text-align: center;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .top-education-section__title {
    font-size: 1.75rem;
    letter-spacing: 0.035rem;
  }
}

.top-education-section__visual {
  box-sizing: border-box;
  max-width: 87.5rem;
  padding: 0 10%;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .top-education-section__visual {
    max-width: 100%;
    padding: 0;
  }
}

.top-education-section__visual-image {
  display: block;
  height: auto;
  width: 100%;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.image-card {
  background-color: #fff;
  border-radius: 1.5rem;
  box-shadow: 0 0 3.125rem 0 rgba(226, 232, 240, 0.6);
  display: flex;
  flex-direction: column;
  padding: 1rem;
  width: 100%;
}

.image-card__image-wrapper {
  border-radius: 0.75rem;
  overflow: hidden;
  width: 100%;
}

.image-card__image {
  display: block;
  height: auto;
  width: 100%;
}

.image-card__content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2rem 2.5rem 2.5rem;
  width: 100%;
}

.image-card__title-wrapper {
  align-items: center;
  display: flex;
  width: 100%;
}

.page-h4.image-card__title {
  flex: 1;
  font-feature-settings: "palt";
}

.image-card__description {
  color: #1e293b;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.0225rem;
  line-height: 1.8;
  margin: 0;
  white-space: pre-wrap;
  width: 100%;
}

@media screen and (width <= 68.75rem) {
  .image-card {
    padding: 1rem 1rem 0;
    width: 100%;
  }
  .image-card__image-wrapper {
    border-radius: 0.5rem;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.top-education-item {
  align-items: flex-start;
  display: flex;
  gap: 2rem;
  width: 100%;
}
@media screen and (width <= 68.75rem) {
  .top-education-item {
    flex-direction: column;
    gap: 1.94rem;
  }
}

.top-education-item__card.image-card {
  width: 100%;
}
@media screen and (width <= 68.75rem) {
  .top-education-item__card.image-card {
    border-radius: 1rem;
    padding: 0.75rem 0.75rem 0;
  }
}

@media screen and (width <= 68.75rem) {
  .top-education-item__card .image-card__content {
    gap: 0.5rem;
    padding: 1rem 0.75rem 1.5rem;
  }
}

@media screen and (width <= 68.75rem) {
  .top-education-item__card .image-card__description {
    font-size: 0.9375rem;
    letter-spacing: 0.0187rem;
    line-height: 1.65;
  }
}

@media screen and (width <= 68.75rem) {
  .top-education-item__card .image-card__title {
    font-size: 1.25rem;
    letter-spacing: 0.025rem;
    line-height: 1.4;
  }
}

.top-education-item__cards {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 3rem;
  min-height: 0.0625rem;
  min-width: 0.0625rem;
}
@media screen and (width <= 68.75rem) {
  .top-education-item__cards {
    flex: 0 1 auto;
    gap: 1rem;
    min-height: 0;
    width: 100%;
  }
}

.top-education-item__eyebrow {
  align-items: center;
  color: #0369a1;
  display: flex;
  font-family: Montserrat, sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  gap: 0.5rem;
  letter-spacing: 0.0175rem;
  line-height: 1.4;
  margin: 0;
  white-space: nowrap;
}

.top-education-item__eyebrow-dot {
  background-color: #0369a1;
  border-radius: 62.4375rem;
  display: block;
  flex-shrink: 0;
  height: 0.375rem;
  width: 0.375rem;
}

.top-education-item__heading {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 30.6875rem;
  position: sticky;
  top: 11.9375rem;
  width: 100%;
}
@media screen and (width <= 68.75rem) {
  .top-education-item__heading {
    max-width: none;
    position: static;
    top: auto;
  }
}

.top-education-item__title {
  color: #1e293b;
  display: flex;
  flex-direction: column;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3rem;
  font-weight: 900;
  letter-spacing: 0.06rem;
  line-height: 1.3;
  margin: 0;
  white-space: nowrap;
}
@media screen and (width <= 68.75rem) {
  .top-education-item__title {
    font-size: 2.25rem;
    letter-spacing: 0.045rem;
    white-space: normal;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.top-education-section {
  background: linear-gradient(180deg, #fff 0%, #f0f9ff 5%, #f0f9ff 95%, #fff 100%);
  overflow: visible;
  padding: 15rem 0 20rem;
  position: relative;
  width: 100%;
}
@media screen and (width <= 68.75rem) {
  .top-education-section {
    padding: 8rem 0;
  }
}

.top-education-section::before {
  background: url("/common/image/bg_noise.webp") 0 0/3.125rem 3.125rem repeat;
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.top-education-section__button {
  align-self: center;
  margin-top: 5rem;
}
@media screen and (width <= 68.75rem) {
  .top-education-section__button {
    margin-top: 4rem;
  }
}

.top-education-section__inner {
  align-items: center;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1;
}

.top-education-section__items {
  display: flex;
  flex-direction: column;
  gap: 9rem;
  margin-top: 8rem;
  width: 100%;
}
@media screen and (width <= 68.75rem) {
  .top-education-section__items {
    gap: 4rem;
    margin-top: 4rem;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.top-about-section {
  background-color: #fff;
  overflow: hidden;
  padding: 10rem 0 0;
  width: 100%;
}
@media screen and (width <= 68.75rem) {
  .top-about-section {
    padding: 8rem 0 0;
  }
}

.top-about-section__button--pc {
  margin-top: 5rem;
}
@media screen and (width <= 68.75rem) {
  .top-about-section__button--pc {
    display: none;
  }
}

.top-about-section__button--sp {
  display: none;
}
@media screen and (width <= 68.75rem) {
  .top-about-section__button--sp {
    display: inline-flex;
    margin-top: 3rem;
  }
}

.top-about-section__content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 2rem;
  min-width: 0.0625rem;
  width: 100%;
}
@media screen and (width <= 68.75rem) {
  .top-about-section__content {
    gap: 1.5rem;
    max-width: none;
    padding: 0 10%;
    width: 100%;
  }
}

.top-about-section__description {
  color: #1e293b;
  display: flex;
  flex-direction: column;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-size: 1rem;
  font-weight: 500;
  gap: 1.5rem;
  letter-spacing: 0.02rem;
  line-height: 2.2;
  width: 100%;
}
@media screen and (width <= 68.75rem) {
  .top-about-section__description {
    font-size: 1rem;
    gap: 1.5rem;
    letter-spacing: 0.02rem;
  }
}

.top-about-section__description p {
  margin: 0;
  text-align: justify;
}

.top-about-section__visual {
  flex-shrink: 0;
  min-width: 0.0625rem;
  width: 55.556%;
}
@media screen and (width <= 68.75rem) {
  .top-about-section__visual {
    margin-top: 2.5rem;
    width: 100%;
  }
}

.top-about-section__visual-image {
  aspect-ratio: 1624/1520;
  display: block;
  height: auto;
  width: 100%;
}

.top-about-section__inner {
  align-items: flex-end;
  display: flex;
  gap: 4%;
  margin: 0 auto;
  padding: 0 0 0 7%;
  width: 100%;
}
@media screen and (width <= 68.75rem) {
  .top-about-section__inner {
    align-items: center;
    flex-direction: column;
    gap: 0;
    max-width: none;
    padding: 0;
  }
}

.top-about-section__title {
  color: #173d96;
  display: flex;
  flex-direction: column;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.625rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.4;
  margin: 0;
  white-space: nowrap;
}
@media screen and (width <= 56.25rem) {
  .top-about-section__title {
    font-size: 1.625rem;
  }
}

.top-about-section__title-line {
  display: block;
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.news-card {
  align-items: flex-end;
  background-color: #f0f9ff;
  border-radius: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  overflow: hidden;
  padding: 2.5rem 1.5rem 1.5rem 2.5rem;
  text-decoration: none;
  transition: background-color 0.3s ease;
  width: 100%;
}

.news-card-body {
  display: flex;
  flex-direction: column;
  padding-right: 1rem;
  width: 100%;
}

.news-card-category {
  align-items: center;
  border: 0.0625rem solid #173d96;
  border-radius: 0.25rem;
  box-sizing: border-box;
  display: flex;
  height: 1.5625rem;
  justify-content: center;
  padding: 0 0.5rem;
}

.news-card-category-text {
  color: #173d96;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1;
  margin: 0;
  text-align: center;
}

.news-card-content {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: 100%;
}

.news-card-date {
  color: #475569;
  font-family: Montserrat, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.02rem;
  line-height: 1.2;
  margin: 0;
}

.news-card-header {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  width: 100%;
}

.news-card-icon {
  --news-card-icon-absolute-height: 0.714063rem;
  --news-card-icon-absolute-width: 0.98125rem;
  align-items: center;
  background-color: #fff;
  border-radius: 62.4375rem;
  display: flex;
  height: 2.5rem;
  justify-content: center;
  overflow: hidden;
  padding: 0.5rem 1.25rem;
  position: relative;
  transition: background-color 0.3s ease;
  width: 4rem;
}

.news-card-icon::after {
  background: url("/common/image/bg_noise.webp") 0 0/3.125rem 3.125rem repeat;
  border-radius: 62.4375rem;
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.news-card-icon-image {
  display: block;
  flex: 0 0 50%;
  margin: 0;
}

.news-card-icon-image--current,
.news-card-icon-image--next {
  height: var(--news-card-icon-absolute-height);
  width: var(--news-card-icon-absolute-width);
}

.news-card-icon-image-slider {
  align-items: center;
  display: flex;
  height: 100%;
  transform: translateX(0);
  transition: transform 0.2s ease;
  width: calc(var(--news-card-icon-absolute-width) * 2);
}

.news-card-icon-image-viewport {
  height: var(--news-card-icon-absolute-height);
  overflow: hidden;
  width: var(--news-card-icon-absolute-width);
}

.news-card-icon-image-wrapper {
  align-items: center;
  display: flex;
  height: 1.5rem;
  justify-content: center;
  position: relative;
  width: 1.5rem;
  z-index: 1;
}

.news-card-icon-wrapper {
  height: 2.5rem;
  width: 4rem;
}

.news-card-title {
  color: #1e293b;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.04rem;
  line-height: 1.8;
  margin: 0;
}

.news-card-title-wrapper {
  align-items: center;
  display: flex;
  width: 100%;
}

@media screen and (hover: hover) and (width >= 56.25rem) {
  .news-card-icon-image-slider {
    flex-direction: row-reverse;
    transform: translateX(-50%);
  }
  .news-card:hover {
    background-color: rgba(240, 249, 255, 0.5);
  }
  .news-card:hover .news-card-icon {
    background-color: #e0f2fe;
  }
  .news-card:hover .news-card-icon-image-slider {
    transform: translateX(0);
  }
}
@media screen and (width >= 68.8125rem) {
  .news-card-icon-wrapper {
    margin-top: auto;
  }
}
@media screen and (width <= 68.75rem) {
  .news-card {
    border-radius: 1rem;
    gap: 1rem;
    padding: 1.5rem;
  }
  .news-card-body {
    padding-right: 0;
  }
  .news-card-icon {
    --news-card-icon-absolute-height: 0.535563rem;
    --news-card-icon-absolute-width: 0.735938rem;
    border-radius: 46.828125rem;
    height: 1.875rem;
    padding: 0.375rem 0.9375rem;
    width: 3rem;
  }
  .news-card-icon::after {
    background-size: 46.875rem 46.875rem;
    border-radius: 46.828125rem;
  }
  .news-card-icon-image-wrapper {
    height: 1.125rem;
    width: 1.125rem;
  }
  .news-card-icon-wrapper {
    height: 1.875rem;
    width: 3rem;
  }
  .news-card-title {
    font-size: 0.9375rem;
    letter-spacing: 0.01875rem;
    line-height: 1.65;
  }
}
@media screen and (width <= 56.1875rem) {
  .news-card-icon-image-slider {
    transform: translateX(0);
    transition: none;
  }
  .news-card-icon-image-viewport {
    overflow: visible;
  }
  .news-card-icon-image--next {
    display: none;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.top-news-section {
  width: 100%;
}

.main-visual + .top-news-section {
  padding-top: 5rem;
}
@media screen and (width <= 56.1875rem) {
  .main-visual + .top-news-section {
    padding-top: 2.5rem;
  }
}

.top-news-section__card .news-card-title {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}
@media screen and (width <= 68.75rem) {
  .top-news-section__card .news-card-title {
    -webkit-line-clamp: 3;
    line-clamp: 3;
  }
}

.top-news-section__card.news-card {
  min-width: 9.5rem;
}
@media screen and (width <= 68.75rem) {
  .top-news-section__card.news-card {
    min-width: 0;
    width: 100%;
  }
}

.top-news-section__cards {
  display: grid;
  flex: 1 0 0;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-height: 0.0625rem;
  min-width: 0.0625rem;
}
@media screen and (width <= 68.75rem) {
  .top-news-section__cards {
    display: flex;
    flex: none;
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
  }
}

.top-news-section__header {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 2rem;
}
@media screen and (width <= 68.75rem) {
  .top-news-section__header {
    align-items: center;
    flex-direction: row;
    gap: 1.5rem;
    justify-content: space-between;
    width: 100%;
  }
}

.top-news-section__inner {
  align-items: flex-start;
  display: flex;
  gap: clamp(2rem, 7vw - 1.5rem, 6rem);
}
@media screen and (width <= 68.75rem) {
  .top-news-section__inner {
    align-items: stretch;
    flex-direction: column;
    gap: 1.5rem;
  }
}

.top-news-section__title {
  color: #173d96;
  font-family: Montserrat, sans-serif;
  font-size: 3rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0;
  white-space: nowrap;
}
@media screen and (width <= 68.75rem) {
  .top-news-section__title {
    font-size: 2.25rem;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.top-schoollife-section {
  width: 100%;
}
@media screen and (width <= 68.75rem) {
  .top-schoollife-section {
    background: linear-gradient(180deg, #0ea5e9 0%, #173d96 100%);
    overflow: hidden;
    padding: 0;
    position: relative;
  }
}
@media screen and (width <= 68.75rem) {
  .top-schoollife-section::before {
    background: url("/common/image/bg_noise.webp") 0 0/3.125rem 3.125rem repeat;
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
  }
}

.top-schoollife-section__button {
  align-self: flex-start;
}
@media screen and (width <= 68.75rem) {
  .top-schoollife-section__button {
    align-self: center;
  }
}

.top-schoollife-section__button.button--secondary {
  border: 0.0625rem solid #cbd5e1;
}
.top-schoollife-section .top-schoollife-section__button.button--secondary:not(:hover) {
  border: none;
}

.top-schoollife-section__content {
  align-items: center;
  display: flex;
  flex: 0 0 50%;
  height: fit-content;
  min-width: 0.0625rem;
  padding: 10% 5%;
  position: relative;
  width: 50%;
}
@media screen and (width <= 68.75rem) {
  .top-schoollife-section__content {
    align-items: flex-start;
    flex: none;
    overflow: visible;
    padding: 5rem 7% 2.5rem;
    width: 100%;
  }
}
@media screen and (width <= 56.1875rem) {
  .top-schoollife-section__content {
    padding: 5rem 10% 2.5rem;
  }
}

.top-schoollife-section__content-inner {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  position: relative;
  width: 100%;
  z-index: 1;
}

.top-schoollife-section__description {
  color: #fff;
  display: flex;
  flex-direction: column;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.8;
}
@media screen and (width <= 68.75rem) {
  .top-schoollife-section__description {
    font-size: 1rem;
  }
}

.top-schoollife-section__description p {
  margin: 0;
}

.section-inner.top-schoollife-section__inner {
  background: url("/common/image/bg_noise.webp") 0 0/3.125rem 3.125rem repeat, linear-gradient(90deg, #173d96 0%, #173d96 50%, #0ea5e9 100%);
  border-radius: 1.5rem;
  display: flex;
  height: auto;
  overflow: hidden;
}
@media screen and (width <= 68.75rem) {
  .section-inner.top-schoollife-section__inner {
    background: url("/common/image/bg_noise.webp") 0 0/3.125rem 3.125rem repeat, linear-gradient(90deg, #173d96 0%, #0ea5e9 100%);
    border-radius: 0;
    flex-direction: column;
    height: auto;
    position: relative;
    width: 100%;
    z-index: 1;
  }
}

.top-schoollife-section__title {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.5rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.3;
  margin: 0;
}
@media screen and (width <= 68.75rem) {
  .top-schoollife-section__title {
    font-size: 2.25rem;
    line-height: 1.4;
  }
}

.top-schoollife-section__title-line {
  display: block;
}
@media screen and (width <= 68.75rem) {
  .top-schoollife-section__title-line {
    display: inline;
  }
}

.top-schoollife-section__text {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
}

.top-schoollife-section__visual {
  border-bottom-left-radius: 1.5rem;
  border-top-left-radius: 1.5rem;
  flex: 0 0 50%;
  min-width: 0.0625rem;
  overflow: hidden;
  position: relative;
  width: 50%;
}
@media screen and (width <= 68.75rem) {
  .top-schoollife-section__visual {
    display: none;
  }
}

.top-schoollife-section__visual-image {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
}

.top-schoollife-section__visual-mobile {
  display: none;
}
@media screen and (width <= 68.75rem) {
  .top-schoollife-section__visual-mobile {
    background: url("/common/image/bg_noise.webp") 0 0/3.125rem 3.125rem repeat, linear-gradient(90deg, #173d96 0%, #0ea5e9 100%);
    background-color: transparent;
    display: block;
    overflow: hidden;
    padding: 0 0 2.5rem;
    position: relative;
    z-index: 1;
  }
}

.top-schoollife-section__visual-mobile-image {
  display: block;
  height: auto;
  margin: 0 auto;
  max-width: 48.9375rem;
  width: 100%;
}
@media screen and (width <= 68.75rem) {
  .top-schoollife-section__visual-mobile-image {
    height: auto;
    left: 50%;
    margin: 0;
    max-width: none;
    position: relative;
    transform: translateX(-50%);
    width: max(100%, 48.9375rem);
    z-index: 2;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.faq-section {
  padding: 8rem 0;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .faq-section {
    padding: 5rem 0;
  }
}

.faq-section__button-area {
  display: flex;
  justify-content: center;
  padding-top: 3rem;
}
@media screen and (width <= 56.1875rem) {
  .faq-section__button-area {
    padding-top: 2.5rem;
  }
}

@media screen and (width <= 56.1875rem) {
  .faq-section .faq-list__heading.page-h2 {
    font-size: 2.25rem;
    letter-spacing: 0.045rem;
  }
}@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200 400 500 600 700;
  src: url("/common/font/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 500 700 900;
  src: url("/common/font/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  margin: 0;
}

main {
  background-color: #fff;
}

a *,
button * {
  pointer-events: none;
}

.lower-page {
  width: 100%;
}

.u-hover-opacity {
  transition: opacity 0.3s ease;
}

.u-pc-only {
  display: none;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-sp-only {
    display: none;
  }
}

@media screen and (hover: hover) and (min-width: 56.25rem) {
  .u-hover-opacity:hover {
    opacity: 0.7;
  }
}
.contact-section__container {
  background-color: #f8fafc;
  background-image: url("/common/image/bg_gradation.webp");
  background-position: center;
  background-size: cover;
  border-radius: 1.5rem;
  overflow: hidden;
  padding: 7rem 14%;
  position: relative;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .contact-section__container {
    border-radius: 0;
    padding: 8rem 10%;
  }
}

.contact-section__container::before {
  background: url("/common/image/bg_noise_black.webp") 0 0/3.125rem 3.125rem repeat;
  border-radius: inherit;
  content: "";
  inset: 0;
  opacity: 0.3;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.contact-section__actions {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.contact-section__content {
  color: #1e293b;
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 1.5rem;
  min-height: 0.0625rem;
  min-width: 0.0625rem;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .contact-section__content {
    flex: 0 1 auto;
    min-height: auto;
    min-width: auto;
  }
}

.contact-section__description {
  display: flex;
  flex-direction: column;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.0225rem;
  line-height: 1.8;
  width: 100%;
}
@media screen and (width <= 56.1875rem) {
  .contact-section__description {
    font-size: 1rem;
    letter-spacing: 0.02rem;
  }
}

.contact-section__description p {
  margin: 0;
}

.contact-section__inner {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 2.5rem;
  position: relative;
  width: 100%;
  z-index: 1;
}
@media screen and (width <= 56.1875rem) {
  .contact-section__inner {
    align-items: stretch;
    flex-direction: column;
  }
}

.contact-section__note {
  color: #1e293b;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.035rem;
  line-height: 1.65;
  text-align: center;
  white-space: nowrap;
}

.contact-section__note-line {
  margin: 0;
}

.contact-section__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.5rem;
  font-weight: 900;
  letter-spacing: 0.05rem;
  line-height: 1.3;
  margin: 0;
}
@media screen and (width <= 56.1875rem) {
  .contact-section__title {
    font-size: 2.25rem;
    letter-spacing: 0.045rem;
    line-height: 1.4;
  }
}