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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* ======================================================
//  MARK: Interactive elements
// ====================================================== */
:where(summary) {
  /* The default triangle marker is often unnecessary, so it is disabled. */
  list-style-type: "";
  /* Changing the cursor to a pointer clarifies the clickability of the element. */
  cursor: pointer;
}

:where(summary)::-webkit-details-marker {
  /* In Safari versions earlier than 18.4 (released in April 2025), a triangle icon is displayed using the -webkit-details-marker CSS pseudo-element, so it should be removed. */
  display: none;
}

:where(dialog, [popover]) {
  /*
  * When these fixed-position elements are scrolled, preventing scroll chaining on the underlying page and bounce effects on mobile improves usability.
  * Disabling block-direction scroll chaining is recommended.
  */
  overscroll-behavior-block: contain;
  /* The following default styles are often unnecessary, so they are reset. */
  padding: unset;
  border: unset;
}

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

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

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

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

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

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

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

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

*,
::before,
::after {
  min-inline-size: 0;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
}
html:focus-within {
  scroll-behavior: smooth;
}

body {
  position: relative;
  overflow-inline: hidden;
  font-family: var(--font-noto);
  font-weight: 400;
  font-feature-settings: "palt";
  color: var(--color-black);
  background-color: var(--color-bg-gray01);
}
body::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  background-color: var(--color-white);
  opacity: 0;
  transition: opacity 0.2s ease;
}
body.is-open {
  overflow: hidden;
  background-color: var(--color-white);
}
body.is-open::after {
  opacity: 1;
}

h1 {
  margin-block: unset;
}

a {
  text-decoration: none;
}

button {
  padding: unset;
  border: unset;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}
.layout-inner {
  max-inline-size: 1920px;
  margin-inline: auto;
}

:root {
  --screens-xxxl: 1920;
  --screen-xxl: 1440;
  --screen-xl: 1280;
  --screen-lg: 1024;
  --screen-md: 800;
  --screen-xs: 400;
  --z-header: 10;
  --color-white: #ffffff;
  --color-black: #222222;
  --color-main: #bc322d;
  --color-text-gray01: #666666;
  --color-text-gray02: #999999;
  --color-line-gray01: #d9d9d9;
  --color-line-gray02: #cccccc;
  --color-bg-gray01: #f2f2f2;
  --color-bg-gray02: #e5e5e5;
  --color-bg-gray03: #dddddd;
  --font-noto: "Noto Sans JP", sans-serif;
  --font-shippori: "Shippori Mincho", serif;
  --font-marcellus: "Marcellus", serif;
  --font-cormorant: "Cormorant Infant", serif;
  --ease-in-sine: cubic-bezier(0.47, 0, 0.745, 0.715);
  --ease-out-sine: cubic-bezier(0.39, 0.575, 0.565, 1);
  --ease-in-out-sine: cubic-bezier(0.445, 0.05, 0.55, 0.95);
  --ease-in-quad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  --ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  --ease-in-cubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);
  --ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1);
  --ease-in-quart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
  --ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --ease-in-out-quart: cubic-bezier(0.77, 0, 0.175, 1);
  --ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  --ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1);
  --ease-in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
  --ease-in-out-expo: cubic-bezier(1, 0, 0, 1);
  --ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.335);
  --ease-out-circ: cubic-bezier(0.075, 0.82, 0.165, 1);
  --ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  --ease-in-back: cubic-bezier(0.6, -0.28, 0.735, 0.045);
  --ease-out-back: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --ease-in-out-back: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --spacing-full-negative: calc(50% - 50vw);
  --rounded-full: calc(infinity * 1px);
}

/* footer
================================================== */
.l-footer {
  position: sticky;
  top: 100vh;
  width: 100%;
}
.l-footer > .footer-main {
  position: relative;
  padding-block: 100px 60px;
  padding-inline: 40px;
  background-color: var(--color-white);
}
@media screen and (max-width: 799px) {
  .l-footer > .footer-main {
    padding-block: 56px 24px;
    padding-inline: 24px;
  }
}
.l-footer > .footer-main::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100vw;
  height: 100%;
  margin-inline: var(--spacing-full-negative);
  content: "";
  background-color: var(--color-white);
}
.l-footer > .footer-main > .inner {
  max-inline-size: 1200px;
  width: 100%;
  margin-inline: auto;
  container: footer-inner/inline-size;
}
.l-footer > .footer-main > .inner > .footer-main-top {
  display: flex;
  -moz-column-gap: clamp(3.75rem, -3.942rem + 12.02vw, 6.875rem);
       column-gap: clamp(3.75rem, -3.942rem + 12.02vw, 6.875rem);
  align-items: flex-start;
}
@container footer-inner (max-width: 900px) {
  .l-footer > .footer-main > .inner > .footer-main-top {
    flex-direction: column;
    row-gap: 40px;
  }
}
@media screen and (max-width: 799px) {
  .l-footer > .footer-main > .inner > .footer-main-top {
    flex-direction: column;
    row-gap: 20px;
  }
}
.l-footer > .footer-main > .inner > .footer-main-top > .info-area {
  display: grid;
  flex-shrink: 0;
  row-gap: 40px;
}
@media screen and (max-width: 799px) {
  .l-footer > .footer-main > .inner > .footer-main-top > .info-area {
    row-gap: 20px;
  }
}
.l-footer > .footer-main > .inner > .footer-main-top > .info-area > .logo {
  width: 210px;
  aspect-ratio: 210/84.76;
}
@media screen and (max-width: 799px) {
  .l-footer > .footer-main > .inner > .footer-main-top > .info-area > .logo {
    width: 170px;
  }
}
.l-footer > .footer-main > .inner > .footer-main-top > .info-area > .logo > .link {
  display: block;
  width: 100%;
  height: 100%;
}
.l-footer > .footer-main > .inner > .footer-main-top > .info-area > .info.en > .text {
  letter-spacing: 0.02em;
}
.l-footer > .footer-main > .inner > .footer-main-top > .info-area > .info.en > .map-link {
  letter-spacing: 0.02em;
}
.l-footer > .footer-main > .inner > .footer-main-top > .info-area > .info.en > .tel {
  letter-spacing: 0.02em;
}
.l-footer > .footer-main > .inner > .footer-main-top > .info-area > .info > .text {
  font-size: 13px;
  line-height: 180%;
  color: var(--color-black);
  letter-spacing: 0.06em;
}
.l-footer > .footer-main > .inner > .footer-main-top > .info-area > .info > .text + .text {
  margin-block-start: 10px;
}
@media screen and (max-width: 799px) {
  .l-footer > .footer-main > .inner > .footer-main-top > .info-area > .info > .text + .text {
    margin-block-start: 8px;
  }
}
.l-footer > .footer-main > .inner > .footer-main-top > .info-area > .info > .map-link {
  display: inline-block;
  margin-block-start: 4px;
  font-size: 13px;
  line-height: 180%;
  color: var(--color-black);
  letter-spacing: 0.06em;
  text-decoration: underline;
}
.l-footer > .footer-main > .inner > .footer-main-top > .info-area > .info > .tel {
  margin-block-start: 8px;
  font-size: 13px;
  line-height: 180%;
  color: var(--color-black);
  letter-spacing: 0.06em;
}
.l-footer > .footer-main > .inner > .footer-main-top > .link-list-area {
  display: grid;
  grid-template-columns: repeat(4, max-content);
  gap: 29px 70px;
  justify-content: flex-end;
  margin-block-start: 18px;
}
@media screen and (width <= 1080px) {
  .l-footer > .footer-main > .inner > .footer-main-top > .link-list-area {
    grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
    justify-content: flex-start;
    width: 100%;
  }
}
@media screen and (max-width: 799px) {
  .l-footer > .footer-main > .inner > .footer-main-top > .link-list-area {
    display: none;
  }
}
.l-footer > .footer-main > .inner > .footer-main-top > .link-list-area.en .link {
  letter-spacing: 0.02em !important;
}
.l-footer > .footer-main > .inner > .footer-main-top > .link-list-area > .item > .link {
  display: grid;
  row-gap: 2px;
  font-size: 18px;
  font-weight: 500;
  line-height: 180%;
  color: var(--color-black);
  letter-spacing: 0.06em;
}
.l-footer > .footer-main > .inner > .footer-main-top > .link-list-area > .item > .link > .en {
  font-family: var(--font-marcellus);
  font-size: 10px;
  line-height: 100%;
  color: var(--color-text-gray02);
  letter-spacing: 0.02em;
}
.l-footer > .footer-main > .inner > .footer-main-top > .link-list-area > .item > .sub-list {
  display: grid;
  row-gap: 6px;
  margin-block-start: 18px;
}
.l-footer > .footer-main > .inner > .footer-main-top > .link-list-area > .item > .sub-list > .item > .link {
  font-size: 13px;
  font-weight: 500;
  line-height: 180%;
  color: var(--color-text-gray01);
  letter-spacing: 0.06em;
}
.l-footer > .footer-main > .inner > .footer-main-bottom {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  margin-block-start: 60px;
}
@media screen and (max-width: 799px) {
  .l-footer > .footer-main > .inner > .footer-main-bottom {
    row-gap: 64px;
    justify-content: flex-start;
  }
}
.l-footer > .footer-main > .inner > .footer-main-bottom > .group-area {
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: 12px;
}
@media screen and (max-width: 799px) {
  .l-footer > .footer-main > .inner > .footer-main-bottom > .group-area {
    width: 100%;
  }
}
.l-footer > .footer-main > .inner > .footer-main-bottom > .group-area > .title {
  font-family: var(--font-marcellus);
  font-size: 12px;
  line-height: 180%;
  color: var(--color-main);
  letter-spacing: 0.02em;
}
.l-footer > .footer-main > .inner > .footer-main-bottom > .group-area > .list {
  display: flex;
  -moz-column-gap: 12px;
       column-gap: 12px;
}
@media screen and (max-width: 799px) {
  .l-footer > .footer-main > .inner > .footer-main-bottom > .group-area > .list {
    flex-direction: column;
    row-gap: 12px;
  }
}
.l-footer > .footer-main > .inner > .footer-main-bottom > .group-area > .list.en > .item > .link > .text {
  letter-spacing: 0.02em !important;
}
.l-footer > .footer-main > .inner > .footer-main-bottom > .group-area > .list > .item {
  width: 220px;
  background-color: var(--color-bg-gray01);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .l-footer > .footer-main > .inner > .footer-main-bottom > .group-area > .list > .item {
    width: 100%;
  }
}
.l-footer > .footer-main > .inner > .footer-main-bottom > .group-area > .list > .item > .link {
  display: flex;
  -moz-column-gap: 16px;
       column-gap: 16px;
  align-items: center;
  padding: 12px;
}
@media screen and (max-width: 799px) {
  .l-footer > .footer-main > .inner > .footer-main-bottom > .group-area > .list > .item > .link {
    padding: 0;
  }
}
.l-footer > .footer-main > .inner > .footer-main-bottom > .group-area > .list > .item > .link > .image {
  flex-shrink: 0;
  width: 54px;
  aspect-ratio: 54/42;
}
@media screen and (max-width: 799px) {
  .l-footer > .footer-main > .inner > .footer-main-bottom > .group-area > .list > .item > .link > .image {
    width: 77px;
  }
}
.l-footer > .footer-main > .inner > .footer-main-bottom > .group-area > .list > .item > .link > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 2px;
}
@media screen and (max-width: 799px) {
  .l-footer > .footer-main > .inner > .footer-main-bottom > .group-area > .list > .item > .link > .image img {
    border-radius: 4px;
  }
}
.l-footer > .footer-main > .inner > .footer-main-bottom > .group-area > .list > .item > .link > .text {
  font-size: 13px;
  font-weight: 500;
  line-height: 150%;
  color: var(--color-black);
  letter-spacing: 0.06em;
}
@media screen and (max-width: 799px) {
  .l-footer > .footer-main > .inner > .footer-main-bottom > .group-area > .list > .item > .link > .text {
    font-size: 15px;
  }
  .l-footer > .footer-main > .inner > .footer-main-bottom > .group-area > .list > .item > .link > .text > br {
    display: none;
  }
}
.l-footer > .footer-main > .inner > .footer-main-bottom > .group-area > .list > .item > .link > .text > .icon {
  display: inline-block;
  aspect-ratio: 10/8;
  margin-inline-start: 2px;
  transform: translateY(-5px);
}
.l-footer > .footer-main > .inner > .footer-main-bottom > .bottom-right {
  display: flex;
  -moz-column-gap: 24px;
       column-gap: 24px;
}
@container footer-inner (max-width: 1100px) {
  .l-footer > .footer-main > .inner > .footer-main-bottom > .bottom-right {
    margin-block-end: 0;
  }
}
@container footer-inner (max-width: 350px) {
  .l-footer > .footer-main > .inner > .footer-main-bottom > .bottom-right {
    -moz-column-gap: 16px;
         column-gap: 16px;
  }
}
.l-footer > .footer-main > .inner > .footer-main-bottom > .bottom-right > .link-area {
  display: flex;
  -moz-column-gap: 24px;
       column-gap: 24px;
  align-items: center;
}
@media screen and (max-width: 799px) {
  .l-footer > .footer-main > .inner > .footer-main-bottom > .bottom-right > .link-area {
    -moz-column-gap: 20px;
         column-gap: 20px;
  }
}
@container footer-inner (max-width: 350px) {
  .l-footer > .footer-main > .inner > .footer-main-bottom > .bottom-right > .link-area {
    -moz-column-gap: 14px;
         column-gap: 14px;
  }
}
.l-footer > .footer-main > .inner > .footer-main-bottom > .bottom-right > .link-area > .link {
  font-size: 12px;
  line-height: 180%;
  color: var(--color-text-gray01);
  letter-spacing: 0.06em;
}
@media screen and (max-width: 799px) {
  .l-footer > .footer-main > .inner > .footer-main-bottom > .bottom-right > .link-area > .link {
    font-size: 11px;
  }
}
.l-footer > .footer-main > .inner > .footer-main-bottom > .bottom-right > .language-area {
  display: flex;
  -moz-column-gap: 10px;
       column-gap: 10px;
  align-items: center;
  padding-inline-start: 24px;
  border-left: 1px solid var(--color-line-gray01);
}
@container footer-inner (max-width: 350px) {
  .l-footer > .footer-main > .inner > .footer-main-bottom > .bottom-right > .language-area {
    padding-inline-start: 16px;
  }
}
.l-footer > .footer-main > .inner > .footer-main-bottom > .bottom-right > .language-area > .text {
  font-family: var(--font-marcellus);
  font-size: 11px;
  line-height: 100%;
  color: var(--color-text-gray01);
}
.l-footer > .footer-main > .inner > .footer-main-bottom > .bottom-right > .language-area > .select {
  display: flex;
  -moz-column-gap: 5.5px;
       column-gap: 5.5px;
  align-items: center;
  font-size: 11px;
  color: var(--color-text-gray01);
}
.l-footer > .footer-main > .inner > .footer-main-bottom > .bottom-right > .language-area > .select > .current {
  font-family: var(--font-marcellus);
  font-size: 13px;
  line-height: 100%;
  color: var(--color-black);
  letter-spacing: 0;
}
.l-footer > .footer-main > .inner > .footer-main-bottom > .bottom-right > .language-area > .select > .link {
  font-family: var(--font-marcellus);
  font-size: 13px;
  line-height: 100%;
  color: var(--color-black);
  letter-spacing: 0;
  opacity: 0.5;
  transition: opacity 0.2s ease;
}
.l-footer > .footer-main > .inner > .footer-main-bottom > .bottom-right > .language-area > .select > .link:focus-visible {
  opacity: 1;
}
@media (any-hover: hover) {
  .l-footer > .footer-main > .inner > .footer-main-bottom > .bottom-right > .language-area > .select > .link:hover {
    opacity: 1;
  }
}
.l-footer > .footer-bottom {
  position: relative;
  display: flex;
  justify-content: space-between;
  padding-block: 23px 21px;
  padding-inline: 120px;
  background-color: var(--color-black);
}
@media screen and (max-width: 799px) {
  .l-footer > .footer-bottom {
    padding-block: 20px;
    padding-inline: 24px;
  }
}
.l-footer > .footer-bottom::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100vw;
  height: 100%;
  margin-inline: var(--spacing-full-negative);
  content: "";
  background-color: var(--color-black);
}
.l-footer > .footer-bottom > .inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-inline-size: 1200px;
  width: 100%;
  margin-inline: auto;
}
.l-footer > .footer-bottom > .inner > .copyright {
  font-family: var(--font-marcellus);
  font-size: 11px;
  line-height: 150%;
  color: var(--color-white);
  letter-spacing: 0.06em;
}
@media screen and (max-width: 799px) {
  .l-footer > .footer-bottom > .inner > .copyright {
    font-size: 10px;
  }
}
.l-footer > .footer-bottom > .inner > .page-top-area > .page-top {
  display: flex;
  -moz-column-gap: 10px;
       column-gap: 10px;
  align-items: center;
}
.l-footer > .footer-bottom > .inner > .page-top-area > .page-top > .text {
  font-family: var(--font-marcellus);
  font-size: 13px;
  line-height: 150%;
  color: var(--color-white);
  letter-spacing: 0.06em;
}
@media screen and (max-width: 799px) {
  .l-footer > .footer-bottom > .inner > .page-top-area > .page-top > .text {
    font-size: 12px;
  }
}
.l-footer > .footer-bottom > .inner > .page-top-area > .page-top > .icon {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  background-color: var(--color-bg-gray01);
  border-radius: var(--rounded-full);
}
.l-footer > .footer-bottom > .inner > .page-top-area > .page-top > .icon svg {
  width: 8px;
  height: 5px;
}
.l-footer > .footer-bottom > .inner > .page-top-area > .page-top > .icon svg path {
  fill: var(--color-black);
}
.l-footer .footer-accordion {
  display: none;
}
@media screen and (max-width: 799px) {
  .l-footer .footer-accordion {
    display: block;
    width: 100%;
  }
}
.l-footer .footer-accordion.en .text {
  letter-spacing: 0.02em !important;
}
.l-footer .footer-accordion > .item {
  border-bottom: 1px solid var(--color-line-gray01);
}
.l-footer .footer-accordion > .item > .link {
  display: grid;
  grid-template-columns: 1fr 16px;
  -moz-column-gap: 8px;
       column-gap: 8px;
  align-items: center;
  padding-block: 20px 16px;
  padding-inline-end: 4px;
}
.l-footer .footer-accordion > .item > .link > .icon {
  display: grid;
  place-items: center;
  width: 16px;
  aspect-ratio: 1/1;
  background-color: var(--color-main);
  border-radius: var(--rounded-full);
  transform: rotate(90deg);
}
.l-footer .footer-accordion > .item > .link > .icon svg {
  width: 8px;
  height: 5px;
  transform: translateY(-1px);
}
.l-footer .footer-accordion > .item > .link > .icon svg path {
  fill: var(--color-white);
}
.l-footer .footer-accordion > .item > .link > .text {
  font-size: 16px;
  font-weight: 600;
  line-height: 180%;
  letter-spacing: 0.06em;
}
.l-footer .footer-accordion .accordion-head {
  display: grid;
  grid-template-columns: 1fr 16px;
  -moz-column-gap: 8px;
       column-gap: 8px;
  align-items: center;
  width: 100%;
  padding-block: 16px;
  padding-inline-end: 4px;
  cursor: pointer;
  background-color: transparent;
}
.l-footer .footer-accordion .accordion-head[aria-expanded=false] > .icon .vertical-line {
  transform: rotate(0deg);
}
.l-footer .footer-accordion .accordion-head > .icon {
  display: grid;
  place-items: center;
  width: 16px;
  aspect-ratio: 1/1;
}
.l-footer .footer-accordion .accordion-head > .icon .vertical-line {
  transform: rotate(90deg);
  transform-origin: center;
  transition: transform 0.3s ease;
}
.l-footer .footer-accordion .accordion-head > .text {
  font-size: 16px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.06em;
}
.l-footer .footer-accordion .accordion-body {
  display: grid;
  visibility: hidden;
  row-gap: 10px;
  height: 0;
  padding-block-end: 20px;
  padding-inline-start: 16px;
  overflow: hidden;
  opacity: 0;
  transition: height 0.3s ease, opacity 0.3s ease;
}
.l-footer .footer-accordion .accordion-body[aria-hidden=true] {
  padding-block-end: 0;
}
.l-footer .footer-accordion .accordion-body .text {
  line-height: 165%;
  letter-spacing: 0.06em;
}
.l-footer .footer-accordion .accordion-body > .inner-item-list {
  margin-block-start: 10px;
}
.l-footer .footer-accordion .accordion-body > .inner-item-list > .text {
  font-size: 15px;
  font-weight: 400;
  line-height: 165%;
  letter-spacing: 0.06em;
}
.l-footer .footer-accordion .accordion-body > .inner-item-list > .inner-list {
  position: relative;
  display: grid;
  row-gap: 10px;
  padding-inline-start: 16px;
  margin-block-start: 10px;
  margin-inline-start: 6px;
}
.l-footer .footer-accordion .accordion-body > .inner-item-list > .inner-list::before {
  position: absolute;
  top: 6px;
  left: 0;
  width: 1px;
  height: calc(100% - 8px);
  content: "";
  background-color: var(--color-line-gray01);
}
.l-footer .footer-accordion .accordion-body > .inner-item-list + .inner-item {
  margin-block-start: 10px;
}
.l-footer .footer-accordion .contact-item {
  margin-block-start: 30px;
}
.l-footer .footer-accordion .contact-item > .button {
  display: inline-flex;
  align-items: center;
  width: 100%;
  height: 62px;
  padding-block: 11px;
  padding-inline: 23px 24px;
  font-size: 1.125rem;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  background-color: var(--color-main);
  border: 1px solid transparent;
  border-radius: 3px;
  transition: opacity 0.2s ease;
}
.l-footer .footer-accordion .contact-item > .button .mail-icon {
  display: flex;
  align-items: center;
  aspect-ratio: 12/0.2;
}
.l-footer .footer-accordion .contact-item > .button.en > .text {
  letter-spacing: 0.02em;
}
.l-footer .footer-accordion .contact-item > .button > .text {
  display: inline-block;
  padding-inline-start: 19px;
  margin-inline-start: 16px;
  font-size: 16px;
  font-weight: 600;
  line-height: 170%;
  color: var(--color-white);
  letter-spacing: 0.06em;
  border-left: 1px dashed rgba(255, 255, 255, 0.5);
}
.l-footer .footer-accordion .contact-item > .button > .icon {
  display: grid;
  place-items: center;
  width: 16px;
  aspect-ratio: 1/1;
  margin-inline-start: auto;
  pointer-events: none;
  background-color: var(--color-white);
  border-radius: var(--rounded-full);
  transition: background-color 0.2s ease;
}
.l-footer .footer-accordion .contact-item > .button > .icon > svg {
  width: 5px;
  height: 8px;
}
.l-footer .footer-accordion .contact-item > .button > .icon > svg path {
  fill: var(--color-main);
  transition: fill 0.2s ease;
}

/* stylelint-disable custom-property-pattern */
/* header
================================================== */
.l-header {
  --_footer-height: 747px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: var(--z-header);
  max-inline-size: 280px;
  width: 100%;
  height: calc(100% - var(--_footer-height));
  padding-block: 0 10px;
  padding-inline: 40px 10px;
  transition: background-color 0.2s ease, border-right 0.2s ease;
}
@media screen and (max-width: 1023px) {
  .l-header {
    max-inline-size: 100%;
    height: 98px;
  }
}
.l-header::after {
  position: absolute;
  bottom: calc(var(--_footer-height) * -1);
  left: 0;
  width: 280px;
  height: var(--_footer-height);
  pointer-events: none;
  content: "";
  background-color: var(--color-white);
  opacity: 0;
  transition: opacity 0.2s ease, border-right 0.2s ease;
}
.l-header.is-open {
  background-color: var(--color-white);
  border-right: 1px solid var(--color-line-gray01);
}
.l-header.is-open::after {
  border-right: 1px solid var(--color-line-gray01);
  opacity: 1;
}
.l-header > .logo-area {
  position: absolute;
  top: 0;
  left: 40px;
  z-index: 1;
}
@media screen and (max-width: 799px) {
  .l-header > .logo-area {
    left: 20px;
  }
}
.l-header > .logo-area > .link {
  display: grid;
  place-items: center;
  padding-block: 28px;
  padding-inline: 20px;
  background-color: var(--color-white);
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
}
@media screen and (max-width: 799px) {
  .l-header > .logo-area > .link {
    padding-block: 20px 14px;
    padding-inline: 15px;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
  }
}
.l-header > .logo-area > .link > .logo {
  width: 150px;
  aspect-ratio: 150/94.27;
}
@media screen and (max-width: 799px) {
  .l-header > .logo-area > .link > .logo {
    width: 100px;
  }
}
.l-header .nav-area {
  position: sticky;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100vh;
  padding-block-end: 48px;
}
@media screen and (max-width: 1023px) {
  .l-header .nav-area {
    display: none;
  }
}
.l-header .nav-area > .list {
  display: grid;
}
.l-header .nav-area > .list > .item {
  position: relative;
}
.l-header .nav-area > .list > .item:has(.is-open) > .text {
  color: var(--color-main);
}
.l-header .nav-area > .list > .item:has(.is-open) > .text > .icon svg .vertical-line {
  transform: rotate(90deg);
  transform-origin: center;
}
.l-header .nav-area > .list > .item > .text {
  display: flex;
  -moz-column-gap: 8px;
       column-gap: 8px;
  align-items: center;
  padding-block: 7px;
  font-size: 15px;
  font-weight: 500;
  line-height: 150%;
  color: var(--color-black);
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: color 0.2s ease;
}
.l-header .nav-area > .list > .item > .text:focus-visible {
  color: var(--color-main);
}
@media (any-hover: hover) {
  .l-header .nav-area > .list > .item > .text:hover {
    color: var(--color-main);
  }
}
.l-header .nav-area > .list > .item > .text > .icon {
  display: grid;
  place-items: center;
}
.l-header .nav-area > .list > .item > .text > .icon svg .vertical-line {
  transition: transform 0.2s ease;
}
.l-header .nav-area > .list > .item > .text:has(.small) {
  padding-block: 9px;
}
.l-header .nav-area > .list > .item > .text > .small {
  font-size: 11px;
}
.l-header.en .nav-area > .list > .item > .text {
  letter-spacing: 0.02em;
}
.l-header.en .nav-area > .list > .item > .mega-menu * {
  letter-spacing: 0.02em;
}
.l-header.en .nav-area > .list > .item > .mega-menu .media-text {
  line-height: 140%;
}
.l-header.en .nav-area > .nav-contact .c-button-contact > .text {
  letter-spacing: 0.02em;
}
.l-header .mega-menu {
  position: fixed;
  top: 0;
  left: 280px;
  display: flex;
  flex-direction: column;
  width: calc(100% - 280px);
  height: 100%;
  padding-block: 40px;
  padding-inline: 80px;
  overflow-y: auto;
  pointer-events: none;
  background: var(--color-white);
  opacity: 0;
  transform: translateX(50%);
}
@media screen and (min-width: 1920px) {
  .l-header .mega-menu {
    padding-block: 20vh 40px;
  }
}
.l-header .mega-menu.is-open {
  pointer-events: auto;
  opacity: 1;
  transform: translateX(0);
}
.l-header .mega-menu > .image {
  width: 100%;
  max-width: 1000px;
  height: 34.5vh;
  max-height: 500px;
}
.l-header .mega-menu > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
}
.l-header .mega-menu .head {
  position: relative;
  max-width: 1000px;
  padding-block-end: 24px;
  margin-block-start: 40px;
  border-bottom: 1px solid var(--color-line-gray01);
}
.l-header .mega-menu .head::before {
  position: absolute;
  bottom: -1.5px;
  left: 0;
  width: 60px;
  height: 3px;
  content: "";
  background-color: var(--color-main);
}
.l-header .mega-menu .head .head-text {
  font-size: 22px;
  font-weight: 600;
  line-height: 170%;
  color: var(--color-black);
  letter-spacing: 0.08em;
}
.l-header .mega-menu .body {
  max-width: 1000px;
  margin-block-start: 48px;
}
.l-header .mega-menu .media-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(228px, 1fr));
  gap: 32px 3.2%;
}
@media screen and (width <= 1179px) {
  .l-header .mega-menu .media-list {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  }
}
.l-header .mega-menu .media {
  display: flex;
  -moz-column-gap: 20px;
       column-gap: 20px;
  align-items: flex-start;
}
.l-header .mega-menu .media-link {
  display: flex;
  -moz-column-gap: 20px;
       column-gap: 20px;
  align-items: flex-start;
}
.l-header .mega-menu .media-title {
  font-size: 18px;
  font-weight: 600;
  line-height: 170%;
  color: var(--color-black);
  letter-spacing: 0.08em;
}
.l-header .mega-menu .media-text {
  margin-block-start: 12px;
  font-size: 12px;
  line-height: 170%;
  color: var(--color-black);
  letter-spacing: 0.08em;
}
.l-header .mega-menu .media-image {
  flex-shrink: 0;
  width: 33.9743589744%;
  aspect-ratio: 1/1;
}
@media screen and (width <= 1179px) {
  .l-header .mega-menu .media-image {
    display: none;
  }
}
.l-header .mega-menu .media-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
}
.l-header .mega-menu .ir-body {
  position: relative;
  max-width: 1000px;
  margin-block-start: 48px;
  container: ir-link-body/inline-size;
}
.l-header .mega-menu .ir-body > .list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px 32px;
  max-width: 1200px;
}
@container ir-link-body (max-width: 800px) {
  .l-header .mega-menu .ir-body > .list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 0;
  }
}
.l-header .mega-menu .ir-body > .list > .item {
  padding-block-end: 16px;
}
.l-header .mega-menu .ir-body > .list > .item:not(:first-child) {
  padding-inline-start: 32px;
  border-left: 1px solid var(--color-line-gray02);
}
@container ir-link-body (max-width: 800px) {
  .l-header .mega-menu .ir-body > .list > .item:not(:first-child) {
    padding-inline-start: 0;
    border-left: none;
  }
}
@container ir-link-body (max-width: 800px) {
  .l-header .mega-menu .ir-body > .list > .item:nth-child(2n+1) {
    padding-inline-end: 24px;
  }
}
@container ir-link-body (max-width: 800px) {
  .l-header .mega-menu .ir-body > .list > .item:nth-child(2n) {
    padding-inline-start: 24px;
    border-left: 1px solid var(--color-line-gray02);
  }
}
@container ir-link-body (max-width: 800px) {
  .l-header .mega-menu .ir-body > .list > .item:nth-child(3) {
    position: relative;
  }
  .l-header .mega-menu .ir-body > .list > .item:nth-child(3)::before {
    position: absolute;
    top: -20px;
    left: 0;
    width: 200%;
    height: 1px;
    content: "";
    background-color: var(--color-line-gray02);
  }
}
.l-header .mega-menu .ir-body > .list > .item:last-child .inner-list {
  margin-block-start: 0;
}
.l-header .mega-menu .ir-body > .list > .item > .title {
  font-size: 18px;
  font-weight: 600;
  line-height: 180%;
  color: var(--color-black);
  letter-spacing: 0.08em;
}
.l-header .mega-menu .ir-body > .list > .item > .inner-list {
  display: grid;
  row-gap: 8px;
  margin-block-start: 20px;
}
.l-header .mega-menu .ir-body > .list > .item > .inner-list > li:has(.link-button) + li {
  margin-block-start: 8px;
}
.l-header .mega-menu .ir-body > .list > .item > .inner-list > li:has(.link-button) + li:has(.icon-link) {
  margin-block-start: 12px;
}
.l-header .nav-contact {
  --_item-small-padding: 9px;
  --_nav-contact-margin: 20px;
  margin-block-start: calc(var(--_nav-contact-margin) - var(--_item-small-padding));
}
.l-header .nav-contact > .c-button-contact {
  width: 160px;
}
.l-header .language-area {
  display: flex;
  -moz-column-gap: 10px;
       column-gap: 10px;
  align-items: center;
  margin-block-start: 26px;
}
.l-header .language-area > .text {
  font-family: var(--font-marcellus);
  font-size: 11px;
  line-height: 100%;
  color: var(--color-text-gray01);
  letter-spacing: 0;
}
.l-header .language-area > .select {
  display: flex;
  align-items: center;
  color: var(--color-text-gray01);
}
.l-header .language-area > .select > .current {
  font-family: var(--font-marcellus);
  font-size: 13px;
  line-height: 100%;
  color: var(--color-black);
  letter-spacing: 0;
}
.l-header .language-area > .select > .link {
  font-family: var(--font-marcellus);
  font-size: 13px;
  line-height: 100%;
  color: var(--color-black);
  letter-spacing: 0;
  opacity: 0.5;
  transition: opacity 0.2s ease;
}
.l-header .language-area > .select > .link:focus-visible {
  opacity: 1;
}
@media (any-hover: hover) {
  .l-header .language-area > .select > .link:hover {
    opacity: 1;
  }
}
.l-header .nav-toggle {
  display: none;
}
@media screen and (max-width: 1023px) {
  .l-header .nav-toggle {
    position: fixed;
    top: 10px;
    right: 10px;
    z-index: 101;
    display: block;
    width: 60px;
    height: 60px;
  }
}
.l-header .nav-toggle > .open-icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 1;
  transition: opacity 0.4s ease;
}
.l-header .nav-toggle > .close-icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transition: opacity 0.4s ease;
}
.l-header .nav-toggle[aria-expanded=true] > .open-icon {
  opacity: 0;
}
.l-header .nav-toggle[aria-expanded=true] > .close-icon {
  display: block;
  opacity: 1;
}
.l-header .nav-area-sp {
  display: none;
}
@media screen and (max-width: 1023px) {
  .l-header .nav-area-sp {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    display: block;
    visibility: hidden;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background-color: rgba(0, 0, 0, 0.7);
    opacity: 0;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    will-change: opacity;
  }
}
.l-header .nav-area-sp[aria-hidden=false] {
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
}
.l-header .nav-area-sp[aria-hidden=false] > .inner {
  opacity: 1;
  transform: translateX(0);
}
.l-header .nav-area-sp > .inner {
  position: relative;
  width: 90%;
  height: 100%;
  margin-inline-start: auto;
  background-color: var(--color-white);
  opacity: 0;
  transform: translateX(100%);
  transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.4s cubic-bezier(0.23, 1, 0.32, 1), visibility 0.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition-delay: 0.2s;
}
.l-header .nav-area-sp .inner-head {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 84px;
  background-color: var(--color-white);
}
.l-header .nav-area-sp .inner-head::after {
  position: absolute;
  top: 84px;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 48px;
  pointer-events: none;
  content: "";
  background: linear-gradient(0deg, rgba(247, 247, 247, 0), #ffffff);
  opacity: 1;
}
.l-header .nav-area-sp .inner-head > .logo-area {
  position: absolute;
  top: 20px;
  left: 28px;
  width: 100px;
  aspect-ratio: 100/63.46;
}
.l-header .nav-area-sp .inner-body {
  width: 100%;
  height: 100%;
  padding-block: 106px 72px;
  padding-inline: 24px;
  overflow: auto;
}
.l-header .nav-area-sp.en .text {
  letter-spacing: 0.02em !important;
}
.l-header .nav-area-sp .item {
  border-bottom: 1px solid var(--color-line-gray01);
}
.l-header .nav-area-sp .item > .link {
  display: grid;
  grid-template-columns: 1fr 16px;
  -moz-column-gap: 8px;
       column-gap: 8px;
  align-items: center;
  padding-block: 20px 16px;
  padding-inline-end: 4px;
}
.l-header .nav-area-sp .item > .link > .icon {
  display: grid;
  place-items: center;
  width: 16px;
  aspect-ratio: 1/1;
  background-color: var(--color-main);
  border-radius: var(--rounded-full);
  transform: rotate(90deg);
}
.l-header .nav-area-sp .item > .link > .icon svg {
  width: 8px;
  height: 5px;
  transform: translateY(-1px);
}
.l-header .nav-area-sp .item > .link > .icon svg path {
  fill: var(--color-white);
}
.l-header .nav-area-sp .item > .link > .text {
  font-size: 16px;
  font-weight: 600;
  line-height: 180%;
  letter-spacing: 0.06em;
}
.l-header .nav-area-sp .accordion-head {
  display: grid;
  grid-template-columns: 1fr 16px;
  -moz-column-gap: 8px;
       column-gap: 8px;
  align-items: center;
  width: 100%;
  padding-block: 16px;
  padding-inline-end: 4px;
  cursor: pointer;
  background-color: transparent;
}
.l-header .nav-area-sp .accordion-head[aria-expanded=false] > .icon .vertical-line {
  transform: rotate(0deg);
}
.l-header .nav-area-sp .accordion-head > .icon {
  display: grid;
  place-items: center;
  width: 16px;
  aspect-ratio: 1/1;
}
.l-header .nav-area-sp .accordion-head > .icon .vertical-line {
  transform: rotate(90deg);
  transform-origin: center;
  transition: transform 0.3s ease;
}
.l-header .nav-area-sp .accordion-head > .text {
  font-size: 16px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.06em;
}
.l-header .nav-area-sp .accordion-body {
  display: grid;
  visibility: hidden;
  row-gap: 10px;
  height: 0;
  padding-block-end: 20px;
  padding-inline-start: 16px;
  overflow: hidden;
  opacity: 0;
  transition: height 0.3s ease, opacity 0.3s ease;
}
.l-header .nav-area-sp .accordion-body[aria-hidden=true] {
  padding-block-end: 0;
}
.l-header .nav-area-sp .accordion-body .text {
  line-height: 165%;
  letter-spacing: 0.06em;
}
.l-header .nav-area-sp .accordion-body > .inner-item-list {
  margin-block-start: 10px;
}
.l-header .nav-area-sp .accordion-body > .inner-item-list > .text {
  font-size: 15px;
  font-weight: 400;
  line-height: 165%;
  letter-spacing: 0.06em;
}
.l-header .nav-area-sp .accordion-body > .inner-item-list > .inner-list {
  position: relative;
  display: grid;
  row-gap: 10px;
  padding-inline-start: 16px;
  margin-block-start: 10px;
  margin-inline-start: 6px;
}
.l-header .nav-area-sp .accordion-body > .inner-item-list > .inner-list::before {
  position: absolute;
  top: 6px;
  left: 0;
  width: 1px;
  height: calc(100% - 8px);
  content: "";
  background-color: var(--color-line-gray01);
}
.l-header .nav-area-sp .accordion-body > .inner-item-list + .inner-item {
  margin-block-start: 10px;
}
.l-header .nav-area-sp .contact-item {
  margin-block-start: 30px;
}
.l-header .nav-area-sp .contact-item > .button {
  display: inline-flex;
  align-items: center;
  width: 100%;
  height: 62px;
  padding-block: 11px;
  padding-inline: 23px 24px;
  font-size: 1.125rem;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  background-color: var(--color-main);
  border: 1px solid transparent;
  border-radius: 3px;
  transition: opacity 0.2s ease;
}
.l-header .nav-area-sp .contact-item > .button .mail-icon {
  display: flex;
  align-items: center;
  aspect-ratio: 12/0.2;
}
.l-header .nav-area-sp .contact-item > .button.en > .text {
  letter-spacing: 0.02em;
}
.l-header .nav-area-sp .contact-item > .button > .text {
  display: inline-block;
  padding-inline-start: 19px;
  margin-inline-start: 16px;
  font-size: 16px;
  font-weight: 600;
  line-height: 170%;
  color: var(--color-white);
  letter-spacing: 0.06em;
  border-left: 1px dashed rgba(255, 255, 255, 0.5);
}
.l-header .nav-area-sp .contact-item > .button > .icon {
  display: grid;
  place-items: center;
  width: 16px;
  aspect-ratio: 1/1;
  margin-inline-start: auto;
  pointer-events: none;
  background-color: var(--color-white);
  border-radius: var(--rounded-full);
  transition: background-color 0.2s ease;
}
.l-header .nav-area-sp .contact-item > .button > .icon > svg {
  width: 5px;
  height: 8px;
}
.l-header .nav-area-sp .contact-item > .button > .icon > svg path {
  fill: var(--color-main);
  transition: fill 0.2s ease;
}

/* heading
================================================== */
.c-lower-main {
  display: grid;
  row-gap: 16px;
}
@media screen and (max-width: 799px) {
  .c-lower-main {
    row-gap: 3px;
  }
}
.c-lower-main.en > .pre-title {
  line-height: 150%;
  letter-spacing: 0.02em;
}
.c-lower-main.en > .title-area > .title,
.c-lower-main.en > .title-area > .sub-title {
  line-height: 150%;
  letter-spacing: 0.02em;
}
.c-lower-main > .pre-title {
  font-size: 16px;
  font-weight: 600;
  line-height: 165%;
  color: var(--color-main);
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .c-lower-main > .pre-title {
    font-size: 13px;
  }
}
.c-lower-main > .title-area {
  position: relative;
  display: flex;
  -moz-column-gap: 20px;
       column-gap: 20px;
  align-items: flex-end;
  padding-block-end: 32px;
  border-bottom: 1px solid var(--color-line-gray01);
}
@media screen and (max-width: 799px) {
  .c-lower-main > .title-area {
    flex-direction: column;
    row-gap: 4px;
    align-items: flex-start;
    padding-block-end: 20px;
  }
}
.c-lower-main > .title-area::before {
  position: absolute;
  bottom: -1.5px;
  left: 0;
  width: 100px;
  height: 3px;
  content: "";
  background-color: var(--color-main);
}
@media screen and (max-width: 799px) {
  .c-lower-main > .title-area::before {
    width: 80px;
  }
}
.c-lower-main > .title-area > .title {
  font-size: 32px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .c-lower-main > .title-area > .title {
    font-size: 26px;
  }
}
.c-lower-main > .title-area > .sub-title {
  margin-block-end: 11px;
  font-family: var(--font-marcellus);
  font-size: 12px;
  font-weight: 400;
  line-height: 100%;
  color: var(--color-text-gray01);
  letter-spacing: 0.02em;
}
@media screen and (max-width: 799px) {
  .c-lower-main > .title-area > .sub-title {
    margin-block-end: 0;
    font-size: 10px;
  }
}

.c-decoration-left-with-subtitle {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  row-gap: 6px;
  padding-inline-start: 32px;
}
.c-decoration-left-with-subtitle.en > .title,
.c-decoration-left-with-subtitle.en > .sub-title {
  letter-spacing: 0.02em;
}
.c-decoration-left-with-subtitle::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: calc(100% - 5px);
  content: "";
  background-color: var(--color-main);
}
.c-decoration-left-with-subtitle > .title {
  font-size: 26px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.c-decoration-left-with-subtitle > .sub-title {
  font-size: 16px;
  font-weight: 500;
  line-height: 165%;
  letter-spacing: 0.08em;
}

.c-decoration-left {
  position: relative;
  padding-inline-start: 16px;
  font-size: 22px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.c-decoration-left.en {
  letter-spacing: 0.02em;
}
.c-decoration-left::before {
  position: absolute;
  top: 5px;
  left: 0;
  width: 3px;
  height: calc(100% - 10px);
  content: "";
  background-color: var(--color-main);
}

.c-decoration-bottom-full {
  position: relative;
  padding-block-end: 20px;
  font-size: 24px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
  border-bottom: 1px solid var(--color-line-gray01);
}
@media screen and (max-width: 799px) {
  .c-decoration-bottom-full {
    padding-block-end: 16px;
    font-size: 20px;
  }
}
.c-decoration-bottom-full.en {
  letter-spacing: 0.02em;
}
.c-decoration-bottom-full::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 26px;
  height: 2px;
  content: "";
  background-color: var(--color-main);
}

.c-decoration-bottom {
  position: relative;
  padding-block-end: 24px;
  font-size: 24px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .c-decoration-bottom {
    font-size: 22px;
  }
}
.c-decoration-bottom.en {
  letter-spacing: 0.02em;
}
.c-decoration-bottom::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 26px;
  height: 2px;
  content: "";
  background-color: var(--color-main);
}

.c-with-subtitle {
  display: flex;
  flex-direction: column-reverse;
  row-gap: 4px;
}
.c-with-subtitle.en {
  row-gap: 0;
}
.c-with-subtitle.en > .title,
.c-with-subtitle.en > .sub-title {
  line-height: 150%;
  letter-spacing: 0.02em;
}
.c-with-subtitle > .title {
  font-size: 26px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 799px) {
  .c-with-subtitle > .title {
    font-size: 22px;
  }
}
.c-with-subtitle > .sub-title {
  font-family: var(--font-marcellus);
  font-size: 11px;
  font-weight: 400;
  line-height: 100%;
  color: var(--color-text-gray01);
  letter-spacing: 0.02em;
}
@media screen and (max-width: 799px) {
  .c-with-subtitle > .sub-title {
    font-size: 10px;
  }
}

/* button
================================================== */
.c-button-primary {
  display: inline-flex;
  -moz-column-gap: 8px;
       column-gap: 8px;
  align-items: center;
  justify-content: center;
  width: 240px;
  padding-block: 16px;
  padding-inline: 16px;
  background-color: var(--color-main);
  border: 1px solid var(--color-main);
  border-radius: 4px;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.c-button-primary.en > .text {
  letter-spacing: 0.02em;
}
.c-button-primary:focus-visible {
  background-color: var(--color-white);
}
.c-button-primary:focus-visible > .text {
  color: var(--color-main);
}
.c-button-primary:focus-visible > .icon {
  background-color: var(--color-main);
}
.c-button-primary:focus-visible > .icon > svg path {
  fill: var(--color-white);
}
@media (any-hover: hover) {
  .c-button-primary:hover {
    background-color: var(--color-white);
  }
  .c-button-primary:hover > .text {
    color: var(--color-main);
  }
  .c-button-primary:hover > .icon {
    background-color: var(--color-main);
  }
  .c-button-primary:hover > .icon > svg path {
    fill: var(--color-white);
  }
}
.c-button-primary > .text {
  font-size: 16px;
  font-weight: 400;
  line-height: 170%;
  color: var(--color-white);
  letter-spacing: 0.06em;
  transition: color 0.2s ease;
}
.c-button-primary > .icon {
  display: grid;
  place-items: center;
  width: 16px;
  aspect-ratio: 1/1;
  pointer-events: none;
  background-color: var(--color-white);
  border-radius: var(--rounded-full);
  transition: background-color 0.2s ease;
}
.c-button-primary > .icon > svg {
  width: 5px;
  height: 8px;
}
.c-button-primary > .icon > svg path {
  fill: var(--color-main);
  transition: fill 0.2s ease;
}

.c-button-outline {
  display: inline-flex;
  -moz-column-gap: 8px;
       column-gap: 8px;
  align-items: center;
  justify-content: center;
  width: 240px;
  padding-block: 16px;
  padding-inline: 16px;
  background-color: var(--color-white);
  border: 1px solid var(--color-main);
  border-radius: 4px;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.c-button-outline.en > .text {
  letter-spacing: 0.02em;
}
.c-button-outline:focus-visible {
  background-color: var(--color-main);
}
.c-button-outline:focus-visible > .text {
  color: var(--color-white);
}
.c-button-outline:focus-visible > .icon {
  background-color: var(--color-white);
}
.c-button-outline:focus-visible > .icon > svg path {
  fill: var(--color-main);
}
@media (any-hover: hover) {
  .c-button-outline:hover {
    background-color: var(--color-main);
  }
  .c-button-outline:hover > .text {
    color: var(--color-white);
  }
  .c-button-outline:hover > .icon {
    background-color: var(--color-white);
  }
  .c-button-outline:hover > .icon > svg path {
    fill: var(--color-main);
  }
}
.c-button-outline > .text {
  font-size: 16px;
  font-weight: 400;
  line-height: 170%;
  color: var(--color-main);
  letter-spacing: 0.06em;
  transition: color 0.2s ease;
}
.c-button-outline > .icon {
  display: grid;
  place-items: center;
  width: 16px;
  aspect-ratio: 1/1;
  pointer-events: none;
  background-color: var(--color-main);
  border-radius: var(--rounded-full);
  transition: background-color 0.2s ease;
}
.c-button-outline > .icon > svg {
  width: 5px;
  height: 8px;
}
.c-button-outline > .icon > svg path {
  fill: var(--color-white);
  transition: fill 0.2s ease;
}

.c-button-link {
  display: inline-flex;
  -moz-column-gap: 6px;
       column-gap: 6px;
  align-items: center;
  padding-block: 9px 11px;
  padding-inline: 21px 19px;
  background-color: var(--color-bg-gray02);
  border: 1px solid var(--color-line-gray01);
  border-radius: 4px;
}
.c-button-link.en > .text {
  letter-spacing: 0.02em;
}
.c-button-link > .text {
  font-size: 13px;
  font-weight: 500;
  line-height: 170%;
  letter-spacing: 0.08em;
  text-decoration: underline;
}
.c-button-link > .icon {
  display: grid;
  place-items: center;
  width: 16px;
  aspect-ratio: 1/1;
  pointer-events: none;
  background-color: var(--color-main);
  border-radius: var(--rounded-full);
}
.c-button-link > .icon svg {
  width: 8px;
  height: 5px;
  transform: rotate(-90deg) translateY(0.5px);
}
.c-button-link > .icon svg path {
  fill: var(--color-white);
}

.c-button-anchor {
  display: inline-flex;
  -moz-column-gap: 6px;
       column-gap: 6px;
  align-items: center;
  padding-block: 9px 11px;
  padding-inline: 21px 19px;
  background-color: var(--color-bg-gray02);
  border: 1px solid var(--color-line-gray01);
  border-radius: 4px;
}
.c-button-anchor.en > .text {
  letter-spacing: 0.02em;
}
.c-button-anchor > .text {
  font-size: 13px;
  font-weight: 500;
  line-height: 170%;
  letter-spacing: 0.08em;
  text-decoration: underline;
}
.c-button-anchor > .icon {
  display: grid;
  place-items: center;
  width: 16px;
  aspect-ratio: 1/1;
  pointer-events: none;
  background-color: var(--color-main);
  border-radius: var(--rounded-full);
}
.c-button-anchor > .icon svg {
  width: 8px;
  height: 5px;
  transform: translateY(0.5px);
}
.c-button-anchor > .icon svg path {
  fill: var(--color-white);
}

/* contact button */
.c-button-contact {
  display: inline-flex;
  align-items: center;
  padding-block: 11px;
  padding-inline: 15px;
  font-size: 1.125rem;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  background-color: var(--color-main);
  border: 1px solid transparent;
  border-radius: 3px;
  transition: opacity 0.2s ease;
}
.c-button-contact:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .c-button-contact:hover {
    opacity: 0.7;
  }
}
.c-button-contact .icon {
  display: flex;
  align-items: center;
  aspect-ratio: 14/10.74;
}
.c-button-contact .text {
  display: inline-block;
  padding-inline-start: 13px;
  margin-inline-start: 14px;
  font-size: 13px;
  font-weight: 500;
  line-height: 170%;
  color: var(--color-white);
  letter-spacing: 0.06em;
  border-left: 1px dashed rgba(255, 255, 255, 0.5);
}

/* link-button
================================================== */
.c-link-button {
  display: inline-block;
  align-items: center;
  transition: opacity 0.2s ease;
}
.c-link-button.en > .text {
  letter-spacing: 0.02em !important;
}
.c-link-button > .text {
  color: var(--color-black);
  text-decoration: none;
  /* Size styles */
  /* Weight styles */
}
.c-link-button > .text.size-xs {
  font-size: 15px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.06em;
}
.c-link-button > .text.size-sm {
  font-size: 16px;
  font-weight: 400;
  line-height: 170%;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 799px) {
  .c-link-button > .text.size-sm {
    font-size: 15px;
  }
}
.c-link-button > .text.size-md {
  font-size: 18px;
  font-weight: 600;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .c-link-button > .text.size-md {
    font-size: 16px;
  }
}
.c-link-button > .text.size-lg {
  font-size: 20px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .c-link-button > .text.size-lg {
    font-size: 16px;
  }
}
.c-link-button > .text.size-xl {
  font-size: 22px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .c-link-button > .text.size-xl {
    font-size: 18px;
  }
}
.c-link-button > .text.weight-regular {
  font-weight: 400;
}
.c-link-button > .text.weight-medium {
  font-weight: 500;
}
.c-link-button > .text.weight-semiBold {
  font-weight: 600;
}
.c-link-button > .text.weight-bold {
  font-weight: 700;
}
.c-link-button > .icon {
  display: inline-grid;
  place-items: center;
  width: 16px;
  aspect-ratio: 1/1;
  margin-inline-start: 8px;
  vertical-align: middle;
  background-color: var(--color-main);
  border-radius: var(--rounded-full);
  transform: translateY(-2px);
}
.c-link-button > .icon svg {
  width: 8px;
  height: 5px;
  transform: rotate(90deg);
}
.c-link-button > .icon svg path {
  fill: var(--color-white);
}
.c-link-button:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .c-link-button:hover {
    opacity: 0.7;
  }
}

/* link button sub text */
.c-link-button-sub-text {
  display: grid;
  row-gap: 4px;
  transition: opacity 0.2s ease;
}
.c-link-button-sub-text.en > .sub-text {
  letter-spacing: 0.02em;
}
.c-link-button-sub-text > .sub-text {
  font-family: var(--font-marcellus);
  font-size: 10px;
  font-weight: 400;
  line-height: 100%;
  color: var(--color-text-gray02);
  letter-spacing: 0.02em;
}
.c-link-button-sub-text:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .c-link-button-sub-text:hover {
    opacity: 0.7;
  }
}

/* link button external link */
.c-link-button-external-link {
  display: inline-block;
  align-items: center;
  transition: opacity 0.2s ease;
}
.c-link-button-external-link.en > .text {
  letter-spacing: 0.02em !important;
}
.c-link-button-external-link > .text {
  color: var(--color-black);
  text-decoration: none;
  /* Size styles */
  /* Weight styles */
}
.c-link-button-external-link > .text.size-xs {
  font-size: 15px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.06em;
}
.c-link-button-external-link > .text.size-sm {
  font-size: 16px;
  font-weight: 400;
  line-height: 170%;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 799px) {
  .c-link-button-external-link > .text.size-sm {
    font-size: 15px;
  }
}
.c-link-button-external-link > .text.size-md {
  font-size: 18px;
  font-weight: 600;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .c-link-button-external-link > .text.size-md {
    font-size: 16px;
  }
}
.c-link-button-external-link > .text.size-lg {
  font-size: 20px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .c-link-button-external-link > .text.size-lg {
    font-size: 16px;
  }
}
.c-link-button-external-link > .text.size-xl {
  font-size: 22px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .c-link-button-external-link > .text.size-xl {
    font-size: 18px;
  }
}
.c-link-button-external-link > .text.weight-regular {
  font-weight: 400;
}
.c-link-button-external-link > .text.weight-medium {
  font-weight: 500;
}
.c-link-button-external-link > .text.weight-semiBold {
  font-weight: 600;
}
.c-link-button-external-link > .text.weight-bold {
  font-weight: 700;
}
.c-link-button-external-link > .icon {
  display: inline-grid;
  place-items: center;
  width: 10px;
  aspect-ratio: 1/1;
  margin-inline-start: 6px;
  vertical-align: middle;
  transform: translateY(-2px);
}
.c-link-button-external-link > .icon svg {
  width: 9px;
  height: 8px;
}
.c-link-button-external-link:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .c-link-button-external-link:hover {
    opacity: 0.7;
  }
}

/* icon-link
================================================== */
.c-icon-link {
  transition: opacity 0.2s ease;
  /* hover styles */
}
.c-icon-link > .text {
  color: var(--color-black);
  text-decoration: underline;
  /* Size styles */
  /* Weight styles */
  /* Underline styles */
}
.c-icon-link > .text.size-sm {
  font-size: 12px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
.c-icon-link > .text.size-md {
  font-size: 13px;
  font-weight: 500;
  line-height: 180%;
  letter-spacing: 0.08em;
}
.c-icon-link > .text.size-lg {
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .c-icon-link > .text.size-lg {
    font-size: 15px;
  }
}
.c-icon-link > .text.size-xl {
  font-size: 18px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .c-icon-link > .text.size-xl {
    font-size: 16px;
  }
}
.c-icon-link > .text.weight-regular {
  font-weight: 400;
}
.c-icon-link > .text.weight-medium {
  font-weight: 500;
}
.c-icon-link > .text.weight-semiBold {
  font-weight: 600;
}
.c-icon-link > .text.weight-bold {
  font-weight: 700;
}
.c-icon-link > .text.underline-none {
  text-decoration: none;
}
.c-icon-link > .text > .icon {
  display: inline-block;
  margin-inline-start: 6px;
  vertical-align: baseline;
}
.c-icon-link > .text > .icon svg {
  display: block;
  width: 5px;
  height: 9px;
}
.c-icon-link > .text > .icon svg path {
  fill: var(--color-main);
}
.c-icon-link > .text > .icon svg[data-icon=icon_external-link] {
  width: 10px;
  height: 8px;
}
.c-icon-link > .text > .icon svg[data-icon=icon_external-link] path {
  fill: none;
}
.c-icon-link:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .c-icon-link:hover {
    opacity: 0.7;
  }
}

/* breadcrumb
================================================== */
.breadcrumb-area {
  padding-inline: 360px 40px;
}
@media screen and (max-width: 1023px) {
  .breadcrumb-area {
    padding-inline: 250px 40px;
  }
}
@media screen and (max-width: 799px) {
  .breadcrumb-area {
    display: none;
  }
}

.breadcrumb-area-bottom {
  display: none;
}
@media screen and (max-width: 799px) {
  .breadcrumb-area-bottom {
    display: flex;
    padding-block-end: 16px;
    padding-inline: 24px;
    background-color: var(--color-bg-gray01);
  }
}

.c-breadcrumb {
  display: flex;
  justify-content: flex-end;
  max-inline-size: 960px;
}
.c-breadcrumb.en > ol > li {
  letter-spacing: 0.02em;
}
.c-breadcrumb > ol {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 7.5px;
  align-items: center;
}
@media screen and (max-width: 799px) {
  .c-breadcrumb > ol {
    -moz-column-gap: 5.5px;
         column-gap: 5.5px;
  }
}
.c-breadcrumb > ol > li {
  display: flex;
  align-items: center;
  font-size: 11px;
  font-weight: 400;
  line-height: 170%;
  color: var(--color-black);
  letter-spacing: 0.06em;
  opacity: 1;
}
@media screen and (max-width: 799px) {
  .c-breadcrumb > ol > li {
    font-size: 10px;
  }
}
.c-breadcrumb > ol > li:focus-visible {
  opacity: 0.65;
}
@media (any-hover: hover) {
  .c-breadcrumb > ol > li:hover {
    opacity: 0.65;
  }
}
.c-breadcrumb > ol > li:last-of-type {
  opacity: 0.65;
}
.c-breadcrumb > ol > li > a {
  text-decoration: underline;
}
.c-breadcrumb > ol > li > .separator {
  display: grid;
  place-items: center;
  width: 7px;
  height: 12px;
  margin-inline-start: 7.5px;
}
@media screen and (max-width: 799px) {
  .c-breadcrumb > ol > li > .separator {
    margin-inline-start: 5.5px;
  }
}
.c-breadcrumb > ol > li span[itemprop=name] {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

/* stylelint-disable custom-property-pattern */
/* ir-link-area
================================================== */
.c-ir-link-area {
  position: relative;
  padding-block-end: 80px;
  padding-inline: 360px 40px;
  background-color: var(--color-bg-gray02);
}
@media screen and (max-width: 1023px) {
  .c-ir-link-area {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 799px) {
  .c-ir-link-area {
    padding-block-end: 88px;
    padding-inline: 24px;
  }
}
.c-ir-link-area.en * {
  line-height: 150% !important;
  letter-spacing: 0.02em !important;
}
.c-ir-link-area.en .title {
  font-size: 18px !important;
}
.c-ir-link-area::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100vw;
  height: 100%;
  margin-inline: var(--spacing-full-negative);
  content: "";
  background-color: var(--color-bg-gray02);
}
.c-ir-link-area > .inner {
  max-inline-size: 960px;
}
.c-ir-link-area > .inner > .top {
  position: relative;
  padding-block-start: 46px;
}
@media screen and (max-width: 799px) {
  .c-ir-link-area > .inner > .top {
    padding-block-start: 32px;
  }
}
.c-ir-link-area > .inner > .top::before {
  position: absolute;
  top: -1.5px;
  left: 0;
  width: 60px;
  height: 3px;
  content: "";
  background-color: var(--color-main);
}
.c-ir-link-area > .inner > .body {
  position: relative;
  padding-block-start: 24px;
  margin-block-start: 32px;
  container: ir-link-body/inline-size;
}
.c-ir-link-area > .inner > .body::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-color: var(--color-line-gray02);
}
.c-ir-link-area > .inner > .body > .list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px 32px;
  max-width: 1200px;
}
@container ir-link-body (max-width: 800px) {
  .c-ir-link-area > .inner > .body > .list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 0;
  }
}
.c-ir-link-area > .inner > .body > .list > .item {
  padding-block: 16px;
}
@media screen and (max-width: 799px) {
  .c-ir-link-area > .inner > .body > .list > .item {
    padding-block: 12px;
  }
}
.c-ir-link-area > .inner > .body > .list > .item:not(:first-child) {
  padding-inline-start: 32px;
  border-left: 1px solid var(--color-line-gray02);
}
@container ir-link-body (max-width: 800px) {
  .c-ir-link-area > .inner > .body > .list > .item:not(:first-child) {
    padding-inline-start: 0;
    border-left: none;
  }
}
@container ir-link-body (max-width: 800px) {
  .c-ir-link-area > .inner > .body > .list > .item:nth-child(2n+1) {
    padding-inline-end: 24px;
  }
}
@container ir-link-body (max-width: 800px) {
  .c-ir-link-area > .inner > .body > .list > .item:nth-child(2n) {
    padding-inline-start: 24px;
    border-left: 1px solid var(--color-line-gray02);
  }
}
@container ir-link-body (max-width: 800px) {
  .c-ir-link-area > .inner > .body > .list > .item:nth-child(3) {
    position: relative;
  }
  .c-ir-link-area > .inner > .body > .list > .item:nth-child(3)::before {
    position: absolute;
    top: -20px;
    left: 0;
    width: 200%;
    height: 1px;
    content: "";
    background-color: var(--color-line-gray02);
  }
}
.c-ir-link-area > .inner > .body > .list > .item:last-child .inner-list {
  margin-block-start: 0;
}
.c-ir-link-area > .inner > .body > .list > .item > .title {
  font-size: 18px;
  font-weight: 600;
  line-height: 180%;
  color: var(--color-black);
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .c-ir-link-area > .inner > .body > .list > .item > .title {
    font-size: 16px;
  }
}
.c-ir-link-area > .inner > .body > .list > .item > .inner-list {
  display: grid;
  row-gap: 8px;
  margin-block-start: 20px;
}
@media screen and (max-width: 799px) {
  .c-ir-link-area > .inner > .body > .list > .item > .inner-list {
    margin-block-start: 16px;
  }
}
.c-ir-link-area > .inner > .body > .list > .item > .inner-list > li:has(.link-button) + li {
  margin-block-start: 8px;
}
@media screen and (max-width: 799px) {
  .c-ir-link-area > .inner > .body > .list > .item > .inner-list > li:has(.link-button) + li {
    margin-block-start: 2px;
  }
}
.c-ir-link-area > .inner > .body > .list > .item > .inner-list > li:has(.link-button) + li:has(.icon-link) {
  margin-block-start: 12px;
}
@media screen and (max-width: 799px) {
  .c-ir-link-area + .breadcrumb-area-bottom {
    padding-block-start: 16px;
  }
}

/* stylelint-disable custom-property-pattern */
/* link-list
================================================== */
.c-link-list {
  display: grid;
  row-gap: 28px;
}
@media screen and (max-width: 799px) {
  .c-link-list {
    row-gap: 20px;
  }
}
.c-link-list.en > .item > .link > .title {
  letter-spacing: 0.02em;
}
.c-link-list > .item {
  padding-block-end: 28px;
  border-bottom: 1px solid var(--color-line-gray01);
}
@media screen and (max-width: 799px) {
  .c-link-list > .item {
    padding-block-end: 20px;
  }
}
.c-link-list > .item:has(.meta) > .link {
  margin-block-start: 8px;
}
@media screen and (max-width: 799px) {
  .c-link-list > .item:has(.meta) > .link {
    margin-block-start: 10px;
  }
}
.c-link-list > .item > .meta {
  display: flex;
  -moz-column-gap: 20px;
       column-gap: 20px;
  align-items: center;
}
@media screen and (max-width: 799px) {
  .c-link-list > .item > .meta {
    -moz-column-gap: 12px;
         column-gap: 12px;
  }
}
.c-link-list > .item > .meta > .date {
  font-size: 13px;
  font-weight: 400;
  line-height: 165%;
  color: var(--color-text-gray01);
  letter-spacing: 0.02em;
}
.c-link-list > .item > .meta > .category-area {
  display: flex;
  -moz-column-gap: 6px;
       column-gap: 6px;
}
@media screen and (max-width: 799px) {
  .c-link-list > .item > .meta > .category-area {
    -moz-column-gap: 4px;
         column-gap: 4px;
  }
}
.c-link-list > .item > .meta > .category-area .category {
  padding-block: 1px 2px;
  padding-inline: 6px;
  font-size: 11px;
  font-weight: 500;
  line-height: 170%;
  color: var(--color-text-gray01);
  letter-spacing: 0.08em;
  background-color: var(--color-bg-gray02);
  border-radius: 2px;
}
@media screen and (max-width: 799px) {
  .c-link-list > .item > .meta > .category-area .category {
    font-size: 10px;
  }
}
.c-link-list > .item > .link {
  display: inline-block;
}
.c-link-list > .item > .link[target=_blank]::after {
  display: inline-block;
  width: 10px;
  height: 8px;
  margin-block-end: 2px;
  margin-inline-start: 4px;
  content: "";
  background-image: url("/gr/images/icon/icon_external.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.c-link-list > .item > .link > .title {
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .c-link-list > .item > .link > .title {
    font-size: 15px;
  }
}
.c-link-list > .item > .link > .pdf-area {
  display: inline-flex;
  -moz-column-gap: 8px;
       column-gap: 8px;
  align-items: center;
  margin-inline-start: 12px;
}
@media screen and (max-width: 799px) {
  .c-link-list > .item > .link > .pdf-area {
    display: flex;
    margin-block-start: 4px;
    margin-inline-start: 0;
  }
}
.c-link-list > .item > .link > .pdf-area > .pdf {
  padding-block: 4px;
  padding-inline: 8px;
  font-size: 10px;
  font-weight: 500;
  line-height: 100%;
  color: var(--color-white);
  letter-spacing: 0.06em;
  background-color: var(--color-black);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .c-link-list > .item > .link > .pdf-area > .pdf {
    padding-block: 2.5px 3.5px;
  }
}
.c-link-list > .item > .link > .pdf-area > .size {
  font-size: 15px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0;
}
@media screen and (max-width: 799px) {
  .c-link-list > .item > .link > .pdf-area > .size {
    font-size: 14px;
    line-height: 165%;
  }
}

/* lower-top-link
================================================== */
.lower-top-link-area {
  padding-inline: 360px 40px;
}
@media screen and (max-width: 1023px) {
  .lower-top-link-area {
    padding-inline: 260px 40px;
  }
}
@media screen and (max-width: 799px) {
  .lower-top-link-area {
    padding-inline: 24px;
  }
}

.c-lower-top-link {
  display: flex;
  -moz-column-gap: 20px;
       column-gap: 20px;
  align-items: center;
  max-width: 960px;
  padding-block: 10px;
  padding-inline: 30px;
  overflow-x: auto;
  background-color: var(--color-bg-gray03);
  border: 1px solid var(--color-line-gray02);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .c-lower-top-link {
    padding-inline: 18px;
  }
}
.c-lower-top-link .title-area {
  flex-shrink: 0;
}
.c-lower-top-link .title-area > .title {
  font-size: 12px;
  font-weight: 500;
  line-height: 170%;
  color: var(--color-black);
  letter-spacing: 0.08em;
}
.c-lower-top-link .title-area > .title-link {
  display: grid;
}
.c-lower-top-link .title-area > .title-link > .link {
  display: inline-flex;
  -moz-column-gap: 8px;
       column-gap: 8px;
  align-items: center;
}
.c-lower-top-link .title-area > .title-link > .link > .text {
  font-size: 12px;
  font-weight: 500;
  line-height: 170%;
  color: var(--color-black);
  letter-spacing: 0.08em;
}
.c-lower-top-link .title-area > .title-link > .link > .icon {
  display: grid;
  place-items: center;
}
.c-lower-top-link .title-area > .title-link > .link > .icon svg {
  width: 5px;
  height: 8px;
}
.c-lower-top-link .title-area > .title-link > .link > .icon svg path {
  fill: var(--color-main);
}
.c-lower-top-link .list {
  display: flex;
  flex-shrink: 0;
  gap: 8px 32px;
  align-items: center;
  padding-inline-start: 26px;
  border-left: 1px dashed var(--color-text-gray02);
}
.c-lower-top-link .list .item {
  display: flex;
}
.c-lower-top-link .list .item.is-current > .link > .text {
  color: var(--color-main);
}
.c-lower-top-link .list .item .link {
  display: inline-flex;
  -moz-column-gap: 8px;
       column-gap: 8px;
  align-items: center;
}
.c-lower-top-link .list .item .link > .text {
  font-size: 12px;
  font-weight: 400;
  line-height: 170%;
  color: var(--color-black);
  letter-spacing: 0.08em;
}
.c-lower-top-link .list .item .link > .icon {
  display: grid;
  place-items: center;
}
.c-lower-top-link .list .item .link > .icon svg {
  width: 5px;
  height: 8px;
}
.c-lower-top-link .list .item .link > .icon svg path {
  fill: var(--color-main);
}

.p-top {
  position: relative;
  max-inline-size: 1920px;
  padding-block-start: 40px;
  margin-inline: auto;
}
@media screen and (max-width: 1023px) {
  .p-top {
    padding-block-start: 10px;
  }
}

.top-mv {
  padding-inline: 300px 20px;
}
@media screen and (max-width: 1023px) {
  .top-mv {
    position: relative;
    padding-inline: 10px;
  }
}
.top-mv > .inner {
  position: relative;
  max-width: 1120px;
}
.top-mv > .inner .top-mv-slider .splide__slide > .content {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  width: 100%;
  height: 540px;
  padding-block: 190px 60px;
  padding-inline-end: 60px;
}
@media screen and (max-width: 799px) {
  .top-mv > .inner .top-mv-slider .splide__slide > .content {
    flex-direction: column;
    row-gap: 36px;
    align-items: flex-start;
    justify-content: flex-start;
    height: 660px;
    padding-block: 148px 60px;
    padding-inline-end: 24px;
  }
}
.top-mv > .inner .top-mv-slider .splide__slide > .content > .image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.top-mv > .inner .top-mv-slider .splide__slide > .content > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
}
@media screen and (max-width: 799px) {
  .top-mv > .inner .top-mv-slider .splide__slide > .content > .image img {
    border-radius: 4px;
  }
}
.top-mv > .inner .top-mv-slider .splide__slide > .content > .motif {
  position: absolute;
  top: 112px;
  right: 162px;
  width: 320px;
  aspect-ratio: 320/340.67;
}
@media screen and (max-width: 799px) {
  .top-mv > .inner .top-mv-slider .splide__slide > .content > .motif {
    top: 383px;
    right: 22px;
    width: 170px;
  }
}
.top-mv > .inner .top-mv-slider .splide__slide > .content > .motif img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-mv > .inner .top-mv-slider .splide__slide > .content > .text-area {
  position: relative;
  padding-block-end: 20px;
}
@media screen and (max-width: 799px) {
  .top-mv > .inner .top-mv-slider .splide__slide > .content > .text-area {
    padding-block-end: 0;
  }
}
.top-mv > .inner .top-mv-slider .splide__slide > .content > .text-area > .body {
  display: flex;
  flex-direction: column;
  row-gap: 40px;
  padding-inline-start: 64px;
}
@media screen and (max-width: 799px) {
  .top-mv > .inner .top-mv-slider .splide__slide > .content > .text-area > .body {
    position: relative;
    row-gap: 32px;
    padding-inline-start: 24px;
  }
}
.top-mv > .inner .top-mv-slider .splide__slide > .content > .text-area > .body::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 174px;
  content: "";
  background: var(--color-main);
}
@media screen and (max-width: 799px) {
  .top-mv > .inner .top-mv-slider .splide__slide > .content > .text-area > .body::before {
    width: 3px;
    height: 115px;
  }
}
.top-mv > .inner .top-mv-slider .splide__slide > .content > .text-area > .body > .title-area {
  display: flex;
  flex-direction: column-reverse;
  row-gap: 16px;
}
@media screen and (max-width: 799px) {
  .top-mv > .inner .top-mv-slider .splide__slide > .content > .text-area > .body > .title-area {
    row-gap: 12px;
  }
}
.top-mv > .inner .top-mv-slider .splide__slide > .content > .text-area > .body > .title-area > .title {
  font-family: var(--font-shippori);
  font-size: 48px;
  font-weight: 600;
  line-height: 135%;
  color: var(--color-white);
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .top-mv > .inner .top-mv-slider .splide__slide > .content > .text-area > .body > .title-area > .title {
    font-size: 32px;
  }
}
.top-mv > .inner .top-mv-slider .splide__slide > .content > .text-area > .body > .title-area > .sub-title {
  font-family: var(--font-marcellus);
  font-size: 20px;
  font-weight: 400;
  line-height: 100%;
  color: var(--color-white);
  letter-spacing: 0.02em;
}
@media screen and (max-width: 799px) {
  .top-mv > .inner .top-mv-slider .splide__slide > .content > .text-area > .body > .title-area > .sub-title {
    font-size: 16px;
  }
}
.top-mv > .inner .top-mv-slider .splide__slide > .content > .text-area > .body > .text {
  font-size: 15px;
  font-weight: 400;
  line-height: 170%;
  color: var(--color-white);
  letter-spacing: 0.08em;
}
.top-mv > .inner .top-mv-slider .splide__slide > .content > .link-button-area {
  position: relative;
}
@media screen and (max-width: 799px) {
  .top-mv > .inner .top-mv-slider .splide__slide > .content > .link-button-area {
    position: relative;
    right: initial;
    bottom: initial;
    padding-inline-start: 24px;
  }
}
.top-mv > .inner .top-mv-slider .splide__slide > .content > .link-button-area > .button {
  display: inline-flex;
  -moz-column-gap: 16px;
       column-gap: 16px;
  align-items: center;
}
@media screen and (max-width: 799px) {
  .top-mv > .inner .top-mv-slider .splide__slide > .content > .link-button-area > .button {
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
}
.top-mv > .inner .top-mv-slider .splide__slide > .content > .link-button-area > .button > .text {
  font-size: 16px;
  font-weight: 500;
  line-height: 150%;
  color: var(--color-white);
  letter-spacing: 0.06em;
  text-decoration: none;
}
@media screen and (max-width: 799px) {
  .top-mv > .inner .top-mv-slider .splide__slide > .content > .link-button-area > .button > .text {
    font-size: 15px;
  }
}
.top-mv > .inner .top-mv-slider .splide__slide > .content > .link-button-area > .button > .icon {
  display: grid;
  place-items: center;
  width: 47px;
  aspect-ratio: 1/1;
  background-color: var(--color-main);
  border-radius: var(--rounded-full);
  transform: rotate(90deg);
}
@media screen and (max-width: 799px) {
  .top-mv > .inner .top-mv-slider .splide__slide > .content > .link-button-area > .button > .icon {
    width: 32px;
  }
}
.top-mv > .inner .top-mv-slider .splide__slide > .content > .link-button-area > .button svg {
  width: 8px;
  height: 5px;
}
.top-mv > .inner .top-mv-slider .splide__slide > .content > .link-button-area > .button svg path {
  fill: var(--color-white);
}

.top-mv-group-link-nav {
  position: absolute;
  top: -20px;
  right: 20px;
  z-index: 1;
  display: flex;
  max-height: 59px;
  background-color: var(--color-white);
  border-radius: 4px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.08);
}
@media screen and (max-width: 1023px) {
  .top-mv-group-link-nav {
    inset: auto auto 61px 24px;
    flex-direction: column-reverse;
    max-height: -moz-fit-content;
    max-height: fit-content;
  }
}
.top-mv-group-link-nav > .toggle {
  display: flex;
  -moz-column-gap: 8px;
       column-gap: 8px;
  align-items: center;
  padding-block: 20px 19px;
  padding-inline: 32px 30px;
  font-family: var(--font-marcellus);
  font-size: 15px;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0;
}
@media screen and (max-width: 1023px) {
  .top-mv-group-link-nav > .toggle {
    -moz-column-gap: 10px;
         column-gap: 10px;
    padding-block: 16px;
    padding-inline: 20px;
    font-size: 12px;
  }
}
.top-mv-group-link-nav > .toggle[aria-expanded=false] {
  padding-inline: 32px;
}
@media screen and (max-width: 1023px) {
  .top-mv-group-link-nav > .toggle[aria-expanded=false] {
    padding-inline: 20px;
  }
}
.top-mv-group-link-nav > .toggle[aria-expanded=false] > .icon > .vertical-line {
  transform: rotate(0deg);
}
.top-mv-group-link-nav > .toggle > .icon {
  overflow: visible;
}
.top-mv-group-link-nav > .toggle > .icon > .vertical-line {
  transform: rotate(90deg);
  transform-origin: center;
}
.top-mv-group-link-nav > .list {
  --_list-fixed-width: 800px;
  --_list-fixed-height: 400px;
  display: flex;
  flex-shrink: 0;
  -moz-column-gap: 15px;
       column-gap: 15px;
  max-width: var(--_list-fixed-width);
  padding-inline-end: 32px;
  overflow: hidden;
  transition: max-width 0.4s ease, padding-inline-end 0.2s ease-out, opacity 0.2s ease-out;
}
@media screen and (width <= 1120px) {
  .top-mv-group-link-nav > .list {
    max-width: 0;
  }
}
@media screen and (max-width: 1023px) {
  .top-mv-group-link-nav > .list {
    flex-direction: column;
    max-width: 100%;
    max-height: 0;
    padding-inline-end: 0;
    margin-inline-start: 0;
    transition: max-height 0.2s ease, opacity 0.2s ease-out;
  }
}
@media screen and (width <= 1120px) {
  .top-mv-group-link-nav > .list.is-opened {
    max-width: var(--_list-fixed-width);
  }
}
@media screen and (max-width: 1023px) {
  .top-mv-group-link-nav > .list.is-opened {
    max-height: var(--_list-fixed-height);
  }
}
.top-mv-group-link-nav > .list.is-closed {
  max-width: 0;
  padding-inline-end: 0;
  margin-inline-start: 0;
}
@media screen and (max-width: 1023px) {
  .top-mv-group-link-nav > .list.is-closed {
    max-width: 100%;
    max-height: 0;
  }
}
.top-mv-group-link-nav > .list.en > .item > .link > .text {
  letter-spacing: 0.02em;
}
.top-mv-group-link-nav > .list > .item {
  position: relative;
  min-width: -moz-max-content;
  min-width: max-content;
}
@media screen and (max-width: 1023px) {
  .top-mv-group-link-nav > .list > .item::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    content: "";
    background-color: var(--color-line-gray02);
  }
}
.top-mv-group-link-nav > .list > .item + .item {
  position: relative;
  padding-inline-start: 15px;
}
@media screen and (max-width: 1023px) {
  .top-mv-group-link-nav > .list > .item + .item {
    padding-inline-start: 0;
  }
}
.top-mv-group-link-nav > .list > .item + .item::before {
  position: absolute;
  top: 16px;
  left: 0;
  width: 1px;
  height: calc(100% - 32px);
  content: "";
  border-left: 1px dashed var(--color-line-gray02);
}
@media screen and (max-width: 1023px) {
  .top-mv-group-link-nav > .list > .item + .item::before {
    display: none;
  }
}
.top-mv-group-link-nav > .list > .item > .link {
  display: flex;
  align-items: center;
  padding-block: 20px 19px;
}
@media screen and (max-width: 1023px) {
  .top-mv-group-link-nav > .list > .item > .link {
    padding-block: 16px;
    padding-inline: 20px;
  }
}
.top-mv-group-link-nav > .list > .item > .link > .text {
  font-size: 12px;
  font-weight: 500;
  line-height: 170%;
  color: var(--color-black);
  letter-spacing: 0.06em;
  text-decoration: none;
}
.top-mv-group-link-nav > .list > .item > .link > .text > .icon {
  display: inline-block;
  aspect-ratio: 10/8;
  margin-inline-start: 2px;
  transform: translateY(-5px);
}

.top-mv-slider .splide__slide > .content {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  width: 100%;
  height: 540px;
  padding-block: 190px 60px;
  padding-inline-end: 60px;
}
@media screen and (max-width: 799px) {
  .top-mv-slider .splide__slide > .content {
    flex-direction: column;
    row-gap: 36px;
    align-items: flex-start;
    justify-content: flex-start;
    height: 660px;
    padding-block: 148px 60px;
    padding-inline-end: 24px;
  }
}
.top-mv-slider .splide__slide > .content > .image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.top-mv-slider .splide__slide > .content > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
}
@media screen and (max-width: 799px) {
  .top-mv-slider .splide__slide > .content > .image img {
    border-radius: 4px;
  }
}
.top-mv-slider .splide__slide > .content > .motif {
  position: absolute;
  top: 112px;
  right: 162px;
  width: 320px;
  aspect-ratio: 320/340.67;
}
@media screen and (max-width: 799px) {
  .top-mv-slider .splide__slide > .content > .motif {
    top: 383px;
    right: 22px;
    width: 170px;
  }
}
.top-mv-slider .splide__slide > .content > .motif img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-mv-slider .splide__slide > .content > .text-area {
  position: relative;
  padding-block-end: 20px;
}
@media screen and (max-width: 799px) {
  .top-mv-slider .splide__slide > .content > .text-area {
    padding-block-end: 0;
  }
}
.top-mv-slider .splide__slide > .content > .text-area > .body {
  display: flex;
  flex-direction: column;
  row-gap: 40px;
  padding-inline-start: 64px;
}
@media screen and (max-width: 799px) {
  .top-mv-slider .splide__slide > .content > .text-area > .body {
    position: relative;
    row-gap: 32px;
    padding-inline-start: 24px;
  }
}
.top-mv-slider .splide__slide > .content > .text-area > .body::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 174px;
  content: "";
  background: var(--color-main);
}
@media screen and (max-width: 799px) {
  .top-mv-slider .splide__slide > .content > .text-area > .body::before {
    width: 3px;
    height: 115px;
  }
}
.top-mv-slider .splide__slide > .content > .text-area > .body > .title-area {
  display: flex;
  flex-direction: column-reverse;
  row-gap: 16px;
}
@media screen and (max-width: 799px) {
  .top-mv-slider .splide__slide > .content > .text-area > .body > .title-area {
    row-gap: 12px;
  }
}
.top-mv-slider .splide__slide > .content > .text-area > .body > .title-area > .title {
  font-family: var(--font-shippori);
  font-size: 48px;
  font-weight: 600;
  line-height: 135%;
  color: var(--color-white);
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .top-mv-slider .splide__slide > .content > .text-area > .body > .title-area > .title {
    font-size: 32px;
  }
}
.top-mv-slider .splide__slide > .content > .text-area > .body > .title-area > .sub-title {
  font-family: var(--font-marcellus);
  font-size: 20px;
  font-weight: 400;
  line-height: 100%;
  color: var(--color-white);
  letter-spacing: 0.02em;
}
@media screen and (max-width: 799px) {
  .top-mv-slider .splide__slide > .content > .text-area > .body > .title-area > .sub-title {
    font-size: 16px;
  }
}
.top-mv-slider .splide__slide > .content > .text-area > .body > .text {
  font-size: 15px;
  font-weight: 400;
  line-height: 170%;
  color: var(--color-white);
  letter-spacing: 0.08em;
}
.top-mv-slider .splide__slide > .content > .link-button-area {
  position: relative;
}
@media screen and (max-width: 799px) {
  .top-mv-slider .splide__slide > .content > .link-button-area {
    position: relative;
    right: initial;
    bottom: initial;
    padding-inline-start: 24px;
  }
}
.top-mv-slider .splide__slide > .content > .link-button-area > .button {
  display: inline-flex;
  -moz-column-gap: 16px;
       column-gap: 16px;
  align-items: center;
}
@media screen and (max-width: 799px) {
  .top-mv-slider .splide__slide > .content > .link-button-area > .button {
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
}
.top-mv-slider .splide__slide > .content > .link-button-area > .button > .text {
  font-size: 16px;
  font-weight: 500;
  line-height: 150%;
  color: var(--color-white);
  letter-spacing: 0.06em;
  text-decoration: none;
}
@media screen and (max-width: 799px) {
  .top-mv-slider .splide__slide > .content > .link-button-area > .button > .text {
    font-size: 15px;
  }
}
.top-mv-slider .splide__slide > .content > .link-button-area > .button > .icon {
  display: grid;
  place-items: center;
  width: 47px;
  aspect-ratio: 1/1;
  background-color: var(--color-main);
  border-radius: var(--rounded-full);
  transform: rotate(90deg);
}
@media screen and (max-width: 799px) {
  .top-mv-slider .splide__slide > .content > .link-button-area > .button > .icon {
    width: 32px;
  }
}
.top-mv-slider .splide__slide > .content > .link-button-area > .button svg {
  width: 8px;
  height: 5px;
}
.top-mv-slider .splide__slide > .content > .link-button-area > .button svg path {
  fill: var(--color-white);
}

.top-mv-slider-controller {
  margin-block-start: 24px;
}
@media screen and (max-width: 799px) {
  .top-mv-slider-controller {
    margin-block-start: 22px;
  }
}
.top-mv-slider-controller > .splide__controller {
  display: flex;
  -moz-column-gap: 16px;
       column-gap: 16px;
  align-items: center;
  justify-content: flex-end;
}
.top-mv-slider-controller > .splide__controller > .splide__pagination {
  display: flex;
  flex-shrink: 0;
  -moz-column-gap: 6px;
       column-gap: 6px;
  align-items: center;
  font-family: var(--font-cormorant);
  font-size: 16px;
  line-height: 100%;
  color: var(--color-text-gray02);
  letter-spacing: -0.02em;
}
.top-mv-slider-controller > .splide__controller > .splide__pagination > .splide__pagination__current {
  color: var(--color-main);
}
.top-mv-slider-controller > .splide__controller > .splide__progress {
  position: relative;
  display: flex;
  width: 126px;
  height: 1px;
}
.top-mv-slider-controller > .splide__controller > .splide__progress::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: var(--color-line-gray01);
}
.top-mv-slider-controller > .splide__controller > .splide__progress > .splide__progress__bar {
  position: relative;
  height: 1px;
  background-color: var(--color-main);
}
.top-mv-slider-controller > .splide__controller > .splide__toggle {
  display: grid;
  width: 31px;
}

.top-news {
  position: relative;
  padding-inline: 300px 40px;
  margin-block-start: 60px;
}
@media screen and (max-width: 1023px) {
  .top-news {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 799px) {
  .top-news {
    padding-inline: 24px;
    margin-block-start: 80px;
  }
}
.top-news > .inner {
  max-width: 1020px;
}
@media screen and (max-width: 799px) {
  .top-news > .inner {
    display: grid;
    grid-template-areas: "title" "link-list" "link-button";
  }
}
.top-news > .inner > .head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
@media screen and (max-width: 799px) {
  .top-news > .inner > .head {
    display: contents;
  }
}
@media screen and (max-width: 799px) {
  .top-news > .inner > .head > .c-with-subtitle {
    grid-area: title;
  }
}
.top-news > .inner > .head > .link-button-area {
  display: flex;
  grid-area: link-button;
  -moz-column-gap: 40px;
       column-gap: 40px;
  align-items: center;
  margin-block-end: 7px;
}
@media screen and (max-width: 799px) {
  .top-news > .inner > .head > .link-button-area {
    -moz-column-gap: 20px;
         column-gap: 20px;
    justify-content: flex-end;
    margin-block: 24px 0;
  }
}
.top-news > .inner > .c-link-list {
  grid-area: link-list;
  padding-block-start: 28px;
  margin-block-start: 32px;
  border-top: 1px solid var(--color-line-gray01);
}
@media screen and (max-width: 799px) {
  .top-news > .inner > .c-link-list {
    padding-block-start: 20px;
    margin-block-start: 24px;
  }
}

.top-group {
  padding-inline: 300px 40px;
  margin-block-start: 120px;
  container: top-group/inline-size;
}
@media screen and (max-width: 1023px) {
  .top-group {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 799px) {
  .top-group {
    padding-inline: 24px;
  }
}
.top-group > .inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  max-width: 1020px;
  padding-block-start: 60px;
  border-top: 1px solid var(--color-line-gray01);
}
@container top-group (max-width: 800px) {
  .top-group > .inner {
    flex-direction: column;
    row-gap: 32px;
  }
}
@media screen and (max-width: 799px) {
  .top-group > .inner {
    padding-block-start: 24px;
    font-size: 32px;
  }
}
.top-group > .inner::before {
  position: absolute;
  top: -1.5px;
  left: 0;
  width: 100px;
  height: 3px;
  content: "";
  background-color: var(--color-main);
}
@media screen and (max-width: 799px) {
  .top-group > .inner::before {
    width: 80px;
  }
}
.top-group > .inner > .text-area {
  display: grid;
  row-gap: 40px;
  align-items: flex-start;
  width: 25.9803921569%;
  min-width: 220px;
  height: -moz-fit-content;
  height: fit-content;
}
@container top-group (max-width: 800px) {
  .top-group > .inner > .text-area {
    width: 100%;
    max-width: 100%;
  }
}
@media screen and (max-width: 799px) {
  .top-group > .inner > .text-area {
    row-gap: 32px;
  }
}
.top-group > .inner > .text-area > .title-area {
  display: flex;
  flex-direction: column-reverse;
  row-gap: 12px;
}
.top-group > .inner > .text-area > .title-area > .title {
  font-size: 13px;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 799px) {
  .top-group > .inner > .text-area > .title-area > .title {
    font-size: 12px;
  }
}
.top-group > .inner > .text-area > .title-area > .sub-title {
  font-family: var(--font-marcellus);
  font-size: 46px;
  font-weight: 400;
  line-height: 120%;
  color: var(--color-main);
  letter-spacing: 0.02em;
}
@container top-group (max-width: 1040px) {
  .top-group > .inner > .text-area > .title-area > .sub-title br {
    display: none;
  }
}
@media screen and (max-width: 799px) {
  .top-group > .inner > .text-area > .title-area > .sub-title {
    font-size: 32px;
  }
}
.top-group > .inner > .text-area > .text {
  font-size: 15px;
  font-weight: 400;
  line-height: 170%;
  letter-spacing: 0.06em;
}
.top-group > .inner > .top-group-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 16px;
       column-gap: 16px;
  width: 67.8431372549%;
}
@container top-group (max-width: 800px) {
  .top-group > .inner > .top-group-list {
    width: 100%;
  }
}
@media screen and (max-width: 799px) {
  .top-group > .inner > .top-group-list {
    display: flex;
    flex-direction: column;
    row-gap: 12px;
  }
}
.top-group > .inner > .top-group-list > .item {
  display: contents;
}
.top-group > .inner > .top-group-list > .item > .link {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  row-gap: 20px;
  align-items: center;
  height: auto;
  padding-block: 30px 40px;
  padding-inline: 20px;
  background-color: var(--color-white);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .top-group > .inner > .top-group-list > .item > .link {
    grid-template-rows: auto;
    grid-template-columns: 31.25% 1fr;
    grid-row: auto;
    padding-block: 0;
    padding-inline: 0;
  }
}
.top-group > .inner > .top-group-list > .item > .link > .title-area {
  display: flex;
  flex-direction: column-reverse;
  row-gap: 8px;
  text-align: center;
}
@media screen and (max-width: 799px) {
  .top-group > .inner > .top-group-list > .item > .link > .title-area {
    row-gap: 6px;
    order: 2;
    padding-block: 22px;
    padding-inline: 20px;
  }
}
.top-group > .inner > .top-group-list > .item > .link > .title-area > .title {
  font-family: var(--font-noto);
  font-size: 17px;
  font-weight: 600;
  line-height: 135%;
  color: var(--color-black);
  letter-spacing: 0.06em;
}
@media screen and (max-width: 799px) {
  .top-group > .inner > .top-group-list > .item > .link > .title-area > .title {
    font-size: 16px;
  }
  .top-group > .inner > .top-group-list > .item > .link > .title-area > .title br {
    display: none;
  }
}
.top-group > .inner > .top-group-list > .item > .link > .title-area > .sub-title {
  font-family: var(--font-marcellus);
  font-size: 10px;
  font-weight: 400;
  line-height: 100%;
  color: var(--color-text-gray02);
  letter-spacing: 0.02em;
}
.top-group > .inner > .top-group-list > .item > .link > .image {
  width: 100%;
  height: 100%;
  aspect-ratio: 180/120;
}
@media screen and (max-width: 799px) {
  .top-group > .inner > .top-group-list > .item > .link > .image {
    order: 1;
  }
}
.top-group > .inner > .top-group-list > .item > .link > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .top-group > .inner > .top-group-list > .item > .link > .image img {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
}

.top-other {
  padding-inline: 300px 40px;
  margin-block-start: 80px;
  container: top-other/inline-size;
}
@media screen and (max-width: 1023px) {
  .top-other {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 799px) {
  .top-other {
    padding-inline: 24px;
    margin-block-start: 40px;
  }
}
.top-other > .inner {
  max-width: 1020px;
}
.top-other > .inner > .top-other-list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 24px 16px;
}
@container top-other (min-width: 800px) {
  .top-other > .inner > .top-other-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.top-other > .inner > .top-other-list > .item {
  display: contents;
}
.top-other > .inner > .top-other-list > .item > .link {
  position: relative;
  display: grid;
  padding-block: 48px 46px;
  padding-inline: 40px;
  overflow: hidden;
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .top-other > .inner > .top-other-list > .item > .link {
    padding-block: 30px 26px;
    padding-inline: 24px;
  }
}
.top-other > .inner > .top-other-list > .item > .link::after {
  position: absolute;
  top: 1px;
  left: 40px;
  width: 100px;
  height: 3px;
  content: "";
  background-color: var(--color-main);
}
@media screen and (max-width: 799px) {
  .top-other > .inner > .top-other-list > .item > .link::after {
    left: 24px;
    width: 80px;
  }
}
.top-other > .inner > .top-other-list > .item > .link > .text-area {
  z-index: 1;
  display: grid;
  row-gap: 36px;
}
@media screen and (max-width: 799px) {
  .top-other > .inner > .top-other-list > .item > .link > .text-area {
    row-gap: 20px;
  }
}
.top-other > .inner > .top-other-list > .item > .link > .text-area > .title-area {
  display: flex;
  flex-direction: column-reverse;
  row-gap: 12px;
}
@media screen and (max-width: 799px) {
  .top-other > .inner > .top-other-list > .item > .link > .text-area > .title-area {
    row-gap: 4px;
  }
}
.top-other > .inner > .top-other-list > .item > .link > .text-area > .title-area > .title {
  font-family: var(--font-noto);
  font-size: 13px;
  font-weight: 500;
  line-height: 170%;
  color: var(--color-white);
  letter-spacing: 0.06em;
}
@media screen and (max-width: 799px) {
  .top-other > .inner > .top-other-list > .item > .link > .text-area > .title-area > .title {
    font-size: 12px;
  }
}
.top-other > .inner > .top-other-list > .item > .link > .text-area > .title-area > .sub-title {
  font-family: var(--font-marcellus);
  font-size: 38px;
  font-weight: 400;
  line-height: 120%;
  color: var(--color-white);
  letter-spacing: 0.02em;
}
@media screen and (max-width: 799px) {
  .top-other > .inner > .top-other-list > .item > .link > .text-area > .title-area > .sub-title {
    font-size: 30px;
  }
}
.top-other > .inner > .top-other-list > .item > .link > .text-area > .text {
  font-family: var(--font-noto);
  font-size: 15px;
  font-weight: 400;
  line-height: 180%;
  color: var(--color-white);
  letter-spacing: 0.06em;
}
@media screen and (max-width: 799px) {
  .top-other > .inner > .top-other-list > .item > .link > .text-area > .text {
    font-size: 13px;
  }
}
.top-other > .inner > .top-other-list > .item > .link > .image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.top-other > .inner > .top-other-list > .item > .link > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.top-company {
  position: relative;
  padding-block: 100px 130px;
  padding-inline: 300px 40px;
  margin-block-start: 120px;
  container: top-company/inline-size;
  background-color: var(--color-bg-gray02);
}
@media screen and (max-width: 1023px) {
  .top-company {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 799px) {
  .top-company {
    padding-block: 72px 88px;
    padding-inline: 24px;
    margin-block-start: 72px;
  }
}
.top-company::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100vw;
  height: 100%;
  margin-inline: var(--spacing-full-negative);
  content: "";
  background-color: var(--color-bg-gray02);
}
.top-company > .inner {
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: 64px;
  justify-content: space-between;
  max-width: 1020px;
  padding-block-start: 60px;
  border-top: 1px solid var(--color-line-gray01);
}
@media screen and (max-width: 799px) {
  .top-company > .inner {
    row-gap: 32px;
    padding-block-start: 24px;
  }
}
.top-company > .inner::before {
  position: absolute;
  top: -1.5px;
  left: 0;
  width: 100px;
  height: 3px;
  content: "";
  background-color: var(--color-main);
}
@media screen and (max-width: 799px) {
  .top-company > .inner::before {
    width: 80px;
  }
}
.top-company > .inner > .text-area {
  display: flex;
  -moz-column-gap: 60px;
       column-gap: 60px;
}
@container top-company (max-width: 1040px) {
  .top-company > .inner > .text-area {
    flex-direction: column;
    row-gap: 32px;
  }
}
.top-company > .inner > .text-area > .title-area {
  display: flex;
  flex-shrink: 0;
  flex-direction: column-reverse;
  row-gap: 12px;
  justify-content: flex-end;
}
.top-company > .inner > .text-area > .title-area > .title {
  font-size: 13px;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 799px) {
  .top-company > .inner > .text-area > .title-area > .title {
    font-size: 12px;
  }
}
.top-company > .inner > .text-area > .title-area > .sub-title {
  font-family: var(--font-marcellus);
  font-size: 46px;
  font-weight: 400;
  line-height: 120%;
  color: var(--color-main);
  letter-spacing: 0.02em;
}
@media screen and (max-width: 799px) {
  .top-company > .inner > .text-area > .title-area > .sub-title {
    font-size: 32px;
  }
}
.top-company > .inner > .text-area > .text {
  margin-block-start: 3px;
  font-size: 15px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 799px) {
  .top-company > .inner > .text-area > .text {
    margin-block-start: 0;
  }
}
.top-company > .inner > .top-company-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@container top-company (max-width: 840px) {
  .top-company > .inner > .top-company-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 799px) {
  .top-company > .inner > .top-company-list {
    display: flex;
    flex-direction: column;
    row-gap: 12px;
  }
}
.top-company > .inner > .top-company-list > .item {
  display: contents;
}
.top-company > .inner > .top-company-list > .item > .link {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  row-gap: 24px;
  align-items: center;
  padding-block: 32px;
  padding-inline: 24px;
  background-color: var(--color-white);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .top-company > .inner > .top-company-list > .item > .link {
    grid-template-rows: none;
    grid-template-columns: 31.25% 1fr;
    padding-block: 0;
    padding-inline: 0;
  }
}
.top-company > .inner > .top-company-list > .item > .link > .title-area {
  display: flex;
  flex-direction: column-reverse;
  row-gap: 8px;
  text-align: center;
}
@media screen and (max-width: 799px) {
  .top-company > .inner > .top-company-list > .item > .link > .title-area {
    row-gap: 6px;
    order: 2;
    padding-block: 22px;
    padding-inline: 6px;
  }
}
.top-company > .inner > .top-company-list > .item > .link > .title-area > .title {
  font-family: var(--font-noto);
  font-size: 20px;
  font-weight: 600;
  line-height: 150%;
  color: var(--color-black);
  letter-spacing: 0.06em;
}
@media screen and (max-width: 799px) {
  .top-company > .inner > .top-company-list > .item > .link > .title-area > .title {
    font-size: 16px;
  }
}
.top-company > .inner > .top-company-list > .item > .link > .title-area > .sub-title {
  font-family: var(--font-marcellus);
  font-size: 10px;
  font-weight: 400;
  line-height: 100%;
  color: var(--color-text-gray02);
  letter-spacing: 0.02em;
}
.top-company > .inner > .top-company-list > .item > .link > .image {
  width: 100%;
  height: 100%;
  aspect-ratio: 281/180;
}
@media screen and (max-width: 799px) {
  .top-company > .inner > .top-company-list > .item > .link > .image {
    order: 1;
  }
}
.top-company > .inner > .top-company-list > .item > .link > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .top-company > .inner > .top-company-list > .item > .link > .image img {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
}

.ir-top {
  position: relative;
  max-inline-size: 1920px;
  margin-inline: auto;
}

.ir-top-mv {
  padding-inline-start: 360px;
}
@media screen and (max-width: 1023px) {
  .ir-top-mv {
    position: relative;
    min-height: 390px;
    padding-block-start: 10px;
    padding-inline: 10px;
  }
}
.ir-top-mv > .main {
  position: relative;
  max-inline-size: 1080px;
  height: 100%;
  min-height: 300px;
  padding-block: 60px 68px;
  padding-inline-end: 40px;
  container: ir-top-mv/inline-size;
}
@media screen and (max-width: 1023px) {
  .ir-top-mv > .main {
    min-height: 390px;
    padding-block: 102px 18px;
    padding-inline-end: 18px;
  }
}
@media screen and (max-width: 799px) {
  .ir-top-mv > .main {
    padding-block: 143px 18px;
  }
}
.ir-top-mv > .main > .image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.ir-top-mv > .main > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-bottom-left-radius: 8px;
}
@media screen and (min-width: 1440px) {
  .ir-top-mv > .main > .image img {
    border-bottom-right-radius: 8px;
  }
}
@media screen and (max-width: 1023px) {
  .ir-top-mv > .main > .image img {
    border-radius: 4px;
  }
}
.ir-top-mv > .main > .inner {
  position: relative;
  max-inline-size: 960px;
}
.ir-top-mv > .main > .inner > .breadcrumb-area {
  padding-inline-end: 0;
}
.ir-top-mv > .main > .inner > .breadcrumb-area > .c-breadcrumb li {
  color: var(--color-white);
}
.ir-top-mv > .main > .inner > .inner-body {
  display: flex;
  -moz-column-gap: 20px;
       column-gap: 20px;
  align-items: flex-end;
  justify-content: space-between;
  margin-block-start: 20px;
}
@media screen and (max-width: 1023px) {
  .ir-top-mv > .main > .inner > .inner-body {
    margin-block-start: 60px;
  }
}
@media screen and (max-width: 799px) {
  .ir-top-mv > .main > .inner > .inner-body {
    flex-direction: column;
    row-gap: 46px;
    align-items: flex-start;
    justify-content: space-between;
    margin-block-start: 0;
  }
}
.ir-top-mv > .main > .inner > .inner-body > .text-area {
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: 32px;
  padding-inline-start: 48px;
  margin-block-end: 4px;
}
@media screen and (max-width: 799px) {
  .ir-top-mv > .main > .inner > .inner-body > .text-area {
    row-gap: 20px;
    padding-inline-start: 22px;
    margin-block-end: 0;
  }
}
.ir-top-mv > .main > .inner > .inner-body > .text-area.en > .title-area > .title {
  line-height: 150%;
  letter-spacing: 0.02em;
}
.ir-top-mv > .main > .inner > .inner-body > .text-area.en > .text {
  letter-spacing: 0.02em;
}
.ir-top-mv > .main > .inner > .inner-body > .text-area::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 72px;
  content: "";
  background: var(--color-main);
}
.ir-top-mv > .main > .inner > .inner-body > .text-area > .title-area {
  display: flex;
  flex-direction: column-reverse;
  row-gap: 4px;
}
.ir-top-mv > .main > .inner > .inner-body > .text-area > .title-area > .title {
  font-size: 34px;
  font-weight: 600;
  line-height: 165%;
  color: var(--color-white);
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .ir-top-mv > .main > .inner > .inner-body > .text-area > .title-area > .title {
    font-size: 30px;
  }
}
.ir-top-mv > .main > .inner > .inner-body > .text-area > .title-area > .sub-title {
  font-family: var(--font-marcellus);
  font-size: 11px;
  font-weight: 400;
  line-height: 100%;
  color: var(--color-white);
  letter-spacing: 0.02em;
}
.ir-top-mv > .main > .inner > .inner-body > .text-area > .text {
  font-size: 14px;
  font-weight: 400;
  line-height: 170%;
  color: var(--color-white);
  letter-spacing: 0.08em;
}
.ir-top-mv > .main > .inner > .inner-body > .link-button-area {
  flex-shrink: 0;
}
@media screen and (max-width: 799px) {
  .ir-top-mv > .main > .inner > .inner-body > .link-button-area {
    margin-inline-start: auto;
  }
}

.ir-top-link {
  position: relative;
  padding-inline: 360px 40px;
  margin-block-start: 80px;
  container: ir-top-link/inline-size;
}
@media screen and (max-width: 1023px) {
  .ir-top-link {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 799px) {
  .ir-top-link {
    padding-inline: 24px;
    margin-block-start: 48px;
  }
}
.ir-top-link > .box-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  gap: 12px 15px;
  max-width: 960px;
}
.ir-top-link > .box-list > .box {
  display: grid;
  grid-template-columns: 1fr 120px;
  -moz-column-gap: 40px;
       column-gap: 40px;
  padding-block: 32px;
  padding-inline: 32px;
  background-color: var(--color-bg-gray02);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .ir-top-link > .box-list > .box {
    grid-template-columns: 1fr 112px;
    -moz-column-gap: 16px;
         column-gap: 16px;
    padding-block: 24px;
    padding-inline: 20px;
  }
}
.ir-top-link > .box-list > .box.en > .body > .title {
  line-height: 150%;
  letter-spacing: 0.02em;
}
.ir-top-link > .box-list > .box.en > .body > .text {
  letter-spacing: 0.02em;
}
.ir-top-link > .box-list > .box > .body {
  display: grid;
  grid-auto-rows: min-content;
  row-gap: 10px;
}
@media screen and (max-width: 799px) {
  .ir-top-link > .box-list > .box > .body {
    row-gap: 8px;
  }
}
.ir-top-link > .box-list > .box > .body > .title {
  font-size: 18px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .ir-top-link > .box-list > .box > .body > .title {
    font-size: 16px;
  }
}
@media screen and (max-width: 799px) {
  .ir-top-link > .box-list > .box > .body > .title > .is-pc {
    display: none;
  }
}
.ir-top-link > .box-list > .box > .body > .title > .is-sp {
  display: none;
}
@media screen and (max-width: 799px) {
  .ir-top-link > .box-list > .box > .body > .title > .is-sp {
    display: inline;
  }
}
.ir-top-link > .box-list > .box > .body > .text {
  font-size: 13px;
  font-weight: 400;
  line-height: 170%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .ir-top-link > .box-list > .box > .body > .text {
    font-size: 12px;
  }
}
.ir-top-link > .box-list > .box > .image {
  width: 120px;
  aspect-ratio: 120/85;
}
@media screen and (max-width: 799px) {
  .ir-top-link > .box-list > .box > .image {
    width: 112px;
  }
}
.ir-top-link > .box-list > .box > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
}

.ir-top-news {
  position: relative;
  padding-inline: 360px 40px;
  margin-block-start: 84px;
}
@media screen and (max-width: 1023px) {
  .ir-top-news {
    padding-inline: 24px;
    margin-block-start: 64px;
  }
}
.ir-top-news > .inner {
  max-inline-size: 960px;
}
@media screen and (max-width: 799px) {
  .ir-top-news > .inner {
    display: grid;
    grid-template-areas: "title" "link-list" "link-button";
  }
}
.ir-top-news > .inner > .head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
@media screen and (max-width: 799px) {
  .ir-top-news > .inner > .head {
    display: contents;
  }
}
@media screen and (max-width: 799px) {
  .ir-top-news > .inner > .head > .c-with-subtitle {
    grid-area: title;
  }
}
.ir-top-news > .inner > .head > .link-button-area {
  display: flex;
  grid-area: link-button;
  -moz-column-gap: 40px;
       column-gap: 40px;
  align-items: center;
  margin-block-end: 7px;
}
@media screen and (max-width: 799px) {
  .ir-top-news > .inner > .head > .link-button-area {
    -moz-column-gap: 20px;
         column-gap: 20px;
    justify-content: flex-end;
    margin-block: 24px 0;
  }
}
.ir-top-news > .inner > .c-link-list {
  grid-area: link-list;
  padding-block-start: 28px;
  margin-block-start: 32px;
  border-top: 1px solid var(--color-line-gray01);
}
@media screen and (max-width: 799px) {
  .ir-top-news > .inner > .c-link-list {
    padding-block-start: 20px;
    margin-block-start: 24px;
  }
}

.ir-top-latest-news {
  position: relative;
  padding-block: 64px;
  padding-inline: 360px 40px;
  margin-block-start: 80px;
  background-color: var(--color-bg-gray02);
}
@media screen and (max-width: 1023px) {
  .ir-top-latest-news {
    padding-inline: 24px;
    margin-block-start: 56px;
  }
}
.ir-top-latest-news::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100vw;
  height: 100%;
  margin-inline: var(--spacing-full-negative);
  content: "";
  background-color: var(--color-bg-gray02);
}
.ir-top-latest-news > .inner {
  max-inline-size: 960px;
}
@media screen and (max-width: 799px) {
  .ir-top-latest-news > .inner {
    display: grid;
    grid-template-areas: "title" "link-list" "link-button";
  }
}
.ir-top-latest-news > .inner > .head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
@media screen and (max-width: 799px) {
  .ir-top-latest-news > .inner > .head {
    display: contents;
  }
}
@media screen and (max-width: 799px) {
  .ir-top-latest-news > .inner > .head > .c-with-subtitle {
    grid-area: title;
  }
}
.ir-top-latest-news > .inner > .head > .link-button-area {
  display: flex;
  grid-area: link-button;
  -moz-column-gap: 40px;
       column-gap: 40px;
  align-items: center;
  margin-block-end: 7px;
}
@media screen and (max-width: 799px) {
  .ir-top-latest-news > .inner > .head > .link-button-area {
    -moz-column-gap: 20px;
         column-gap: 20px;
    justify-content: flex-end;
    margin-block: 24px 0;
  }
}
.ir-top-latest-news > .inner > .c-link-list {
  padding-block-start: 28px;
  margin-block-start: 32px;
  border-top: 1px solid var(--color-line-gray02);
}
@media screen and (max-width: 799px) {
  .ir-top-latest-news > .inner > .c-link-list {
    padding-block-start: 20px;
    margin-block-start: 24px;
  }
}
.ir-top-latest-news > .inner > .c-link-list > .item {
  border-bottom: 1px solid var(--color-line-gray02);
}

.ir-top-content {
  position: relative;
  padding-block-end: 120px;
  padding-inline: 360px 40px;
  margin-block-start: 80px;
}
@media screen and (max-width: 1023px) {
  .ir-top-content {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 799px) {
  .ir-top-content {
    padding-block-end: 80px;
    padding-inline: 24px;
    margin-block-start: 56px;
  }
}
.ir-top-content.en * {
  line-height: 150% !important;
  letter-spacing: 0.02em !important;
}
.ir-top-content.en .item > .c-link-button {
  font-size: 18px !important;
}
.ir-top-content.en .item > .title {
  font-size: 18px !important;
}
.ir-top-content > .inner {
  max-inline-size: 960px;
}
.ir-top-content > .inner > .head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.ir-top-content > .inner > .body {
  position: relative;
  display: grid;
  row-gap: 24px;
  margin-block-start: 32px;
  container: ir-content-body/inline-size;
}
.ir-top-content > .inner > .body > .list {
  display: grid;
  grid-template-columns: 28.3333333333% 32.0833333333% 32.0833333333%;
  gap: 48px 3.75%;
  padding-block-start: 24px;
  border-top: 1px solid var(--color-line-gray01);
}
@container ir-content-body (max-width: 800px) {
  .ir-top-content > .inner > .body > .list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 0;
  }
}
.ir-top-content > .inner > .body > .list > .item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  row-gap: 0;
  align-items: flex-start;
  padding-block: 16px;
}
@media screen and (max-width: 799px) {
  .ir-top-content > .inner > .body > .list > .item {
    padding-block: 12px;
  }
}
.ir-top-content > .inner > .body > .list > .item:nth-child(2), .ir-top-content > .inner > .body > .list > .item:nth-child(3), .ir-top-content > .inner > .body > .list > .item:nth-child(5), .ir-top-content > .inner > .body > .list > .item:nth-child(6) {
  padding-inline-start: 11.6883116883%;
  border-left: 1px solid var(--color-line-gray01);
}
@container ir-content-body (max-width: 800px) {
  .ir-top-content > .inner > .body > .list > .item:nth-child(2), .ir-top-content > .inner > .body > .list > .item:nth-child(3), .ir-top-content > .inner > .body > .list > .item:nth-child(5), .ir-top-content > .inner > .body > .list > .item:nth-child(6) {
    padding-inline-start: 0;
    border-left: none;
  }
}
.ir-top-content > .inner > .body > .list > .item:nth-child(4) {
  grid-row: span 2;
}
@container ir-content-body (max-width: 800px) {
  .ir-top-content > .inner > .body > .list > .item:nth-child(4) {
    grid-row: span 3;
  }
}
@container ir-content-body (min-width: 801px) {
  .ir-top-content > .inner > .body > .list > .item:nth-child(4) {
    position: relative;
  }
  .ir-top-content > .inner > .body > .list > .item:nth-child(4)::before {
    position: absolute;
    top: -20px;
    left: 0;
    width: calc(300% + 72px);
    height: 1px;
    content: "";
    background-color: var(--color-line-gray01);
  }
}
.ir-top-content > .inner > .body > .list > .item:nth-child(4) > .spacer {
  display: none;
}
@container ir-content-body (max-width: 800px) {
  .ir-top-content > .inner > .body > .list > .item:nth-child(4) > .spacer {
    display: block;
  }
}
.ir-top-content > .inner > .body > .list > .item:nth-child(5) {
  grid-row: span 2;
}
@container ir-content-body (max-width: 800px) {
  .ir-top-content > .inner > .body > .list > .item:nth-child(5) {
    grid-row: span 3;
  }
}
.ir-top-content > .inner > .body > .list > .item:nth-child(5) > .spacer {
  display: none;
}
@container ir-content-body (max-width: 800px) {
  .ir-top-content > .inner > .body > .list > .item:nth-child(5) > .spacer {
    display: block;
  }
}
.ir-top-content > .inner > .body > .list > .item:nth-child(6) {
  grid-template-rows: auto;
}
@container ir-content-body (max-width: 800px) {
  .ir-top-content > .inner > .body > .list > .item:nth-child(2n+1) {
    padding-inline-end: 20px;
  }
}
@container ir-content-body (max-width: 800px) {
  .ir-top-content > .inner > .body > .list > .item:nth-child(2n) {
    padding-inline-start: 20px;
    border-left: 1px solid var(--color-line-gray01);
  }
}
@container ir-content-body (max-width: 800px) {
  .ir-top-content > .inner > .body > .list > .item:nth-child(3), .ir-top-content > .inner > .body > .list > .item:nth-child(5) {
    position: relative;
  }
  .ir-top-content > .inner > .body > .list > .item:nth-child(3)::before, .ir-top-content > .inner > .body > .list > .item:nth-child(5)::before {
    position: absolute;
    top: -20px;
    left: 0;
    width: 200%;
    height: 1px;
    content: "";
    background-color: var(--color-line-gray01);
  }
}
.ir-top-content > .inner > .body > .list > .item:last-child {
  padding-block: 0;
  padding-inline-start: 36px;
  border-left: none;
}
@container ir-content-body (max-width: 800px) {
  .ir-top-content > .inner > .body > .list > .item:last-child {
    padding-block: 12px;
    padding-inline-start: 20px;
    border-left: 1px solid var(--color-line-gray01);
  }
}
.ir-top-content > .inner > .body > .list > .item:last-child > .box {
  display: grid;
  row-gap: 8px;
  padding-block: 32px 36px;
  padding-inline: 32px;
  margin-block-start: 0;
  background-color: var(--color-bg-gray02);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .ir-top-content > .inner > .body > .list > .item:last-child > .box {
    row-gap: 10px;
    padding-block: 14px;
    padding-inline: 14px;
  }
}
.ir-top-content > .inner > .body > .list > .item > .title {
  font-size: 20px;
  font-weight: 600;
  line-height: 165%;
  color: var(--color-black);
  letter-spacing: 0.06em;
}
@media screen and (max-width: 799px) {
  .ir-top-content > .inner > .body > .list > .item > .title {
    font-size: 16px;
  }
}
.ir-top-content > .inner > .body > .list > .item > .image {
  width: 100%;
  max-width: 272px;
  aspect-ratio: 272/120;
  margin-block-start: 30px;
}
@media screen and (max-width: 799px) {
  .ir-top-content > .inner > .body > .list > .item > .image {
    margin-block-start: 24px;
  }
}
.ir-top-content > .inner > .body > .list > .item > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
}
.ir-top-content > .inner > .body > .list > .item > .inner-list {
  display: grid;
  row-gap: 8px;
  margin-block-start: 16px;
}

.ir-lower {
  position: relative;
  max-inline-size: 1920px;
  padding-block-start: 60px;
  margin-inline: auto;
}
@media screen and (max-width: 1023px) {
  .ir-lower {
    padding-block-start: 112px;
  }
}
.ir-lower > .container {
  padding-block-end: 140px;
  padding-inline: 360px 40px;
  margin-block-start: 85px;
}
@media screen and (max-width: 1023px) {
  .ir-lower > .container {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 799px) {
  .ir-lower > .container {
    padding-block-end: 80px;
    padding-inline: 24px;
    margin-block-start: 36px;
  }
}
.ir-lower > .container > .inner {
  max-inline-size: 960px;
}

.ir-lower-pdf-note {
  display: flex;
  -moz-column-gap: 24px;
       column-gap: 24px;
  align-items: flex-start;
  margin-block-start: 60px;
}
@media screen and (max-width: 799px) {
  .ir-lower-pdf-note {
    flex-direction: column;
    row-gap: 10px;
  }
}
.ir-lower-pdf-note .text {
  font-size: 12px;
  font-weight: 400;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.ir-lower-pdf-note .item {
  display: flex;
  flex-shrink: 0;
}
.ir-lower-pdf-note .link {
  display: block;
  width: 160px;
  aspect-ratio: 158/39;
}
.ir-lower-pdf-note .link img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.ir-lower-usage-note {
  margin-block-start: 32px;
}
@media screen and (max-width: 799px) {
  .ir-lower-usage-note {
    margin-block-start: 20px;
  }
}
.ir-lower-usage-note h2 {
  font-size: 16px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.ir-lower-usage-note .text {
  font-size: 12px;
  font-weight: 400;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.ir-lower-usage-note .item {
  display: flex;
  justify-content: flex-end;
}
.ir-lower-usage-note .link {
  display: block;
  width: 120px;
  aspect-ratio: 105/13;
}
.ir-lower-usage-note .link img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.ir-lower-usage-note .list {
  display: grid;
  row-gap: 4px;
  margin-block-start: 16px;
}
.ir-lower-usage-note .list li {
  position: relative;
  padding-inline-start: 1em;
  font-size: 12px;
  font-weight: 400;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.ir-lower-usage-note .list li::before {
  position: absolute;
  top: 8px;
  left: 0;
  width: 4px;
  aspect-ratio: 1/1;
  content: "";
  background-color: var(--color-black);
  border-radius: var(--rounded-full);
}
.ir-lower-usage-note .list + .text {
  margin-block-start: 32px;
}

.ir-lower-note {
  margin-block-start: 24px;
}
.ir-lower-note .text {
  font-size: 12px;
  font-weight: 400;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.ir-lower-note .text + .text {
  margin-block-start: 12px;
}
.ir-lower-note .item {
  display: flex;
  justify-content: flex-end;
}
.ir-lower-note .link {
  display: block;
  width: 120px;
  aspect-ratio: 105/13;
}
.ir-lower-note .link img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.ir-lower-content {
  margin-block-start: 80px;
}
@media screen and (max-width: 1023px) {
  .ir-lower-content {
    margin-block-start: 60px;
  }
}
.ir-lower-content.en .text {
  letter-spacing: 0.02em;
}
.ir-lower-content:has(.ir-lower-select-area) {
  margin-block-start: 60px;
}
@media screen and (max-width: 1023px) {
  .ir-lower-content:has(.ir-lower-select-area) {
    margin-block-start: 40px;
  }
}
.ir-lower-content:has(.ir-governance-content) {
  margin-block-start: 60px;
}
@media screen and (max-width: 1023px) {
  .ir-lower-content:has(.ir-governance-content) {
    margin-block-start: 40px;
  }
}
.ir-lower-content .c-decoration-bottom-full + .text {
  margin-block-start: 40px;
}
@media screen and (max-width: 1023px) {
  .ir-lower-content .c-decoration-bottom-full + .text {
    margin-block-start: 28px;
  }
}
.ir-lower-content .text {
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 1023px) {
  .ir-lower-content .text {
    font-size: 15px;
  }
}
.ir-lower-content .text + .c-decoration-bottom-full {
  margin-block-start: 64px;
}
@media screen and (max-width: 1023px) {
  .ir-lower-content .text + .c-decoration-bottom-full {
    margin-block-start: 48px;
  }
}
.ir-lower-content .body {
  padding-block: 64px;
  padding-inline: 80px;
  margin-block-start: 32px;
  background-color: var(--color-white);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .ir-lower-content .body {
    padding-block: 32px;
    padding-inline: 24px;
    margin-block-start: 24px;
  }
}
.ir-lower-content .eir_pdfNote_item,
.ir-lower-content .eir_pnexNote_item,
.ir-lower-content .eir_yuhoNote_item,
.ir-lower-content .qirBox_asteriskNote_item,
.ir-lower-content .qirBox_carefulNote_list_item,
.ir-lower-content .qirBox_pnexNote_text,
.ir-lower-content .eirCalendarNote {
  font-size: 13px;
}
@media screen and (max-width: 799px) {
  .ir-lower-content .eir_pdfNote_item,
  .ir-lower-content .eir_pnexNote_item,
  .ir-lower-content .eir_yuhoNote_item,
  .ir-lower-content .qirBox_asteriskNote_item,
  .ir-lower-content .qirBox_carefulNote_list_item,
  .ir-lower-content .qirBox_pnexNote_text,
  .ir-lower-content .eirCalendarNote {
    font-size: 12px;
  }
}

.ir-lower-note {
  margin-block-start: 24px;
}
.ir-lower-note.en .text {
  letter-spacing: 0.02em;
}
.ir-lower-note .text {
  font-size: 12px;
  font-weight: 400;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.ir-lower-note .text + .text {
  margin-block-start: 12px;
}
.ir-lower-note .item {
  display: flex;
  justify-content: flex-end;
}
.ir-lower-note .link {
  display: block;
  width: 120px;
  aspect-ratio: 105/13;
}
.ir-lower-note .link img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.ir-lower-pdf-note {
  display: flex;
  -moz-column-gap: 24px;
       column-gap: 24px;
  align-items: flex-start;
  margin-block-start: 60px;
}
@media screen and (max-width: 799px) {
  .ir-lower-pdf-note {
    flex-direction: column;
    row-gap: 10px;
  }
}
.ir-lower-pdf-note.en .text {
  letter-spacing: 0.02em;
}
.ir-lower-pdf-note .text {
  font-size: 12px;
  font-weight: 400;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.ir-lower-pdf-note .item {
  display: flex;
  flex-shrink: 0;
}
.ir-lower-pdf-note .link {
  display: block;
  width: 160px;
  aspect-ratio: 158/39;
}
.ir-lower-pdf-note .link img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.ir-lower-select-area {
  position: relative;
  display: inline-flex;
}
@media screen and (max-width: 799px) {
  .ir-lower-select-area {
    display: flex;
  }
}
.ir-lower-select-area.en .ir-lower-select {
  letter-spacing: 0.02em;
}
.ir-lower-select-area .icon {
  position: absolute;
  top: 18px;
  right: 20px;
  display: grid;
  place-items: center;
  width: 5px;
  height: 9px;
  pointer-events: none;
  transform: rotate(90deg);
}
.ir-lower-select-area .icon svg {
  width: 5px;
  height: 9px;
}
.ir-lower-select-area .icon svg path {
  fill: var(--color-main);
}
.ir-lower-select-area .ir-lower-select {
  min-inline-size: 148px;
  padding-block: 9px 11px;
  padding-inline: 20px 36px;
  font-size: 13px;
  font-weight: 500;
  line-height: 170%;
  letter-spacing: 0.08em;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--color-bg-gray02);
  border: 1px solid var(--color-line-gray01);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .ir-lower-select-area .ir-lower-select {
    width: 100%;
    height: 48px;
    padding-block: 13px;
  }
}

.ir-lower-usage-note {
  margin-block-start: 32px;
}
.ir-lower-usage-note.en h2,
.ir-lower-usage-note.en .text,
.ir-lower-usage-note.en .item,
.ir-lower-usage-note.en .list > li {
  letter-spacing: 0.02em;
}
.ir-lower-usage-note h2 {
  font-size: 16px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.ir-lower-usage-note .text {
  font-size: 12px;
  font-weight: 400;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.ir-lower-usage-note .item {
  display: flex;
  justify-content: flex-end;
}
.ir-lower-usage-note .link {
  display: block;
  width: 120px;
  aspect-ratio: 105/13;
}
.ir-lower-usage-note .link img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.ir-lower-usage-note .list {
  display: grid;
  row-gap: 4px;
  margin-block-start: 16px;
}
.ir-lower-usage-note .list li {
  position: relative;
  padding-inline-start: 1em;
  font-size: 12px;
  font-weight: 400;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.ir-lower-usage-note .list li::before {
  position: absolute;
  top: 8px;
  left: 0;
  width: 4px;
  aspect-ratio: 1/1;
  content: "";
  background-color: var(--color-black);
  border-radius: var(--rounded-full);
}
.ir-lower-usage-note .list + .text {
  margin-block-start: 32px;
}

@media screen and (max-width: 799px) {
  .ir-lower-content + .ir-lower-usage-note {
    margin-block-start: 40px;
  }
}

.ir-calendar-content > .calendar-image {
  display: flex;
  -moz-column-gap: 4px;
       column-gap: 4px;
  justify-content: space-between;
}
@media screen and (max-width: 799px) {
  .ir-calendar-content > .calendar-image {
    flex-direction: column;
    row-gap: 16px;
  }
}
.ir-calendar-content > .calendar-image > .image {
  width: 100%;
}
.ir-calendar-content > .calendar-image > .image img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.ir-calendar-content > .ir-calendar-inner-section {
  margin-block-start: 80px;
}
.ir-calendar-content > .ir-calendar-inner-section + .ir-calendar-inner-section {
  margin-block-start: 64px;
}
@media screen and (max-width: 799px) {
  .ir-calendar-content > .ir-calendar-inner-section + .ir-calendar-inner-section {
    margin-block-start: 40px;
  }
}
.ir-calendar-content .ir-lower-select-area {
  margin-block-start: 80px;
}
@media screen and (max-width: 799px) {
  .ir-calendar-content .ir-lower-select-area {
    margin-block-start: 56px;
  }
}

.ir-calendar-note {
  margin-block-start: 60px;
}
@media screen and (max-width: 799px) {
  .ir-calendar-note {
    margin-block-start: 32px;
  }
}
.ir-calendar-note.en > .text {
  letter-spacing: 0.02em;
}
.ir-calendar-note > .text {
  font-size: 12px;
  font-weight: 400;
  line-height: 165%;
  letter-spacing: 0.08em;
}

.ir-highlight > .chart-list {
  display: flex;
  flex-wrap: wrap;
  row-gap: 64px;
  justify-content: space-between;
}
@media screen and (max-width: 799px) {
  .ir-highlight > .chart-list {
    row-gap: 40px;
  }
}
.ir-highlight > .chart-list > .item {
  width: calc(50% - 20px);
}
@media screen and (max-width: 799px) {
  .ir-highlight > .chart-list > .item {
    width: 100%;
  }
}
.ir-highlight > .chart-list > .item > .label {
  font-size: 18px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.ir-highlight > .chart-list > .item > .label.en {
  letter-spacing: 0.02em;
}
.ir-highlight > .chart-list > .item > .box {
  padding-block: 20px;
  padding-inline: 40px;
  margin-block-start: 24px;
  background-color: var(--color-white);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .ir-highlight > .chart-list > .item > .box {
    padding-block: 32px;
    padding-inline: 16px;
  }
}
.ir-highlight > .chart-list > .item > .box img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.ir-highlight > .note {
  margin-block-start: 60px;
}
@media screen and (max-width: 799px) {
  .ir-highlight > .note {
    margin-block-start: 40px;
  }
}
.ir-highlight > .note.en > .list > li {
  letter-spacing: 0.02em;
}
.ir-highlight > .note > .list {
  display: grid;
  row-gap: 4px;
  margin-block-start: 16px;
}
.ir-highlight > .note > .list > li {
  position: relative;
  padding-inline-start: 1em;
  font-size: 12px;
  font-weight: 400;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.ir-highlight > .note > .list > li::before {
  position: absolute;
  top: 8px;
  left: 0;
  width: 4px;
  aspect-ratio: 1/1;
  content: "";
  background-color: var(--color-black);
  border-radius: var(--rounded-full);
}

.ir-message-ceo-container {
  container: message-ceo/inline-size;
}
.ir-message-ceo-container > .content {
  display: grid;
  grid-template-columns: 320px 1fr;
  -moz-column-gap: clamp(3.75rem, -2.404rem + 9.62vw, 6.25rem);
       column-gap: clamp(3.75rem, -2.404rem + 9.62vw, 6.25rem);
}
@container message-ceo (max-width: 800px) {
  .ir-message-ceo-container > .content {
    grid-template-columns: 1fr;
    row-gap: 40px;
  }
}
@media screen and (max-width: 799px) {
  .ir-message-ceo-container > .content {
    row-gap: 32px;
  }
}
.ir-message-ceo-container > .content > .image {
  width: 320px;
  aspect-ratio: 320/387.37;
}
@container message-ceo (max-width: 800px) {
  .ir-message-ceo-container > .content > .image {
    width: 71.0227272727%;
    margin-inline: auto;
  }
}
.ir-message-ceo-container > .content > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
}
.ir-message-ceo-container > .content > .text-content.en > .lead {
  line-height: 150%;
  letter-spacing: 0.02em;
}
.ir-message-ceo-container > .content > .text-content.en > .text-area > .text {
  letter-spacing: 0.02em;
}
.ir-message-ceo-container > .content > .text-content.en > .name-area > .position,
.ir-message-ceo-container > .content > .text-content.en > .name-area > .name {
  letter-spacing: 0.02em;
}
.ir-message-ceo-container > .content > .text-content > .text-area {
  display: grid;
  row-gap: 16px;
}
.ir-message-ceo-container > .content > .text-content > .text-area > .text {
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .ir-message-ceo-container > .content > .text-content > .text-area > .text {
    font-size: 15px;
  }
}
.ir-message-ceo-container > .content > .text-content > .name-area {
  display: grid;
  row-gap: 1px;
  margin-block-start: 32px;
  text-align: right;
}
@media screen and (max-width: 799px) {
  .ir-message-ceo-container > .content > .text-content > .name-area {
    margin-block-start: 24px;
  }
}
.ir-message-ceo-container > .content > .text-content > .name-area > .position {
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .ir-message-ceo-container > .content > .text-content > .name-area > .position {
    font-size: 15px;
  }
}
.ir-message-ceo-container > .content > .text-content > .name-area > .name {
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .ir-message-ceo-container > .content > .text-content > .name-area > .name {
    font-size: 15px;
  }
}

.ir-governance-content > .ir-governance-top {
  padding-block: 24px;
  padding-inline: 40px;
  background-color: var(--color-white);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .ir-governance-content > .ir-governance-top {
    padding-inline: 24px;
  }
}
.ir-governance-content > .ir-governance-top.en > .link > .title {
  letter-spacing: 0.02em;
}
.ir-governance-content > .ir-governance-top > .link > .title {
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
.ir-governance-content > .ir-governance-top > .link > .pdf {
  padding-block: 4px;
  padding-inline: 8px;
  margin-inline-start: 16px;
  font-size: 10px;
  font-weight: 500;
  line-height: 100%;
  color: var(--color-white);
  letter-spacing: 0.06em;
  background-color: var(--color-black);
  border-radius: 4px;
}
.ir-governance-content > .ir-governance-section {
  margin-block-start: 64px;
}
.ir-governance-content > .ir-governance-section.en > .text {
  letter-spacing: 0.02em;
}
.ir-governance-content > .ir-governance-section > .governance-image {
  padding-block: 30px;
  padding-inline: 30px;
  margin-block-start: 56px;
  background-color: var(--color-white);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .ir-governance-content > .ir-governance-section > .governance-image {
    padding-inline: 11px;
    margin-block: 11px;
  }
}
.ir-governance-content > .ir-governance-section > .governance-image img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 799px) {
  .ir-governance-content .eir[class*=area_governance] .s_eirModule_title_label {
    font-size: 15px;
  }
}

.ir-news-filter-area {
  position: relative;
  margin-block: 24px 40px;
}
@media screen and (max-width: 799px) {
  .ir-news-filter-area {
    margin-block: 16px 32px;
  }
}
.ir-news-filter-area .filter-box {
  display: grid;
  row-gap: 20px;
  max-inline-size: 960px;
  padding-block: 32px;
  padding-inline: 40px;
  background-color: var(--color-white);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .ir-news-filter-area .filter-box {
    row-gap: 16px;
    padding-block: 24px;
    padding-inline: 24px;
  }
}
.ir-news-filter-area .filter-box > .group {
  display: flex;
  -moz-column-gap: 16px;
       column-gap: 16px;
}
@media screen and (max-width: 799px) {
  .ir-news-filter-area .filter-box > .group {
    flex-direction: column;
    row-gap: 8px;
  }
}
.ir-news-filter-area .filter-box > .group > .label {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  width: 81px;
  font-size: 13px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0;
  border-right: 1px dashed var(--color-line-gray02);
}
@media screen and (max-width: 799px) {
  .ir-news-filter-area .filter-box > .group > .label {
    width: auto;
    border-right: none;
  }
}
.ir-news-filter-area .filter-box > .group > .list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-start;
}
.ir-news-filter-area .filter-box > .group > .list > .item {
  display: grid;
}
.ir-news-filter-area .filter-box > .group > .list > .item > .link {
  display: grid;
  place-items: center;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 500;
  line-height: 150%;
  color: var(--color-black);
  text-decoration: none;
  background: var(--color-bg-gray01);
  border-radius: 2px;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.ir-news-filter-area .filter-box > .group > .list > .item > .link:focus-visible {
  color: var(--color-white);
  background: var(--color-main);
}
@media (any-hover: hover) {
  .ir-news-filter-area .filter-box > .group > .list > .item > .link:hover {
    color: var(--color-white);
    background: var(--color-main);
  }
}
.ir-news-filter-area .filter-box > .group > .list > .item > .link.is-active, .ir-news-filter-area .filter-box > .group > .list > .item > .link[aria-current=page] {
  color: var(--color-white);
  background: var(--color-main);
}
.ir-news-filter-area .ir-news-accordion {
  display: none;
}
@media screen and (max-width: 799px) {
  .ir-news-filter-area .ir-news-accordion {
    display: grid;
    row-gap: 2px;
  }
}
.ir-news-filter-area .ir-news-accordion > .accordion-head-wrapper {
  position: relative;
}
.ir-news-filter-area .ir-news-accordion > .accordion-head-wrapper > .accordion-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 48px;
  padding-block: 14px;
  padding-inline: 24px 22px;
  background-color: var(--color-black);
  border-radius: 4px;
}
.ir-news-filter-area .ir-news-accordion > .accordion-head-wrapper > .accordion-head[aria-expanded=false] > .icon .vertical-line {
  transform: rotate(0deg);
}
.ir-news-filter-area .ir-news-accordion > .accordion-head-wrapper > .accordion-head > .text {
  font-size: 13px;
  font-weight: 500;
  line-height: 150%;
  color: var(--color-white);
  letter-spacing: 0.08em;
}
.ir-news-filter-area .ir-news-accordion > .accordion-head-wrapper > .accordion-head > .icon {
  display: grid;
  place-items: center;
  width: 10px;
  aspect-ratio: 1/1;
}
.ir-news-filter-area .ir-news-accordion > .accordion-head-wrapper > .accordion-head > .icon .vertical-line {
  transform: rotate(90deg);
  transform-origin: center;
  transition: transform 0.3s ease;
}
.ir-news-filter-area .ir-news-accordion > .filter-box {
  visibility: hidden;
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: height 0.2s ease-in-out, padding-block 0.1s ease-in-out, opacity 0.2s ease-in-out;
}
.ir-news-filter-area .ir-news-accordion > .filter-box[aria-hidden=true] {
  padding-block: 0;
}

.ir-info-information-list {
  width: 100%;
}
.ir-info-information-list.en * {
  letter-spacing: 0.02em !important;
}
.ir-info-information-list > .item {
  display: grid;
  grid-template-columns: 270px 1fr;
  padding-block: 30px;
  border-bottom: 1px solid var(--color-line-gray01);
}
@media screen and (max-width: 799px) {
  .ir-info-information-list > .item {
    grid-template-columns: 1fr;
    padding-block: 20px;
  }
}
.ir-info-information-list > .item:first-of-type {
  padding-block-start: 0;
}
@media screen and (max-width: 799px) {
  .ir-info-information-list > .item:first-of-type {
    padding-block-start: 0;
  }
}
.ir-info-information-list > .item > dt {
  grid-area: auto/1/auto/2;
  font-size: 16px;
  font-weight: 600;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .ir-info-information-list > .item > dt {
    grid-area: auto;
    font-size: 15px;
  }
}
.ir-info-information-list > .item > dd {
  grid-area: auto/2/auto/3;
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 799px) {
  .ir-info-information-list > .item > dd {
    grid-area: auto;
    font-size: 15px;
  }
}
@media screen and (max-width: 799px) {
  .ir-info-information-list > .item > dd:first-of-type {
    margin-block-start: 8px;
  }
}
.ir-info-information-list > .item > dd > span {
  margin-block-start: 12px;
  font-size: 12px;
  font-weight: 400;
  line-height: 180%;
  color: var(--color-text-gray01);
  letter-spacing: 0.08em;
}

@media screen and (max-width: 799px) {
  .ir-dividend-box-area {
    width: calc(100vw - 24px);
    overflow-x: scroll;
  }
}
@media screen and (max-width: 799px) {
  .ir-dividend-box-area > .inner {
    width: -moz-max-content;
    width: max-content;
    padding-inline-end: 24px;
  }
}
.ir-dividend-box-area > .inner > .ir-dividend-box {
  width: 100%;
  aspect-ratio: 960/424;
  padding-block: 32px;
  padding-inline: 44px;
  background-color: var(--color-white);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .ir-dividend-box-area > .inner > .ir-dividend-box {
    height: 350px;
    padding-block: 24px;
    padding-inline: 36px;
  }
}
.ir-dividend-box-area > .inner > .ir-dividend-box img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.ir-dividend-table-area {
  margin-block-start: 64px;
}
@media screen and (max-width: 799px) {
  .ir-dividend-table-area {
    width: calc(100vw - 24px);
    margin-block-start: 40px;
    overflow-x: scroll;
  }
}
@media screen and (max-width: 799px) {
  .ir-dividend-table-area > .inner {
    width: -moz-max-content;
    width: max-content;
    padding-inline-end: 24px;
  }
}
.ir-dividend-table-area > .inner > .ir-dividend-table {
  width: 100%;
  aspect-ratio: 960/330;
}
@media screen and (max-width: 799px) {
  .ir-dividend-table-area > .inner > .ir-dividend-table {
    height: 350px;
  }
}
.ir-dividend-table-area > .inner > .ir-dividend-table img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.sustainability-top {
  position: relative;
  max-inline-size: 1920px;
  margin-inline: auto;
}
.sustainability-top > .container {
  padding-block-end: 120px;
  padding-inline: 360px 40px;
  margin-block-start: 80px;
}
@media screen and (max-width: 1023px) {
  .sustainability-top > .container {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 799px) {
  .sustainability-top > .container {
    padding-block-end: 80px;
    padding-inline: 24px;
    margin-block-start: 48px;
  }
}
.sustainability-top > .container > .inner {
  max-inline-size: 960px;
}

.sustainability-top-mv {
  padding-inline-start: 360px;
}
@media screen and (max-width: 1023px) {
  .sustainability-top-mv {
    padding-block-start: 10px;
    padding-inline: 10px;
  }
}
.sustainability-top-mv > .main {
  position: relative;
  max-inline-size: 1080px;
  padding-block: 60px 48px;
  padding-inline-end: 40px;
}
@media screen and (max-width: 799px) {
  .sustainability-top-mv > .main {
    padding-block: 148px 32px;
    padding-inline-end: 24px;
  }
}
.sustainability-top-mv > .main > .image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.sustainability-top-mv > .main > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-bottom-left-radius: 8px;
}
@media screen and (min-width: 1440px) {
  .sustainability-top-mv > .main > .image img {
    border-bottom-right-radius: 8px;
  }
}
@media screen and (max-width: 1023px) {
  .sustainability-top-mv > .main > .image img {
    border-radius: 4px;
  }
}
.sustainability-top-mv > .main > .inner {
  position: relative;
  max-width: 960px;
}
.sustainability-top-mv > .main > .inner > .breadcrumb-area {
  padding-inline-end: 0;
}
.sustainability-top-mv > .main > .inner > .breadcrumb-area > .c-breadcrumb li {
  color: var(--color-white);
}
.sustainability-top-mv > .main > .inner > .inner-body {
  display: grid;
  row-gap: 40px;
  margin-block-start: 20px;
}
@media screen and (max-width: 1023px) {
  .sustainability-top-mv > .main > .inner > .inner-body {
    margin-block-start: 100px;
  }
}
@media screen and (max-width: 799px) {
  .sustainability-top-mv > .main > .inner > .inner-body {
    row-gap: 36px;
    margin-block-start: 0;
  }
}
.sustainability-top-mv > .main > .inner > .inner-body > .title-area {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  row-gap: 4px;
  padding-inline-start: 48px;
}
@media screen and (max-width: 799px) {
  .sustainability-top-mv > .main > .inner > .inner-body > .title-area {
    padding-inline-start: 22px;
  }
}
.sustainability-top-mv > .main > .inner > .inner-body > .title-area::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 72px;
  content: "";
  background: var(--color-main);
}
@media screen and (max-width: 799px) {
  .sustainability-top-mv > .main > .inner > .inner-body > .title-area::before {
    height: 73px;
  }
}
.sustainability-top-mv > .main > .inner > .inner-body > .title-area > .title {
  font-size: 34px;
  font-weight: 600;
  line-height: 165%;
  color: var(--color-white);
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-top-mv > .main > .inner > .inner-body > .title-area > .title {
    font-size: 30px;
  }
}
.sustainability-top-mv > .main > .inner > .inner-body > .title-area > .sub-title {
  font-family: var(--font-marcellus);
  font-size: 12px;
  font-weight: 400;
  line-height: 100%;
  color: var(--color-white);
  letter-spacing: 0.02em;
}
@media screen and (max-width: 799px) {
  .sustainability-top-mv > .main > .inner > .inner-body > .title-area > .sub-title {
    font-size: 11px;
  }
}
.sustainability-top-mv > .main > .inner > .inner-body > .text-area {
  position: relative;
  display: grid;
  row-gap: 20px;
  padding-inline-start: 48px;
}
@media screen and (max-width: 799px) {
  .sustainability-top-mv > .main > .inner > .inner-body > .text-area {
    row-gap: 16px;
    padding-inline-start: 22px;
  }
}
.sustainability-top-mv > .main > .inner > .inner-body > .text-area > .lead {
  font-size: 22px;
  font-weight: 600;
  line-height: 165%;
  color: var(--color-white);
  text-align: end;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-top-mv > .main > .inner > .inner-body > .text-area > .lead {
    font-size: 18px;
  }
}
.sustainability-top-mv > .main > .inner > .inner-body > .text-area > .text {
  font-size: 15px;
  font-weight: 400;
  line-height: 210%;
  color: var(--color-white);
  text-align: end;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-top-mv > .main > .inner > .inner-body > .text-area > .text {
    font-size: 13px;
  }
}

.sustainability-top-link {
  display: grid;
  grid-template-areas: "link image" "text image" "... image";
  grid-template-columns: 1fr 220px;
  grid-auto-rows: min-content;
  -moz-column-gap: 60px;
       column-gap: 60px;
  max-inline-size: 980px;
  padding-block: 40px;
  padding-inline: 48px;
  background-color: var(--color-bg-gray02);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .sustainability-top-link {
    grid-template-areas: "link image" "text text";
    grid-template-columns: 1fr 138px;
    padding-block: 24px;
    padding-inline: 20px;
  }
}
.sustainability-top-link > .link {
  grid-area: link;
}
.sustainability-top-link > .text {
  grid-area: text;
  margin-block-start: 12px;
  font-size: 15px;
  font-weight: 400;
  line-height: 170%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-top-link > .text {
    margin-block-start: 20px;
    font-size: 12px;
  }
}
.sustainability-top-link > .image {
  grid-area: image;
  width: 220px;
  aspect-ratio: 220/112;
}
@media screen and (max-width: 799px) {
  .sustainability-top-link > .image {
    width: 138px;
    aspect-ratio: 138/78;
  }
}
.sustainability-top-link > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
}

.sustainability-top-news {
  position: relative;
  margin-block-start: 100px;
}
@media screen and (max-width: 799px) {
  .sustainability-top-news {
    margin-block-start: 64px;
  }
}
.sustainability-top-news > .c-link-list {
  padding-block-start: 28px;
  margin-block-start: 32px;
  border-top: 1px solid var(--color-line-gray01);
}
@media screen and (max-width: 799px) {
  .sustainability-top-news > .c-link-list {
    padding-block-start: 20px;
    margin-block-start: 24px;
  }
}

.sustainability-top-content {
  position: relative;
  margin-block-start: 100px;
}
@media screen and (max-width: 799px) {
  .sustainability-top-content {
    margin-block-start: 56px;
  }
}
.sustainability-top-content > .head {
  display: flex;
}
.sustainability-top-content > .body {
  position: relative;
  display: grid;
  row-gap: 24px;
  margin-block-start: 32px;
  container: sustainability-content-body/inline-size;
}
@media screen and (max-width: 799px) {
  .sustainability-top-content > .body {
    row-gap: 20px;
    margin-block-start: 24px;
  }
}
.sustainability-top-content > .body > .list {
  display: grid;
  grid-template-columns: 28.3333333333% 32.0833333333% 32.0833333333%;
  gap: 48px 3.75%;
  padding-block-start: 24px;
  border-top: 1px solid var(--color-line-gray01);
}
@container sustainability-content-body (max-width: 800px) {
  .sustainability-top-content > .body > .list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 0;
    padding-block: 20px;
    border-bottom: 1px solid var(--color-line-gray01);
  }
}
.sustainability-top-content > .body > .list > .item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  row-gap: 0;
  align-items: flex-start;
  padding-block: 16px;
}
@media screen and (max-width: 799px) {
  .sustainability-top-content > .body > .list > .item {
    padding-block: 12px;
  }
}
.sustainability-top-content > .body > .list > .item:nth-child(2), .sustainability-top-content > .body > .list > .item:nth-child(3), .sustainability-top-content > .body > .list > .item:nth-child(5), .sustainability-top-content > .body > .list > .item:nth-child(6) {
  padding-inline-start: 11.6883116883%;
  border-left: 1px solid var(--color-line-gray01);
}
@container sustainability-content-body (max-width: 800px) {
  .sustainability-top-content > .body > .list > .item:nth-child(2), .sustainability-top-content > .body > .list > .item:nth-child(3), .sustainability-top-content > .body > .list > .item:nth-child(5), .sustainability-top-content > .body > .list > .item:nth-child(6) {
    padding-inline-start: 0;
    border-left: none;
  }
}
@container sustainability-content-body (min-width: 801px) {
  .sustainability-top-content > .body > .list > .item:nth-child(4) {
    position: relative;
  }
  .sustainability-top-content > .body > .list > .item:nth-child(4)::before {
    position: absolute;
    top: -20px;
    left: 0;
    width: calc(300% + 72px);
    height: 1px;
    content: "";
    background-color: var(--color-line-gray01);
  }
}
@container sustainability-content-body (max-width: 800px) {
  .sustainability-top-content > .body > .list > .item:nth-child(5) {
    border-right: 1px solid var(--color-line-gray01);
  }
}
@container sustainability-content-body (max-width: 800px) {
  .sustainability-top-content > .body > .list > .item:nth-child(2n+1) {
    padding-inline-end: 20px;
  }
}
@container sustainability-content-body (max-width: 800px) {
  .sustainability-top-content > .body > .list > .item:nth-child(2n) {
    padding-inline-start: 20px;
    border-left: 1px solid var(--color-line-gray01);
  }
}
@container sustainability-content-body (max-width: 800px) {
  .sustainability-top-content > .body > .list > .item:nth-child(3), .sustainability-top-content > .body > .list > .item:nth-child(5) {
    position: relative;
  }
  .sustainability-top-content > .body > .list > .item:nth-child(3)::before, .sustainability-top-content > .body > .list > .item:nth-child(5)::before {
    position: absolute;
    top: -20px;
    left: 0;
    width: 200%;
    height: 1px;
    content: "";
    background-color: var(--color-line-gray01);
  }
}
.sustainability-top-content > .body > .list > .item > .title {
  font-size: 20px;
  font-weight: 600;
  line-height: 165%;
  color: var(--color-black);
  letter-spacing: 0.06em;
}
@media screen and (max-width: 799px) {
  .sustainability-top-content > .body > .list > .item > .title {
    font-size: 16px;
  }
}
.sustainability-top-content > .body > .list > .item > .image {
  width: 100%;
  max-width: 272px;
  aspect-ratio: 272/120;
  margin-block-start: 30px;
}
@media screen and (max-width: 799px) {
  .sustainability-top-content > .body > .list > .item > .image {
    margin-block-start: 24px;
  }
}
.sustainability-top-content > .body > .list > .item > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
}

.sustainability-message {
  position: relative;
  max-inline-size: 1920px;
  padding-block-start: 40px;
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .sustainability-message {
    padding-block-start: 118px;
  }
}
.sustainability-message > .breadcrumb-area {
  margin-block-start: 20px;
}
.sustainability-message > .container {
  padding-block-end: 140px;
  padding-inline: 360px 40px;
  margin-block-start: 85px;
}
@media screen and (max-width: 1023px) {
  .sustainability-message > .container {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 799px) {
  .sustainability-message > .container {
    padding-block-end: 80px;
    padding-inline: 24px;
    margin-block-start: 40px;
  }
}
.sustainability-message > .container > .inner {
  max-inline-size: 960px;
}

.sustainability-message-content {
  padding-inline: 40px 60px;
  margin-block-start: 80px;
}
@media screen and (max-width: 799px) {
  .sustainability-message-content {
    padding-inline: 0;
    margin-block-start: 60px;
  }
}
.sustainability-message-content > .image {
  width: 100%;
  aspect-ratio: 860/403.12;
}
@media screen and (max-width: 799px) {
  .sustainability-message-content > .image {
    aspect-ratio: 352/200.16;
  }
}
.sustainability-message-content > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
}
.sustainability-message-content > .text-area {
  display: grid;
  row-gap: 24px;
  margin-block-start: 80px;
}
@media screen and (max-width: 799px) {
  .sustainability-message-content > .text-area {
    row-gap: 16px;
    margin-block-start: 32px;
  }
}
.sustainability-message-content > .text-area > .text {
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-message-content > .text-area > .text {
    font-size: 15px;
  }
}

.sustainability-materiality {
  position: relative;
  max-inline-size: 1920px;
  padding-block-start: 40px;
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality {
    padding-block-start: 118px;
  }
}
.sustainability-materiality > .breadcrumb-area {
  margin-block-start: 20px;
}
.sustainability-materiality > .container {
  padding-block-end: 140px;
  padding-inline: 360px 40px;
  margin-block-start: 85px;
}
@media screen and (max-width: 1023px) {
  .sustainability-materiality > .container {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 799px) {
  .sustainability-materiality > .container {
    padding-block-end: 80px;
    padding-inline: 24px;
    margin-block-start: 40px;
  }
}

.sustainability-materiality-content {
  max-inline-size: 960px;
}
.sustainability-materiality-content > .introduction {
  margin-block-start: 48px;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .introduction {
    margin-block-start: 28px;
  }
}
.sustainability-materiality-content > .introduction > .text {
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .introduction > .text {
    font-size: 15px;
  }
}
.sustainability-materiality-content > .box {
  padding-block: 80px;
  padding-inline: 60px;
  margin-block-start: 60px;
  background-color: var(--color-white);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .box {
    padding-block: 32px;
    padding-inline: 16px;
    margin-block-start: 32px;
  }
}
.sustainability-materiality-content > .box.en {
  padding-inline: 60px 45px;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .box.en {
    padding-block: 36px 18px;
    padding-inline: 16px;
  }
}
.sustainability-materiality-content > .box.en > .image {
  position: relative;
  width: 100%;
  aspect-ratio: 855/690;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .box.en > .image {
    aspect-ratio: 320/610;
  }
}
.sustainability-materiality-content > .box.en > .image > .trigger {
  position: absolute;
  width: 22.8070175439%;
  aspect-ratio: 195/139;
  cursor: pointer;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .box.en > .image > .trigger {
    width: 43.6817472699%;
    aspect-ratio: 140/116;
  }
}
.sustainability-materiality-content > .box.en > .image > .trigger-1 {
  top: 9.5%;
  left: 27%;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .box.en > .image > .trigger-1 {
    top: 9.8%;
    left: 46.5%;
    aspect-ratio: 140/139;
  }
}
.sustainability-materiality-content > .box.en > .image > .trigger-2 {
  top: 32%;
  left: 27%;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .box.en > .image > .trigger-2 {
    top: 36%;
    left: 46.5%;
  }
}
.sustainability-materiality-content > .box.en > .image > .trigger-3 {
  top: 54.5%;
  left: 27%;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .box.en > .image > .trigger-3 {
    top: 58.1%;
    left: 46.5%;
  }
}
.sustainability-materiality-content > .box.en > .image > .trigger-4 {
  top: 77%;
  left: 27%;
  aspect-ratio: 195/128;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .box.en > .image > .trigger-4 {
    top: 80.4%;
    left: 46.5%;
    aspect-ratio: 140/119;
  }
}
.sustainability-materiality-content > .box > .image {
  position: relative;
  width: 100%;
  aspect-ratio: 840/620;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .box > .image {
    aspect-ratio: 317/600;
  }
}
.sustainability-materiality-content > .box > .image img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.sustainability-materiality-content > .box > .image > .trigger {
  position: absolute;
  width: 23.2142857143%;
  aspect-ratio: 195/117;
  cursor: pointer;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .box > .image > .trigger {
    width: 44.1640378549%;
    aspect-ratio: 140/119;
  }
}
.sustainability-materiality-content > .box > .image > .trigger-1 {
  top: 8%;
  left: 29.2%;
  aspect-ratio: 195/134;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .box > .image > .trigger-1 {
    top: 10.5%;
    left: 47%;
    aspect-ratio: 140/119;
  }
}
.sustainability-materiality-content > .box > .image > .trigger-2 {
  top: 32%;
  left: 29.2%;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .box > .image > .trigger-2 {
    top: 34%;
    left: 47%;
  }
}
.sustainability-materiality-content > .box > .image > .trigger-3 {
  top: 53.5%;
  left: 29.2%;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .box > .image > .trigger-3 {
    top: 57%;
    left: 47%;
  }
}
.sustainability-materiality-content > .box > .image > .trigger-4 {
  top: 75%;
  left: 29.2%;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .box > .image > .trigger-4 {
    top: 80%;
    left: 47%;
  }
}
.sustainability-materiality-content > .process-section {
  margin-block-start: 100px;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .process-section {
    margin-block-start: 56px;
  }
}
.sustainability-materiality-content > .process-section > .introduction {
  margin-block-start: 48px;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .process-section > .introduction {
    margin-block-start: 28px;
  }
}
.sustainability-materiality-content > .process-section > .introduction > .text {
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .process-section > .introduction > .text {
    font-size: 15px;
  }
}
.sustainability-materiality-content > .process-section > .process {
  margin-block-start: 60px;
  overflow: hidden;
  background-color: #bc322d;
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .process-section > .process {
    margin-block-start: 40px;
  }
}
.sustainability-materiality-content > .process-section > .process .step-item {
  display: grid;
  grid-template-columns: 250px 1fr;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .process-section > .process .step-item {
    grid-template-columns: 1fr;
  }
}
.sustainability-materiality-content > .process-section > .process .step-item:first-child {
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .process-section > .process .step-item:first-child .step {
    padding-block-start: 28px;
  }
}
.sustainability-materiality-content > .process-section > .process .step-item:first-child .step::after {
  position: absolute;
  bottom: -30px;
  left: 0;
  z-index: 1;
  display: block;
  width: 250px;
  height: 30px;
  content: "";
  background-color: #bc322d;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .process-section > .process .step-item:first-child .step::after {
    bottom: -36px;
    width: 100%;
    height: 36px;
  }
}
.sustainability-materiality-content > .process-section > .process .step-item:nth-child(2) {
  position: relative;
  z-index: 2;
}
.sustainability-materiality-content > .process-section > .process .step-item:nth-child(2) .step {
  padding-block-start: 48px;
  background-color: #e34544;
  transform: translateY(-10px);
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .process-section > .process .step-item:nth-child(2) .step {
    z-index: 1;
    padding-block-start: 28px;
    transform: translateY(0);
  }
}
.sustainability-materiality-content > .process-section > .process .step-item:nth-child(2) .step::after {
  position: absolute;
  bottom: -30px;
  left: 0;
  z-index: 1;
  display: block;
  width: 250px;
  height: 30px;
  content: "";
  background-color: #e34544;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .process-section > .process .step-item:nth-child(2) .step::after {
    bottom: -36px;
    width: 100%;
    height: 36px;
  }
}
.sustainability-materiality-content > .process-section > .process .step-item:nth-child(3) .step {
  position: relative;
  padding-block-start: 12px;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .process-section > .process .step-item:nth-child(3) .step {
    padding-block-start: 28px;
  }
  .sustainability-materiality-content > .process-section > .process .step-item:nth-child(3) .step::after {
    position: absolute;
    bottom: -36px;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 36px;
    content: "";
    background-color: #bc322d;
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
  }
}
.sustainability-materiality-content > .process-section > .process .step-item:not(:first-child) .text::before {
  position: absolute;
  top: 0;
  left: 48px;
  width: calc(100% - 96px);
  height: 1px;
  content: "";
  background-color: var(--color-line-gray01);
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .process-section > .process .step-item:not(:first-child) .text::before {
    display: none;
  }
}
.sustainability-materiality-content > .process-section > .process .step-item .step {
  position: relative;
  display: grid;
  row-gap: 10px;
  place-content: center;
  padding-inline: 16px;
  background-color: #bc322d;
}
.sustainability-materiality-content > .process-section > .process .step-item .step > .label {
  display: inline-flex;
  -moz-column-gap: 4px;
       column-gap: 4px;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  padding-block: 4px 5px;
  padding-inline: 8px;
  margin-inline: auto;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  font-feature-settings: "palt" on;
  line-height: 100%; /* 13px */
  color: var(--color-main);
  letter-spacing: 1.04px;
  background: #f8e4e2;
  border-radius: 2px;
  opacity: 0.8;
}
.sustainability-materiality-content > .process-section > .process .step-item .step > .title {
  font-size: 16px;
  font-weight: 600;
  line-height: 165%;
  color: var(--color-white);
  text-align: center;
  letter-spacing: 0.08em;
}
.sustainability-materiality-content > .process-section > .process .step-item > .body {
  position: relative;
  min-height: 161px;
  padding-block: 40px;
  padding-inline: 40px 48px;
  background-color: var(--color-white);
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .process-section > .process .step-item > .body {
    min-height: auto;
    padding-block: 56px 32px;
    padding-inline: 24px;
  }
}
.sustainability-materiality-content > .process-section > .process .step-item > .body > .text {
  display: flex;
  align-items: center;
  min-height: 3lh;
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-content > .process-section > .process .step-item > .body > .text {
    align-items: flex-start;
    min-height: auto;
    font-size: 15px;
  }
}

.sustainability-materiality-modal {
  position: relative;
  max-inline-size: 1000px;
  width: calc(100% - 120px);
  max-height: calc(100dvh - 120px);
  background-color: var(--color-bg-gray01);
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-modal {
    width: calc(100% - 32px);
    max-height: calc(100dvh - 32px);
    border-radius: 4px;
  }
}
.sustainability-materiality-modal::backdrop {
  background-color: rgba(0, 0, 0, 0.7);
}
.sustainability-materiality-modal .modal-trigger-area {
  position: sticky;
  top: 0;
  z-index: 10;
}
.sustainability-materiality-modal .modal-trigger {
  position: absolute;
  top: 24px;
  right: 24px;
  display: grid;
  place-items: center;
  width: 36px;
  aspect-ratio: 1/1;
  background-color: var(--color-black);
  border-radius: var(--rounded-full);
  transition: width 0.3s ease, right 0.3s ease, top 0.3s ease;
}
.sustainability-materiality-modal .modal-trigger:focus-visible {
  top: 21px;
  right: 21px;
  width: 42px;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-modal .modal-trigger:focus-visible {
    top: 16px;
    right: 16px;
    width: 30px;
    outline: none;
  }
}
@media (any-hover: hover) {
  .sustainability-materiality-modal .modal-trigger:hover {
    top: 21px;
    right: 21px;
    width: 42px;
  }
}
@media screen and (any-hover: hover) and (max-width: 799px) {
  .sustainability-materiality-modal .modal-trigger:hover {
    top: 16px;
    right: 16px;
    width: 30px;
    outline: none;
  }
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-modal .modal-trigger {
    top: 16px;
    right: 16px;
    width: 30px;
  }
}
.sustainability-materiality-modal .modal-trigger .icon {
  display: grid;
  place-items: center;
  width: 18px;
  aspect-ratio: 1/1;
}
.sustainability-materiality-modal .modal-container {
  padding-block: 100px;
  padding-inline: 120px;
}
@media screen and (max-width: 1023px) {
  .sustainability-materiality-modal .modal-container {
    padding-block: 100px;
    padding-inline: 60px;
  }
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-modal .modal-container {
    padding-block: 80px 40px;
    padding-inline: 24px;
  }
}
.sustainability-materiality-modal .modal-container.en * {
  letter-spacing: 0.02em !important;
}
.sustainability-materiality-modal .modal-container .modal-top {
  position: relative;
  display: grid;
  row-gap: 48px;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-modal .modal-container .modal-top {
    row-gap: 32px;
  }
}
.sustainability-materiality-modal .modal-container .modal-top > .title {
  display: flex;
  -moz-column-gap: 20px;
       column-gap: 20px;
  align-items: center;
  font-size: 24px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-modal .modal-container .modal-top > .title {
    -moz-column-gap: 12px;
         column-gap: 12px;
    font-size: 18px;
  }
}
.sustainability-materiality-modal .modal-container .modal-top > .title > .number {
  display: grid;
  flex-shrink: 0;
  place-items: center;
  width: 48px;
  aspect-ratio: 1/1;
  font-size: 18px;
  font-weight: 600;
  line-height: 100%;
  color: var(--color-white);
  letter-spacing: 0;
  background-color: var(--color-main);
  border-top-left-radius: var(--rounded-full);
  border-top-right-radius: var(--rounded-full);
  border-bottom-left-radius: var(--rounded-full);
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-modal .modal-container .modal-top > .title > .number {
    width: 44px;
    font-size: 16px;
  }
}
.sustainability-materiality-modal .modal-container .modal-top .box {
  display: grid;
  grid-template-columns: 64.0909090909% 31.3636363636%;
  -moz-column-gap: 30px;
       column-gap: 30px;
  padding-block: 32px;
  padding-inline: 40px;
  background-color: var(--color-white);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-modal .modal-container .modal-top .box {
    grid-template-columns: 1fr;
    row-gap: 24px;
    padding-block: 32px;
    padding-inline: 24px;
  }
}
.sustainability-materiality-modal .modal-container .modal-top .box.en > .group > .list > .item {
  padding-inline: 16px;
}
.sustainability-materiality-modal .modal-container .modal-top .box.en > .group > .list > .stakeholder-item {
  display: grid;
  place-content: center;
  padding-block: 8px;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  background-color: #f8e4e2;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-modal .modal-container .modal-top .box.en > .group > .list > .stakeholder-item {
    min-height: 82px;
  }
}
.sustainability-materiality-modal .modal-container .modal-top .box.en > .group > .list > .stakeholder-item span {
  display: block;
  margin-block-start: 4px;
  font-size: 12px;
}
.sustainability-materiality-modal .modal-container .modal-top .box.en > .group > .list > .stakeholder-item.row-2 {
  min-height: 88px;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-modal .modal-container .modal-top .box.en > .group > .list > .stakeholder-item.row-2 {
    min-height: 82px;
  }
}
.sustainability-materiality-modal .modal-container .modal-top .box > .group {
  display: grid;
  grid-template-rows: min-content 1fr;
  row-gap: 20px;
}
.sustainability-materiality-modal .modal-container .modal-top .box > .group > .title {
  position: relative;
  padding-inline-start: 16px;
  font-size: 16px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.sustainability-materiality-modal .modal-container .modal-top .box > .group > .title::before {
  position: absolute;
  top: 3px;
  left: 0;
  width: 3px;
  height: calc(100% - 4px);
  content: "";
  background-color: var(--color-main);
}
.sustainability-materiality-modal .modal-container .modal-top .box > .group > .list {
  display: grid;
  row-gap: 6px;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-modal .modal-container .modal-top .box > .group > .list {
    row-gap: 10px;
  }
}
.sustainability-materiality-modal .modal-container .modal-top .box > .group > .list > .item {
  padding-block: 8px;
  padding-inline: 28px;
  font-size: 15px;
  font-weight: 500;
  line-height: 165%;
  letter-spacing: 0.04em;
  background-color: #f8f5f1;
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-modal .modal-container .modal-top .box > .group > .list > .item {
    text-align: center;
  }
}
.sustainability-materiality-modal .modal-container .modal-top .box > .group > .list > .stakeholder-item {
  display: grid;
  place-content: center;
  padding-block: 8px;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  background-color: #f8e4e2;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-modal .modal-container .modal-top .box > .group > .list > .stakeholder-item {
    min-height: 82px;
  }
}
.sustainability-materiality-modal .modal-container .modal-top .box > .group > .list > .stakeholder-item span {
  display: block;
  margin-block-start: 4px;
  font-size: 12px;
}
.sustainability-materiality-modal .modal-container .modal-top .box > .group > .list > .stakeholder-item.row-2 {
  min-height: 88px;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-modal .modal-container .modal-top .box > .group > .list > .stakeholder-item.row-2 {
    min-height: 82px;
  }
}
.sustainability-materiality-modal .modal-container .modal-content-area {
  margin-block-start: 48px;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-modal .modal-container .modal-content-area {
    margin-block-start: 32px;
  }
}
.sustainability-materiality-modal .modal-container .modal-content-area > .modal-content-section > .title {
  position: relative;
  padding-block-end: 16px;
  font-size: 18px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
  border-bottom: 1px solid var(--color-line-gray01);
}
.sustainability-materiality-modal .modal-container .modal-content-area > .modal-content-section > .title.en {
  letter-spacing: 0.02em;
}
.sustainability-materiality-modal .modal-container .modal-content-area > .modal-content-section > .title::before {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 20px;
  height: 2px;
  content: "";
  background-color: var(--color-main);
}
.sustainability-materiality-modal .modal-container .modal-content-area > .modal-content-section > .title + .text {
  margin-block-start: 24px;
}
.sustainability-materiality-modal .modal-container .modal-content-area > .modal-content-section > .text {
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-materiality-modal .modal-container .modal-content-area > .modal-content-section > .text {
    font-size: 15px;
  }
}

.sustainability-human-capital {
  position: relative;
  max-inline-size: 1920px;
  padding-block-start: 40px;
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital {
    padding-block-start: 118px;
  }
}
.sustainability-human-capital > .breadcrumb-area {
  margin-block-start: 20px;
}
.sustainability-human-capital > .container {
  padding-block-end: 140px;
  padding-inline: 360px 40px;
  margin-block-start: 85px;
}
@media screen and (max-width: 1023px) {
  .sustainability-human-capital > .container {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital > .container {
    padding-block-end: 80px;
    padding-inline: 24px;
    margin-block-start: 40px;
  }
}
.sustainability-human-capital > .container > .inner {
  max-inline-size: 960px;
}

.sustainability-human-capital-content {
  margin-block-start: 80px;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content {
    margin-block-start: 60px;
  }
}
.sustainability-human-capital-content > .content-section + .content-section {
  margin-block-start: 64px;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section + .content-section {
    margin-block-start: 56px;
  }
}
.sustainability-human-capital-content > .content-section > .introduction {
  margin-block-start: 40px;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .introduction {
    margin-block-start: 28px;
  }
}
.sustainability-human-capital-content > .content-section > .introduction > .text {
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .introduction > .text {
    font-size: 15px;
  }
}
.sustainability-human-capital-content > .content-section > .priority-box {
  padding-block: 40px;
  padding-inline: 40px;
  margin-block-start: 32px;
  background-color: var(--color-bg-gray02);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .priority-box {
    padding-block: 32px;
    padding-inline: 24px;
    margin-block-start: 24px;
  }
}
.sustainability-human-capital-content > .content-section > .priority-box > .title {
  font-size: 20px;
  font-weight: 600;
  line-height: 165%;
  text-align: center;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .priority-box > .title {
    font-size: 18px;
  }
}
.sustainability-human-capital-content > .content-section > .priority-box > .sub-title {
  margin-block-start: 20px;
  font-size: 18px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .priority-box > .sub-title {
    margin-block-start: 18px;
    font-size: 16px;
  }
}
.sustainability-human-capital-content > .content-section > .priority-box > .list {
  display: grid;
  row-gap: 4px;
  margin-block-start: 16px;
}
.sustainability-human-capital-content > .content-section > .priority-box > .list > li {
  position: relative;
  display: flex;
  -moz-column-gap: 12px;
       column-gap: 12px;
  padding-inline-start: 1.0667em;
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .priority-box > .list > li {
    -moz-column-gap: 8px;
         column-gap: 8px;
    font-size: 15px;
  }
}
.sustainability-human-capital-content > .content-section > .priority-box > .list > li::before {
  position: absolute;
  top: 11px;
  left: 0;
  width: 6px;
  aspect-ratio: 1/1;
  content: "";
  background-color: var(--color-main);
  border-radius: var(--rounded-full);
}
.sustainability-human-capital-content > .content-section > .section-dojo {
  margin-block-start: 80px;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo {
    margin-block-start: 40px;
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .heading {
  display: flex;
  flex-direction: column-reverse;
  row-gap: 8px;
  justify-content: center;
  text-align: center;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .heading {
    row-gap: 6px;
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .heading > .title {
  font-size: 24px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .heading > .title {
    font-size: 20px;
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .heading > .sub-title {
  font-size: 16px;
  font-weight: 600;
  line-height: 165%;
  color: var(--color-main);
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .heading > .sub-title {
    font-size: 15px;
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box {
  padding-block: 60px 80px;
  padding-inline: 80px;
  margin-block-start: 32px;
  background-color: var(--color-white);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .box {
    padding-block: 32px;
    padding-inline: 16px;
    margin-block-start: 24px;
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image {
  aspect-ratio: 800/595;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image {
    aspect-ratio: 320/994;
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger {
  position: absolute;
  width: 40%;
  aspect-ratio: 320/70;
  cursor: pointer;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger {
    width: 44.0625%;
    aspect-ratio: 141/60;
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger-1 {
  top: 15.8%;
  left: 0;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger-1 {
    top: 11.8%;
    left: 0;
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger-1 > .tooltip-content {
  transform: translateY(-44%) !important;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger-1.is-active > .tooltip-content {
  display: block;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger-2 {
  top: 31%;
  left: 0;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger-2 {
    top: 20.4%;
    left: 0;
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger-2 > .tooltip-content {
  transform: translateY(-43%) !important;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger-3 {
  top: 52.4%;
  left: 0;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger-3 {
    top: 7.4%;
    left: 56%;
  }
  .sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger-3 > .tooltip-content {
    right: 88% !important;
    left: auto !important;
  }
  .sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger-3 > .tooltip-content::before {
    right: -8.5px !important;
    left: auto !important;
    border-color: transparent transparent transparent #ffffff !important;
    border-width: 6.5px 0 6.5px 9px !important;
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger-4 {
  top: 67.4%;
  left: 0;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger-4 > .tooltip-content {
  transform: translateY(-40%) !important;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger-4 {
    top: 16%;
    left: 56%;
  }
  .sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger-4 > .tooltip-content {
    right: 88% !important;
    left: auto !important;
  }
  .sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger-4 > .tooltip-content::before {
    right: -8.5px !important;
    left: auto !important;
    border-color: transparent transparent transparent #ffffff !important;
    border-width: 6.5px 0 6.5px 9px !important;
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger-5 {
  top: 82.6%;
  left: 0;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger-5 {
    top: 24.6%;
    left: 56%;
  }
  .sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger-5 > .tooltip-content {
    right: 88% !important;
    left: auto !important;
  }
  .sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger-5 > .tooltip-content::before {
    right: -8.5px !important;
    left: auto !important;
    border-color: transparent transparent transparent #ffffff !important;
    border-width: 6.5px 0 6.5px 9px !important;
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger.active > .tooltip-content {
  opacity: 1;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger > .button {
  display: block;
  width: 100%;
  height: 100%;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger > .button[aria-expanded=true] > .trigger-icon > .open {
  opacity: 0;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger > .button[aria-expanded=true] > .trigger-icon > .close {
  opacity: 1;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger > .button > .trigger-icon {
  position: absolute;
  right: 2.5%;
  bottom: 12%;
  display: block;
  width: 26.875%;
  aspect-ratio: 86/25;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger > .button > .trigger-icon {
    right: 50%;
    bottom: -20%;
    width: 60.9929078014%;
    transform: translateX(50%);
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger > .button > .trigger-icon > .open {
  position: absolute;
  top: 0;
  left: 0;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger > .button > .trigger-icon > .close {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger > .tooltip-content {
  position: absolute;
  top: 50%;
  left: calc(100% + 10px);
  z-index: 1;
  width: -moz-max-content;
  width: max-content;
  padding: 16px;
  pointer-events: none;
  background-color: #ffffff;
  border-radius: 2px;
  opacity: 0;
  filter: drop-shadow(0 2px 10px rgba(17, 17, 17, 0.16));
  transform: translateY(-42%);
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger > .tooltip-content {
    top: 98%;
    left: 88%;
    padding-inline: 16px 7px;
    transform: translateY(-50%) !important;
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger > .tooltip-content::before {
  position: absolute;
  top: 50%;
  left: -8.5px;
  content: "";
  border-color: transparent #ffffff transparent transparent;
  border-style: solid;
  border-width: 6.5px 9px 6.5px 0;
  transform: translateY(-50%);
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger > .tooltip-content > .title {
  font-size: 13px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger > .tooltip-content > .title {
    font-size: 13px;
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger > .tooltip-content > .title + .list {
  margin-block-start: 8px;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger > .tooltip-content > .text {
  margin-block-start: 2px;
  font-size: 13px;
  font-weight: 400;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger > .tooltip-content > .list > .item {
  position: relative;
  padding-inline-start: 1em;
  font-size: 13px;
  font-weight: 400;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger > .tooltip-content > .list > .item::before {
  position: absolute;
  top: 8px;
  left: 0;
  width: 4px;
  aspect-ratio: 1/1;
  content: "";
  background-color: var(--color-black);
  border-radius: var(--rounded-full);
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger > .tooltip-content > .list + .title {
  margin-block-start: 16px;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .box.en > .image > .trigger > .tooltip-content > .list + .title {
    margin-block-start: 8px;
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image {
  position: relative;
  width: 100%;
  aspect-ratio: 800/534;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .box > .image {
    aspect-ratio: 320/941;
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger {
  position: absolute;
  width: 40%;
  aspect-ratio: 320/70;
  cursor: pointer;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger {
    width: 44.0625%;
    aspect-ratio: 141/60;
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger-1 {
  top: 12.2%;
  left: 0;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger-1 {
    top: 10%;
    left: 0;
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger-1 > .tooltip-content {
  transform: translateY(-44%) !important;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger-1.is-active > .tooltip-content {
  display: block;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger-2 {
  top: 29.2%;
  left: 0;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger-2 {
    top: 19%;
    left: 0;
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger-2 > .tooltip-content {
  transform: translateY(-43%) !important;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger-3 {
  top: 53%;
  left: 0;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger-3 {
    top: 5.4%;
    left: 56%;
  }
  .sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger-3 > .tooltip-content {
    right: 82% !important;
    left: auto !important;
  }
  .sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger-3 > .tooltip-content::before {
    right: -8.5px !important;
    left: auto !important;
    border-color: transparent transparent transparent #ffffff !important;
    border-width: 6.5px 0 6.5px 9px !important;
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger-4 {
  top: 70%;
  left: 0;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger-4 > .tooltip-content {
  transform: translateY(-40%) !important;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger-4 {
    top: 14.3%;
    left: 56%;
  }
  .sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger-4 > .tooltip-content {
    right: 82% !important;
    left: auto !important;
  }
  .sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger-4 > .tooltip-content::before {
    right: -8.5px !important;
    left: auto !important;
    border-color: transparent transparent transparent #ffffff !important;
    border-width: 6.5px 0 6.5px 9px !important;
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger-5 {
  top: 87%;
  left: 0;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger-5 {
    top: 23.4%;
    left: 56%;
  }
  .sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger-5 > .tooltip-content {
    right: 82% !important;
    left: auto !important;
  }
  .sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger-5 > .tooltip-content::before {
    right: -8.5px !important;
    left: auto !important;
    border-color: transparent transparent transparent #ffffff !important;
    border-width: 6.5px 0 6.5px 9px !important;
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger.active > .tooltip-content {
  opacity: 1;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger > .button {
  display: block;
  width: 100%;
  height: 100%;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger > .button[aria-expanded=true] > .trigger-icon > .open {
  opacity: 0;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger > .button[aria-expanded=true] > .trigger-icon > .close {
  opacity: 1;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger > .button > .trigger-icon {
  position: absolute;
  right: 2.5%;
  bottom: 12%;
  display: block;
  width: 20.625%;
  aspect-ratio: 66/25;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger > .button > .trigger-icon {
    right: 50%;
    bottom: -20%;
    width: 46.8085106383%;
    transform: translateX(50%);
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger > .button > .trigger-icon > .open {
  position: absolute;
  top: 0;
  left: 0;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger > .button > .trigger-icon > .close {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger > .tooltip-content {
  position: absolute;
  top: 50%;
  left: calc(100% + 10px);
  z-index: 1;
  width: -moz-max-content;
  width: max-content;
  padding: 16px;
  pointer-events: none;
  background-color: #ffffff;
  border-radius: 2px;
  opacity: 0;
  filter: drop-shadow(0 2px 10px rgba(17, 17, 17, 0.16));
  transform: translateY(-42%);
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger > .tooltip-content {
    top: 98%;
    left: 82%;
    transform: translateY(-50%) !important;
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger > .tooltip-content::before {
  position: absolute;
  top: 50%;
  left: -8.5px;
  content: "";
  border-color: transparent #ffffff transparent transparent;
  border-style: solid;
  border-width: 6.5px 9px 6.5px 0;
  transform: translateY(-50%);
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger > .tooltip-content > .title {
  font-size: 13px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger > .tooltip-content > .title {
    font-size: 13px;
  }
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger > .tooltip-content > .title + .list {
  margin-block-start: 8px;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger > .tooltip-content > .text {
  margin-block-start: 2px;
  font-size: 13px;
  font-weight: 400;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger > .tooltip-content > .list > .item {
  position: relative;
  padding-inline-start: 1em;
  font-size: 13px;
  font-weight: 400;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger > .tooltip-content > .list > .item::before {
  position: absolute;
  top: 8px;
  left: 0;
  width: 4px;
  aspect-ratio: 1/1;
  content: "";
  background-color: var(--color-black);
  border-radius: var(--rounded-full);
}
.sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger > .tooltip-content > .list + .title {
  margin-block-start: 16px;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .section-dojo > .box > .image > .trigger > .tooltip-content > .list + .title {
    margin-block-start: 8px;
  }
}
.sustainability-human-capital-content > .content-section > .box-list {
  display: grid;
  row-gap: 24px;
  margin-block-start: 48px;
}
.sustainability-human-capital-content > .content-section > .box-list > .box {
  display: grid;
  grid-template-areas: "image title" "image text";
  grid-template-columns: 155px 1fr;
  gap: 16px 40px;
  padding-block: 40px;
  padding-inline: 60px;
  background-color: var(--color-white);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .box-list > .box {
    grid-template-areas: "image title" "text text";
    grid-template-columns: 64px 1fr;
    gap: 20px;
    padding-block: 32px;
    padding-inline: 24px;
  }
}
.sustainability-human-capital-content > .content-section > .box-list > .box > .title {
  grid-area: title;
  font-size: 20px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .box-list > .box > .title {
    align-self: center;
    font-size: 18px;
  }
}
.sustainability-human-capital-content > .content-section > .box-list > .box > .text {
  grid-area: text;
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-human-capital-content > .content-section > .box-list > .box > .text {
    font-size: 15px;
  }
}
.sustainability-human-capital-content > .content-section > .box-list > .box > .image {
  grid-area: image;
  aspect-ratio: 1/1;
  border: 1px solid var(--color-bg-gray02);
  border-radius: 4px;
}
.sustainability-human-capital-content > .content-section > .box-list > .box > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
}

.sustainability-esg {
  position: relative;
  max-inline-size: 1920px;
  padding-block-start: 40px;
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .sustainability-esg {
    padding-block-start: 118px;
  }
}
.sustainability-esg > .breadcrumb-area {
  margin-block-start: 20px;
}
.sustainability-esg > .container {
  padding-block-end: 140px;
  padding-inline: 360px 40px;
  margin-block-start: 85px;
}
@media screen and (max-width: 1023px) {
  .sustainability-esg > .container {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 799px) {
  .sustainability-esg > .container {
    padding-block-end: 80px;
    padding-inline: 24px;
    margin-block-start: 40px;
  }
}
.sustainability-esg > .container > .inner {
  max-inline-size: 960px;
}

.sustainability-esg-content {
  margin-block-start: 80px;
}
@media screen and (max-width: 799px) {
  .sustainability-esg-content {
    margin-block-start: 60px;
  }
}
.sustainability-esg-content > .top-text {
  margin-block-start: 40px;
}
@media screen and (max-width: 799px) {
  .sustainability-esg-content > .top-text {
    margin-block-start: 28px;
  }
}
.sustainability-esg-content > .top-text > .text {
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-esg-content > .top-text > .text {
    font-size: 15px;
  }
}
.sustainability-esg-content .flow {
  margin-block-start: 60px;
}
@media screen and (max-width: 799px) {
  .sustainability-esg-content .flow {
    margin-block-start: 48px;
  }
}
.sustainability-esg-content .flow > .box {
  padding-block: 48px 60px;
  padding-inline: 64px;
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .sustainability-esg-content .flow > .box {
    padding-block: 32px;
    padding-inline: 24px;
  }
}
.sustainability-esg-content .flow > .box.before {
  background-color: var(--color-white);
}
.sustainability-esg-content .flow > .box.after {
  background-color: #f8e4e2;
}
.sustainability-esg-content .flow > .box > .title {
  position: relative;
  padding-block-end: 12px;
  font-size: 24px;
  font-weight: 600;
  line-height: 165%;
  text-align: center;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-esg-content .flow > .box > .title {
    font-size: 20px;
  }
}
.sustainability-esg-content .flow > .box > .title::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  z-index: 1;
  width: 26px;
  height: 2px;
  content: "";
  background-color: var(--color-main);
  transform: translateX(-50%);
}
.sustainability-esg-content .flow > .box > .title + .text {
  margin-block-start: 24px;
}
.sustainability-esg-content .flow > .box > .text {
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-esg-content .flow > .box > .text {
    font-size: 15px;
  }
}
.sustainability-esg-content .flow > .box > .text + .text {
  margin-block-start: 12px;
}
.sustainability-esg-content .flow > .image {
  width: 133px;
  aspect-ratio: 133/52;
  margin-block: 17px 12px;
  margin-inline: auto;
  text-align: center;
}
@media screen and (max-width: 799px) {
  .sustainability-esg-content .flow > .image {
    width: 96px;
    margin-block: 18px 12px;
  }
}
.sustainability-esg-content .flow > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.sustainability-esg-data {
  position: relative;
  max-inline-size: 1920px;
  padding-block-start: 40px;
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .sustainability-esg-data {
    padding-block-start: 118px;
  }
}
.sustainability-esg-data > .breadcrumb-area {
  margin-block-start: 20px;
}
.sustainability-esg-data > .container {
  padding-block-end: 140px;
  padding-inline: 360px 40px;
  margin-block-start: 85px;
}
@media screen and (max-width: 1023px) {
  .sustainability-esg-data > .container {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 799px) {
  .sustainability-esg-data > .container {
    padding-block-end: 80px;
    padding-inline: 24px;
    margin-block-start: 40px;
  }
}
.sustainability-esg-data > .container > .inner {
  max-inline-size: 960px;
}

.sustainability-esg-data-content {
  margin-block-start: 80px;
}
@media screen and (max-width: 799px) {
  .sustainability-esg-data-content {
    margin-block-start: 60px;
  }
}
.sustainability-esg-data-content > .table-area {
  margin-block-start: 48px;
}
@media screen and (max-width: 799px) {
  .sustainability-esg-data-content > .table-area {
    margin-block-start: 28px;
  }
}
.sustainability-esg-data-content > .table-area > table {
  width: 100%;
  text-align: center;
  border-collapse: collapse;
  border: 1px solid var(--color-line-gray01);
}
.sustainability-esg-data-content > .table-area > table > thead {
  color: var(--color-white);
  background-color: var(--color-main);
}
.sustainability-esg-data-content > .table-area > table > thead > tr > th {
  padding-block: 18px;
  padding-inline: 10px;
  font-size: 15px;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 0.04em;
  border: 1px solid var(--color-line-gray01);
}
@media screen and (max-width: 799px) {
  .sustainability-esg-data-content > .table-area > table > thead > tr > th {
    width: -moz-min-content;
    width: min-content;
    padding-block: 17.5px;
    padding-inline: 2px;
    font-size: 13px;
  }
}
.sustainability-esg-data-content > .table-area > table > thead > tr > th:nth-of-type(1) {
  width: 18.9583333333%;
  color: transparent;
}
@media screen and (max-width: 799px) {
  .sustainability-esg-data-content > .table-area > table > thead > tr > th:nth-of-type(1) {
    width: -moz-min-content;
    width: min-content;
  }
}
.sustainability-esg-data-content > .table-area > table > tbody > tr > th {
  width: 18.9583333333%;
  padding-block: 22px;
  padding-inline: 10px;
  font-size: 15px;
  font-weight: 500;
  line-height: 100%;
  color: var(--color-black);
  letter-spacing: 0.04em;
  background-color: var(--color-bg-gray02);
  border: 1px solid var(--color-line-gray01);
}
@media screen and (max-width: 799px) {
  .sustainability-esg-data-content > .table-area > table > tbody > tr > th {
    width: -moz-min-content;
    width: min-content;
    padding-block: 12px;
    font-size: 13px;
  }
}
.sustainability-esg-data-content > .table-area > table > tbody > tr > td {
  padding-block: 22px;
  padding-inline: 10px;
  font-size: 14px;
  text-align: right;
  border: 1px solid var(--color-line-gray01);
}
@media screen and (max-width: 799px) {
  .sustainability-esg-data-content > .table-area > table > tbody > tr > td {
    padding-block: 12px;
    font-size: 13px;
  }
}
.sustainability-esg-data-content > .note {
  margin-block-start: 24px;
}
@media screen and (max-width: 799px) {
  .sustainability-esg-data-content > .note {
    margin-block-start: 20px;
  }
}
.sustainability-esg-data-content > .note > .text {
  position: relative;
  padding-inline-start: 1em;
  font-size: 13px;
  font-weight: 400;
  line-height: 180%;
  color: var(--color-text-gray01);
  letter-spacing: 0.08em;
}
.sustainability-esg-data-content > .note > .text::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "※";
}
.sustainability-esg-data-content > .note > .text + .text {
  margin-block-start: 2px;
}

.sustainability-case-study {
  position: relative;
  max-inline-size: 1920px;
  padding-block-start: 40px;
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .sustainability-case-study {
    padding-block-start: 118px;
  }
}
.sustainability-case-study > .breadcrumb-area {
  margin-block-start: 20px;
}
.sustainability-case-study > .container {
  padding-block-end: 140px;
  padding-inline: 360px 40px;
  margin-block-start: 85px;
}
@media screen and (max-width: 1023px) {
  .sustainability-case-study > .container {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 799px) {
  .sustainability-case-study > .container {
    padding-block-end: 80px;
    padding-inline: 24px;
    margin-block-start: 40px;
  }
}
.sustainability-case-study > .container > .inner {
  max-inline-size: 960px;
}

.sustainability-case-study-content {
  margin-block-start: 60px;
}
@media screen and (max-width: 799px) {
  .sustainability-case-study-content {
    margin-block-start: 40px;
  }
}
.sustainability-case-study-content > .top-text > .text {
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-case-study-content > .top-text > .text {
    font-size: 15px;
  }
}
.sustainability-case-study-content > .case-study-list {
  display: grid;
  row-gap: 24px;
  margin-block-start: 60px;
}
@media screen and (max-width: 799px) {
  .sustainability-case-study-content > .case-study-list {
    margin-block-start: 48px;
  }
}
.sustainability-case-study-content > .case-study-list > .box {
  background-color: var(--color-white);
  border-radius: 4px;
}
.sustainability-case-study-content > .case-study-list > .box > .accordion-head-wrapper {
  position: relative;
}
.sustainability-case-study-content > .case-study-list > .box > .accordion-head-wrapper > .accordion-head {
  display: grid;
  grid-template-areas: "image title" "image lead";
  grid-template-columns: 160px 1fr;
  gap: 20px 32px;
  align-items: center;
  width: 100%;
  padding-block: 60px;
  padding-inline: 80px 160px;
}
@media screen and (max-width: 799px) {
  .sustainability-case-study-content > .case-study-list > .box > .accordion-head-wrapper > .accordion-head {
    grid-template-areas: "image title" "lead lead";
    grid-template-columns: 64px 1fr;
    gap: 20px;
    padding-block: 24px;
    padding-inline: 24px;
  }
}
.sustainability-case-study-content > .case-study-list > .box > .accordion-head-wrapper > .accordion-head[aria-expanded=false] > .icon .vertical-line {
  transform: rotate(90deg);
}
.sustainability-case-study-content > .case-study-list > .box > .accordion-head-wrapper > .accordion-head > .image {
  grid-area: image;
  aspect-ratio: 1/1;
  overflow: hidden;
  border: 1px solid var(--color-line-gray02);
  border-radius: 4px;
}
.sustainability-case-study-content > .case-study-list > .box > .accordion-head-wrapper > .accordion-head > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sustainability-case-study-content > .case-study-list > .box > .accordion-head-wrapper > .accordion-head > .title {
  display: grid;
  grid-area: title;
  align-self: self-end;
  font-size: 22px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-case-study-content > .case-study-list > .box > .accordion-head-wrapper > .accordion-head > .title {
    align-self: center;
    padding-inline-end: 32px;
    font-size: 18px;
  }
}
.sustainability-case-study-content > .case-study-list > .box > .accordion-head-wrapper > .accordion-head > .lead {
  display: grid;
  grid-area: lead;
  align-self: flex-start;
  font-size: 18px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-case-study-content > .case-study-list > .box > .accordion-head-wrapper > .accordion-head > .lead {
    font-size: 16px;
  }
}
.sustainability-case-study-content > .case-study-list > .box > .accordion-head-wrapper > .accordion-head > .icon {
  position: absolute;
  top: 50%;
  right: 64px;
  display: grid;
  place-items: center;
  width: 28px;
  aspect-ratio: 1/1;
  transform: translateY(-50%);
}
@media screen and (max-width: 799px) {
  .sustainability-case-study-content > .case-study-list > .box > .accordion-head-wrapper > .accordion-head > .icon {
    top: 42px;
    right: 24px;
  }
}
.sustainability-case-study-content > .case-study-list > .box > .accordion-head-wrapper > .accordion-head > .icon .vertical-line {
  transform: rotate(0deg);
  transform-origin: center;
  transition: transform 0.3s ease;
}
.sustainability-case-study-content > .case-study-list > .box > .accordion-body {
  visibility: hidden;
  height: 0;
  padding-block-end: 60px;
  padding-inline: 80px;
  overflow: hidden;
  opacity: 0;
  transition: height 0.3s ease, opacity 0.3s ease;
}
@media screen and (max-width: 799px) {
  .sustainability-case-study-content > .case-study-list > .box > .accordion-body {
    padding-block: 8px 40px;
    padding-inline: 24px;
  }
}
.sustainability-case-study-content > .case-study-list > .box > .accordion-body[aria-hidden=true] {
  padding-block-end: 0;
}
.sustainability-case-study-content > .case-study-list > .box > .accordion-body > .text {
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .sustainability-case-study-content > .case-study-list > .box > .accordion-body > .text {
    font-size: 15px;
  }
}

.profile {
  position: relative;
  max-inline-size: 1920px;
  padding-block-start: 40px;
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .profile {
    padding-block-start: 118px;
  }
}
.profile > .breadcrumb-area {
  margin-block-start: 20px;
}
.profile > .container {
  padding-block-end: 140px;
  padding-inline: 360px 40px;
  margin-block-start: 85px;
}
@media screen and (max-width: 1023px) {
  .profile > .container {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 799px) {
  .profile > .container {
    padding-block-end: 80px;
    padding-inline: 24px;
    margin-block-start: 40px;
  }
}
.profile > .container > .inner {
  max-inline-size: 960px;
  container: profile-inner/inline-size;
}

.profile-overview {
  display: flex;
  -moz-column-gap: 158px;
       column-gap: 158px;
  -moz-column-gap: 16.4583333333%;
       column-gap: 16.4583333333%;
  align-items: flex-start;
  margin-block-start: 80px;
}
@media screen and (max-width: 799px) {
  .profile-overview {
    flex-direction: column;
    row-gap: 32px;
    margin-block-start: 60px;
  }
}
.profile-overview > .title-area {
  flex-shrink: 0;
}
.profile-overview > .overview-list {
  width: 100%;
}
.profile-overview > .overview-list > .item {
  display: grid;
  grid-template-columns: 190px 1fr;
  padding-block: 30px;
  container: profile-overview-item/inline-size;
  border-bottom: 1px solid var(--color-line-gray01);
}
@media screen and (max-width: 799px) {
  .profile-overview > .overview-list > .item {
    grid-template-columns: 110px 1fr;
    padding-block: 20px;
  }
}
.profile-overview > .overview-list > .item:first-of-type {
  padding-block-start: 8px;
}
@media screen and (max-width: 799px) {
  .profile-overview > .overview-list > .item:first-of-type {
    padding-block-start: 0;
  }
}
.profile-overview > .overview-list > .item > dt {
  grid-area: auto/1/auto/2;
  font-size: 16px;
  font-weight: 600;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .profile-overview > .overview-list > .item > dt {
    font-size: 15px;
  }
}
.profile-overview > .overview-list > .item > dd {
  grid-area: auto/2/auto/3;
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .profile-overview > .overview-list > .item > dd {
    font-size: 15px;
  }
}
.profile-overview > .overview-list > .item > dd > dl {
  display: grid;
  row-gap: 10px;
}
.profile-overview > .overview-list > .item > dd > dl > .role-item {
  display: grid;
  grid-template-columns: 254px 1fr;
}
@container profile-overview-item (max-width: 540px) {
  .profile-overview > .overview-list > .item > dd > dl > .role-item {
    grid-template-columns: 1fr;
    row-gap: 2px;
  }
}
.profile-overview > .overview-list > .item > dd > dl > .role-item > dt {
  font-weight: 400;
}
.profile-overview > .overview-list > .item > dd.col {
  display: flex;
  -moz-column-gap: 16px;
       column-gap: 16px;
  margin-block-start: 4px;
}
@container profile-overview-item (max-width: 540px) {
  .profile-overview > .overview-list > .item > dd.col {
    flex-direction: column;
    row-gap: 2px;
  }
}
.profile-overview > .overview-list > .item > dd > .link-area {
  margin-block-start: 16px;
}

.profile-access {
  display: flex;
  -moz-column-gap: 40px;
       column-gap: 40px;
  justify-content: space-between;
  margin-block-start: 120px;
}
@container profile-inner (max-width: 760px) {
  .profile-access {
    flex-direction: column;
    row-gap: 40px;
    margin-block-start: 56px;
  }
}
@media screen and (max-width: 799px) {
  .profile-access {
    flex-direction: column;
    row-gap: 40px;
    margin-block-start: 56px;
  }
}
.profile-access > .body {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  row-gap: 32px;
  justify-content: space-between;
}
@container profile-inner (max-width: 760px) {
  .profile-access > .body {
    width: 100%;
  }
}
.profile-access > .body > .map-description > .title {
  font-size: 18px;
  font-weight: 600;
  line-height: 170%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .profile-access > .body > .map-description > .title {
    font-size: 16px;
  }
}
.profile-access > .body > .map-description > .detail {
  display: grid;
  row-gap: 2px;
  margin-block-start: 12px;
}
@media screen and (max-width: 799px) {
  .profile-access > .body > .map-description > .detail:first-of-type {
    margin-block-start: 16px;
  }
}
.profile-access > .body > .map-description > .detail > .sub-title {
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
.profile-access > .body > .map-description > .detail > .description {
  font-size: 15px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
.profile-access > .map-area {
  width: 100%;
  max-width: 570px;
}
@container profile-inner (max-width: 760px) {
  .profile-access > .map-area {
    max-width: 100%;
  }
}
.profile-access > .map-area > .map {
  width: 100%;
  height: 336px;
  aspect-ratio: 570/336;
}
@media screen and (max-width: 799px) {
  .profile-access > .map-area > .map {
    height: auto;
  }
}
.profile-access > .map-area > .map iframe {
  width: 100%;
  height: 100%;
}

.philosophy {
  position: relative;
  max-inline-size: 1920px;
  padding-block-start: 40px;
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .philosophy {
    padding-block-start: 118px;
  }
}
.philosophy > .breadcrumb-area {
  margin-block-start: 20px;
}
.philosophy > .container {
  padding-block-end: 140px;
  padding-inline: 360px 40px;
  margin-block-start: 85px;
}
@media screen and (max-width: 1023px) {
  .philosophy > .container {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 799px) {
  .philosophy > .container {
    padding-block-end: 80px;
    padding-inline: 24px;
    margin-block-start: 40px;
  }
}
.philosophy > .container > .inner {
  max-width: 960px;
}

.philosophy-top {
  display: flex;
  -moz-column-gap: 40px;
       column-gap: 40px;
  align-items: flex-start;
  justify-content: space-between;
  margin-top: 80px;
}
@media screen and (max-width: 799px) {
  .philosophy-top {
    flex-direction: column;
    row-gap: 32px;
    margin-block-start: 40px;
  }
}
.philosophy-top__title {
  flex-shrink: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.65;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .philosophy-top__title {
    margin-inline: auto;
    font-size: 15px;
  }
}
.philosophy-top__body {
  display: grid;
  row-gap: 32px;
}
@media screen and (max-width: 799px) {
  .philosophy-top__body {
    row-gap: 24px;
  }
}
.philosophy-top__lead-area {
  display: grid;
  row-gap: 10px;
}
@media screen and (max-width: 799px) {
  .philosophy-top__lead-area {
    row-gap: 6px;
    align-items: center;
    text-align: center;
  }
}
.philosophy-top__lead-pre-text {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.65;
  color: var(--color-main);
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .philosophy-top__lead-pre-text {
    font-size: 14px;
  }
}
.philosophy-top__lead {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 7px;
       column-gap: 7px;
  align-items: center;
}
@media screen and (max-width: 799px) {
  .philosophy-top__lead {
    flex-direction: column;
    row-gap: 14px;
  }
}
.philosophy-top__lead .en {
  font-family: var(--font-marcellus);
  font-size: 46px;
  font-weight: 400;
  line-height: 1;
  color: var(--color-main);
  letter-spacing: 0.02em;
}
@media screen and (max-width: 799px) {
  .philosophy-top__lead .en {
    font-size: 36px;
  }
}
.philosophy-top__lead .ja {
  font-size: 35px;
  font-weight: 500;
  line-height: 1;
  color: var(--color-main);
  letter-spacing: 0.06em;
}
@media screen and (max-width: 799px) {
  .philosophy-top__lead .ja {
    font-size: 25px;
  }
}
.philosophy-top__text {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .philosophy-top__text {
    font-size: 15px;
  }
}

.philosophy-group {
  padding-block: 64px;
  padding-inline: 8.3333333333%;
  margin-block-start: 80px;
  background-color: var(--color-white);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .philosophy-group {
    padding-block: 40px;
    padding-inline: 24px;
    margin-block-start: 40px;
  }
}
.philosophy-group__image {
  width: 100%;
  aspect-ratio: 800/185;
}
@media screen and (max-width: 799px) {
  .philosophy-group__image {
    aspect-ratio: 304/270;
  }
}
.philosophy-group__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.philosophy-group__text-area {
  display: grid;
  row-gap: 16px;
  margin-block-start: 40px;
}
@media screen and (max-width: 799px) {
  .philosophy-group__text-area {
    margin-block-start: 20px;
  }
}
.philosophy-group__text {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .philosophy-group__text {
    font-size: 15px;
  }
}

.management {
  position: relative;
  max-inline-size: 1920px;
  padding-block-start: 40px;
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .management {
    padding-block-start: 118px;
  }
}
.management > .breadcrumb-area {
  margin-block-start: 20px;
}
.management > .container {
  padding-block-end: 140px;
  padding-inline: 360px 40px;
  margin-block-start: 85px;
}
@media screen and (max-width: 1023px) {
  .management > .container {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 799px) {
  .management > .container {
    padding-block-end: 80px;
    padding-inline: 24px;
    margin-block-start: 40px;
  }
}
.management > .container > .inner {
  max-inline-size: 960px;
}

.management-content {
  margin-block-start: 80px;
}
@media screen and (max-width: 799px) {
  .management-content {
    margin-block-start: 60px;
  }
}
.management-content > .list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
@media screen and (max-width: 799px) {
  .management-content > .list {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.management-content > .list > .item {
  display: grid;
}
.management-content > .list > .item > .trigger {
  position: relative;
  width: 100%;
  padding-block: 24px;
  padding-inline: 24px 60px;
  background-color: var(--color-white);
  border-radius: 4px;
}
.management-content > .list > .item > .trigger:focus-visible > .icon {
  right: 14px;
  width: 32px;
}
@media screen and (max-width: 799px) {
  .management-content > .list > .item > .trigger:focus-visible > .icon {
    right: 12px;
    width: 30px;
  }
}
@media (any-hover: hover) {
  .management-content > .list > .item > .trigger:hover > .icon {
    right: 14px;
    width: 32px;
  }
}
@media screen and (any-hover: hover) and (max-width: 799px) {
  .management-content > .list > .item > .trigger:hover > .icon {
    right: 12px;
    width: 30px;
  }
}
.management-content > .list > .item > .trigger > .icon {
  position: absolute;
  top: 50%;
  right: 16px;
  display: grid;
  place-items: center;
  width: 28px;
  aspect-ratio: 1/1;
  background-color: var(--color-bg-gray01);
  border-radius: var(--rounded-full);
  transform: translateY(-50%);
  transform-origin: center;
  transition: width 0.3s ease, right 0.3s ease, bottom 0.3s ease;
}
.management-content > .list > .item > .trigger > .name-area {
  display: grid;
  row-gap: 16px;
}
.management-content > .list > .item > .trigger > .name-area > .position {
  font-size: 13px;
  font-weight: 500;
  line-height: 165%;
  color: var(--color-text-gray01);
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .management-content > .list > .item > .trigger > .name-area > .position {
    font-size: 12px;
  }
}
.management-content > .list > .item > .trigger > .name-area > .name {
  display: grid;
  row-gap: 8px;
  font-size: 18px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.management-content > .list > .item > .trigger > .name-area > .name > .en {
  font-family: var(--font-marcellus);
  font-size: 12px;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0.02em;
}

.management-modal {
  position: relative;
  max-inline-size: 1000px;
  width: calc(100% - 120px);
  max-height: calc(100dvh - 120px);
  background-color: var(--color-bg-gray01);
}
@media screen and (max-width: 799px) {
  .management-modal {
    width: calc(100% - 32px);
    max-height: calc(100dvh - 32px);
    border-radius: 4px;
  }
}
.management-modal::backdrop {
  background-color: rgba(0, 0, 0, 0.7);
}
.management-modal .modal-trigger-area {
  position: sticky;
  top: 0;
  z-index: 10;
}
.management-modal .modal-trigger {
  position: absolute;
  top: 24px;
  right: 24px;
  z-index: 10;
  display: grid;
  place-items: center;
  width: 36px;
  aspect-ratio: 1/1;
  background-color: var(--color-black);
  border-radius: var(--rounded-full);
  transition: width 0.3s ease, right 0.3s ease, top 0.3s ease;
}
.management-modal .modal-trigger:focus-visible {
  top: 21px;
  right: 21px;
  width: 42px;
}
@media screen and (max-width: 799px) {
  .management-modal .modal-trigger:focus-visible {
    top: 16px;
    right: 16px;
    width: 30px;
    outline: none;
  }
}
@media (any-hover: hover) {
  .management-modal .modal-trigger:hover {
    top: 21px;
    right: 21px;
    width: 42px;
  }
}
@media screen and (any-hover: hover) and (max-width: 799px) {
  .management-modal .modal-trigger:hover {
    top: 16px;
    right: 16px;
    width: 30px;
    outline: none;
  }
}
@media screen and (max-width: 799px) {
  .management-modal .modal-trigger {
    top: 16px;
    right: 16px;
    width: 30px;
  }
}
.management-modal .modal-trigger .icon {
  display: grid;
  place-items: center;
  width: 18px;
  aspect-ratio: 1/1;
}
.management-modal .modal-container {
  padding-block: 100px;
  padding-inline: 120px;
}
@media screen and (max-width: 1023px) {
  .management-modal .modal-container {
    padding-block: 100px;
    padding-inline: 60px;
  }
}
@media screen and (max-width: 799px) {
  .management-modal .modal-container {
    padding-block: 88px 40px;
    padding-inline: 24px;
  }
}
.management-modal .modal-container .modal-top-info {
  position: relative;
  display: flex;
  -moz-column-gap: 80px;
       column-gap: 80px;
}
@media screen and (max-width: 1023px) {
  .management-modal .modal-container .modal-top-info {
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
}
@media screen and (max-width: 799px) {
  .management-modal .modal-container .modal-top-info {
    flex-direction: column;
    row-gap: 24px;
  }
}
.management-modal .modal-container .modal-top-info > .name-area {
  position: relative;
  width: 360px;
  padding-block-start: 40px;
  border-top: 1px solid var(--color-line-gray01);
}
@media screen and (max-width: 799px) {
  .management-modal .modal-container .modal-top-info > .name-area {
    width: 100%;
    padding-block-start: 24px;
  }
}
.management-modal .modal-container .modal-top-info > .name-area::before {
  position: absolute;
  top: -1px;
  left: 0;
  width: 26px;
  height: 2px;
  content: "";
  background-color: var(--color-main);
}
@media screen and (max-width: 799px) {
  .management-modal .modal-container .modal-top-info > .name-area::before {
    width: 20px;
  }
}
.management-modal .modal-container .modal-top-info > .name-area > .position {
  font-size: 15px;
  font-weight: 500;
  line-height: 165%;
  color: var(--color-text-gray01);
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .management-modal .modal-container .modal-top-info > .name-area > .position {
    font-size: 12px;
  }
}
.management-modal .modal-container .modal-top-info > .name-area > .name {
  display: flex;
  flex-direction: column;
  row-gap: 12px;
  font-size: 28px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .management-modal .modal-container .modal-top-info > .name-area > .name {
    flex-direction: row;
    -moz-column-gap: 12px;
         column-gap: 12px;
    align-items: flex-end;
    font-size: 24px;
  }
}
.management-modal .modal-container .modal-top-info > .name-area > .name > .en {
  display: flex;
  font-family: var(--font-marcellus);
  font-size: 11px;
  font-weight: 400;
  line-height: 100%;
  color: var(--color-text-gray01);
  letter-spacing: 0.02em;
}
@media screen and (max-width: 799px) {
  .management-modal .modal-container .modal-top-info > .name-area > .name > .en {
    margin-block-end: 9px;
    font-size: 10px;
  }
}
.management-modal .modal-container .modal-top-info > .image {
  width: 320px;
  aspect-ratio: 320/180;
}
@media screen and (max-width: 799px) {
  .management-modal .modal-container .modal-top-info > .image {
    width: 100%;
  }
}
.management-modal .modal-container .modal-top-info > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 4px;
}
.management-modal .modal-container .modal-lead-text-section {
  display: grid;
  row-gap: 20px;
  margin-block-start: 60px;
}
@media screen and (max-width: 799px) {
  .management-modal .modal-container .modal-lead-text-section {
    row-gap: 16px;
    margin-block-start: 32px;
  }
}
.management-modal .modal-container .modal-lead-text-section > p {
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .management-modal .modal-container .modal-lead-text-section > p {
    font-size: 15px;
  }
}
.management-modal .modal-container .modal-content-area {
  display: grid;
  row-gap: 40px;
  margin-block-start: 60px;
}
@media screen and (max-width: 799px) {
  .management-modal .modal-container .modal-content-area {
    margin-block-start: 40px;
  }
}
.management-modal .modal-container .modal-content-area .modal-content-section > h3 {
  position: relative;
  padding-inline-start: 20px;
  font-size: 20px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .management-modal .modal-container .modal-content-area .modal-content-section > h3 {
    padding-inline-start: 16px;
    font-size: 18px;
  }
}
.management-modal .modal-container .modal-content-area .modal-content-section > h3::before {
  position: absolute;
  top: 6px;
  left: 0;
  width: 3px;
  height: 24px;
  content: "";
  background-color: var(--color-main);
}
.management-modal .modal-container .modal-content-area .modal-content-section > h3 + p {
  margin-block-start: 20px;
}
@media screen and (max-width: 799px) {
  .management-modal .modal-container .modal-content-area .modal-content-section > h3 + p {
    margin-block-start: 16px;
  }
}
.management-modal .modal-container .modal-content-area .modal-content-section > p {
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
.management-modal .modal-container .modal-content-area .modal-content-section > ul {
  display: grid;
  row-gap: 8px;
  margin-block-start: 24px;
}
@media screen and (max-width: 799px) {
  .management-modal .modal-container .modal-content-area .modal-content-section > ul {
    margin-block-start: 16px;
  }
}
.management-modal .modal-container .modal-content-area .modal-content-section > ul li {
  position: relative;
  display: flex;
  -moz-column-gap: 12px;
       column-gap: 12px;
  padding-inline-start: 1.0667em;
  font-size: 16px;
  font-weight: 400;
  line-height: 165%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .management-modal .modal-container .modal-content-area .modal-content-section > ul li {
    font-size: 15px;
  }
}
.management-modal .modal-container .modal-content-area .modal-content-section > ul li::before {
  position: absolute;
  top: 11px;
  left: 0;
  width: 6px;
  aspect-ratio: 1/1;
  content: "";
  background-color: var(--color-main);
  border-radius: var(--rounded-full);
}
.management-modal .modal-container .modal-content-area .modal-content-section > ul li > .year {
  position: relative;
  display: block;
  flex-shrink: 0;
  padding-inline-end: 8px;
}
@media screen and (max-width: 799px) {
  .management-modal .modal-container .modal-content-area .modal-content-section > ul li > .year {
    width: 66px;
  }
}
.management-modal .modal-container .modal-content-area .modal-content-section > ul li > .year::after {
  position: absolute;
  top: 7px;
  right: 0;
  width: 1px;
  height: calc(100% - 10px);
  content: "";
  background-color: var(--color-line-gray01);
}

.lower {
  position: relative;
  max-inline-size: 1920px;
  padding-block-start: 60px;
  margin-inline: auto;
}
@media screen and (max-width: 1023px) {
  .lower {
    padding-block-start: 112px;
  }
}
.lower > .container {
  padding-block-end: 140px;
  padding-inline: 360px 40px;
  margin-block-start: 85px;
}
@media screen and (max-width: 1023px) {
  .lower > .container {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 799px) {
  .lower > .container {
    padding-block-end: 80px;
    padding-inline: 24px;
    margin-block-start: 56px;
  }
}
.lower > .container > .inner {
  max-inline-size: 960px;
}

.lower-content {
  margin-block-start: 80px;
}
@media screen and (max-width: 1023px) {
  .lower-content {
    margin-block-start: 60px;
  }
}
.lower-content:has(> .text:first-child) {
  margin-block-start: 60px;
}
@media screen and (max-width: 1023px) {
  .lower-content:has(> .text:first-child) {
    margin-block-start: 40px;
  }
}
.lower-content .c-decoration-bottom-full + .text {
  margin-block-start: 40px;
}
@media screen and (max-width: 1023px) {
  .lower-content .c-decoration-bottom-full + .text {
    margin-block-start: 28px;
  }
}
.lower-content .text {
  padding-inline-end: 60px;
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 1023px) {
  .lower-content .text {
    padding-inline-end: 0;
    font-size: 15px;
  }
}
.lower-content .text + .text {
  margin-block-start: 20px;
}
@media screen and (max-width: 1023px) {
  .lower-content .text + .text {
    margin-block-start: 16px;
  }
}
.lower-content .text + .c-decoration-bottom-full {
  margin-block-start: 64px;
}
@media screen and (max-width: 1023px) {
  .lower-content .text + .c-decoration-bottom-full {
    margin-block-start: 48px;
  }
}
.lower-content .text > .link {
  text-decoration: underline;
}
.lower-content .ordered-list {
  padding-inline-start: 22px;
  margin-block-start: 40px;
  list-style: decimal;
}
.lower-content .ordered-list li {
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 1023px) {
  .lower-content .ordered-list li {
    font-size: 15px;
  }
}
.lower-content .ordered-list li + li {
  margin-block-start: 8px;
}
.lower-content .ordered-list li > ul {
  padding-inline-start: 20px;
  margin-block-start: 8px;
  list-style: disc;
}
.lower-content .ordered-list li > ul li::marker {
  font-size: 10px;
}
.lower-content .ordered-list + .c-decoration-bottom-full {
  margin-block-start: 64px;
}
@media screen and (max-width: 1023px) {
  .lower-content .ordered-list + .c-decoration-bottom-full {
    margin-block-start: 48px;
  }
}

.contact-top {
  position: relative;
  max-inline-size: 1920px;
  margin-inline: auto;
}
.contact-top .contact-top-container {
  padding-block-end: 140px;
  padding-inline: 360px 40px;
  margin-block-start: 80px;
}
@media screen and (max-width: 1023px) {
  .contact-top .contact-top-container {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 799px) {
  .contact-top .contact-top-container {
    padding-block-end: 80px;
    padding-inline: 24px;
    margin-block-start: 48px;
  }
}

.contact-top-mv {
  padding-inline-start: 360px;
}
@media screen and (max-width: 1023px) {
  .contact-top-mv {
    position: relative;
    min-height: 380px;
    padding-block-start: 10px;
    padding-inline: 10px;
  }
}
.contact-top-mv > .main {
  position: relative;
  max-inline-size: 1080px;
  height: 100%;
  min-height: 300px;
  padding-block: 60px 72px;
  padding-inline-end: 40px;
  container: contact-top-mv/inline-size;
}
@media screen and (max-width: 1023px) {
  .contact-top-mv > .main {
    min-height: 390px;
    padding-block: 102px 18px;
    padding-inline-end: 18px;
  }
}
@media screen and (max-width: 799px) {
  .contact-top-mv > .main {
    padding-block: 143px 18px;
  }
}
.contact-top-mv > .main > .image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.contact-top-mv > .main > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-bottom-left-radius: 8px;
}
@media screen and (min-width: 1440px) {
  .contact-top-mv > .main > .image img {
    border-bottom-right-radius: 8px;
  }
}
@media screen and (max-width: 1023px) {
  .contact-top-mv > .main > .image img {
    border-radius: 4px;
  }
}
.contact-top-mv > .main > .inner {
  position: relative;
  max-inline-size: 960px;
}
.contact-top-mv > .main > .inner > .breadcrumb-area {
  padding-inline-end: 0;
}
.contact-top-mv > .main > .inner > .breadcrumb-area > .c-breadcrumb li {
  color: var(--color-white);
}
.contact-top-mv > .main > .inner > .inner-body {
  display: flex;
  -moz-column-gap: 20px;
       column-gap: 20px;
  align-items: flex-end;
  justify-content: space-between;
  margin-block-start: 20px;
}
@media screen and (max-width: 1023px) {
  .contact-top-mv > .main > .inner > .inner-body {
    margin-block-start: 60px;
  }
}
@media screen and (max-width: 799px) {
  .contact-top-mv > .main > .inner > .inner-body {
    flex-direction: column;
    row-gap: 46px;
    align-items: flex-start;
    justify-content: space-between;
    margin-block-start: 0;
  }
}
.contact-top-mv > .main > .inner > .inner-body > .text-area {
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: 32px;
  padding-inline-start: 48px;
  margin-block-end: 4px;
}
@media screen and (max-width: 799px) {
  .contact-top-mv > .main > .inner > .inner-body > .text-area {
    row-gap: 20px;
    padding-inline-start: 22px;
    margin-block-end: 0;
  }
}
.contact-top-mv > .main > .inner > .inner-body > .text-area::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 72px;
  content: "";
  background: var(--color-main);
}
.contact-top-mv > .main > .inner > .inner-body > .text-area > .title-area {
  display: flex;
  flex-direction: column-reverse;
  row-gap: 4px;
}
.contact-top-mv > .main > .inner > .inner-body > .text-area > .title-area > .title {
  font-size: 34px;
  font-weight: 600;
  line-height: 165%;
  color: var(--color-white);
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .contact-top-mv > .main > .inner > .inner-body > .text-area > .title-area > .title {
    font-size: 30px;
  }
}
.contact-top-mv > .main > .inner > .inner-body > .text-area > .title-area > .sub-title {
  font-family: var(--font-marcellus);
  font-size: 11px;
  font-weight: 400;
  line-height: 100%;
  color: var(--color-white);
  letter-spacing: 0.02em;
}
.contact-top-mv > .main > .inner > .inner-body > .text-area > .text {
  font-size: 15px;
  font-weight: 400;
  line-height: 170%;
  color: var(--color-white);
  letter-spacing: 0.08em;
}

.contact-top-content {
  max-inline-size: 960px;
  container: contact-top-content/inline-size;
}
.contact-top-content > .text {
  font-size: 15px;
  font-weight: 400;
  line-height: 170%;
  letter-spacing: 0.08em;
}
.contact-top-content > .link-area {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 24px;
  margin-block-start: 60px;
}
@container contact-top-content (max-width: 800px) {
  .contact-top-content > .link-area {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 799px) {
  .contact-top-content > .link-area {
    row-gap: 16px;
    margin-block-start: 40px;
  }
}
.contact-top-content > .link-area > .box {
  display: grid;
  row-gap: 20px;
  padding: 44px;
  background-color: var(--color-white);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .contact-top-content > .link-area > .box {
    padding: 32px 24px;
  }
}
.contact-top-content > .link-area > .box > .title {
  position: relative;
  align-self: flex-start;
  padding-block-end: 16px;
}
.contact-top-content > .link-area > .box > .title::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 26px;
  height: 2px;
  content: "";
  background: var(--color-main);
}
@media screen and (max-width: 799px) {
  .contact-top-content > .link-area > .box > .title > .c-link-button > .size-lg {
    font-size: 18px;
  }
}
.contact-top-content > .link-area > .box > .text {
  font-size: 15px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 799px) {
  .contact-top-content > .link-area > .box > .text {
    font-size: 14px;
  }
}

.contact-lower {
  position: relative;
  max-inline-size: 1920px;
  padding-block-start: 60px;
  margin-inline: auto;
}
@media screen and (max-width: 1023px) {
  .contact-lower {
    padding-block-start: 112px;
  }
}
.contact-lower > .container {
  padding-block-end: 140px;
  padding-inline: 360px 40px;
  margin-block-start: 85px;
}
@media screen and (max-width: 1023px) {
  .contact-lower > .container {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 799px) {
  .contact-lower > .container {
    padding-block-end: 80px;
    padding-inline: 24px;
    margin-block-start: 56px;
  }
}
.contact-lower > .container > .inner {
  max-inline-size: 960px;
  container: contact-lower/inline-size;
}
.contact-lower > .container > .inner > .heading-area {
  position: relative;
  display: flex;
  -moz-column-gap: 24px;
       column-gap: 24px;
  align-items: flex-end;
  justify-content: space-between;
  padding-block-end: 32px;
  border-bottom: 1px solid var(--color-line-gray01);
}
.contact-lower > .container > .inner > .heading-area::before {
  position: absolute;
  bottom: -1.5px;
  left: 0;
  width: 100px;
  height: 3px;
  content: "";
  background-color: var(--color-main);
}
@media screen and (max-width: 799px) {
  .contact-lower > .container > .inner > .heading-area::before {
    width: 80px;
  }
}
@media screen and (max-width: 799px) {
  .contact-lower > .container > .inner > .heading-area {
    padding-block-end: 24px;
  }
}
.contact-lower > .container > .inner > .heading-area > .c-lower-main > .title-area {
  padding-block-end: 0;
  border-bottom: none;
}
.contact-lower > .container > .inner > .heading-area > .c-lower-main > .title-area::before {
  display: none;
}
.contact-lower > .container > .inner > .heading-area > .c-lower-main > .title-area > .title br {
  display: block;
}
@media screen and (max-width: 799px) {
  .contact-lower > .container > .inner > .heading-area > .c-lower-main > .title-area > .title br {
    display: none;
  }
}
@container contact-lower (min-width: 851px) {
  .contact-lower > .container > .inner > .heading-area > .c-lower-main > .title-area > .title br {
    display: none;
  }
}
.contact-lower > .container > .inner > .heading-area > .c-lower-main > .title-area > .sub-title {
  flex-shrink: 0;
}
.contact-lower > .container > .inner > .heading-area > .c-lower-main > .title-area > .title.en {
  letter-spacing: 0.02em;
}
.contact-lower > .container > .inner > .heading-area > .image {
  width: 371px;
  aspect-ratio: 371/60;
}
@media screen and (max-width: 799px) {
  .contact-lower > .container > .inner > .heading-area > .image {
    display: none;
  }
}
.contact-lower > .container > .inner > .heading-area > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.contact-lower-content {
  margin-block-start: 80px;
}
@media screen and (max-width: 799px) {
  .contact-lower-content {
    margin-block-start: 40px;
  }
}
@media screen and (min-width: 800px) {
  .contact-lower-content > .step-area {
    display: none;
  }
}
.contact-lower-content > .step-area > .image {
  width: 371px;
  aspect-ratio: 371/60;
}
@media screen and (max-width: 799px) {
  .contact-lower-content > .step-area > .image {
    width: 100%;
    aspect-ratio: 327/76;
    padding-inline: 12px;
  }
}
.contact-lower-content > .step-area > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.contact-lower-content > .box {
  padding-block: 80px;
  padding-inline: 80px;
  background-color: var(--color-white);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .contact-lower-content > .box {
    padding-block: 40px;
    padding-inline: 24px;
    margin-block-start: 32px;
  }
}
.contact-lower-content > .box > .introduction > .text {
  font-size: 15px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
.contact-lower-content > .box > .introduction > .list {
  display: grid;
  row-gap: 4px;
  margin-block-start: 24px;
}
.contact-lower-content > .box > .introduction > .list + .text {
  margin-block-start: 24px;
}
.contact-lower-content > .box > .introduction > .list li {
  position: relative;
  padding-inline-start: 1em;
  font-size: 15px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
.contact-lower-content > .box > .introduction > .list li::before {
  position: absolute;
  top: 12px;
  left: 0;
  width: 4px;
  aspect-ratio: 1/1;
  content: "";
  background-color: var(--color-black);
  border-radius: var(--rounded-full);
}
.contact-lower-content > .box > .introduction > .link-area {
  display: flex;
  -moz-column-gap: 16px;
       column-gap: 16px;
  align-items: center;
  margin-block-start: 20px;
}
.contact-lower-content > .box > .introduction > .link-area > .link {
  font-size: 15px;
  font-weight: 400;
  line-height: 170%;
  letter-spacing: 0.06em;
  text-decoration: underline;
}
.contact-lower-content > .box > .introduction + .form-area {
  margin-block-start: 64px;
}
@media screen and (max-width: 799px) {
  .contact-lower-content > .box > .introduction + .form-area {
    margin-block-start: 48px;
  }
}
.contact-lower-content > .box > .form-area > .form.confirm .item {
  padding-block-end: 24px;
  border-block-end: 1px solid var(--color-line-gray01);
}
.contact-lower-content > .box > .form-area > .form.confirm .item + .item {
  margin-block-start: 24px;
}
@media screen and (max-width: 799px) {
  .contact-lower-content > .box > .form-area > .form.confirm .item + .item {
    margin-block-start: 24px;
  }
}
.contact-lower-content > .box > .form-area > .form.confirm .item > .label {
  pointer-events: none;
}
.contact-lower-content > .box > .form-area > .form.confirm .item > .input {
  padding-block: 0;
  padding-inline: 0;
  margin-block-start: 10px;
  background-color: transparent;
}
.contact-lower-content > .box > .form-area > .form.confirm .item > .input.textarea {
  min-height: auto;
}
.contact-lower-content > .box > .form-area > .form.confirm > .button-area {
  display: flex;
  flex-direction: column;
  row-gap: 24px;
  align-items: center;
  margin-block-start: 80px;
}
@media screen and (max-width: 799px) {
  .contact-lower-content > .box > .form-area > .form.confirm > .button-area {
    margin-block-start: 48px;
  }
}
.contact-lower-content > .box > .form-area > .form.confirm > .button-area > .back-button {
  display: inline-flex;
}
.contact-lower-content > .box > .form-area > .form.confirm > .button-area > .back-button > .text {
  font-size: 15px;
  font-weight: 400;
  line-height: 150%;
  color: var(--color-black);
  letter-spacing: 0.08em;
  text-decoration: underline;
}
.contact-lower-content > .box > .form-area > .form .item + .item {
  margin-block-start: 36px;
}
@media screen and (max-width: 799px) {
  .contact-lower-content > .box > .form-area > .form .item + .item {
    margin-block-start: 24px;
  }
}
.contact-lower-content > .box > .form-area > .form .item > .label {
  display: flex;
  -moz-column-gap: 10px;
       column-gap: 10px;
  align-items: center;
  font-size: 16px;
  font-weight: 600;
  line-height: 165%;
  color: var(--color-black);
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .contact-lower-content > .box > .form-area > .form .item > .label {
    font-size: 15px;
  }
}
.contact-lower-content > .box > .form-area > .form .item > .label > .required {
  padding-block: 1px 2px;
  padding-inline: 6px;
  font-size: 10px;
  font-weight: 500;
  line-height: 170%;
  color: var(--color-main);
  letter-spacing: 0.08em;
  background-color: var(--color-white);
  border: 1px solid var(--color-main);
  border-radius: 2px;
}
.contact-lower-content > .box > .form-area > .form .item > .label > .optional {
  padding-block: 1px 2px;
  padding-inline: 6px;
  font-size: 10px;
  font-weight: 500;
  line-height: 170%;
  color: var(--color-text-gray02);
  letter-spacing: 0.08em;
  background-color: var(--color-white);
  border: 1px solid var(--color-text-gray02);
  border-radius: 2px;
}
.contact-lower-content > .box > .form-area > .form .item > .input {
  position: relative;
  display: block;
  width: 100%;
  padding-block: 16px;
  padding-inline: 24px;
  margin-block-start: 16px;
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
  background-color: var(--color-bg-gray01);
  border: none;
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .contact-lower-content > .box > .form-area > .form .item > .input {
    padding-inline: 16px;
    margin-block-start: 12px;
    font-size: 15px;
  }
}
.contact-lower-content > .box > .form-area > .form .item > .input::-moz-placeholder {
  color: var(--color-text-gray02);
}
.contact-lower-content > .box > .form-area > .form .item > .input::placeholder {
  color: var(--color-text-gray02);
}
.contact-lower-content > .box > .form-area > .form .item > .input.textarea {
  min-height: 240px;
}
.contact-lower-content > .box > .form-area > .form .item > .error {
  position: relative;
  margin-block-start: 6px;
  font-size: 15px;
  font-weight: 400;
  line-height: 180%;
  color: var(--color-main);
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .contact-lower-content > .box > .form-area > .form .item > .error {
    margin-block-start: 4px;
    font-size: 14px;
  }
}
.contact-lower-content > .box > .form-area > .form > .privacy {
  margin-block-start: 64px;
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  color: var(--color-black);
  text-align: center;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .contact-lower-content > .box > .form-area > .form > .privacy {
    margin-block-start: 48px;
    font-size: 15px;
  }
}
.contact-lower-content > .box > .form-area > .form > .privacy > .link {
  color: var(--color-main);
  text-decoration: underline;
}
.contact-lower-content > .box > .form-area > .form > .button-area {
  margin-block-start: 48px;
  text-align: center;
}
@media screen and (max-width: 799px) {
  .contact-lower-content > .box > .form-area > .form > .button-area {
    margin-block-start: 32px;
  }
}
.contact-lower-content > .box > .form-area > .form > .button-area > .button {
  display: inline-flex;
  -moz-column-gap: 8px;
       column-gap: 8px;
  align-items: center;
  justify-content: center;
  max-inline-size: 640px;
  width: 100% !important;
  padding-block: 16px;
  padding-inline: 16px;
  background-color: var(--color-main) !important;
  border: 1px solid var(--color-main) !important;
  border-radius: 4px;
  transition: background-color 0.2s ease, color 0.2s ease;
}
@media screen and (max-width: 799px) {
  .contact-lower-content > .box > .form-area > .form > .button-area > .button {
    max-inline-size: 100%;
    padding-block: 19px;
    padding-inline: 20px;
  }
}
.contact-lower-content > .box > .form-area > .form > .button-area > .button:focus-visible {
  background-color: var(--color-white) !important;
}
.contact-lower-content > .box > .form-area > .form > .button-area > .button:focus-visible > .text {
  color: var(--color-main) !important;
}
.contact-lower-content > .box > .form-area > .form > .button-area > .button:focus-visible > .icon {
  background-color: var(--color-main) !important;
}
.contact-lower-content > .box > .form-area > .form > .button-area > .button:focus-visible > .icon > svg path {
  fill: var(--color-white);
}
@media (any-hover: hover) {
  .contact-lower-content > .box > .form-area > .form > .button-area > .button:hover {
    background-color: var(--color-white) !important;
  }
  .contact-lower-content > .box > .form-area > .form > .button-area > .button:hover > .text {
    color: var(--color-main) !important;
  }
  .contact-lower-content > .box > .form-area > .form > .button-area > .button:hover > .icon {
    background-color: var(--color-main) !important;
  }
  .contact-lower-content > .box > .form-area > .form > .button-area > .button:hover > .icon > svg path {
    fill: var(--color-white);
  }
}
.contact-lower-content > .box > .form-area > .form > .button-area > .button > .text {
  font-size: 16px;
  font-weight: 400;
  line-height: 170%;
  color: var(--color-white);
  letter-spacing: 0.06em;
  transition: color 0.2s ease;
}
@media screen and (max-width: 799px) {
  .contact-lower-content > .box > .form-area > .form > .button-area > .button > .text {
    font-size: 15px;
  }
}
.contact-lower-content > .box > .form-area > .form > .button-area > .button > .icon {
  display: grid;
  place-items: center;
  width: 16px;
  aspect-ratio: 1/1;
  pointer-events: none;
  background-color: var(--color-white);
  border-radius: var(--rounded-full);
  transition: background-color 0.2s ease;
}
.contact-lower-content > .box > .form-area > .form > .button-area > .button > .icon > svg {
  width: 5px;
  height: 8px;
}
.contact-lower-content > .box > .form-area > .form > .button-area > .button > .icon > svg path {
  fill: var(--color-main);
  transition: fill 0.2s ease;
}
.contact-lower-content > .box > .completion > .title {
  font-size: 22px;
  font-weight: 600;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .contact-lower-content > .box > .completion > .title {
    font-size: 20px;
    text-align: center;
  }
}
.contact-lower-content > .box > .completion > .text {
  margin-block-start: 20px;
  font-size: 15px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
.contact-lower-content > .box > .completion > .button-area {
  margin-block-start: 56px;
}
@media screen and (max-width: 799px) {
  .contact-lower-content > .box > .completion > .button-area {
    margin-block-start: 40px;
    text-align: center;
  }
}
.contact-lower-content > .box > .completion > .button-area > .button {
  display: inline-flex;
  -moz-column-gap: 8px;
       column-gap: 8px;
  align-items: center;
  font-size: 15px;
  font-weight: 400;
  line-height: 170%;
  letter-spacing: 0.08em;
}
.contact-lower-content > .box > .completion > .button-area > .button > .icon {
  display: grid;
}

.news-top {
  position: relative;
  max-inline-size: 1920px;
  padding-block-end: 140px;
  margin-inline: auto;
}
@media screen and (max-width: 799px) {
  .news-top {
    padding-block-end: 80px;
  }
}

.news-top-mv {
  padding-inline-start: 360px;
}
@media screen and (max-width: 1023px) {
  .news-top-mv {
    position: relative;
    min-height: 390px;
    padding-block-start: 10px;
    padding-inline: 10px;
  }
}
.news-top-mv > .main {
  position: relative;
  max-inline-size: 1080px;
  height: 100%;
  min-height: 300px;
  padding-block: 60px 68px;
  padding-inline-end: 40px;
  container: news-top-mv/inline-size;
}
@media screen and (max-width: 1023px) {
  .news-top-mv > .main {
    min-height: 390px;
    padding-block: 102px 18px;
    padding-inline-end: 18px;
  }
}
@media screen and (max-width: 799px) {
  .news-top-mv > .main {
    padding-block: 143px 18px;
  }
}
.news-top-mv > .main > .image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.news-top-mv > .main > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-bottom-left-radius: 8px;
}
@media screen and (min-width: 1440px) {
  .news-top-mv > .main > .image img {
    border-bottom-right-radius: 8px;
  }
}
@media screen and (max-width: 1023px) {
  .news-top-mv > .main > .image img {
    border-radius: 4px;
  }
}
.news-top-mv > .main > .inner {
  position: relative;
  max-inline-size: 960px;
}
.news-top-mv > .main > .inner > .breadcrumb-area {
  padding-inline-end: 0;
}
.news-top-mv > .main > .inner > .breadcrumb-area > .c-breadcrumb li {
  color: var(--color-white);
}
.news-top-mv > .main > .inner > .inner-body {
  display: flex;
  -moz-column-gap: 20px;
       column-gap: 20px;
  align-items: flex-end;
  justify-content: space-between;
  margin-block-start: 20px;
}
@media screen and (max-width: 1023px) {
  .news-top-mv > .main > .inner > .inner-body {
    margin-block-start: 60px;
  }
}
@media screen and (max-width: 799px) {
  .news-top-mv > .main > .inner > .inner-body {
    flex-direction: column;
    row-gap: 46px;
    align-items: flex-start;
    justify-content: space-between;
    margin-block-start: 0;
  }
}
.news-top-mv > .main > .inner > .inner-body > .text-area {
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: 32px;
  padding-inline-start: 48px;
  margin-block-end: 4px;
}
@media screen and (max-width: 799px) {
  .news-top-mv > .main > .inner > .inner-body > .text-area {
    row-gap: 20px;
    padding-inline-start: 22px;
    margin-block-end: 0;
  }
}
.news-top-mv > .main > .inner > .inner-body > .text-area::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 72px;
  content: "";
  background: var(--color-main);
}
.news-top-mv > .main > .inner > .inner-body > .text-area > .title-area {
  display: flex;
  flex-direction: column-reverse;
  row-gap: 4px;
}
.news-top-mv > .main > .inner > .inner-body > .text-area > .title-area > .title {
  font-size: 34px;
  font-weight: 600;
  line-height: 165%;
  color: var(--color-white);
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .news-top-mv > .main > .inner > .inner-body > .text-area > .title-area > .title {
    font-size: 30px;
  }
}
.news-top-mv > .main > .inner > .inner-body > .text-area > .title-area > .sub-title {
  font-family: var(--font-marcellus);
  font-size: 11px;
  font-weight: 400;
  line-height: 100%;
  color: var(--color-white);
  letter-spacing: 0.02em;
}
.news-top-mv > .main > .inner > .inner-body > .text-area > .text {
  font-size: 15px;
  font-weight: 400;
  line-height: 170%;
  color: var(--color-white);
  letter-spacing: 0.08em;
}
.news-top-mv > .main > .inner > .inner-body > .link-button-area {
  flex-shrink: 0;
}
@media screen and (max-width: 799px) {
  .news-top-mv > .main > .inner > .inner-body > .link-button-area {
    margin-inline-start: auto;
  }
}

.news-top-filter-area {
  position: relative;
  padding-inline: 360px 40px;
  margin-block-start: 64px;
}
@media screen and (max-width: 1023px) {
  .news-top-filter-area {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 799px) {
  .news-top-filter-area {
    padding-inline: 24px;
  }
}
.news-top-filter-area .filter-box {
  display: grid;
  row-gap: 20px;
  max-inline-size: 960px;
  padding-block: 32px;
  padding-inline: 40px;
  background-color: var(--color-white);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .news-top-filter-area .filter-box {
    row-gap: 16px;
    padding-block: 24px;
    padding-inline: 24px;
  }
}
.news-top-filter-area .filter-box > .group {
  display: flex;
  -moz-column-gap: 16px;
       column-gap: 16px;
}
@media screen and (max-width: 799px) {
  .news-top-filter-area .filter-box > .group {
    flex-direction: column;
    row-gap: 8px;
  }
}
.news-top-filter-area .filter-box > .group > .label {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  width: 81px;
  font-size: 13px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0;
  border-right: 1px dashed var(--color-line-gray02);
}
@media screen and (max-width: 799px) {
  .news-top-filter-area .filter-box > .group > .label {
    width: auto;
    border-right: none;
  }
}
.news-top-filter-area .filter-box > .group > .list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-start;
}
.news-top-filter-area .filter-box > .group > .list > .item {
  display: grid;
}
.news-top-filter-area .filter-box > .group > .list > .item > .link {
  display: grid;
  place-items: center;
  padding-block: 6px;
  padding-inline: 12px;
  font-size: 12px;
  font-weight: 500;
  line-height: 150%;
  color: var(--color-black);
  text-decoration: none;
  background: var(--color-bg-gray01);
  border-radius: 2px;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.news-top-filter-area .filter-box > .group > .list > .item > .link:focus-visible {
  color: var(--color-white);
  background: var(--color-main);
}
@media (any-hover: hover) {
  .news-top-filter-area .filter-box > .group > .list > .item > .link:hover {
    color: var(--color-white);
    background: var(--color-main);
  }
}
.news-top-filter-area .filter-box > .group > .list > .item > .link.is-active, .news-top-filter-area .filter-box > .group > .list > .item > .link[aria-current=page] {
  color: var(--color-white);
  background: var(--color-main);
}
.news-top-filter-area .news-top-accordion {
  display: none;
}
@media screen and (max-width: 799px) {
  .news-top-filter-area .news-top-accordion {
    display: grid;
    row-gap: 2px;
  }
}
.news-top-filter-area .news-top-accordion > .accordion-head-wrapper {
  position: relative;
}
.news-top-filter-area .news-top-accordion > .accordion-head-wrapper > .accordion-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-block: 14px;
  padding-inline: 24px 22px;
  background-color: var(--color-black);
  border-radius: 4px;
}
.news-top-filter-area .news-top-accordion > .accordion-head-wrapper > .accordion-head[aria-expanded=false] > .icon .vertical-line {
  transform: rotate(0deg);
}
.news-top-filter-area .news-top-accordion > .accordion-head-wrapper > .accordion-head > .text {
  font-size: 13px;
  font-weight: 500;
  line-height: 150%;
  color: var(--color-white);
  letter-spacing: 0.08em;
}
.news-top-filter-area .news-top-accordion > .accordion-head-wrapper > .accordion-head > .icon {
  display: grid;
  place-items: center;
  width: 10px;
  aspect-ratio: 1/1;
}
.news-top-filter-area .news-top-accordion > .accordion-head-wrapper > .accordion-head > .icon .vertical-line {
  transform: rotate(90deg);
  transform-origin: center;
  transition: transform 0.3s ease;
}
.news-top-filter-area .news-top-accordion > .filter-box {
  visibility: hidden;
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: height 0.2s ease-in-out, padding-block 0.1s ease-in-out, opacity 0.2s ease-in-out;
}
.news-top-filter-area .news-top-accordion > .filter-box[aria-hidden=true] {
  padding-block: 0;
}

.news-top-content {
  position: relative;
  padding-inline: 360px 40px;
  margin-block-start: 72px;
}
@media screen and (max-width: 1023px) {
  .news-top-content {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 799px) {
  .news-top-content {
    display: grid;
    grid-template-areas: "title" "link-list" "link-button";
    padding-inline: 24px;
    margin-block-start: 48px;
  }
}
.news-top-content > .inner {
  max-inline-size: 960px;
}
.news-top-content > .inner > .c-link-list {
  grid-area: link-list;
  padding-block-start: 28px;
  border-top: 1px solid var(--color-line-gray01);
}
@media screen and (max-width: 799px) {
  .news-top-content > .inner > .c-link-list {
    padding-block-start: 20px;
  }
}
.news-top-content > .inner > .pagination-area {
  margin-block-start: 54px;
}
@media screen and (max-width: 799px) {
  .news-top-content > .inner > .pagination-area {
    margin-block-start: 40px;
  }
}
.news-top-content > .inner > .pagination-area > .pagination {
  text-align: right;
}
@media screen and (max-width: 799px) {
  .news-top-content > .inner > .pagination-area > .pagination {
    text-align: center;
  }
}
.news-top-content > .inner > .pagination-area > .pagination > ul {
  display: inline-flex;
  -moz-column-gap: 6px;
       column-gap: 6px;
  align-items: center;
}
@media screen and (max-width: 399px) {
  .news-top-content > .inner > .pagination-area > .pagination > ul {
    -moz-column-gap: 4px;
         column-gap: 4px;
  }
}
.news-top-content > .inner > .pagination-area > .pagination > ul > li > a {
  display: inline-block;
  padding-inline: 3px;
  font-size: 15px;
  color: var(--color-text-gray02);
  transition: color 0.2s ease;
}
.news-top-content > .inner > .pagination-area > .pagination > ul > li > a:focus-visible {
  color: var(--color-black);
}
@media (any-hover: hover) {
  .news-top-content > .inner > .pagination-area > .pagination > ul > li > a:hover {
    color: var(--color-black);
  }
}
.news-top-content > .inner > .pagination-area > .pagination > ul > li > a.is-active, .news-top-content > .inner > .pagination-area > .pagination > ul > li > a[aria-current=page] {
  color: var(--color-black);
  cursor: default;
}
.news-top-content > .inner > .pagination-area > .pagination > ul > li > .pagination-ellipsis {
  padding-inline: 3px;
  color: var(--color-black);
}
.news-top-content > .inner > .pagination-area > .pagination > ul > li > .pagination-prev,
.news-top-content > .inner > .pagination-area > .pagination > ul > li > .pagination-next {
  display: flex;
  -moz-column-gap: 6px;
       column-gap: 6px;
  align-items: center;
  padding: 0;
  color: var(--color-black);
}
.news-top-content > .inner > .pagination-area > .pagination > ul > li > .pagination-prev > .icon,
.news-top-content > .inner > .pagination-area > .pagination > ul > li > .pagination-next > .icon {
  display: grid;
  transform: translateY(1px);
}
.news-top-content > .inner > .pagination-area > .pagination > ul > li > .pagination-prev {
  margin-inline-end: 18px;
}
@media screen and (max-width: 399px) {
  .news-top-content > .inner > .pagination-area > .pagination > ul > li > .pagination-prev {
    margin-inline-end: 10px;
  }
}
.news-top-content > .inner > .pagination-area > .pagination > ul > li > .pagination-next {
  margin-inline-start: 18px;
}
@media screen and (max-width: 399px) {
  .news-top-content > .inner > .pagination-area > .pagination > ul > li > .pagination-next {
    margin-inline-start: 10px;
  }
}

.news-lower {
  position: relative;
  max-inline-size: 1920px;
  padding-block-start: 60px;
  margin-inline: auto;
}
@media screen and (max-width: 1023px) {
  .news-lower {
    padding-block-start: 112px;
  }
}
.news-lower > .container {
  padding-block-end: 140px;
  padding-inline: 360px 40px;
  margin-block-start: 85px;
}
@media screen and (max-width: 1023px) {
  .news-lower > .container {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 799px) {
  .news-lower > .container {
    padding-block-end: 80px;
    padding-inline: 24px;
    margin-block-start: 56px;
  }
}
.news-lower > .container > .inner {
  max-inline-size: 960px;
}

.news-lower-post-info {
  display: flex;
  flex-direction: column;
  row-gap: 16px;
  padding-block-end: 40px;
  border-block-end: 1px solid var(--color-line-gray01);
}
.news-lower-post-info > .title-area {
  display: flex;
  flex-direction: column-reverse;
  row-gap: 16px;
}
.news-lower-post-info > .title-area > .title {
  font-size: 28px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.news-lower-post-info > .title-area > .sub-title {
  font-size: 16px;
  font-weight: 600;
  line-height: 165%;
  color: var(--color-main);
  letter-spacing: 0.08em;
}
.news-lower-post-info > .meta {
  display: flex;
  -moz-column-gap: 20px;
       column-gap: 20px;
  align-items: center;
}
@media screen and (max-width: 799px) {
  .news-lower-post-info > .meta {
    -moz-column-gap: 12px;
         column-gap: 12px;
  }
}
.news-lower-post-info > .meta > .date {
  font-size: 13px;
  font-weight: 400;
  line-height: 165%;
  color: var(--color-text-gray01);
  letter-spacing: 0.02em;
}
.news-lower-post-info > .meta > .category-area {
  display: flex;
  -moz-column-gap: 6px;
       column-gap: 6px;
}
@media screen and (max-width: 799px) {
  .news-lower-post-info > .meta > .category-area {
    -moz-column-gap: 4px;
         column-gap: 4px;
  }
}
.news-lower-post-info > .meta > .category-area > .category {
  padding-block: 1px 2px;
  padding-inline: 6px;
  font-size: 11px;
  font-weight: 500;
  line-height: 170%;
  color: var(--color-text-gray01);
  letter-spacing: 0.08em;
  background-color: var(--color-bg-gray02);
  border-radius: 2px;
}
@media screen and (max-width: 799px) {
  .news-lower-post-info > .meta > .category-area > .category {
    font-size: 10px;
  }
}

.news-lower-content {
  position: relative;
  padding-block: 100px 80px;
  padding-inline: 50px;
}
@media screen and (max-width: 1023px) {
  .news-lower-content {
    padding-block-start: 60px;
  }
}
.news-lower-content::after {
  position: absolute;
  bottom: 0;
  left: 50px;
  width: calc(100% - 100px);
  height: 1px;
  content: "";
  background-color: var(--color-line-gray01);
}
.news-lower-content > :first-child {
  margin-block-start: 0;
}
.news-lower-content > h2,
.news-lower-content > h3,
.news-lower-content > h4 {
  margin-block-start: 64px;
}
.news-lower-content > h2 {
  position: relative;
  padding-block-end: 20px;
  margin-block: 64px 32px;
  font-size: 24px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
  border-bottom: 1px solid var(--color-line-gray01);
}
@media screen and (max-width: 799px) {
  .news-lower-content > h2 {
    padding-block-end: 16px;
    font-size: 20px;
  }
}
.news-lower-content > h2::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 26px;
  height: 2px;
  content: "";
  background-color: var(--color-main);
}
.news-lower-content > h3 {
  position: relative;
  padding-inline-start: 16px;
  margin-block: 64px 32px;
  font-size: 22px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.news-lower-content > h3::before {
  position: absolute;
  top: 5px;
  left: 0;
  width: 3px;
  height: calc(100% - 10px);
  content: "";
  background-color: var(--color-main);
}
.news-lower-content > h4 {
  position: relative;
  margin-block: 64px 20px;
  font-size: 16px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.news-lower-content > p {
  padding-inline-end: 60px;
  margin-block-start: 32px;
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 1023px) {
  .news-lower-content > p {
    font-size: 15px;
  }
}
.news-lower-content > p + p {
  margin-block-start: 20px;
}
@media screen and (max-width: 1023px) {
  .news-lower-content > p + p {
    margin-block-start: 16px;
  }
}
.news-lower-content > ol {
  padding-inline-start: 22px;
  margin-block-start: 32px;
  list-style: decimal;
}
.news-lower-content > ol li {
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 1023px) {
  .news-lower-content > ol li {
    font-size: 15px;
  }
}
.news-lower-content > ol li + li {
  margin-block-start: 8px;
}
.news-lower-content > ol li > ol {
  padding-inline-start: 22px;
  margin-block-start: 8px;
  list-style: decimal;
}
.news-lower-content > ol li > ul {
  padding-inline-start: 20px;
  margin-block-start: 8px;
  list-style: disc;
}
.news-lower-content > ol li > ul li::marker {
  font-size: 10px;
}
.news-lower-content > ul {
  padding-inline-start: 20px;
  margin-block-start: 32px;
  list-style: disc;
}
.news-lower-content > ul li {
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 1023px) {
  .news-lower-content > ul li {
    font-size: 15px;
  }
}
.news-lower-content > ul li::marker {
  font-size: 10px;
}
.news-lower-content > ul li + li {
  margin-block-start: 8px;
}
.news-lower-content > ul li > ol {
  padding-inline-start: 22px;
  margin-block-start: 8px;
  list-style: decimal;
}
.news-lower-content > ul li > ul {
  padding-inline-start: 20px;
  margin-block-start: 8px;
  list-style: disc;
}
.news-lower-content > ul li > ul li::marker {
  font-size: 10px;
}
.news-lower-content > figure {
  display: block;
  max-inline-size: 100%;
  width: 100%;
  height: auto;
  margin-block-start: 64px;
}
.news-lower-content > figure > img {
  display: block;
  max-inline-size: 100%;
  height: auto;
}
.news-lower-content > figure > figcaption {
  margin-block-start: 16px;
  font-size: 12px;
  font-weight: 400;
  line-height: 175%;
  text-align: center;
  letter-spacing: 0.08em;
}
.news-lower-content > table {
  width: 100%;
  margin-block-start: 64px;
  text-align: center;
  border-collapse: collapse;
  border: 1px solid var(--color-line-gray01);
}
.news-lower-content > table > thead {
  color: var(--color-white);
  background-color: var(--color-main);
}
.news-lower-content > table > thead > tr > th {
  padding-block: 16px;
  padding-inline: 10px;
  font-size: 15px;
  font-weight: 500;
  line-height: 165%;
  letter-spacing: 0.08em;
  border: 1px solid var(--color-line-gray01);
}
.news-lower-content > table > tbody > tr > th {
  font-size: 15px;
  font-weight: 500;
  line-height: 165%;
  color: var(--color-text-gray01);
  letter-spacing: 0.08em;
  background-color: #eeeeee;
  border: 1px solid var(--color-line-gray01);
}
.news-lower-content > table > tbody > tr > td {
  padding-block: 16px;
  padding-inline: 10px;
  font-size: 15px;
  font-weight: 500;
  line-height: 165%;
  text-align: right;
  letter-spacing: 0.08em;
  border: 1px solid var(--color-line-gray01);
}
.news-lower-content > .media-box {
  display: grid;
  grid-template-columns: 200px 1fr;
  -moz-column-gap: 40px;
       column-gap: 40px;
  align-items: center;
  padding-block: 40px;
  padding-inline: 40px;
  margin-block-start: 64px;
  background-color: var(--color-white);
  border-radius: 4px;
}
.news-lower-content > .media-box > .body {
  display: grid;
  row-gap: 20px;
}
.news-lower-content > .media-box > .body > .title {
  font-size: 16px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.news-lower-content > .media-box > .body > .text {
  font-size: 13px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
.news-lower-content > .media-box > .image {
  width: 200px;
  aspect-ratio: 1/1;
}
.news-lower-content > .media-box > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.news-lower-content > .info-box {
  display: grid;
  row-gap: 12px;
  padding-block: 40px;
  padding-inline: 40px;
  margin-block-start: 64px;
  background-color: var(--color-white);
  border-radius: 4px;
}
.news-lower-content > .info-box > .title {
  font-size: 16px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.news-lower-content > .info-box > .body {
  display: grid;
  row-gap: 8px;
}
.news-lower-content > .info-box > .body > .sub-title {
  font-size: 16px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
.news-lower-content > .info-box > .body > .text-area {
  display: grid;
  row-gap: 6px;
}
.news-lower-content > .info-box > .body > .text-area > .text {
  font-size: 16px;
  font-weight: 400;
  line-height: 165%;
  letter-spacing: 0.08em;
}

.news-lower-pagination {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-inline: 50px;
  margin-block-start: 40px;
}
.news-lower-pagination > .pagination-prev,
.news-lower-pagination > .pagination-next {
  display: flex;
  -moz-column-gap: 6px;
       column-gap: 6px;
  align-items: center;
  font-size: 15px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 0.08em;
}
.news-lower-pagination > .pagination-prev > .icon,
.news-lower-pagination > .pagination-next > .icon {
  display: grid;
  transform: translateY(1px);
}

.recruit {
  position: relative;
  max-inline-size: 1920px;
  margin-inline: auto;
}

.recruit-mv {
  padding-inline-start: 360px;
}
@media screen and (max-width: 1023px) {
  .recruit-mv {
    padding-block-start: 10px;
    padding-inline: 10px;
  }
}
.recruit-mv .main {
  position: relative;
  max-inline-size: 1080px;
  padding-block: 60px 48px;
  padding-inline-end: 40px;
}
@media screen and (max-width: 1023px) {
  .recruit-mv .main {
    padding-block: 102px 18px;
    padding-inline-end: 18px;
  }
}
@media screen and (max-width: 799px) {
  .recruit-mv .main {
    padding-block: 143px 32px;
  }
}
.recruit-mv .main .image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.recruit-mv .main .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-bottom-left-radius: 8px;
}
@media screen and (min-width: 1440px) {
  .recruit-mv .main .image img {
    border-bottom-right-radius: 8px;
  }
}
@media screen and (max-width: 1023px) {
  .recruit-mv .main .image img {
    border-radius: 4px;
  }
}
.recruit-mv .inner {
  position: relative;
  max-width: 960px;
}
.recruit-mv .breadcrumb-area {
  padding-inline-end: 0;
}
.recruit-mv .breadcrumb-area .c-breadcrumb li {
  color: var(--color-white);
}
.recruit-mv .inner-body {
  display: grid;
  row-gap: 146px;
  margin-block-start: 20px;
}
@media screen and (max-width: 1023px) {
  .recruit-mv .inner-body {
    row-gap: 140px;
    margin-block-start: 60px;
  }
}
@media screen and (max-width: 799px) {
  .recruit-mv .inner-body {
    margin-block-start: 0;
  }
}
.recruit-mv .inner-body .title-area {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  row-gap: 4px;
  padding-inline-start: 48px;
}
@media screen and (max-width: 799px) {
  .recruit-mv .inner-body .title-area {
    padding-inline-start: 22px;
  }
}
.recruit-mv .inner-body .title-area::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 72px;
  content: "";
  background: var(--color-main);
}
.recruit-mv .inner-body .title-area .title {
  font-size: 34px;
  font-weight: 600;
  line-height: 165%;
  color: var(--color-white);
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .recruit-mv .inner-body .title-area .title {
    font-size: 30px;
  }
}
.recruit-mv .inner-body .title-area .sub-title {
  font-family: var(--font-marcellus);
  font-size: 12px;
  font-weight: 400;
  line-height: 100%;
  color: var(--color-white);
  letter-spacing: 0.02em;
}
@media screen and (max-width: 799px) {
  .recruit-mv .inner-body .title-area .sub-title {
    font-size: 11px;
  }
}
.recruit-mv .inner-body .text-area {
  position: relative;
  display: grid;
  row-gap: 20px;
  padding-inline-start: 48px;
}
@media screen and (max-width: 799px) {
  .recruit-mv .inner-body .text-area {
    padding-inline-start: 22px;
  }
}
.recruit-mv .inner-body .text-area .text {
  font-size: 15px;
  font-weight: 400;
  line-height: 210%;
  color: var(--color-white);
  text-align: end;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .recruit-mv .inner-body .text-area .text {
    font-size: 13px;
  }
}

.recruit-content {
  padding-block-end: 140px;
  padding-inline: 360px 40px;
  margin-block-start: 120px;
}
@media screen and (max-width: 1023px) {
  .recruit-content {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 799px) {
  .recruit-content {
    padding-block-end: 80px;
    padding-inline: 24px;
    margin-block-start: 64px;
  }
}
.recruit-content > .inner {
  max-inline-size: 960px;
}

.recruit-introduction {
  display: grid;
  row-gap: 64px;
}
@media screen and (max-width: 799px) {
  .recruit-introduction {
    row-gap: 48px;
  }
}
.recruit-introduction > .top {
  display: flex;
  -moz-column-gap: 72px;
       column-gap: 72px;
  align-items: flex-start;
}
@media screen and (max-width: 799px) {
  .recruit-introduction > .top {
    flex-direction: column;
    row-gap: 40px;
  }
}
.recruit-introduction > .top > .body {
  display: grid;
  row-gap: 40px;
  width: 54.1666666667%;
}
@media screen and (max-width: 799px) {
  .recruit-introduction > .top > .body {
    row-gap: 24px;
    width: 100%;
  }
}
.recruit-introduction > .top > .body > .c-with-subtitle > .title {
  font-size: 28px;
}
@media screen and (max-width: 799px) {
  .recruit-introduction > .top > .body > .c-with-subtitle > .title {
    font-size: 22px;
  }
}
.recruit-introduction > .top > .body > .c-with-subtitle > .sub-title {
  font-size: 11px;
}
@media screen and (max-width: 799px) {
  .recruit-introduction > .top > .body > .c-with-subtitle > .sub-title {
    font-size: 11px;
  }
}
.recruit-introduction > .top > .body > .text {
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .recruit-introduction > .top > .body > .text {
    font-size: 15px;
  }
}
.recruit-introduction > .top > .image {
  width: 36.7708333333%;
  aspect-ratio: 353/240;
}
@media screen and (max-width: 799px) {
  .recruit-introduction > .top > .image {
    width: 100%;
  }
}
.recruit-introduction > .top > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
}
.recruit-introduction > .bottom > .list {
  display: grid;
  row-gap: 16px;
}
.recruit-introduction > .bottom > .list > .item {
  display: flex;
  align-items: center;
  padding-block: 16px;
  padding-inline: 28px;
  background-color: var(--color-white);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .recruit-introduction > .bottom > .list > .item {
    padding-block: 24px;
    padding-inline: 20px;
  }
}
.recruit-introduction > .bottom > .list > .item > .number {
  flex-shrink: 0;
  width: 45px;
  font-size: 16px;
  font-weight: 600;
  line-height: 165%;
  color: var(--color-main);
  letter-spacing: 0.02em;
}
@media screen and (max-width: 799px) {
  .recruit-introduction > .bottom > .list > .item > .number {
    width: 34px;
    font-size: 15px;
  }
}
.recruit-introduction > .bottom > .list > .item > .text {
  position: relative;
  align-items: flex-start;
  padding-block: 7px;
  padding-inline-start: 28px;
  font-size: 16px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .recruit-introduction > .bottom > .list > .item > .text {
    padding-block: 0;
    padding-inline-start: 16px;
    font-size: 15px;
  }
}
.recruit-introduction > .bottom > .list > .item > .text::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  content: "";
  border-inline-start: 1px dashed var(--color-line-gray02);
}
@media screen and (max-width: 799px) {
  .recruit-introduction > .bottom > .list > .item > .text::before {
    top: 4px;
    height: calc(100% - 8px);
  }
}

.recruit-type-area {
  margin-block-start: 100px;
  container: recruit-type/inline-size;
}
@media screen and (max-width: 799px) {
  .recruit-type-area {
    margin-block-start: 56px;
  }
}
.recruit-type-area > .head {
  display: grid;
  row-gap: 40px;
}
@media screen and (max-width: 799px) {
  .recruit-type-area > .head {
    row-gap: 24px;
  }
}
.recruit-type-area > .head > .text {
  font-size: 15px;
  font-weight: 400;
  line-height: 165%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .recruit-type-area > .head > .text {
    font-size: 14px;
  }
}
.recruit-type-area > .type-area {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-block-start: 40px;
}
@container recruit-type (max-width: 800px) {
  .recruit-type-area > .type-area {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media screen and (max-width: 799px) {
  .recruit-type-area > .type-area {
    margin-block-start: 32px;
  }
}
.recruit-type-area > .type-area > .box {
  display: grid;
  grid-template-areas: "head image" "text text";
  grid-template-columns: 1fr 117px;
  grid-auto-rows: min-content;
  gap: 24px 20px;
  padding-block: 40px;
  padding-inline: 48px 40px;
  background-color: var(--color-white);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .recruit-type-area > .type-area > .box {
    grid-template-columns: 1fr 109px;
    gap: 16px;
    padding-block: 32px;
    padding-inline: 24px;
  }
}
.recruit-type-area > .type-area > .box > .head {
  display: grid;
  grid-area: head;
  grid-auto-rows: min-content;
  row-gap: 12px;
}
.recruit-type-area > .type-area > .box > .head > .category {
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding-block: 1px 2px;
  padding-inline: 6px;
  font-size: 11px;
  font-weight: 500;
  line-height: 170%;
  color: var(--color-text-gray01);
  letter-spacing: 0.08em;
  background-color: var(--color-bg-gray02);
  border-radius: 2px;
}
.recruit-type-area > .type-area > .box > .head > .link {
  display: inline-block;
}
.recruit-type-area > .type-area > .box > .head > .link > .text {
  font-size: 18px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .recruit-type-area > .type-area > .box > .head > .link > .text {
    font-size: 16px;
  }
}
.recruit-type-area > .type-area > .box > .head > .link > .icon {
  display: inline-grid;
  place-content: center;
  width: 20px;
  height: 20px;
  margin-inline-start: 6px;
  background-color: var(--color-main);
  border-radius: var(--rounded-full);
  transform: translateY(-4px);
}
.recruit-type-area > .type-area > .box > .head > .link > .icon svg {
  transform: rotate(180deg);
}
.recruit-type-area > .type-area > .box > .head > .link > .external-icon {
  display: inline-grid;
  place-content: center;
  margin-inline-start: 6px;
  transform: translateY(-2px);
}
.recruit-type-area > .type-area > .box > .head > .link > .external-icon svg {
  width: 10px;
  height: 9px;
}
.recruit-type-area > .type-area > .box > .image {
  grid-area: image;
  aspect-ratio: 117/88;
}
.recruit-type-area > .type-area > .box > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
}
.recruit-type-area > .type-area > .box > .text {
  grid-area: text;
  font-size: 15px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .recruit-type-area > .type-area > .box > .text {
    font-size: 13px;
  }
}
.recruit-type-area > .type-area > .box-gray {
  padding-block: 40px;
  padding-inline: 48px 40px;
  background-color: var(--color-bg-gray02);
  border: 1px solid var(--color-bg-gray03);
  border-radius: 4px;
}
@media screen and (max-width: 799px) {
  .recruit-type-area > .type-area > .box-gray {
    padding-block: 32px;
    padding-inline: 24px;
  }
}
.recruit-type-area > .type-area > .box-gray > .title {
  font-size: 16px;
  font-weight: 600;
  line-height: 165%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .recruit-type-area > .type-area > .box-gray > .title {
    font-size: 15px;
  }
}
.recruit-type-area > .type-area > .box-gray > .list {
  margin-block-start: 20px;
}
@media screen and (max-width: 799px) {
  .recruit-type-area > .type-area > .box-gray > .list {
    margin-block-start: 16px;
  }
}
.recruit-type-area > .type-area > .box-gray > .list > .item {
  position: relative;
  padding-inline-start: 1em;
  font-size: 15px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 799px) {
  .recruit-type-area > .type-area > .box-gray > .list > .item {
    font-size: 14px;
  }
}
.recruit-type-area > .type-area > .box-gray > .list > .item + .item {
  margin-block-start: 6px;
}
.recruit-type-area > .type-area > .box-gray > .list > .item::before {
  position: absolute;
  top: 10.5px;
  left: 0;
  width: 4px;
  aspect-ratio: 1/1;
  content: "";
  background-color: var(--color-black);
  border-radius: var(--rounded-full);
}
.recruit-type-area > .type-area > .box-gray > .list > .item > .c-icon-link > .text {
  font-size: 15px;
}
@media screen and (max-width: 799px) {
  .recruit-type-area > .type-area > .box-gray > .list > .item > .c-icon-link > .text {
    font-size: 14px;
  }
}
.recruit-type-area > .type-area > .box-gray > .list > .item > .link {
  text-decoration: underline;
  transition: opacity 0.2s ease;
}
.recruit-type-area > .type-area > .box-gray > .list > .item > .link:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .recruit-type-area > .type-area > .box-gray > .list > .item > .link:hover {
    opacity: 0.7;
  }
}
.recruit-type-area > .type-area > .box-gray > .list > .item > .icon-link > .text {
  font-size: 15px;
}
.recruit-type-area > .recruit-type {
  margin-block-start: 100px;
}
@media screen and (max-width: 799px) {
  .recruit-type-area > .recruit-type {
    margin-block-start: 56px;
  }
}
.recruit-type-area > .recruit-type + .recruit-type {
  margin-block-start: 80px;
}
@media screen and (max-width: 799px) {
  .recruit-type-area > .recruit-type + .recruit-type {
    margin-block-start: 56px;
  }
}
.recruit-type-area > .recruit-type > .overview-list-area {
  margin-block-start: 32px;
}
@media screen and (max-width: 799px) {
  .recruit-type-area > .recruit-type > .overview-list-area {
    margin-block-start: 24px;
  }
}
.recruit-type-area > .recruit-type > .overview-list-area > .overview-list {
  width: 100%;
  border-top: 1px solid var(--color-line-gray01);
}
.recruit-type-area > .recruit-type > .overview-list-area > .overview-list .item {
  display: grid;
  grid-template-columns: 270px 1fr;
  padding-block: 30px;
  border-bottom: 1px solid var(--color-line-gray01);
}
@media screen and (max-width: 799px) {
  .recruit-type-area > .recruit-type > .overview-list-area > .overview-list .item {
    grid-template-columns: 1fr;
    padding-block: 20px;
  }
}
.recruit-type-area > .recruit-type > .overview-list-area > .overview-list .item dt {
  grid-area: auto/1/auto/2;
  font-size: 16px;
  font-weight: 600;
  line-height: 180%;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 799px) {
  .recruit-type-area > .recruit-type > .overview-list-area > .overview-list .item dt {
    grid-area: auto;
    font-size: 15px;
  }
}
.recruit-type-area > .recruit-type > .overview-list-area > .overview-list .item dd {
  grid-area: auto/2/auto/3;
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 799px) {
  .recruit-type-area > .recruit-type > .overview-list-area > .overview-list .item dd {
    grid-area: auto;
    margin-block-start: 8px;
    font-size: 15px;
  }
}
.recruit-type-area > .recruit-type > .overview-list-area > .button-area {
  display: flex;
  -moz-column-gap: 20px;
       column-gap: 20px;
  justify-content: center;
  margin-block-start: 48px;
}
@media screen and (max-width: 799px) {
  .recruit-type-area > .recruit-type > .overview-list-area > .button-area {
    flex-direction: column;
    row-gap: 12px;
    margin-block-start: 32px;
  }
}
@media screen and (max-width: 799px) {
  .recruit-type-area > .recruit-type > .overview-list-area > .button-area > .c-button-primary,
  .recruit-type-area > .recruit-type > .overview-list-area > .button-area > .c-button-outline {
    width: 100%;
  }
}

/* ------------------------------------
Layout
------------------------------------ */
/* screen reader only */
.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  white-space: nowrap;
  border: 0;
  clip: rect(0, 0, 0, 0);
}

/* display */
.u-hidden {
  display: none;
}

.u-\!hidden {
  display: none !important;
}

.u-contents {
  display: contents;
}

.u-\!contents {
  display: contents !important;
}

.u-inline {
  display: inline;
}

.u-\!inline {
  display: inline !important;
}

.u-inline-block {
  display: inline-block;
}

.u-\!inline-block {
  display: inline-block !important;
}

.u-block {
  display: block;
}

.u-\!block {
  display: block !important;
}

@media screen and (min-width: 800px) {
  .u-md\:hidden {
    display: none;
  }
}

@media screen and (min-width: 800px) {
  .u-md\:\!hidden {
    display: none !important;
  }
}

@media screen and (min-width: 800px) {
  .u-md\:contents {
    display: contents;
  }
}

@media screen and (min-width: 800px) {
  .u-md\:\!contents {
    display: contents !important;
  }
}

@media screen and (min-width: 800px) {
  .u-md\:inline {
    display: inline;
  }
}

@media screen and (min-width: 800px) {
  .u-md\:\!inline {
    display: inline !important;
  }
}

@media screen and (min-width: 800px) {
  .u-md\:inline-block {
    display: inline-block;
  }
}

@media screen and (min-width: 800px) {
  .u-md\:\!inline-block {
    display: inline-block !important;
  }
}

@media screen and (min-width: 800px) {
  .u-md\:block {
    display: block;
  }
}

@media screen and (min-width: 800px) {
  .u-md\:\!block {
    display: block !important;
  }
}

.u-is-sp {
  display: none !important;
}
@media screen and (max-width: 799px) {
  .u-is-sp {
    display: block !important;
  }
}

.u-is-md {
  display: none !important;
}
@media screen and (max-width: 1023px) {
  .u-is-md {
    display: block !important;
  }
}

.u-is-pc {
  display: block;
}
@media screen and (max-width: 799px) {
  .u-is-pc {
    display: none !important;
  }
}

/* ------------------------------------
Typography
------------------------------------ */
/* <wbr>で自動折り返し（https://ics.media/entry/241105/） */
.u-phrase-auto {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.u-\!phrase-auto {
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

@media screen and (min-width: 800px) {
  .u-md\:phrase-auto {
    word-break: keep-all;
    overflow-wrap: anywhere;
  }
}

@media screen and (min-width: 800px) {
  .u-md\:\!phrase-auto {
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }
}

.u-tracking-narrow {
  letter-spacing: 0.02em !important;
}

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
}

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

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

.splide--rtl {
  direction: rtl;
}

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

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

.splide__list {
  backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

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

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

.splide__slide img {
  vertical-align: bottom;
}

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

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

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

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

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}._formrun_gotcha[data-astro-cid-sd3btrsk]{position:absolute!important;width:1px;height:1px;overflow:hidden}._formrun_gotcha[data-astro-cid-bximgy4c]{position:absolute!important;width:1px;height:1px;overflow:hidden}._formrun_gotcha[data-astro-cid-4tcefk2w]{position:absolute!important;width:1px;height:1px;overflow:hidden}._formrun_gotcha[data-astro-cid-eom4tmd3]{position:absolute!important;width:1px;height:1px;overflow:hidden}._formrun_gotcha[data-astro-cid-gknpfpoj]{position:absolute!important;width:1px;height:1px;overflow:hidden}._formrun_gotcha[data-astro-cid-np4txny5]{position:absolute!important;width:1px;height:1px;overflow:hidden}._formrun_gotcha[data-astro-cid-4gd5nzn7]{position:absolute!important;width:1px;height:1px;overflow:hidden}._formrun_gotcha[data-astro-cid-gml2ne5w]{position:absolute!important;width:1px;height:1px;overflow:hidden}.p-news-detail {
  padding-inline: 20px;
  margin-block-start: 40px;
}

.c-link-container {
  display: flex;
  justify-content: center;
  margin-block-start: 40px;
}

.c-link {
  display: inline-block;
  font-weight: bold;
  text-decoration: none;
}
.c-link:focus-visible {
  text-decoration: underline;
}
@media (any-hover: hover) {
  .c-link:hover {
    text-decoration: underline;
  }
}.p-news-detail {
  padding-inline: 20px;
  margin-block-start: 40px;
}

.c-link-container {
  display: flex;
  justify-content: center;
  margin-block-start: 40px;
}

.c-link {
  display: inline-block;
  font-weight: bold;
  text-decoration: none;
}
.c-link:focus-visible {
  text-decoration: underline;
}
@media (any-hover: hover) {
  .c-link:hover {
    text-decoration: underline;
  }
}