/* common.css */
/*! 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%;
  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: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(:placeholder-shown)
  ) {
  /*
  * Certain input types need to maintain left alignment even in right-to-left (RTL) languages.
  * However, this only applies when the value is not empty, as the placeholder should be right-aligned.
  * @see https://rtlstyling.com/posts/rtl-styling#form-inputs
  */
  direction: ltr;
}
:where(textarea) {
  /* The `margin-block` specified in Firefox's UA stylesheet is often unnecessary, so it is reset. */
  margin-block: unset;

  /* Allows vertical resizing for `<textarea>` elements. */
  resize: block;
}
:where(
    input:not([type="button" i], [type="submit" i], [type="reset" i]),
    textarea,
    [contenteditable]
  ) {
  /* Set to `no-autospace` because `text-autospace` can insert spaces during input, potentially causing erratic behavior. */
  text-autospace: no-autospace;
}
:where(
    button,
    input:is([type="button" i], [type="submit" i], [type="reset" i])
  ),
::file-selector-button {
  /* The `background-color` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset here. */
  background-color: unset;
}
:where(
    button,
    input:is([type="button" i], [type="submit" i], [type="reset" i]),
    [role="tab" i],
    [role="button" i],
    [role="option" i]
  ),
::file-selector-button {
  /*
  * On iOS, double-tapping a button can cause zooming, which harms usability.
  * `touch-action: manipulation` is specified to disable zooming on double-tap.
  * Third-party plugins such as Swiper sometimes use div elements with these roles as buttons, since double-tapping a div can still trigger zooming, it's advisable to specify this property.
  */
  touch-action: manipulation;
}
:where(
    button:enabled,
    label[for],
    select:enabled,
    input:is(
        [type="button" i],
        [type="submit" i],
        [type="reset" i],
        [type="radio" i],
        [type="checkbox" i]
      ):enabled,
    [role="tab" i],
    [role="button" i],
    [role="option" i]
  ),
:where(:enabled)::file-selector-button {
  /* Indicate clickable elements with a pointer cursor. */
  cursor: pointer;
}
:where(fieldset) {
  /*
  * Prevent fieldset from causing overflow.
  * Reset the default `min-inline-size: min-content` to prevent children from stretching fieldset.
  * @see https://github.com/twbs/bootstrap/issues/12359
  */
  min-inline-size: 0;

  /* The following default styles are often unnecessary, so they are reset. */
  margin-inline: unset;
  padding: unset;
  border: unset;
}
:where(legend) {
  /* The default `padding-inline` is often unnecessary, so it is reset. */
  padding-inline: unset;
}
:where(progress) {
  /* Resets the vertical alignment of the `<progress>` element to its initial value. */
  vertical-align: unset;
}
::placeholder {
  /* Standardize the opacity of placeholder text (it may be set lower by default in Firefox). */
  opacity: unset;
}
/* ======================================================
//  MARK: Interactive elements
// ====================================================== */
:where(summary) {
  /* The default triangle marker is often unnecessary, so it is disabled. */
  list-style-type: "";

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

  /* The following default styles are often unnecessary, so they are reset. */
  padding: unset;
  border: unset;
}
:where(dialog:not([open], [popover]), [popover]:not(:popover-open)) {
  /*
  * These elements can be easily displayed by explicitly setting their `display` property.
  * To prevent them from appearing when not in an open state, they are forcibly hidden.
  */
  display: none !important;
}
:where(dialog) {
  /*
  * The max width and height of a `<dialog>` element are typically determined by the design.
  * These UA stylesheet properties are reset as they can be obstructive, especially when trying to make the dialog full-screen.
  */
  max-inline-size: unset;
  max-block-size: unset;
}
:where(dialog)::backdrop {
  /* Normalize the background color of the `::backdrop` element. */
  background-color: oklch(0% 0 0deg / 30%);
}
:where([popover]) {
  /*
  * While the UA stylesheet's `margin` for `<dialog>` elements is useful for centering with `inset: 0`,
  * but `margin` for `popover` elements is often obstructive as they frequently use Anchor Positioning.
  */
  margin: unset;
}
/* ======================================================
//  MARK: Focus Styles
// ====================================================== */
:where(:focus-visible) {
  /* Add space between the content and the focus outline. */
  outline-offset: 3px;
}
[tabindex="-1"]:focus {
  /* Prevent programmatically focused elements from displaying an outline unless they are naturally focusable. */
  outline: none !important;
}
/* ======================================================
//  MARK: Misc
// ====================================================== */
:where(:disabled, [aria-disabled="true" i]) {
  /* Display the default cursor on disabled elements to reflect their non-interactive state. */
  cursor: default;
}
[hidden]:not([hidden="until-found" i]) {
  /* Ensure that elements intended to be hidden are not displayed, improving clarity and layout control. */
  display: none !important;
}
/* variables.css */
:root {
  --z-index--breadcrumb: 1001;
  --z-index--backdrop: 1002;
  --z-index--header: 1003;

  --max-width--page-md: 1440;
  --min-width--page-md: 1240; /* 1200 + --padding--page-md * 2 */

  --height--header-sm: 60;
  --height--header-md: 110;

  --padding--page-sm: 20;
  --padding--page-md: 20;

  --border-radius--box: 8;
  --border-radius--button: 8;
  --border-radius--image: 8;

  --color--light-red: #e30008;
  --color--red: #c51d23;
  --color--beige: #f7efe7;
  --color--greige: #f7f6f5;

  --color--link-blue: #0031ff;

  --color--light-warm-gray: #f7f6f5;
  --color--warm-gray: #7e7979;
  --color--dark-warm-gray: #625c5c;

  --color--white: #fff;
  --color--light-gray: #ededed;
  --color--border-gray: #ddd;
  --color--gray: #888;
  --color--text-black: #222;
  --color--black: #000;

  --color-rgb--light-red: 227, 0, 8;
  --color-rgb--red: 197, 30, 36;
  --color-rgb--white: 255, 255, 255;
  --color-rgb--greige: 247, 246, 245;
  --color-rgb--light-gray: 237, 237, 237;
  --color-rgb--border-gray: 221, 221, 221;
  --color-rgb--gray: 136, 136, 136;
  --color-rgb--text-black: 34, 34, 34;
  --color-rgb--black: 0, 0, 0;

  --font-family--sans: "Noto Sans JP", sans-serif;
  --font-family--serif: "Bodoni Moda", serif;
  --font-family--number: "Roboto Condensed", sans-serif;

  --hover--border-color: var(--color--red);
  --hover--background-color: var(--color--red);
  --hover--opacity: 0.7;
  --hover--color: var(--color--red);

  /* --rgb-color--theme-blue: 0, 88, 255;
  --rgb-color--theme-red: 226, 16, 16;
  --rgb-color--theme-white: 255, 255, 255;
  --rgb-color--theme-black: 0, 0, 0;
  
  --icon-size--xs: 16;
  --icon-size--sm: 24;
  --icon-size--md: 32;
  --icon-size--lg: 48;
  
  --page-padding--sm: 16;
  --page-padding--lg: 50;
  
  --z-index--back-button: 1001;
  --z-index--contact-button: 1002;
  --z-index--header-nav--sm: 1003;
  --z-index--header: 1004;
  --z-index--header-nav--md: 1005;
  --z-index--modal: 2001; */
}
/* foundations.css */
/* *:first-child {
  margin-block-start: unset;
} */
*:last-child {
  margin-block-end: unset !important;
}
:focus {
  outline: none;
}
:focus-visible {
  outline: 2px solid var(--color--red) !important;
}
:root {
  font-size: calc(16 / 375 * 100vi);
  scroll-padding-top: calc(var(--height--header-sm) * 1rem / 16);
  scroll-behavior: smooth;
  @media (width >= 768px) {
    font-size: 100%;
    scroll-padding-top: calc(var(--height--header-md) * 1px);
  }
}
body {
  color: var(--color--text-black);
  font-family: var(--font-family--sans);
  font-style: normal;
  font-weight: 500;
  font-optical-sizing: auto;
}
a,
button {
  cursor: pointer;
  /* user-select: none; */
}
a[aria-current="page"] {
  pointer-events: none;
}
address {
  font-style: normal;
}
button {
  margin: 0;
  padding: 0;
  color: inherit;
}
dt,
dd {
  font-weight: inherit;
}
img {
  /* max-inline-size: 100%; */
  block-size: auto;
  vertical-align: text-bottom;
}
/* input[type="search"] {
  color: inherit;
} */
mark {
  background-color: unset;
}
small {
  font-size: inherit;
}
/* layouts.css */
/* components/base.css */
.c-box {
  padding-inline: calc(20 * 1rem / 16);
  /* padding-inline: calc(25 * 1rem / 16); */
  padding-block: calc(40 * 1rem / 16);
  background-color: var(--color--beige);
  @media (width >= 768px) {
    padding-inline: 25px;
    padding-block: 50px;
  }
}
.c-box--full {
  padding-inline: unset;
}
.c-box--greige {
  background-color: var(--color--greige);
}
.c-box--white {
  background-color: var(--color--white);
}
.c-box--r8 {
  border-radius: calc(var(--border-radius--box) * 1rem / 16);
  @media (width >= 768px) {
    border-radius: calc(var(--border-radius--box) * 1px);
  }
}
/* -------------------------------------------------- */
.c-button {
  display: flex;
  justify-content: center;
  align-items: center;

  .c-button__label {
  }

  .c-button__file-size {
    flex-shrink: 0;
    margin-inline: -0.2em;
    /* vertical-align: 0.1em; */
  }

  .c-button__file-type {
    flex-shrink: 0;
    padding-inline: 0.6em;
    padding-block: 0.05em 0.15em;
    border-radius: 9999px;
    background-color: #d53f50;
    /* vertical-align: 0.25em; */
    vertical-align: 0.1em;
  }
}
.c-button--inline {
  display: inline-flex;
}
.c-button--fill,
.c-button--outline {
  padding-inline: calc(20 * 1rem / 16);
  /* padding-inline: calc(25 * 1rem / 16); */
  padding-block: calc(16 * 1rem / 16);
  border: 1px solid var(--color--text-black);
  border-radius: calc(var(--border-radius--button) * 1rem / 16);
  text-align: center;
  @media (width >= 768px) {
    padding-inline: 25px;
    padding-block: 16px;
    border-radius: calc(var(--border-radius--box) * 1px);
  }
}
.c-button--fill {
  background-color: var(--color--text-black);
}
.c-button--outline {
  background-color: var(--color--white);
}
.c-button--sub {
  justify-content: start;
  inline-size: fit-content;
  padding-inline: calc(15 * 1rem / 16);
  padding-block: calc(8 * 1rem / 16);
  border-radius: calc(4 * 1rem / 16);
  @media (width >= 768px) {
    padding-inline: 20px;
    padding-block: 10px;
    border-radius: 4px;
  }
}
.c-button--filter {
  padding-inline: calc(16 * 1rem / 16);
  padding-block: calc(12 * 1rem / 16);
  border: 1px solid var(--color--border-gray);
  border-radius: calc(var(--border-radius--button) * 1rem / 16);
  background-color: var(--color--white);
  box-shadow: 0 1px 0 0 rgba(var(--color-rgb--black), 0.16);
  @media (width >= 768px) {
    padding-inline: 16px;
    padding-block: 12px;
    border-radius: calc(var(--border-radius--button) * 1px);
  }
}
.c-button--filter[aria-pressed="true"] {
  border-color: var(--hover--border-color);
  background-color: var(--hover--background-color);
  color: var(--color--white);
  box-shadow: unset;
  pointer-events: none;
}
.c-button--text-block {
  flex-flow: column;
  align-items: start;
  /* inline-size: 100%; */
  padding: calc(20 * 1rem / 16);
  border: 1px solid var(--color--text-black);
  border-radius: calc(var(--border-radius--button) * 1rem / 16);
  background-color: var(--color--white);
  text-align: left;
  @media (width >= 768px) {
    padding: 20px;
    border-radius: calc(var(--border-radius--box) * 1px);
  }

  .c-button__heading {
    min-block-size: 2lh;
    /* @media (width >= 768px) {
      min-block-size: 2lh;
    } */
  }

  .c-button__text {
    min-block-size: 4lh;
    @media (width >= 768px) {
      /* min-block-size: revert; */
      min-block-size: 3lh;
    }
  }

  & > *:has(.c-icon) {
    inline-size: 100%;
  }
}
.c-button--fluid {
  inline-size: 100%;
}
/* .c-button--w140 {
  inline-size: calc(140 * 1rem / 16);
  @media (width >= 768px) {
    inline-size: 140px;
  }
} */
.c-button--h40 {
  min-block-size: calc(40 * 1rem / 16);
  padding-block: unset;
  @media (width >= 768px) {
    min-block-size: 40px;
  }
}
.c-button--h50 {
  min-block-size: calc(50 * 1rem / 16);
  padding-block: unset;
  @media (width >= 768px) {
    min-block-size: 50px;
  }
}
.c-button--h80 {
  min-block-size: calc(80 * 1rem / 16);
  padding-block: unset;
  @media (width >= 768px) {
    min-block-size: 80px;
  }
}
.c-button--sq48 {
  inline-size: calc(48 * 1rem / 16);
  aspect-ratio: 1;
  padding: unset;
  @media (width >= 768px) {
    inline-size: 48px;
  }
}
@media (width >= 768px) {
  .md\:c-button--w260 {
    inline-size: 260px;
  }
  .md\:c-button--w360 {
    inline-size: 360px;
  }
  .md\:c-button--w580 {
    inline-size: 580px;
  }
}
.c-button--r4 {
  border-radius: calc(4 * 1rem / 16);
  @media (width >= 768px) {
    border-radius: 4px;
  }
}
.c-button--red {
  border-color: var(--color--red);
  background-color: var(--color--red);
}
.c-button--light-gray {
  border-color: var(--color--light-gray);
  background-color: var(--color--light-gray);
}
.c-button--text-black {
  border-color: var(--color--text-black);
  background-color: var(--color--text-black);
}
@media (hover: hover) {
  .c-button {
    opacity: 1;
    transition:
      border-color 0.2s ease 0s,
      background-color 0.2s ease 0s,
      opacity 0.2s ease 0s;

    .c-button__label {
    }
  }
  .c-button:hover {
    opacity: var(--hover--opacity);
  }

  .c-button--fill:hover,
  .c-button--outline:hover {
    border-color: var(--hover--border-color);
    background-color: var(--hover--background-color);
    opacity: 1;
    color: var(--color--white);
  }

  .c-button--filter:hover {
    border-color: var(--hover--border-color);
    background-color: var(--hover--background-color);
    opacity: 1;
    color: var(--color--white);
  }

  /* .c-button--sub:hover {
    border-color: var(--hover--border-color);
    background-color: var(--hover--background-color);
    opacity: 1;
    color: var(--color--white);
  } */

  .c-button--text-block {
    .c-button__heading {
      transition: color 0.2s ease 0s;
    }
  }
  .c-button--text-block:hover {
    opacity: 1;

    .c-button__heading {
      color: var(--hover--color);
    }
  }
}
/* -------------------------------------------------- */
.c-container {
  margin-inline: auto;
  max-inline-size: calc(100% - var(--padding--page-sm) * 1rem / 16 * 2);
  @media (width >= 768px) {
    max-inline-size: calc(100% - var(--padding--page-md) * 1px * 2);
  }
}
.c-container--full {
  max-inline-size: none;
}
@media (width >= 768px) {
  .md\:c-container--w800 {
    max-inline-size: 800px;
  }
  .md\:c-container--w930 {
    max-inline-size: 930px;
  }
  .md\:c-container--w990 {
    max-inline-size: 990px;
  }
  .md\:c-container--w1000 {
    max-inline-size: 1000px;
  }
  .md\:c-container--w1200 {
    max-inline-size: 1200px;
  }
  .md\:c-container--w1440 {
    max-inline-size: 1440px;
  }
  .md\:c-container--full {
    max-inline-size: none;
  }
}
.c-scroll-container {
  margin-inline: calc(var(--padding--page-sm) * -1rem / 16);
  margin-block-end: calc(40 * 1rem / 16);
  /* padding-block-end: 1em; */
  padding-block-end: 1px;
  overflow-x: scroll;
  @media (width >= 768px) {
    margin-inline: revert;
    margin-block-end: 50px;
    padding-inline: revert;
    /* padding-block-end: revert; */
    overflow-x: revert;
  }

  .c-scroll-container__content {
    inline-size: calc((1200 + var(--padding--page-sm) * 2) * 1rem / 16);
    padding-inline: calc(var(--padding--page-sm) * 1rem / 16);
    @media (width >= 768px) {
      inline-size: revert;
      padding-inline: revert;
    }

    & > * {
      margin: unset;
    }
  }
}
/* -------------------------------------------------- */
.c-flex {
  display: flex;
  /* margin-inline: auto; */

  & > * {
    /* line-height: 1; */
    /* background-color: #0f0; */
  }

  .c-flex__grow {
    flex-grow: 1;
  }
}
.c-flex--inline {
  display: inline-flex;
}
.c-flex--column {
  flex-direction: column;
}
@media (width >= 768px) {
  .md\:c-flex--row {
    flex-direction: row;
  }
  .md\:c-flex--row-reverse {
    flex-direction: row-reverse;
  }
}
.c-flex--wrap {
  flex-wrap: wrap;
}
.c-flex--start {
  justify-content: start;
}
.c-flex--center {
  justify-content: center;
}
.c-flex--end {
  justify-content: end;
}
.c-flex--between {
  justify-content: space-between;
}
@media (width >= 768px) {
  .md\:c-flex--start {
    justify-content: start;
  }
  .md\:c-flex--center {
    justify-content: center;
  }
  .md\:c-flex--end {
    justify-content: end;
  }
  .md\:c-flex--between {
    justify-content: space-between;
  }
}
.c-flex--align-center {
  align-items: center;
}
.c-flex--align-end {
  align-items: end;
}
.c-flex--align-baseline {
  align-items: baseline;
}
.c-flex--g5 {
  gap: calc(5 * 1rem / 16);
  @media (width >= 768px) {
    gap: 5px;
  }
}
.c-flex--g6 {
  gap: calc(6 * 1rem / 16);
  @media (width >= 768px) {
    gap: 6px;
  }
}
.c-flex--g8 {
  gap: calc(8 * 1rem / 16);
  @media (width >= 768px) {
    gap: 8px;
  }
}
.c-flex--g10 {
  gap: calc(10 * 1rem / 16);
  @media (width >= 768px) {
    gap: 10px;
  }
}
.c-flex--g15 {
  gap: calc(15 * 1rem / 16);
  @media (width >= 768px) {
    gap: 15px;
  }
}
.c-flex--g20 {
  gap: calc(20 * 1rem / 16);
  @media (width >= 768px) {
    gap: 20px;
  }
}
.c-flex--g25 {
  gap: calc(25 * 1rem / 16);
  @media (width >= 768px) {
    gap: 25px;
  }
}
.c-flex--g30 {
  gap: calc(30 * 1rem / 16);
  @media (width >= 768px) {
    gap: 30px;
  }
}
.c-flex--g40 {
  gap: calc(40 * 1rem / 16);
  @media (width >= 768px) {
    gap: 40px;
  }
}
.c-flex--rg15 {
  row-gap: calc(15 * 1rem / 16);
  @media (width >= 768px) {
    row-gap: 15px;
  }
}
@media (width >= 768px) {
  .md\:c-flex--g15 {
    gap: 15px;
  }
  .md\:c-flex--g30 {
    gap: 30px;
  }
  .md\:c-flex--g40 {
    gap: 40px;
  }
  .md\:c-flex--g50 {
    gap: 50px;
  }
  .md\:c-flex--g100 {
    gap: 100px;
  }
}
/* -------------------------------------------------- */
.c-grid {
  display: grid;
  column-gap: calc(25 * 1rem / 16);
  row-gap: calc(40 * 1rem / 16);
  margin-inline: auto;
  @media (width >= 768px) {
    gap: 50px;
  }
}
.c-grid--c2 {
  grid-template-columns: repeat(2, 1fr);
}
.c-grid--c3 {
  grid-template-columns: repeat(3, 1fr);
}
@media (width >= 768px) {
  .md\:c-grid--c2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .md\:c-grid--c3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .md\:c-grid--c4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .md\:c-grid--c6 {
    grid-template-columns: repeat(6, 1fr);
  }
  /* .md\:c-grid--fit.md\:c-grid--c2 {
    grid-template-columns: repeat(2, min-content);
  } */
}
.c-grid--g0 {
  gap: unset;
}
.c-grid--g10 {
  gap: calc(10 * 1rem / 16);
  @media (width >= 768px) {
    gap: 10px;
  }
}
.c-grid--g15 {
  gap: calc(15 * 1rem / 16);
  @media (width >= 768px) {
    gap: 15px;
  }
}
.c-grid--g20 {
  gap: calc(20 * 1rem / 16);
  @media (width >= 768px) {
    gap: 20px;
  }
}
.c-grid--g30 {
  gap: calc(30 * 1rem / 16);
  @media (width >= 768px) {
    gap: 30px;
  }
}
.c-grid--rg0 {
  row-gap: unset;
}
.c-grid--rg20 {
  row-gap: calc(20 * 1rem / 16);
  @media (width >= 768px) {
    row-gap: 20px;
  }
}
.c-grid--rg30 {
  row-gap: calc(30 * 1rem / 16);
  @media (width >= 768px) {
    row-gap: 30px;
  }
}
.c-grid--rg-xs {
  row-gap: calc(20 * 1rem / 16);
  @media (width >= 768px) {
    row-gap: 30px;
  }
}
.c-grid--rg-sm {
  row-gap: calc(40 * 1rem / 16);
  @media (width >= 768px) {
    row-gap: 50px;
  }
}
.c-grid--rg-md {
  row-gap: calc(60 * 1rem / 16);
  @media (width >= 768px) {
    row-gap: 80px;
  }
}
@media (width >= 768px) {
  .md\:c-grid--g15 {
    gap: 15px;
  }
  .md\:c-grid--g25 {
    gap: 25px;
  }
  .md\:c-grid--g50 {
    gap: 50px;
  }
  .md\:c-grid--g100 {
    gap: 100px;
  }
  .md\:c-grid--rg0 {
    row-gap: unset;
  }
}
.c-card-grid,
.c-image-grid {
  display: grid;
  grid-template-columns: 1fr;
  column-gap: calc(25 * 1rem / 16);
  row-gap: calc(40 * 1rem / 16);
  margin-block-end: calc(40 * 1rem / 16);
  @media (width >= 768px) {
    column-gap: calc(50 * 1rem / 16);
    row-gap: calc(50 * 1rem / 16);
    margin-block-end: 50px;
  }

  & > * {
    align-self: start;
  }
}
.c-card-grid {
  .c-card-grid__card {
  }

  .c-card-grid__fixed-card {
    .c-image {
      aspect-ratio: 2 / 1;
    }
  }
}
.c-image-grid {
  .c-image-grid__image {
  }

  .c-image-grid__fixed-image {
    .c-image {
      aspect-ratio: 3 / 2;
    }
  }
}
.c-card-grid--c2,
.c-image-grid--c2 {
  grid-template-columns: repeat(2, 1fr);
}
@media (width >= 768px) {
  .md\:c-card-grid--c2,
  .md\:c-image-grid--c2 {
    @media (width >= 768px) {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .md\:c-card-grid--c3,
  .md\:c-image-grid--c3 {
    @media (width >= 768px) {
      grid-template-columns: repeat(3, 1fr);
    }
  }
  .md\:c-card-grid--c4,
  .md\:c-image-grid--c4 {
    @media (width >= 768px) {
      grid-template-columns: repeat(4, 1fr);
    }
  }
}
.c-media-grid {
  display: grid;
  grid-template-columns: 1fr;
  /* row-gap: calc(20 * 1rem / 16); */
  row-gap: calc(30 * 1rem / 16);
  margin-block-end: calc(40 * 1rem / 16);
  @media (width >= 768px) {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 50px;
    row-gap: 50px;
    margin-block-end: 50px;
  }

  & > * {
    align-self: start;
  }

  .c-media-grid__body {
    /* order: 2;
    @media (width >= 768px) {
      order: 1;
    } */

    & > * {
      margin-block-end: calc(30 * 1rem / 16);
      @media (width >= 768px) {
        margin-block-end: 50px;
      }
    }

    .c-heading {
      margin-block-end: calc(20 * 1rem / 16);
      @media (width >= 768px) {
        margin-block-end: 20px;
      }
    }
  }

  .c-media-grid__image {
    /* order: 1;
    @media (width >= 768px) {
      order: 2;
    } */
  }

  .c-media-grid__fixed-image {
    .c-image {
      aspect-ratio: 2 / 1;
    }
  }
}
.c-media-grid--align-center {
  .c-media-grid__body {
    align-self: center;
  }
}
.c-media-grid--border {
  padding-block-start: calc(30 * 1rem / 16);
  border-block-start: 1px solid var(--color--text-black);
  @media (width >= 768px) {
    padding-block-start: 40px;
  }
}
/* .c-media-grid--reverse {
  .c-media-grid__body {
    @media (width >= 768px) {
      order: 1;
    }
  }

  .c-media-grid__image {
    @media (width >= 768px) {
      order: 2;
    }
  }
} */
.c-media-grid--sm-image {
  @media (width >= 768px) {
    /* grid-template-columns: 1fr 366px; */
    grid-template-columns: 366px 1fr;
  }
}
/* .c-media-grid--sm-image.c-media-grid--reverse {
  @media (width >= 768px) {
    grid-template-columns: 366px 1fr;
  }
} */
/* -------------------------------------------------- */
.c-heading {
  margin-block-end: calc(40 * 1rem / 16);
  font-size: calc(30 * 1rem / 16);
  font-weight: 700;
  line-height: 1.5;
  @media (width >= 768px) {
    margin-block-end: 50px;
    font-size: calc(42 * 1rem / 16);
  }
}
.c-heading--l1 {
  /* margin-block-start: calc(40 * 1rem / 16); */
  margin-block-start: calc(35 * 1rem / 16);
  font-size: calc(32 * 1rem / 16);
  @media (width >= 768px) {
    /* margin-block-start: 50px; */
    margin-block-start: 40px;
    font-size: calc(48 * 1rem / 16);
  }
}
.c-heading--l2 {
  margin-block: calc(80 * 1rem / 16) calc(40 * 1rem / 16);
  padding-block-start: calc(20 * 1rem / 16);
  border-block-start: 1px solid var(--color--text-black);
  font-size: calc(20 * 1rem / 16);
  @media (width >= 768px) {
    margin-block: 120px 50px;
    padding-block-start: 20px;
    font-size: calc(28 * 1rem / 16);
  }
}
.c-heading--l3 {
  margin-block: calc(60 * 1rem / 16) calc(20 * 1rem / 16);
  padding-inline: calc(12 * 1rem / 16);
  padding-block: calc(9 * 1rem / 16);
  border-inline-start: calc(3 * 1rem / 16) solid var(--color--red);
  background-color: #f0f0f0;
  font-size: calc(18 * 1rem / 16);
  @media (width >= 768px) {
    margin-block: 80px 30px;
    padding-inline: 21px;
    padding-block: 12px;
    border-width: 5px;
    font-size: calc(21 * 1rem / 16);
  }

  .c-heading__date {
    display: inline-block;
    margin-inline-start: 1em;
    font-size: calc(14 * 1rem / 16);
    font-weight: 500;
    vertical-align: 0.1em;
    @media (width >= 768px) {
      font-size: calc(16 * 1rem / 16);
    }
  }
}
.c-heading--l4 {
  margin-block: calc(40 * 1rem / 16) calc(20 * 1rem / 16);
  padding-inline: calc(12 * 1rem / 16);
  padding-block: calc(2 * 1rem / 16);
  border-inline-start: calc(3 * 1rem / 16) solid var(--color--red);
  font-size: calc(18 * 1rem / 16);
  @media (width >= 768px) {
    margin-block: 50px 30px;
    padding-inline: 16px;
    padding-block: unset;
    border-width: 4px;
    font-size: calc(21 * 1rem / 16);
  }
}
.c-heading--l5 {
  margin-block: calc(40 * 1rem / 16) calc(20 * 1rem / 16);
  font-size: calc(16 * 1rem / 16);
  @media (width >= 768px) {
    margin-block: 50px 30px;
    font-size: calc(19 * 1rem / 16);
  }
}
.c-heading--red {
  color: var(--color--red);
}
/* 必ず<wbr>を指定する */
.c-heading--nobreak {
  word-break: keep-all;
  line-break: strict;
  overflow-wrap: normal;
}
@media (width >= 768px) {
  .md\:c-heading--nobreak {
    word-break: keep-all;
    line-break: strict;
    overflow-wrap: normal;
  }
}
.c-heading-group {
  display: flex;
  flex-flow: column-reverse;
  margin-block: calc(35 * 1rem / 16) calc(40 * 1rem / 16);
  @media (width >= 768px) {
    margin-block: 40px 50px;
  }

  .c-heading {
    margin-block: unset;
  }
}
/* -------------------------------------------------- */
.c-icon {
  flex-shrink: 0;
  display: inline-block;
  inline-size: 1rem;
  block-size: 1rem;
  background-color: var(--color--text-black);
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  transform: rotate(0deg);
  @media (width >= 768px) {
    inline-size: 16px;
    block-size: 16px;
  }
}
.c-icon--red {
  background-color: var(--color--red);
}
.c-icon--white {
  background-color: var(--color--white);
}
.c-icon--gray {
  background-color: var(--color--gray);
}
.c-icon--alert {
  inline-size: calc(24 * 1rem / 16);
  block-size: calc(24 * 1rem / 16);
  mask-image: url("/assets/img/components/icon/icon_alert.svg");
  @media (width >= 768px) {
    inline-size: 24px;
    block-size: 24px;
  }
}
/* .c-icon--arrow_sm,
.c-icon--arrow_md, */
.c-icon--arrow-left_sm,
.c-icon--arrow-left_md,
.c-icon--arrow-right_sm,
.c-icon--arrow-right_md {
  mask-image: url("/assets/img/components/icon/icon_arrow.svg");
}
/* .c-icon--arrow_sm, */
.c-icon--arrow-left_sm,
.c-icon--arrow-right_sm {
  inline-size: calc(12.33 * 1rem / 16);
  block-size: calc(7.55 * 1rem / 16);
  @media (width >= 768px) {
    inline-size: 12.33px;
    block-size: 7.55px;
  }
}
/* .c-icon--arrow_md, */
.c-icon--arrow-left_md,
.c-icon--arrow-right_md {
  inline-size: calc(18 * 1rem / 16);
  block-size: calc(11.02 * 1rem / 16);
  @media (width >= 768px) {
    inline-size: 18px;
    block-size: 11.02px;
  }
}
.c-icon--arrow-right_sm,
.c-icon--arrow-right_md {
  rotate: 180deg;
}
.c-icon--cart {
  inline-size: calc(18 * 1rem / 16);
  block-size: calc(18 * 1rem / 16);
  mask-image: url("/assets/img/components/icon/icon_cart.svg");
  @media (width >= 768px) {
    inline-size: 18px;
    block-size: 18px;
  }
}
.c-icon--check {
  inline-size: calc(24 * 1rem / 16);
  block-size: calc(24 * 1rem / 16);
  mask-image: url("/assets/img/components/icon/icon_check.svg");
  @media (width >= 768px) {
    inline-size: 24px;
    block-size: 24px;
  }
}
.c-icon--checkbox {
  inline-size: calc(20 * 1rem / 16);
  block-size: calc(20 * 1rem / 16);
  background-color: var(--color--border-gray);
  mask-image: url("/assets/img/components/icon/icon_checkbox.svg");
  @media (width >= 768px) {
    inline-size: 20px;
    block-size: 20px;
  }
}
[aria-pressed="true"] .c-icon--checkbox {
  background-color: var(--color--white);
  mask-image: url("/assets/img/components/icon/icon_checkbox_checked.svg");
}
.c-icon--chevron-top,
.c-icon--chevron-bottom {
  inline-size: calc(14 * 1rem / 16);
  block-size: calc(8.75 * 1rem / 16);
  mask-image: url("/assets/img/components/icon/icon_chevron.svg");
  @media (width >= 768px) {
    inline-size: 14px;
    block-size: 8.75px;
  }
}
.c-icon--chevron-bottom {
  rotate: 180deg;
}
.c-icon--circle {
  inline-size: calc(12 * 1rem / 16);
  block-size: calc(12 * 1rem / 16);
  mask-image: url("/assets/img/components/icon/icon_circle.svg");
  @media (width >= 768px) {
    inline-size: 12px;
    block-size: 12px;
  }
}
.c-icon--close {
  mask-image: url("/assets/img/components/icon/icon_close.svg");
}
.c-icon--cart {
  inline-size: calc(18 * 1rem / 16);
  block-size: calc(18 * 1rem / 16);
  mask-image: url("/assets/img/components/icon/icon_cart.svg");
  @media (width >= 768px) {
    inline-size: 18px;
    block-size: 18px;
  }
}
.c-icon--company {
  inline-size: calc(32 * 1rem / 16);
  block-size: calc(32 * 1rem / 16);
  mask-image: url("/assets/img/components/icon/icon_company.svg");
  @media (width >= 768px) {
    inline-size: 42.6px;
    block-size: 42.6px;
  }
}
.c-icon--download {
  inline-size: calc(20 * 1rem / 16);
  block-size: calc(16 * 1rem / 16);
  mask-image: url("/assets/img/components/icon/icon_download.svg");
  @media (width >= 768px) {
    inline-size: 20px;
    block-size: 16px;
  }
}
.c-icon--earth {
  inline-size: calc(18 * 1rem / 16);
  block-size: calc(18 * 1rem / 16);
  mask-image: url("/assets/img/components/icon/icon_earth.svg");
  @media (width >= 768px) {
    inline-size: 18px;
    block-size: 18px;
  }
}
.c-icon--face {
  inline-size: calc(18 * 1rem / 16);
  block-size: calc(18 * 1rem / 16);
  mask-image: url("/assets/img/components/icon/icon_face.svg");
  @media (width >= 768px) {
    inline-size: 18px;
    block-size: 18px;
  }
}
.c-icon--foods {
  inline-size: calc(42 * 1rem / 16);
  block-size: calc(39.9 * 1rem / 16);
  mask-image: url("/assets/img/components/icon/icon_foods.svg");
  @media (width >= 768px) {
    inline-size: 54px;
    block-size: 51.3px;
  }
}
.about.index .c-icon--foods {
}
.c-icon--ir {
  inline-size: calc(40 * 1rem / 16);
  block-size: calc(28.67 * 1rem / 16);
  mask-image: url("/assets/img/components/icon/icon_ir.svg");
  @media (width >= 768px) {
    inline-size: 53.3px;
    block-size: 38.2px;
  }
}
.c-icon--loupe {
  inline-size: calc(18 * 1rem / 16);
  block-size: calc(18 * 1rem / 16);
  mask-image: url("/assets/img/components/icon/icon_loupe.svg");
  @media (width >= 768px) {
    inline-size: 18px;
    block-size: 18px;
  }
}
.c-icon--mail {
  inline-size: calc(18 * 1rem / 16);
  block-size: calc(14.4 * 1rem / 16);
  mask-image: url("/assets/img/components/icon/icon_mail.svg");
  @media (width >= 768px) {
    inline-size: 18px;
    block-size: 14.4px;
  }
}
.c-button .c-icon--mail {
  inline-size: calc(20 * 1rem / 16);
  block-size: calc(16 * 1rem / 16);
  @media (width >= 768px) {
    inline-size: 20px;
    block-size: 16px;
  }
}
.c-icon--menu {
  inline-size: calc(18 * 1rem / 16);
  block-size: calc(12.26 * 1rem / 16);
  mask-image: url("/assets/img/components/icon/icon_menu.svg");
  @media (width >= 768px) {
    inline-size: 18px;
    block-size: 12.26px;
  }
}
.c-icon--minus {
  inline-size: calc(24 * 1rem / 16);
  block-size: calc(24 * 1rem / 16);
  mask-image: url("/assets/img/components/icon/icon_minus.svg");
  @media (width >= 768px) {
    inline-size: 24px;
    block-size: 24px;
  }
}
.c-icon--new {
  display: flex;
  justify-content: center;
  align-items: center;
  inline-size: calc(46 * 1rem / 16);
  block-size: calc(24 * 1rem / 16);
  border-radius: calc(4 * 1rem / 16);
  background-color: var(--color--light-red);
  mask-image: unset;

  @media (width >= 768px) {
    inline-size: 46px;
    block-size: 24px;
  }
}
/* .c-icon--new::before {
  content: "NEW";
  color: var(--color--white);
  font-size: calc(12 * 1rem / 16);
  font-weight: 700;
} */
.c-icon--pause {
  inline-size: calc(8.57 * 1rem / 16);
  block-size: calc(10 * 1rem / 16);
  mask-image: url("/assets/img/components/icon/icon_pause.svg");
  @media (width >= 768px) {
    inline-size: 8.57px;
    block-size: 10px;
  }
}
.c-icon--play {
  inline-size: calc(7.86 * 1rem / 16);
  block-size: calc(10 * 1rem / 16);
  mask-image: url("/assets/img/components/icon/icon_play.svg");
  @media (width >= 768px) {
    inline-size: 7.86px;
    block-size: 10px;
  }
}
.c-icon--plus {
  inline-size: calc(24 * 1rem / 16);
  block-size: calc(24 * 1rem / 16);
  mask-image: url("/assets/img/components/icon/icon_plus.svg");
  @media (width >= 768px) {
    inline-size: 24px;
    block-size: 24px;
  }
}
.c-icon--refrigerator {
  inline-size: calc(42 * 1rem / 16);
  block-size: calc(39.4 * 1rem / 16);
  mask-image: url("/assets/img/components/icon/icon_refrigerator.svg");
  @media (width >= 768px) {
    inline-size: 54.7px;
    block-size: 51.31px;
  }
}
.c-icon--sustainability {
  inline-size: calc(39 * 1rem / 16);
  block-size: calc(38.13 * 1rem / 16);
  mask-image: url("/assets/img/components/icon/icon_sustainability.svg");
  @media (width >= 768px) {
    inline-size: 51.9px;
    block-size: 50.75px;
  }
}
.c-icon--swipe {
  inline-size: calc(24 * 1rem / 16);
  block-size: calc(25.62 * 1rem / 16);
  background-color: unset;
  background-image: url("/assets/img/components/icon/icon_swipe.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  mask-image: unset;
  @media (width >= 768px) {
    inline-size: 24px;
    block-size: 25.62px;
  }
}
.c-icon--window {
  inline-size: calc(18.03 * 1rem / 16);
  block-size: calc(16.23 * 1rem / 16);
  mask-image: url("/assets/img/components/icon/icon_window.svg");
  @media (width >= 768px) {
    inline-size: 18.03px;
    block-size: 16.23px;
  }
}
.c-circle-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  inline-size: 1rem;
  aspect-ratio: 1;
  border: calc(2 * 1rem / 16) solid var(--color--text-black);
  border-radius: 9999px;
  background-color: var(--color--text-black);
  @media (width >= 768px) {
    inline-size: 16px;
    border-width: 2px;
  }

  .c-circle-icon__label {
  }
}
/* .c-circle-icon:has(.c-icon--arrow-left_sm),
.c-circle-icon:has(.c-icon--arrow-right_sm) {
  inline-size: calc(40 * 1rem / 16);
  @media (width >= 768px) {
    inline-size: 40px;
  }
} */
/* .c-circle-icon:has(.c-icon--arrow-left_md),
.c-circle-icon:has(.c-icon--arrow-right_md) {
  inline-size: calc(60 * 1rem / 16);
  @media (width >= 768px) {
    inline-size: 60px;
  }
} */
.c-circle-icon--page-link {
  inline-size: calc(60 * 1rem / 16);
  border-color: var(--color--red);
  background-color: var(--color--red);
  @media (width >= 768px) {
    inline-size: 60px;
  }
}
.c-circle-icon--page-archive {
  inline-size: calc(40 * 1rem / 16);
  border: 1px solid var(--color--border-gray);
  background-color: var(--color--white);
  @media (width >= 768px) {
    inline-size: 60px;
  }
}
.c-link[aria-current="page"] .c-circle-icon--page-archive {
  border-color: var(--hover--border-color);
  background-color: var(--hover--background-color);

  .c-link__label {
    color: var(--color--white);
  }
}
.c-circle-icon--w40 {
  inline-size: calc(40 * 1rem / 16);
  @media (width >= 768px) {
    inline-size: 40px;
  }
}
.c-circle-icon--w44 {
  inline-size: calc(44 * 1rem / 16);
  @media (width >= 768px) {
    inline-size: 44px;
  }
}
.c-circle-icon--w60 {
  inline-size: calc(60 * 1rem / 16);
  @media (width >= 768px) {
    inline-size: 60px;
  }
}
@media (width >= 768px) {
  .md\:c-circle-icon--w60 {
    @media (width >= 768px) {
      inline-size: 60px;
    }
  }
}
.c-circle-icon--red {
  border-color: var(--color--red);
  background-color: var(--color--red);
}
@media (hover: hover) {
  .c-icon,
  .c-circle-icon {
    opacity: 1;
    transition:
      border-color 0.2s ease 0s,
      background-color 0.2s ease 0s,
      opacity 0.2s ease 0s;
  }

  .c-button:not(.c-button--text-block):hover {
    .c-icon--arrow-left_md,
    .c-icon--checkbox,
    .c-icon--chevron-bottom,
    .c-icon--download,
    .c-icon--window {
      background-color: var(--color--white);
    }
  }

  .c-icon-link:not(:has(.c-circle-icon)):hover {
    .c-icon {
      background-color: var(--hover--background-color);
    }
  }

  .c-link:hover,
  .c-icon-link:hover {
    .c-circle-icon--page-link {
      border-color: var(--hover--border-color);
      background-color: transparent;

      .c-icon {
        background-color: var(--hover--background-color);
      }
    }

    .c-circle-icon--page-archive {
      border-color: var(--hover--border-color);
      background-color: var(--hover--background-color);

      .c-link__label {
        color: var(--color--white);
      }

      .c-icon {
        background-color: var(--color--white);
      }
    }

    /* .hover\:c-circle-icon--invert {
      border-color: var(--hover--border-color);
      background-color: transparent;

      &.c-circle-icon--red .c-icon {
        background-color: var(--hover--background-color);
      }
    } */
  }
}
/* -------------------------------------------------- */
.c-figure {
  inline-size: 100%;

  .c-image {
    inline-size: inherit;
  }
}
.c-figure--w500 {
  @media (width >= 768px) {
    max-inline-size: 500px;
  }
}
.c-image {
  max-inline-size: unset;
  block-size: auto;
}
.c-image--fluid,
.c-image--w450,
.c-image--w500,
.c-image--w575,
.c-image--w735,
.c-image--w780,
.c-image--w800,
.c-image--w825,
.c-image--w880,
.c-image--w1000,
.c-image--w1130 {
  inline-size: 100%;
  object-fit: cover;
}
.c-image--w450 {
  @media (width >= 768px) {
    max-inline-size: 450px;
  }
}
.c-image--w500 {
  @media (width >= 768px) {
    max-inline-size: 500px;
  }
}
.c-image--w575 {
  @media (width >= 768px) {
    max-inline-size: 575px;
  }
}
.c-image--w735 {
  @media (width >= 768px) {
    max-inline-size: 735px;
  }
}
.c-image--w780 {
  @media (width >= 768px) {
    max-inline-size: 780px;
  }
}
.c-image--w800 {
  @media (width >= 768px) {
    max-inline-size: 800px;
  }
}
.c-image--w825 {
  @media (width >= 768px) {
    max-inline-size: 825px;
  }
}
.c-image--w880 {
  @media (width >= 768px) {
    max-inline-size: 880px;
  }
}
.c-image--w1000 {
  @media (width >= 768px) {
    max-inline-size: 1000px;
  }
}
.c-image--w1130 {
  @media (width >= 768px) {
    max-inline-size: 1130px;
  }
}
.c-image--border {
  border: 1px solid var(--color--border-gray);
}
.c-image--r8 {
  border-radius: calc(var(--border-radius--image) * 1rem / 16);
  @media (width >= 768px) {
    border-radius: calc(var(--border-radius--image) * 1px);
  }
}
.c-hero-image {
  position: relative;
  margin-block-end: calc(80 * 1rem / 16);
  padding-inline-start: calc(10 * 1rem / 16);
  padding-block-end: calc(10 * 1rem / 16);
  @media (width >= 768px) {
    margin-block-end: 120px;
    padding-inline-start: 20px;
    padding-block-end: 20px;
  }

  .c-image {
    position: relative;
    z-index: 2;
    /* aspect-ratio: 325 / 230;
    @media (width >= 768px) {
      aspect-ratio: 1180 / 444;
    } */
  }
}
.c-hero-image::before {
  content: "";
  position: absolute;
  inset: auto auto 0 0;
  z-index: 1;
  inline-size: calc(285 * 1rem / 16);
  block-size: calc(190 * 1rem / 16);
  border-radius: calc(var(--border-radius--box) * 1rem / 16);
  background-color: var(--color--red);
}
@media (width >= 768px) {
  .c-hero-image::before {
    inline-size: 575px;
    block-size: 384px;
    border-radius: calc(var(--border-radius--box) * 1px);
  }
}
/* -------------------------------------------------- */
.c-line {
  margin: unset;
  /* margin-block-end: calc(40 * 1rem / 16); */
  margin-block: calc(60 * 1rem / 16);
  border: unset;
  border-block-start: 1px solid var(--color--text-black);
  opacity: 1;
  line-height: 0;
  @media (width >= 768px) {
    /* margin-block-end: 50px; */
    margin-block: 80px;
  }
}
.c-line--white {
  border-color: var(--color--white);
}
.c-line--border-gray {
  /* border-color: 1px solid var(--color--border-gray); */
  border-color: var(--color--border-gray);
}
.c-line--o25 {
  opacity: 0.25;
}
/* -------------------------------------------------- */
.c-link {
  display: inline-block;
  text-decoration: none;

  .c-link__label {
    text-decoration: none;
  }

  .c-link__file-size {
    margin-inline: -0.2em;
    /* vertical-align: 0.1em; */
  }

  .c-link__file-type {
    margin-inline-start: 1em;
    padding-inline: 0.6em;
    padding-block: 0.05em 0.15em;
    border-radius: 9999px;
    background-color: #d53f50;
    /* vertical-align: 0.25em; */
    vertical-align: 0.1em;
  }

  .c-link__file-size + .c-link__file-type {
    margin-inline-start: unset;
  }
}
.c-link--fluid {
  display: block;
}
.c-link--underline:not(:has(.c-link__label)),
.c-link--underline .c-link__label {
  text-decoration: underline;
  text-underline-offset: calc(2 * 1rem / 16);
  @media (width >= 768px) {
    text-underline-offset: 2px;
  }
}
.c-card-link {
  display: inline-block;
  inline-size: 100%;

  .c-card-link__image {
    display: block;
    /* aspect-ratio: 2 / 1; */
    inline-size: 100%;
    block-size: auto;

    /* & > * {
      display: block;
      inline-size: inherit;
      block-size: inherit;
      background-position: center;
      background-size: cover;
      background-repeat: no-repeat;
    } */

    img {
      object-fit: cover;
    }
  }
}
.c-card-link--l1 {
  .c-card-link__image {
    position: relative;
  }

  .c-card-link__label {
    position: absolute;
    inset: auto auto 0 0;
    padding-inline-end: 1.6em;
    padding-block-start: 0.8em;
    border-start-end-radius: calc(var(--border-radius--box) * 1rem / 16);
    background-color: var(--color--white);
    @media (width >= 768px) {
      /* padding-inline-end: 2em; */
      border-start-end-radiuss: calc(var(--border-radius--box) * 1px);
    }
  }

  .c-card-link__text {
    padding-inline-start: calc((18 + 12) * 1rem / 16);
    line-height: 1.8;
    @media (width >= 768px) {
      border-start-end-radiuss: calc((18 + 12) * 1px);
    }
  }
}
.c-card-link--l2 {
}
.c-card-link--l3 {
}
.c-card-link--border {
  .c-card-link__image {
    border: 1px solid var(--color--border-gray);
  }
}
.c-card-link--r8 {
  .c-card-link__image {
    border-radius: calc(var(--border-radius--image) * 1rem / 16);
    overflow: hidden;
    @media (width >= 768px) {
      border-radius: calc(var(--border-radius--image) * 1px);
    }
  }
}
.c-card-link--l1.c-card-link--r8 {
  .c-card-link__image {
    border-end-start-radius: unset;
  }
}
.c-icon-link {
  /* display: inline-flex; */
  display: flex;
  align-items: center;
  inline-size: fit-content;
  /* background-color: #00f; */

  /* & > * {
    line-height: 1;
  } */

  .c-icon-link__label {
    translate: 0 -0.05em;
  }

  .c-icon-link__file-size {
    flex-shrink: 0;
    /* margin-inline: -0.2em; */
  }

  .c-icon-link__file-type {
    flex-shrink: 0;
    padding-inline: 0.6em;
    padding-block: 0.05em 0.15em;
    border-radius: 9999px;
    background-color: #d53f50;
    vertical-align: 0.1em;
  }

  .c-icon {
    flex-shrink: 0;
  }
}
.c-icon-link--align-start {
  /* display: flex; */
  align-items: start;

  .c-icon--arrow-left_md,
  .c-icon--arrow-right_md {
    translate: 0 calc(0.5lh - (11.02 / 2 * 1rem / 16));
    @media (width >= 768px) {
      translate: 0 calc(0.5lh - (11.02 / 2 * 1px));
    }
  }
}
.c-icon-link--fluid {
  /* display: flex; */
  inline-size: auto;

  .c-icon-link__label {
    flex-grow: 1;
  }
}
.c-icon-link--g6 {
  gap: calc(6 * 1rem / 16);
  @media (width >= 768px) {
    gap: 6px;
  }
}
.c-icon-link--g8 {
  gap: calc(8 * 1rem / 16);
  @media (width >= 768px) {
    gap: 8px;
  }
}
.c-icon-link--g12 {
  gap: calc(12 * 1rem / 16);
  @media (width >= 768px) {
    gap: 12px;
  }
}
.c-icon-link--g15 {
  gap: calc(15 * 1rem / 16);
  @media (width >= 768px) {
    gap: 15px;
  }
}
.c-icon-link--g20 {
  gap: calc(20 * 1rem / 16);
  @media (width >= 768px) {
    gap: 20px;
  }
}
@media (width >= 768px) {
  .md\:c-icon-link--g20 {
    gap: 20px;
  }
}
.c-icon-link--white {
  color: var(--color--white);
}
.c-icon-link--underline {
  text-decoration: underline;
  text-underline-offset: calc(10 * 1rem / 16);
}
@media (hover: hover) {
  .c-link:not(:has(.c-link__label)),
  .c-link .c-link__label,
  .c-icon-link {
    opacity: 1;
    transition:
      opacity 0.2s ease 0s,
      color 0.2s ease 0s;
  }

  .c-link:not(:has(.c-link__label)):hover,
  .c-link:hover .c-link__label,
  .c-link:hover .c-icon-link,
  .c-card-link:hover .c-icon-link,
  .c-icon-link:hover {
    opacity: 1;
    color: var(--hover--color);
  }

  .c-card-link {
    .c-card-link__image {
      img {
        scale: 1;
        transition: scale 0.4s ease 0s;
      }
    }
  }

  .c-card-link:hover {
    .c-card-link__image {
      img {
        scale: 1.07;
      }
    }
  }
}
/* -------------------------------------------------- */
/* .c-list {
  display: flex;
  flex-flow: column;

  & > * {
    line-height: 1;
  }
}

.c-list--g20 {
  gap: calc(20 * 1rem / 16);
} */
.c-data-list {
  margin-block-end: calc(40 * 1rem / 16);
  border-block-end: 1px solid var(--color--border-gray);
  @media (width >= 768px) {
    margin-block-end: 50px;
  }

  .c-data-list__row {
    display: grid;
    grid-template-columns: 1fr;
    padding-block-end: calc(15 * 1rem / 16);
    border-block-start: 1px solid var(--color--border-gray);
    @media (width >= 768px) {
      grid-template-columns: 270px 1fr;
      column-gap: 40px;
      padding-inline: 40px;
      padding-block: 30px;
    }
  }

  .c-data-list__title {
    padding-block: calc(15 * 1rem / 16);
    @media (width >= 768px) {
      padding-block: unset;
      translate: 0 -0.05em;
    }
  }

  .c-data-list__data {
    padding-block: calc(15 * 1rem / 16);
    /* letter-spacing: 0.0625em; */
    @media (width >= 768px) {
      padding-block: unset;
    }
  }
}
.c-data-list--form,
.c-data-list--confirm {
  .c-data-list__row {
    @media (width >= 768px) {
      grid-template-columns: 360px 1fr;
      column-gap: 30px;
    }
  }

  .c-data-list__title {
    /* padding-block-start: calc(12 * 1rem / 16); */
    @media (width >= 768px) {
      padding-block-start: 7px;
    }
  }

  .c-data-list__data {
    /* padding-block-start: calc(14 * 1rem / 16); */
    @media (width >= 768px) {
      padding-block-start: 9px;
    }
  }

  .c-data-list__row:has(input[type="email"], input[type="tel"], input[type="text"], select, textarea) {
    .c-data-list__data {
      padding-block-start: unset;
    }
  }

  .c-data-list__row:has(input[type="checkbox"], input[type="radio"]) {
    .c-data-list__data {
      padding-inline-start: 0.5em;
      @media (width >= 768px) {
        padding-inline: unset;
      }
    }
  }
}
.c-data-list--confirm {
  /* .c-data-list__row {
    @media (width >= 768px) {
      grid-template-columns: auto 1fr;
    }
  } */

  /* .c-data-list__title {
    @media (width >= 768px) {
      padding-block-start: 7px;
    }
  } */

  .c-data-list__data {
    @media (width >= 768px) {
      padding-block-start: 5.5px;
    }
  }
}
.c-link-list {
  display: grid;
  grid-template-columns: 1fr;
  align-content: baseline;
  margin-block-end: calc(40 * 1rem / 16);
  @media (width >= 768px) {
    margin-block-end: 50px;
  }
}
@media (width >= 768px) {
  .md\:c-link-list--column {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 50px !important;
  }
}
.c-link-list--border {
  & > li {
    border-block-end: 1px solid var(--color--border-gray);
  }

  .c-link,
  .c-icon-link {
    min-block-size: calc(54 * 1rem / 16);
    @media (width >= 768px) {
      min-block-size: 68px;
    }
  }

  .c-link {
    display: flex;
    align-items: center;
  }

  .c-icon-link:has(.c-icon--arrow_md) {
    padding-inline-end: calc(8 * 1rem / 16);
    @media (width >= 768px) {
      padding-inline-end: 8px;
    }
  }
}
.c-link-list--g12 {
  gap: calc(12 * 1rem / 16);
  @media (width >= 768px) {
    gap: 12px;
  }
}
.c-link-list--g15 {
  gap: calc(15 * 1rem / 16);
  @media (width >= 768px) {
    gap: 15px;
  }
}
.c-news-list {
  /* display: flex;
  flex-flow: column; */
  display: grid;
  grid-template-columns: 1fr;
  margin-block-end: calc(40 * 1rem / 16);
  @media (width >= 768px) {
    margin-block-end: 50px;
  }

  & > li {
    padding-block: calc(20 * 1rem / 16);
    border-block-end: 1px solid var(--color--border-gray);
    line-height: 1.7;
  }

  .c-news-list__tag {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-inline-size: calc(130 * 1rem / 16);
    /* block-size: calc(25 * 1rem / 16); */
    padding-inline: 1em;
    border-radius: calc(4 * 1rem / 16);
    background-color: var(--color--text-black);
    @media (width >= 768px) {
      min-inline-size: 130px;
      block-size: 25px;
      border-radius: 4px;
    }
  }

  /* .c-news-list__file-size {
    margin-inline: -0.2em;
    vertical-align: 0.1em;
  } */

  /* .c-news-list__file-type {
    padding-inline: 0.6em;
    padding-block: 0.05em 0.15em;
    border-radius: 9999px;
    background-color: #d53f50;
    vertical-align: 0.25em;
  } */
}
.c-text-list {
  display: grid;
  grid-template-columns: 1fr;
  margin-block-end: calc(40 * 1rem / 16);
  /* letter-spacing: 0.0625em; */
  @media (width >= 768px) {
    margin-block-end: 50px;
  }

  & > li {
    padding-inline-start: 1em;
    text-indent: -1em;
  }

  & > li::before {
    content: "・";
  }
}
.c-text-list--circle {
  gap: 0.5em;

  & > li {
    padding-inline-start: 1lh;
    text-indent: -1lh;
  }

  & > li::before {
    content: "";
    display: inline-block;
    inline-size: 1lh;
    block-size: 1lh;
    background-color: var(--color--text-black);
    mask-image: url("/assets/img/components/icon/icon_circle.svg");
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: calc(8 * 1rem / 16) calc(8 * 1rem / 16);
    vertical-align: middle;
    translate: 0 -0.1em;
  }
}
.c-text-list--ordered {
  gap: 0.5em;
  padding-inline-start: 2em;
  list-style-type: decimal;

  & > li {
    padding-inline-start: revert;
    text-indent: revert;
  }

  & > li::before {
    content: revert;
  }
}
.c-text-list--g0 {
  gap: 0;
}
/* -------------------------------------------------- */
.c-anchor-nav {
  margin-block-end: calc(40 * 1rem / 16);
  @media (width >= 768px) {
    margin-block-end: 50px;
  }

  ul {
    display: grid;
    grid-template-columns: 1fr;
    @media (width >= 768px) {
      /* grid-template-columns: repeat(3, 1fr); */
      gap: 50px;
    }
  }

  li {
    margin-block-start: -1px;
    @media (width >= 768px) {
      margin-block-start: revert;
    }
  }

  .c-button {
    padding-block: calc(11 * 1rem / 16);
    border-radius: unset;
    @media (width >= 768px) {
      padding-block: 10.5px;
      border-radius: calc(var(--border-radius--button) * 1px);
    }
  }

  li:first-child .c-button {
    border-start-start-radius: calc(var(--border-radius--button) * 1rem / 16);
    border-start-end-radius: calc(var(--border-radius--button) * 1rem / 16);
  }

  li:last-child .c-button {
    border-end-start-radius: calc(var(--border-radius--button) * 1rem / 16);
    border-end-end-radius: calc(var(--border-radius--button) * 1rem / 16);
  }
}
@media (width >= 768px) {
  .md\:c-anchor-nav--c2 {
    ul {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .md\:c-anchor-nav--c3 {
    ul {
      grid-template-columns: repeat(3, 1fr);
    }
  }
  .md\:c-anchor-nav--c4 {
    ul {
      grid-template-columns: repeat(4, 1fr);
    }
  }
  .md\:c-anchor-nav--g25 {
    ul {
      gap: 25px;
    }
  }
}
.c-page-archive-nav {
  .c-page-archive-nav__container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(12 * 1rem / 16);
    @media (width >= 768px) {
      gap: 20px;
    }
  }

  .c-page-archive-nav__ellipsis {
    font-size: calc(10 * 1rem / 16);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.2em;
    white-space: nowrap;
    cursor: cursor;
    user-select: none;
    @media (width >= 768px) {
      font-size: 16px;
    }
  }
}
/* -------------------------------------------------- */
.c-panel {
  border-radius: calc(8 * 1rem / 16);
  background-color: var(--color--greige);
  overflow: hidden;
  @media (width >= 768px) {
    border-radius: 8px;
  }

  .c-panel__title {
    inline-size: 100%;
    padding-inline: calc(20 * 1rem / 16);
    padding-block: calc(10 * 1rem / 16);
    background-color: var(--color--gray);
    @media (width >= 768px) {
      padding-inline: 30px;
      padding-block: 15px;
    }
  }

  .c-panel__body {
    padding-inline: calc(20 * 1rem / 16);
    padding-block: calc(30 * 1rem / 16);
    @media (width >= 768px) {
      padding-inline: 30px;
      padding-block: 40px;
    }
  }
}
/* -------------------------------------------------- */
.c-table {
  inline-size: 100%;
  margin-block-end: calc(40 * 1rem / 16);
  border-block-end: 1px solid var(--color--border-gray);
  @media (width >= 768px) {
    margin-block-end: 50px;
  }

  colgroup {
    col {
    }
  }

  thead,
  tbody {
    tr + tr {
      th,
      td {
        border-block-start-width: 1px;
      }
    }

    th,
    td {
      padding-inline: calc(20 * 1rem / 16);
      padding-block: calc(15 * 1rem / 16);
      border: 0 solid var(--color--border-gray);
      /* line-height: inherit; */
      @media (width >= 768px) {
        padding-inline: 20px;
        padding-block: 15px;
      }
    }

    th {
      font-size: calc(16 * 1rem / 16);
      font-weight: 700;
      text-align: center;
      @media (width >= 768px) {
        font-size: calc(18 * 1rem / 16);
      }
    }

    td {
      font-size: calc(15 * 1rem / 16);
      font-weight: 400;
      @media (width >= 768px) {
        font-size: calc(17 * 1rem / 16);
      }
    }

    th + th,
    td + td {
      border-inline-start-width: 1px;
    }
  }

  thead {
    tr {
    }

    th {
      /* padding-block: calc(20 * 1rem / 16); */
      background-color: #666;
      color: var(--color--white);
    }
  }

  tbody {
    /* tr:last-of-type {
      th,
      td {
        border-block-end-width: 1px;
      }
    } */

    th,
    td {
      /* padding-block: calc(15 * 1rem / 16); */
    }

    th {
      background-color: var(--color--greige);
    }

    td {
    }
  }

  /* .c-table__nobreak-cell {
    white-space: nowrap;
  } */
}
.c-table:not(:has(thead)) {
  tbody {
    th,
    td {
      border-block-start-width: 1px;
    }
  }
}
.c-table--striped {
  tbody {
    tr:nth-of-type(odd) {
      background-color: var(--color--light-warm-gray);
    }
  }
}
.c-financial-table {
  --color--table-red: #e60113;
  --color--table-light-red: #feede5;

  inline-size: calc(1200 * 1rem / 16);
  margin-block-end: calc(40 * 1rem / 16);
  @media (width >= 768px) {
    inline-size: 100%;
    margin-block-end: 50px;
  }

  colgroup {
    col:nth-of-type(2) {
      background-color: var(--color--table-light-red);
    }
  }

  thead {
    tr {
      background-color: var(--color--table-red);
    }

    th {
      padding-inline: 0.5em;
      padding-block: 0.25em;
      border-inline-start: 1px solid var(--color--white);
      color: var(--color--white);
      font-size: calc(11 * 1rem / 16);
      @media (width >= 768px) {
        font-size: 11px;
      }
    }

    th {
      font-weight: 700;
      text-align: center;
    }

    th:not([scope]) {
      font-weight: 400;
      text-align: left;
    }

    th:empty {
      inline-size: 6em;
    }
  }

  tbody {
    tr:last-child {
      th,
      td {
        border-block-end: 1px solid var(--color--table-red);
      }
    }

    th,
    td {
      padding-inline: 0.5em;
      padding-block: 0.25em;
      /* border-block-start: 1px solid var(--color--text-black); */
      border-block-start: 1px solid var(--color--gray);
      font-size: calc(11 * 1rem / 16);
      font-weight: 400;
      @media (width >= 768px) {
        font-size: 11px;
      }
    }

    th {
      padding-inline-start: 1.5em;
      padding-block: 0.25em;
    }

    th[colspan] {
      padding-inline-start: 0.5em;
      padding-block: 0.5em 0.25em;
      border-block: 1px solid var(--color--table-red);
      color: var(--color--gray);
      font-size: calc(12 * 1rem / 16);
      font-weight: 700;
      @media (width >= 768px) {
        font-size: 12px;
      }
    }

    td {
      padding-inline: 0.5em;
      padding-block: 0.25em;
      text-align: right;
    }

    td:nth-of-type(1) {
      font-weight: 700;
    }
  }
}
/* -------------------------------------------------- */
.c-text {
  font-size: 1rem;
  font-style: normal;
  /* font-weight: inherit; */
  /* line-height: inherit; */
  letter-spacing: inherit;

  mark {
    text-decoration: underline;
    text-underline-offset: calc(2 * 1rem / 16);
    @media (width >= 768px) {
      text-underline-offset: 2px;
    }
  }
}
.c-text--asterisk {
  padding-inline-start: 1em;
  text-indent: -1em;
}
.c-text--asterisk::before {
  content: "※";
}
.c-text--intro,
.c-text--body,
.c-text--note {
  a:not(.c-link, .c-icon-link) {
    color: var(--color--link-blue);
    text-decoration: underline;
    text-underline-offset: calc(2 * 1rem / 16);
    @media (width >= 768px) {
      text-underline-offset: 2px;
    }
  }
  a[target="_blank"]:not(.c-link, .c-icon-link)::after {
    content: "";
    display: inline-block;
    inline-size: calc(18.03 * 1rem / 16);
    block-size: calc(16.23 * 1rem / 16);
    /* margin-inline: 0.5em 0.2em; */
    margin-inline: 0.4em 0.4em;
    background-color: var(--color--red);
    mask-image: url("/assets/img/components/icon/icon_window.svg");
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
    translate: 0 0.2em;
  }
  @media (width >= 768px) {
    a[target="_blank"]:not(.c-link, .c-icon-link)::after {
      inline-size: 18.03px;
      block-size: 16.23px;
      translate: 0 0.1em;
    }
  }
}
.c-text--intro {
  font-size: calc(17 * 1rem / 16);
  font-weight: 500;
  line-height: 1.8;
  @media (width >= 768px) {
    font-size: calc(20 * 1rem / 16);
  }
}
p.c-text--intro {
  margin-block-end: calc(40 * 1rem / 16);
  /* line-height: 1.8; */
  @media (width >= 768px) {
    margin-block-end: 50px;
  }
}
.c-text--body {
  font-size: calc(15 * 1rem / 16);
  font-weight: 400;
  line-height: 1.8;
  @media (width >= 768px) {
    font-size: calc(17 * 1rem / 16);
  }
}
p.c-text--body {
  margin-block-end: calc(40 * 1rem / 16);
  /* line-height: 1.8; */
  @media (width >= 768px) {
    margin-block-end: 50px;
  }
}
/* dl.c-text--body,
ol.c-text--body,
ul.c-text--body {
  line-height: 1.5;
} */
.c-text--note {
  color: var(--color--gray);
  font-size: calc(13 * 1rem / 16);
  font-weight: 400;
  line-height: 1.8;
  @media (width >= 768px) {
    font-size: calc(15 * 1rem / 16);
  }
}
p.c-text--note {
  margin-block-end: calc(40 * 1rem / 16);
  /* line-height: 1.8; */
  @media (width >= 768px) {
    margin-block-end: 50px;
  }
}
.c-text--error {
  color: var(--color--light-red);
  font-size: calc(13 * 1rem / 16);
  font-weight: 400;
  line-height: 2;
  @media (width >= 768px) {
    font-size: calc(15 * 1rem / 16);
  }
}
p.c-text--error {
  margin-block-start: 1em;
}
.c-text--red {
  color: var(--color--red);
}
.c-text--link-blue {
  color: var(--color--link-blue);
}
.c-text--white {
  color: var(--color--white);
}
.c-text--gray {
  color: var(--color--gray);
}
.c-text--text-black {
  color: var(--color--text-black);
}
@media (width >= 768px) {
  .md\:c-text--gray {
    color: var(--color--gray);
  }
}
.c-text--serif {
  font-family: var(--font-family--serif);
  font-style: normal;
  font-weight: 800;
  /* font-optical-sizing: auto; */
  font-optical-sizing: none;
}
.c-text--number {
  font-family: var(--font-family--number);
  font-weight: 700;
  font-style: normal;
  /* font-optical-sizing: auto; */
  font-optical-sizing: none;
  letter-spacing: -0.02em;
}
.c-text--s9 {
  font-size: calc(9 * 1rem / 16);
}
.c-text--s11 {
  font-size: calc(11 * 1rem / 16);
}
.c-text--s12 {
  font-size: calc(12 * 1rem / 16);
}
.c-text--s13 {
  font-size: calc(13 * 1rem / 16);
}
.c-text--s14 {
  font-size: calc(14 * 1rem / 16);
}
.c-text--s15 {
  font-size: calc(15 * 1rem / 16);
}
.c-text--s16 {
  font-size: calc(16 * 1rem / 16);
}
.c-text--s17 {
  font-size: calc(17 * 1rem / 16);
}
.c-text--s18 {
  font-size: calc(18 * 1rem / 16);
}
.c-text--s19 {
  font-size: calc(19 * 1rem / 16);
}
.c-text--s20 {
  font-size: calc(20 * 1rem / 16);
}
.c-text--s21 {
  font-size: calc(21 * 1rem / 16);
}
.c-text--s22 {
  font-size: calc(22 * 1rem / 16);
}
.c-text--s24 {
  font-size: calc(24 * 1rem / 16);
}
.c-text--s25 {
  font-size: calc(25 * 1rem / 16);
}
.c-text--s26 {
  font-size: calc(26 * 1rem / 16);
}
.c-text--s27 {
  font-size: calc(27 * 1rem / 16);
}
.c-text--s28 {
  font-size: calc(28 * 1rem / 16);
}
.c-text--s30 {
  font-size: calc(30 * 1rem / 16);
}
.c-text--s32 {
  font-size: calc(32 * 1rem / 16);
}
.c-text--s38 {
  font-size: calc(38 * 1rem / 16);
}
.c-text--s42 {
  font-size: calc(42 * 1rem / 16);
}
.c-text--s45 {
  font-size: calc(45 * 1rem / 16);
}
.c-text--s46 {
  font-size: calc(46 * 1rem / 16);
}
.c-text--s50 {
  font-size: calc(50 * 1rem / 16);
}
.c-text--s54 {
  font-size: calc(54 * 1rem / 16);
}
.c-text--s60 {
  font-size: calc(60 * 1rem / 16);
}
@media (width >= 768px) {
  .md\:c-text--s13 {
    font-size: calc(13 * 1rem / 16);
  }
  .md\:c-text--s14 {
    font-size: calc(14 * 1rem / 16);
  }
  .md\:c-text--s15 {
    font-size: calc(15 * 1rem / 16);
  }
  .md\:c-text--s16 {
    font-size: calc(16 * 1rem / 16);
  }
  .md\:c-text--s17 {
    font-size: calc(17 * 1rem / 16);
  }
  .md\:c-text--s18 {
    font-size: calc(18 * 1rem / 16);
  }
  .md\:c-text--s20 {
    font-size: calc(20 * 1rem / 16);
  }
  .md\:c-text--s21 {
    font-size: calc(21 * 1rem / 16);
  }
  .md\:c-text--s22 {
    font-size: calc(22 * 1rem / 16);
  }
  .md\:c-text--s24 {
    font-size: calc(24 * 1rem / 16);
  }
  .md\:c-text--s28 {
    font-size: calc(28 * 1rem / 16);
  }
  .md\:c-text--s30 {
    font-size: calc(30 * 1rem / 16);
  }
  .md\:c-text--s32 {
    font-size: calc(32 * 1rem / 16);
  }
  .md\:c-text--s34 {
    font-size: calc(34 * 1rem / 16);
  }
  .md\:c-text--s36 {
    font-size: calc(36 * 1rem / 16);
  }
  .md\:c-text--s40 {
    font-size: calc(40 * 1rem / 16);
  }
  .md\:c-text--s42 {
    font-size: calc(42 * 1rem / 16);
  }
  .md\:c-text--s44 {
    font-size: calc(44 * 1rem / 16);
  }
  .md\:c-text--s48 {
    font-size: calc(48 * 1rem / 16);
  }
  .md\:c-text--s50 {
    font-size: calc(50 * 1rem / 16);
  }
  .md\:c-text--s58 {
    font-size: calc(58 * 1rem / 16);
  }
  .md\:c-text--s75 {
    font-size: calc(75 * 1rem / 16);
  }
  .md\:c-text--s80 {
    font-size: calc(80 * 1rem / 16);
  }
  .md\:c-text--s90 {
    font-size: calc(90 * 1rem / 16);
  }
}
.c-text--thin {
  font-weight: 100;
}
.c-text--extra-light {
  font-weight: 200;
}
.c-text--light {
  font-weight: 300;
}
.c-text--regular {
  font-weight: 400;
}
.c-text--medium {
  font-weight: 500;
}
.c-text--semi-bold {
  font-weight: 600;
}
.c-text--bold {
  font-weight: 700;
}
.c-text--extra-bold {
  font-weight: 800;
}
.c-text--black {
  font-weight: 800;
}
@media (width >= 768px) {
  .md\:c-text--bold {
    font-weight: 700;
  }
}
.c-text--lh-none {
  line-height: 1;
}
.c-text--lh-sm {
  line-height: 1.2;
}
.c-text--lh-md {
  line-height: 1.5;
}
.c-text--lh-lg {
  line-height: 1.8;
}
@media (width >= 768px) {
  .md\:c-text--lh-md {
    line-height: 1.5;
  }
}
/* 必ず<wbr>を指定する */
.c-text--nobreak {
  word-break: keep-all;
  line-break: strict;
  overflow-wrap: normal;
}
@media (width >= 768px) {
  .md\:c-text--nobreak {
    word-break: keep-all;
    line-break: strict;
    overflow-wrap: normal;
  }
}
.c-text--lowercase {
  text-transform: lowercase !important;
}
.c-text--uppercase {
  text-transform: uppercase !important;
}
/* .c-text--underline {
  text-decoration: underline;
  text-underline-offset: calc(2 * 1rem / 16);
  @media (width >= 768px) {
    text-underline-offset: 2px;
  }
} */
.c-clamp-text {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.c-clamp-text--2l {
  -webkit-line-clamp: 2;
}
.c-clamp-text--4l {
  -webkit-line-clamp: 4;
}
@media (width >= 768px) {
  .md\:c-clamp-text--1l {
    -webkit-line-clamp: 1;
  }
}
.c-icon-text {
  /* display: inline-flex; */
  display: flex;
  align-items: center;
  inline-size: fit-content;

  & > * {
    /* line-height: 1; */
    /* background-color: #00f; */
  }

  .c-icon-text__label {
    translate: 0 -0.05em;
  }
}
.c-icon-text--fluid {
  /* display: flex; */
  inline-size: 100%;

  .c-icon-text__label {
    flex-grow: 1;
    text-align: left;
  }
}
.c-icon-text--align-start {
  /* display: flex; */
  align-items: start;

  .c-icon--circle {
    /* translate: 0 calc(0.52lh - (12 / 2 * 1rem / 16)); */
    translate: 0 calc(0.5lh - (12 / 2 * 1rem / 16));
    @media (width >= 768px) {
      /* translate: 0 calc(0.52lh - (12 / 2 * 1px)); */
      translate: 0 calc(0.5lh - (12 / 2 * 1px));
    }
  }
}
.c-icon-text--split-right {
  position: relative;
  display: flex;
  justify-content: center;
  inline-size: 100%;

  .c-icon {
    position: absolute;
    inset: auto 0 auto auto;
  }
}
.c-icon-text--split-right:has(.c-icon--arrow-left_md, .c-icon--arrow-right_md) {
  padding-inline: calc((18 + 10) * 1rem / 16);
  @media (width >= 768px) {
    padding-inline: calc(18px + 10px);
  }
}
.c-icon-text--split-right:has(.c-icon--chevron-top, .c-icon--chevron-bottom) {
  padding-inline: calc((14 + 10) * 1rem / 16);
  @media (width >= 768px) {
    padding-inline: calc(14px + 10px);
  }
}
.c-icon-text--split-right:has(.c-icon--download) {
  padding-inline: calc((20 + 10) * 1rem / 16);
  @media (width >= 768px) {
    padding-inline: calc(20px + 10px);
  }
}
.c-icon-text--split-right:has(.c-icon--mail) {
  padding-inline: calc((18 + 10) * 1rem / 16);
  @media (width >= 768px) {
    padding-inline: calc(18px + 10px);
  }
}
/* .c-button .c-icon-text--split-right:has(.c-icon--mail) {
  padding-inline: calc((20 + 10) * 1rem / 16);
  @media (width >= 768px) {
    padding-inline: calc(20px + 10px);
  }
} */
.c-icon-text--split-right:has(.c-icon--window) {
  padding-inline: calc((18.03 + 10) * 1rem / 16);
  @media (width >= 768px) {
    padding-inline: calc(18.03px + 10px);
  }
}
.c-icon-text--g5 {
  gap: calc(5 * 1rem / 16);
  @media (width >= 768px) {
    gap: 5px;
  }
}
/* .c-icon-text--g6 {
  gap: calc(6 * 1rem / 16);
  @media (width >= 768px) {
    gap: 6px;
  }
} */
/* .c-icon-text--g8 {
  gap: calc(8 * 1rem / 16);
  @media (width >= 768px) {
    gap: 8px;
  }
} */
.c-icon-text--g10 {
  gap: calc(10 * 1rem / 16);
  @media (width >= 768px) {
    gap: 10px;
  }
}
.c-icon-text--g12 {
  gap: calc(12 * 1rem / 16);
  @media (width >= 768px) {
    gap: 12px;
  }
}
.c-icon-text--g15 {
  gap: calc(15 * 1rem / 16);
  @media (width >= 768px) {
    gap: 15px;
  }
}
.c-icon-text--g20 {
  gap: calc(20 * 1rem / 16);
  @media (width >= 768px) {
    gap: 20px;
  }
}
@media (width >= 768px) {
  .md\:c-icon-text--g20 {
    gap: calc(20 * 1rem / 16);
  }
}
@media (hover: hover) {
  .c-icon-text {
    .c-icon-text__label {
      transition: color 0.2s ease 0s;
    }
  }
}
.c-video {
  margin-block-end: calc(40 * 1rem / 16);
  text-align: center;
  @media (width >= 768px) {
    margin-block-end: 50px;
  }

  iframe {
    inline-size: 100%;
    aspect-ratio: 16 / 9;
    @media (width >= 768px) {
      max-inline-size: 1000px;
    }
  }
}
/* components/form.css */
.c-form {
  /* input[type="email"],
  input[type="tel"],
  input[type="search"],
  input[type="text"],
  select,
  textarea {
    inline-size: 100%;
    padding-inline: 1.2em;
    padding-block: 0.65em 0.65em;
    border: 1px solid var(--color--border-gray);
    background-color: var(--color--greige);
    appearance: none;
    color: inherit;
    font-size: 16px;
    font-style: inherit;
    font-family: inherit;
    font-weight: inherit;
    line-height: 1.5;
    @media (width >= 768px) {
      font-size: calc(17 * 1rem / 16);
    }
  } */

  input[type="checkbox"],
  input[type="radio"] {
    scale: 1.4;
  }

  input[type="checkbox"]:checked,
  input[type="radio"]:checked {
    accent-color: var(--color--red);
  }

  .c-icon-text {
    input[type="checkbox"] + .c-icon-text__label,
    input[type="radio"] + .c-icon-text__label {
      translate: 0 -0.1em;
    }
  }

  .c-form__required {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    /* min-inline-size: calc(46 * 1rem / 16); */
    /* block-size: calc(25 * 1rem / 16); */
    padding-inline: 0.7em;
    padding-block: 0.3em;
    border: 1px solid var(--color--light-red);
    border-radius: calc(4 * 1rem / 16);
    color: var(--color--light-red);
    font-size: calc(11 * 1rem / 16);
    font-weight: 700;
    @media (width >= 768px) {
      /* min-inline-size: 46px; */
      /* block-size: 29px; */
      border-radius: 4px;
      font-size: calc(13 * 1rem / 16);
    }
  }
}
.c-text-input {
  inline-size: 100%;
  padding-inline: 1.2em;
  /* padding-block: 0.65em 0.65em; */
  border: 1px solid var(--color--border-gray);
  background-color: var(--color--greige);
  appearance: none;
  color: inherit;
  font-size: 16px;
  font-style: inherit;
  font-family: inherit;
  font-weight: inherit;
  line-height: 1.5;
  @media (width >= 768px) {
    font-size: calc(17 * 1rem / 16);
  }

  &:not(textarea) {
    block-size: calc(40 * 1rem / 16);
    @media (width >= 768px) {
      block-size: 40px;
    }
  }
}
textarea.c-text-input {
  padding-block: 0.45em;
}
@media (width >= 768px) {
  .md\:c-text-input--w200 {
    @media (width >= 768px) {
      max-inline-size: 200px;
    }
  }
  .md\:c-text-input--w600 {
    @media (width >= 768px) {
      max-inline-size: 600px;
    }
  }
}
.c-select {
  position: relative;
  inline-size: 100%;

  select {
    inline-size: 100%;
    block-size: calc(40 * 1rem / 16);
    padding-inline: 1.2em calc((20 + 14) * 1rem / 16);
    /* padding-block: 0.65em 0.65em; */
    /* border: 1px solid var(--color--light-gray); */
    border: 1px solid var(--color--border-gray);
    background-color: var(--color--greige);
    appearance: none;
    color: inherit;
    font-size: 16px;
    font-style: inherit;
    font-family: inherit;
    font-weight: inherit;
    line-height: 1.5;
    @media (width >= 768px) {
      padding-inline-end: calc((20 + 14) * 1px);
      font-size: calc(17 * 1rem / 16);
    }
  }

  & > .c-icon {
    position: absolute;
    inset: auto calc(20 * 1rem / 16) calc(50% - (9 / 2 * 1rem / 16)) auto;
    @media (width >= 768px) {
      inset: auto 20px calc(50% - (9 / 2 * 1px)) auto;
    }
  }
}
@media (width >= 768px) {
  .md\:c-select--w200 {
    max-inline-size: 200px;
  }
  .md\:c-select--w280 {
    max-inline-size: 280px;
  }
}
.c-form--header-search {
  position: relative;

  .c-text-input[type="search"] {
    block-size: calc(50 * 1rem / 16);
    padding-inline: 1.5em calc(0.5em + (24 + 15) * 1rem / 16);
    border-radius: calc(4 * 1rem / 16);
    border-color: var(--color--light-gray);
    background-color: var(--color--light-gray);
    @media (width >= 768px) {
      inline-size: 300px;
      block-size: 40px;
      padding-inline: 1.5em calc(18px + 1.5em);
      border-radius: unset;
      border-end-start-radius: 8px;
    }
  }

  .c-text-input[type="search"]::placeholder {
    color: var(--color--gray);
  }

  /* button[type="submit"] { */
  .c-button[type="submit"] {
    position: absolute;
    inset: calc(13 * 1rem / 16) calc(15 * 1rem / 16) auto auto;
    inline-size: calc(24 * 1rem / 16);
    block-size: calc(24 * 1rem / 16);
    border: 0;
    @media (width >= 768px) {
      inset: 11px 13px auto auto;
      inline-size: calc(18 * 1rem / 16);
      block-size: calc(18 * 1rem / 16);
    }

    .c-icon {
      inline-size: inherit;
      block-size: inherit;
    }
  }

  @media (hover: hover) {
    button[type="submit"]:hover {
      .c-icon {
        background-color: var(--color--red);
      }
    }
  }
}
/* components/footer.css */
.c-footer {
  .c-footer__bg {
    padding-block: calc(50 * 1rem / 16) calc(35 * 1rem / 16);
    background-color: var(--color--warm-gray);
    @media (width >= 768px) {
      padding-block: 100px 50px;
    }
  }

  .c-footer__container {
    display: grid;
    grid-template-columns: calc(188 * 1rem / 16) 1fr calc(48 * 1rem / 16);
    grid-template-rows: calc(20 * 1rem / 16) auto calc(30 * 1rem / 16) auto calc(25 * 1rem / 16) auto calc(
        25 * 1rem / 16
      );
    grid-template-areas:
      ". . ."
      "logo . pagetop-button"
      ". . ."
      "utility-links utility-links utility-links"
      ". . ."
      "copyright copyright copyright"
      ". . .";
    /* border-block-start: 1px solid var(--color--text-black); */
    @media (width >= 768px) {
      /* grid-template-columns: calc(200 * 1rem / 16) 1fr auto calc(30 * 1rem / 16) calc(48 * 1rem / 16);
      grid-template-rows: calc(30 * 1rem / 16) auto calc(20 * 1rem / 16) auto calc(30 * 1rem / 16); */
      grid-template-columns: 262px 1fr auto 30px 48px;
      grid-template-rows: 30px auto 20px auto 30px;
      grid-template-areas:
        ". . . . ."
        "logo . utility-links . pagetop-button"
        "logo . . . pagetop-button"
        "logo . copyright . pagetop-button"
        ". . . . .";
    }
  }

  .c-footer__logo {
    grid-area: logo;
    align-self: center;

    img {
      display: block;
    }
  }

  .c-footer__utility-links {
    grid-area: utility-links;

    ul {
      display: flex;
      flex-wrap: wrap;
      row-gap: calc(15 * 1rem / 16);
      @media (width >= 768px) {
        row-gap: 15px;
      }

      li {
        padding-inline: calc(10 * 1rem / 16);
        border-inline-start: 1px solid var(--color--gray);
        line-height: 1;
        @media (width >= 768px) {
          padding-inline: 10px;
        }
      }

      li:first-child {
        padding-inline-start: unset;
        border-inline-start: unset;
      }

      li:last-child {
        padding-inline-end: unset;
      }
    }
  }

  .c-footer__pagetop-button {
    grid-area: pagetop-button;
  }

  .c-footer__copyright {
    grid-area: copyright;
    line-height: 1;
    @media (width >= 768px) {
      justify-self: end;
    }
  }

  @media (hover: hover) {
    .c-button--fill:hover {
      opacity: 0.7;
    }

    .c-icon-link:not(:has(.c-circle-icon)):hover {
      .c-icon {
        background-color: var(--color--white);
      }
    }

    .c-link:not(:has(.c-link__label)):hover,
    .c-link:hover .c-link__label,
    .c-link:hover .c-icon-link,
    .c-icon-link:hover {
      opacity: 0.7;
      color: var(--color--white);
    }

    .c-footer__logo.c-link:hover {
      opacity: 1;
    }

    .c-footer__utility-links {
      .c-link:not(:has(.c-link__label)):hover {
        color: var(--color--gray);
      }
    }
  }
}
.c-footer-nav {
  @media (width >= 768px) {
    display: grid;
    grid-template-columns: 1fr calc(50 * 1rem / 16) 1fr calc(50 * 1rem / 16) 1fr calc(50 * 1rem / 16) 1fr;
    grid-template-rows: auto calc(50 * 1rem / 16) auto;
  }

  .c-section-links:nth-of-type(1) {
    @media (width >= 768px) {
      grid-column: 1 / 2;
      grid-row: 1 / 2;
    }
  }

  .c-section-links:nth-of-type(2) {
    @media (width >= 768px) {
      grid-column: 3 / 4;
      grid-row: 1 / 2;
    }
  }

  .c-section-links:nth-of-type(3) {
    @media (width >= 768px) {
      grid-column: 5 / 6;
      grid-row: 1 / 2;
    }
  }

  .c-section-links:nth-of-type(4) {
    @media (width >= 768px) {
      grid-column: 1 / 2;
      grid-row: 3 / 4;
    }
  }

  .c-section-links:nth-of-type(5) {
    @media (width >= 768px) {
      grid-column: 3 / 4;
      grid-row: 3 / 4;
    }
  }

  .c-section-links:nth-of-type(6) {
    @media (width >= 768px) {
      grid-column: 5 / 6;
      grid-row: 3 / 4;
    }
  }

  .c-footer-nav__container:nth-of-type(1) {
    display: grid;
    /* grid-template-columns: 1fr calc(25 * 1rem / 16) 1fr; */
    grid-template-columns: repeat(2, 1fr);
    column-gap: calc(25 * 1rem / 16);
    @media (width >= 768px) {
      display: revert;
      grid-column: 7 / 8;
      grid-row: 1 / 2;
    }

    .c-section-links {
      .c-icon-link:has(.c-icon--arrow-left_md),
      .c-icon-link:has(.c-icon--window) {
        padding-inline-end: calc(10 * 1rem / 16);
        @media (width >= 768px) {
          /* padding-inline-end: calc(15 * 1rem / 16); */
          padding-inline-end: 15px;
        }
      }
    }

    /* .c-section-links:nth-of-type(1) {
      grid-column: 1 / 2;
      grid-row: 1 / 2;
    }

    .c-section-links:nth-of-type(2) {
      grid-column: 3 / 4;
      grid-row: 1 / 2;
    }

    .c-section-links:nth-of-type(3) {
      grid-column: 1 / 2;
      grid-row: 2 / 3;
    }

    .c-section-links:nth-of-type(4) {
      grid-column: 3 / 4;
      grid-row: 2 / 3;
    } */
  }

  .c-footer-nav__container:nth-of-type(2) {
    @media (width >= 768px) {
      grid-column: 7 / 8;
      grid-row: 3 / 4;
    }

    /* .c-link {
      margin-block-end: unset;
    } */
  }

  .c-footer-nav__partner-link {
    h3 {
      display: flex;
      align-items: center;
      gap: calc(15 * 1rem / 16);
      line-height: 1;
      @media (width >= 768px) {
        gap: 15px;
      }
    }

    h3::after {
      content: "";
      flex: 1 0 auto;
      display: block;
      border-block-start: 1px solid var(--color--white);
      translate: 0 1px;
    }

    .c-grid {
      inline-size: calc(282 * 1rem / 16);
      @media (width >= 768px) {
        inline-size: unset;
      }
    }
  }

  .c-footer-nav__sns-link {
  }
}
/* components/header.css */
.c-header {
  position: sticky;
  inset: 0 0 auto 0;
  z-index: var(--z-index--header);

  .c-header__container {
    position: relative;
    z-index: 2;
    block-size: calc(var(--height--header-sm) * 1rem / 16);
    @media (width >= 768px) {
      min-inline-size: calc(var(--min-width--page-md) * 1px);
      block-size: calc(var(--height--header-md) * 1px);
      margin-inline: auto;
    }
  }

  .c-header__content {
    display: grid;
    /* grid-template-columns:
      calc(20 * 1rem / 16) calc(120 * 1rem / 16) 1fr calc(50 * 1rem / 16) calc(10 * 1rem / 16)
      calc(50 * 1rem / 16) calc(10 * 1rem / 16) calc(50 * 1rem / 16) calc(10 * 1rem / 16); */
    grid-template-columns:
      calc(20 * 1rem / 16) calc(120 * 1rem / 16) 1fr calc(50 * 1rem / 16) calc(10 * 1rem / 16)
      calc(50 * 1rem / 16) calc(10 * 1rem / 16);
    grid-template-rows: calc(8 * 1rem / 16) calc(44 * 1rem / 16) calc(8 * 1rem / 16);
    /* grid-template-areas:
      ". . . . . . . . ."
      ". logo . header-search . shop-link . header-nav_sm ."
      ". . . . . . . . ."; */
    grid-template-areas:
      ". . . . . . ."
      ". logo . header-search . header-nav_sm ."
      ". . . . . . .";
    @media (width >= 768px) {
      /* grid-template-columns: 40px 200px 1fr auto 40px auto auto 28px; */
      grid-template-columns: 40px 200px 1fr auto 40px 300px 28px;
      grid-template-rows: 40px 70px;
      /* grid-template-areas:
        ". logo . utility-links_md . header-search shop-link shop-link"
        ". logo header-nav_md header-nav_md header-nav_md header-nav_md header-nav_md ."; */
      grid-template-areas:
        ". logo . utility-links_md . header-search ."
        ". logo header-nav_md header-nav_md header-nav_md header-nav_md .";
    }
  }

  .c-header__logo {
    grid-area: logo;
    align-self: center;

    img {
      display: block;
    }
  }

  .c-header__utility-links_sm {
  }

  .c-header__utility-links_md {
    grid-area: utility-links_md;
    display: none;
    @media (width >= 768px) {
      display: revert;
      padding-block-start: 18px;
    }
  }

  /* .c-header__shop-link {
    grid-area: shop-link;

    .c-button {
      flex-flow: column;
      justify-content: end;
      gap: calc(4 * 1rem / 16);
      inline-size: calc(50 * 1rem / 16);
      block-size: calc(44 * 1rem / 16);
      padding-block-end: calc(5 * 1rem / 16);
      border: 2px solid var(--color--text-black);
      border-radius: calc(8 * 1rem / 16);
      background-color: var(--color--text-black);
      line-height: 1;
      @media (width >= 768px) {
        flex-flow: revert;
        justify-content: center;
        gap: 8px;
        inline-size: 180px;
        block-size: 40px;
        padding-block-end: unset;
        border-radius: unset;
      }

      .c-text:nth-of-type(2) {
        @media (width >= 768px) {
          display: none;
        }
      }

      .c-text:nth-of-type(3) {
        display: none;
        @media (width >= 768px) {
          display: revert;
        }
      }
    }

    @media (hover: hover) {
      .c-button:hover {
        border-color: var(--color--red);
        background-color: var(--color--red);
        opacity: 1;
      }
    }
  } */
}
.c-header::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  z-index: 1;
  block-size: calc(var(--height--header-sm) * 1rem / 16);
  background-color: var(--color--white);
}
@media (width >= 768px) {
  .c-header::before {
    min-inline-size: calc(var(--min-width--page-md) * 1px);
    block-size: calc(var(--height--header-md) * 1px);
    box-shadow: 0 1px 2px 0 rgba(var(--color-rgb--black), 0.1);
  }
}
.c-header-search {
  grid-area: header-search;

  .c-header-search__toggle-button {
    align-items: end;
    inline-size: calc(50 * 1rem / 16);
    block-size: calc(44 * 1rem / 16);
    padding-block-end: calc(5 * 1rem / 16);
    border: 2px solid var(--color--light-gray);
    border-radius: calc(8 * 1rem / 16);
    background-color: var(--color--light-gray);
    line-height: 1;
    @media (width >= 768px) {
      display: none;
    }

    .c-header-search__button-label:nth-of-type(2) {
      display: none;
    }
  }

  .c-header-search__toggle-button[aria-expanded="true"] {
    border-color: var(--color--text-black);
    background-color: var(--color--white);

    .c-header-search__button-label:nth-of-type(1) {
      display: none;
    }

    .c-header-search__button-label:nth-of-type(2) {
      display: flex;
    }
  }

  .c-header-search__button-label {
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: calc(4 * 1rem / 16);
  }

  .c-header-search__container {
    overflow: hidden;
    position: absolute;
    inset: calc(var(--height--header-sm) * 1rem / 16) 0 auto 0;
    @media (width >= 768px) {
      overflow: revert;
      position: revert;
      block-size: auto;
    }
  }

  .c-header-search__content {
    padding: calc(15 * 1rem / 16);
    background-color: var(--color--white);
    @media (width >= 768px) {
      padding: unset;
    }
  }
}
.c-header-nav_sm {
  grid-area: header-nav_sm;
  @media (width >= 768px) {
    display: none;
  }

  .c-header-nav_sm__toggle_button {
    align-items: end;
    inline-size: calc(50 * 1rem / 16);
    block-size: calc(44 * 1rem / 16);
    padding-block-end: calc(5 * 1rem / 16);
    border: 2px solid var(--color--red);
    border-radius: calc(8 * 1rem / 16);
    background-color: var(--color--red);
    line-height: 1;

    .c-header-nav_sm__button-label:nth-of-type(2) {
      display: none;
    }
  }

  .c-header-nav_sm__toggle_button[aria-expanded="true"] {
    background-color: var(--color--white);

    .c-header-nav_sm__button-label:nth-of-type(1) {
      display: none;
    }

    .c-header-nav_sm__button-label:nth-of-type(2) {
      display: flex;
    }
  }

  .c-header-nav_sm__button-label {
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: calc(6 * 1rem / 16);
  }

  .c-header-nav_sm__button-label:nth-of-type(2) {
    gap: calc(4 * 1rem / 16);
  }

  .c-header-nav_sm__container {
    overflow-y: scroll;
    position: absolute;
    inset: calc(var(--height--header-sm) * 1rem / 16) 0 auto 0;
    block-size: calc(100dvb - var(--height--header-sm) * 1rem / 16);
    background-color: var(--color--white);
  }

  .c-header-nav_sm__content {
    padding-block: calc(20 * 1rem / 16) calc(30 * 1rem / 16);
  }

  .c-header-nav_sm__close-button {
    flex-flow: column;
    justify-content: end;
    gap: calc(4 * 1rem / 16);
    inline-size: calc(50 * 1rem / 16);
    block-size: calc(44 * 1rem / 16);
    padding-block-end: calc(5 * 1rem / 16);
    border: 2px solid var(--color--red);
    border-radius: calc(8 * 1rem / 16);
    background-color: var(--color--white);
    line-height: 1;
  }
}
.c-header-nav_md {
  grid-area: header-nav_md;
  justify-self: end;
  align-self: end;
  display: none;
  @media (width >= 768px) {
    display: revert;
  }

  .c-header-nav_md__links {
    display: flex;
    gap: 28px;

    li {
      position: relative;
      padding-block-end: 24px;
      line-height: 1;
      overflow: hidden;

      .c-link {
        transition: color 0.2s ease 0s;
      }
    }

    li::before {
      content: "";
      position: absolute;
      /* inset: auto 0 0 0; */
      left: 0;
      bottom: -6px;
      display: block;
      inline-size: 100%;
      block-size: 6px;
      border-start-start-radius: 4px;
      border-start-end-radius: 4px;
      background-color: var(--color--red);
      transition: bottom 0.2s ease 0s;
    }

    li:has(.c-link[aria-current="page"], .c-link[aria-expanded="true"]) {
      .c-link {
        color: var(--color--red);
      }
    }

    li:has(.c-link[aria-current="page"], .c-link[aria-expanded="true"])::before {
      bottom: 0;
    }

    @media (hover: hover) {
      li {
        .c-link:hover {
          color: var(--color--red);
          opacity: 1;
        }
      }
      li:has(.c-link:hover)::before {
        bottom: 0;
      }
    }
  }

  .c-header-nav_md__container {
    position: absolute;
    inset: calc(var(--height--header-md) * 1px) auto auto calc((100% - 1200px) / 2);
    display: none;
    inline-size: 1200px;
    block-size: 0;
    border-end-start-radius: 8px;
    border-end-end-radius: 8px;
    overflow-y: scroll;
    scroll-behavior: smooth;
    @media (width >= 768px) {
      display: revert;
    }
  }

  .c-header-nav_md__content {
    position: relative;
    border-block-start: 1px solid var(--color--border-gray);
    transition: block-size 0.4s ease 0s;
  }
}
.c-header-panel_md {
  position: absolute;
  display: grid;
  grid-template-columns: 40px 240px 50px 1fr 50px 50px 1fr 70px;
  grid-template-rows: 50px auto 30px auto 50px;
  grid-template-areas:
    ". . . . . . . ."
    ". title title title . . heading ."
    ". . . . . . . ."
    ". image . content1 . . content2 ."
    ". . . . . . . .";
  inline-size: 100%;
  background-color: var(--color--white);

  .c-header-panel_md__title {
    grid-area: title;
    align-self: center;
  }

  .c-header-panel_md__image {
    grid-area: image;

    img {
      border-radius: 8px;
    }
  }

  .c-header-panel_md__content1 {
    grid-area: content1;
  }

  .c-header-panel_md__heading {
    grid-area: heading;
    align-self: center;
  }

  .c-header-panel_md__content2 {
    grid-area: content2;
  }
}
.c-header-panel_md::before {
  content: "";
  grid-column: 6 / 9;
  grid-row: 1 / 6;
  display: block;
  background-color: var(--color--greige);
}
.c-header-panel_md[data-panel-id="refrigerator"] {
}
.c-header-panel_md[data-panel-id="foods"] {
}
/* components/main.css */
.c-main {
  padding-block-end: calc(80 * 1rem / 16);
  @media (width >= 768px) {
    padding-block-end: 120px;
  }

  .c-main__aside {
    /* margin-block-start: calc(40 * 1rem / 16); */
    margin-block-start: calc(60 * 1rem / 16);
    padding-block: calc(60 * 1rem / 16) calc(40 * 1rem / 16);
    background-color: var(--color--light-warm-gray);
    @media (width >= 768px) {
      /* margin-block-start: 50px; */
      margin-block-start: 80px;
      padding-block: 100px 50px;
    }
  }
}
.c-main:has(.c-main__aside) {
  padding-block-end: unset;
}
body[data-path="/about/"] .c-main {
  margin-block-start: calc(-48 * 1rem / 16);
  @media (width >= 768px) {
    margin-block-start: -60px;
  }

  .c-main__aside {
    margin-block-start: unset;
  }
}
/* components/page.css */
.c-page {
  @media (width >= 768px) {
    /* min-inline-size: calc(1200px + var(--padding--page-md) * 1px * 2); */
    min-inline-size: calc(var(--min-width--page-md) * 1px);
  }

  .c-page__backdrop {
    position: fixed;
    inset: 0;
    z-index: var(--z-index--backdrop);
    background-color: rgba(var(--color-rgb--black), 0.5);
    opacity: 1;
  }

  .c-page__breadcrumb {
    position: relative;
    z-index: var(--z-index--breadcrumb);

    ul {
      display: inline-flex;
      flex-wrap: wrap;
      align-items: center;
      column-gap: calc(10 * 1rem / 16);
      min-block-size: calc(48 * 1rem / 16);
      @media (width >= 768px) {
        gap: 10px;
        min-block-size: 60px;
      }
    }

    li {
      .c-link {
        text-decoration: underline;
        text-underline-offset: calc(2 * 1rem / 16);
        /* white-space: nowrap; */
        @media (width >= 768px) {
          text-underline-offset: 2px;
        }
      }

      .c-link[aria-current="page"] {
        text-decoration: none;
        /* pointer-events: none; */
      }
    }

    li + li:before {
      content: ">";
      display: inline-block;
      margin-inline-end: calc(10 * 1rem / 16);
      color: var(--color--red);
      text-decoration: none;
      @media (width >= 768px) {
        margin-inline-end: 10px;
      }
    }
  }
}
/* body[data-path="/about/"] .c-page {
  @media (width >= 768px) {
    min-inline-size: calc(var(--max-width--page-md) * 1px);
  }
} */
/* components/excerpt-text.css */
.c-excerpt-text {
  position: relative;
  display: block;
  margin-block-end: calc(40 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-end: 50px !important;
  }

  .c-excerpt-text__container {
    overflow: hidden;
  }

  .c-excerpt-text__content {
  }

  .c-excerpt-text__overlay {
    position: absolute;
    inset: auto 0 0 0;
    display: flex;
    flex-flow: column;
    opacity: 1;

    & > div {
      background-color: var(--color--white);
    }

    .c-button {
      block-size: calc(40 * 1rem / 16);
      border-color: var(--color--white);
      @media (width >= 768px) {
        block-size: 40px;
      }
    }

    .c-button[aria-expanded="true"] {
      pointer-events: none;
    }
  }

  .c-excerpt-text__overlay::before {
    content: "";
    flex-grow: 1;
    display: block;
    background: linear-gradient(180deg, rgba(var(--color-rgb--white), 0) 0%, rgba(var(--color-rgb--white), 1) 100%);
    background: linear-gradient(
      180deg in oklab,
      rgba(var(--color-rgb--white), 0) 0%,
      rgba(var(--color-rgb--white), 1) 100%
    );
  }
}
@media (hover: hover) {
  .c-excerpt-text {
  }

  .c-excerpt-text__overlay {
    .c-button:hover {
      opacity: 1;

      .c-icon-text {
        .c-icon {
          background-color: var(--color--red);
        }

        .c-icon-text__label {
          color: var(--color--red);
        }
      }
    }
  }
}
/* components/collapse-section.css */
.c-collapse-section {
  display: block;

  .c-collapse-section__details {
  }

  .c-collapse-section__details[open] {
    .c-icon--plus {
      display: none;
    }
    .c-icon--minus {
      display: block;
    }
  }

  .c-collapse-section__summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-inline: calc(20 * 1rem / 16);
    padding-block: calc(21 * 1rem / 16);
    border: 1px solid var(--color--border-gray);
    border-radius: calc(var(--border-radius--button) * 1rem / 16);
    box-shadow: 0 2px 4px 0 rgba(var(--color-rgb--black), 0.05);
    @media (width >= 768px) {
      padding-inline: 40px 30px;
      padding-block: 21px;
      border-radius: calc(var(--border-radius--button) * 1px);
    }
  }

  .c-collapse-section__label {
  }

  .c-collapse-section__icon {
    inline-size: calc(24 * 1rem / 16);
    aspect-ratio: 1;
    line-height: 1;
    @media (width >= 768px) {
      inline-size: 24px;
    }

    .c-icon--plus {
      display: block;
    }
    .c-icon--minus {
      display: none;
    }
  }

  .c-collapse-section__container {
    overflow: hidden;
    /* block-size: 0; */
  }

  .c-collapse-section__content {
    padding-block: calc(40 * 1rem / 16) calc(60 * 1rem / 16);
    @media (width >= 768px) {
      padding-block: 50px 80px;
    }
  }
}
.c-collapse-section + .c-collapse-section {
  margin-block-start: calc(10 * 1rem / 16);
  @media (width >= 768px) {
    margin-block-start: 20px;
  }
}
@media (hover: hover) {
  .c-collapse-section {
    .c-collapse-section__summary .c-collapse-section__label {
      transition: color 0.2s ease 0s;
    }
    .c-collapse-section__summary:hover .c-collapse-section__label {
      color: var(--hover--color);
    }
  }
}
/* components/post-content.css */
.c-post-content {
  & > *,
  & > div.u-mt-40 > * {
    margin-block-start: unset;
    margin-block-end: calc(40 * 1rem / 16);
    @media (width >= 768px) {
      margin-block-end: 50px;
    }
  }

  & > *:has(> .aligncenter) {
    display: flex;
    justify-content: center;
  }

  & > *:has(> .alignright) {
    display: flex;
    justify-content: end;
  }

  h1,
  h2,
  h3,
  h4 {
    font-weight: 700;
  }

  h1 {
    margin-block-start: calc(35 * 1rem / 16);
    font-size: calc(32 * 1rem / 16);
    @media (width >= 768px) {
      margin-block-start: 40px;
      font-size: calc(48 * 1rem / 16);
    }
  }

  h2 {
    margin-block: calc(80 * 1rem / 16) calc(40 * 1rem / 16);
    padding-block-start: calc(20 * 1rem / 16);
    border-block-start: 1px solid var(--color--text-black);
    font-size: calc(20 * 1rem / 16);
    @media (width >= 768px) {
      margin-block: 120px 50px;
      padding-block-start: 20px;
      font-size: calc(28 * 1rem / 16);
    }
  }

  h3 {
    margin-block: calc(60 * 1rem / 16) calc(20 * 1rem / 16);
    padding-inline: calc(12 * 1rem / 16);
    padding-block: calc(9 * 1rem / 16);
    border-inline-start: calc(3 * 1rem / 16) solid var(--color--red);
    background-color: #f0f0f0;
    font-size: calc(18 * 1rem / 16);
    @media (width >= 768px) {
      margin-block: 80px 30px;
      padding-inline: 21px;
      padding-block: 12px;
      border-width: 5px;
      font-size: calc(21 * 1rem / 16);
    }
  }

  h4 {
    margin-block: calc(40 * 1rem / 16) calc(20 * 1rem / 16);
    padding-inline: calc(12 * 1rem / 16);
    padding-block: calc(2 * 1rem / 16);
    border-inline-start: calc(3 * 1rem / 16) solid var(--color--red);
    font-size: calc(18 * 1rem / 16);
    @media (width >= 768px) {
      margin-block: 50px 30px;
      padding-inline: 16px;
      padding-block: unset;
      border-width: 4px;
      font-size: calc(21 * 1rem / 16);
    }
  }

  hr {
    margin-block: calc(60 * 1rem / 16);
    border: unset;
    border-block-start: 1px solid var(--color--text-black);
    opacity: 1;
    line-height: 0;
    @media (width >= 768px) {
      margin-block: 80px;
    }
  }

  p:not(.c-text--intro, .c-text--note),
  div > :not(p):not(h1):not(h2):not(h3):not(h4){
    font-size: calc(15 * 1rem / 16);
    font-weight: 400;
    line-height: 1.8;
    @media (width >= 768px) {
      font-size: calc(17 * 1rem / 16);
    }

    a:not(.c-link, .c-icon-link):not(.c-button) {
      color: var(--color--link-blue);
      text-decoration: underline;
      text-underline-offset: calc(2 * 1rem / 16);
      @media (width >= 768px) {
        text-underline-offset: 2px;
      }
    }
    a[target="_blank"]:not(.c-link, .c-icon-link)::after {
      content: "";
      display: inline-block;
      inline-size: calc(18.03 * 1rem / 16);
      block-size: calc(16.23 * 1rem / 16);
      /* margin-inline: 0.5em 0.2em; */
      margin-inline: 0.4em 0.4em;
      background-color: var(--color--red);
      mask-image: url("/assets/img/components/icon/icon_window.svg");
      mask-position: center;
      mask-repeat: no-repeat;
      mask-size: contain;
      translate: 0 0.2em;
    }
    @media (width >= 768px) {
      a[target="_blank"]:not(.c-link, .c-icon-link)::after {
        inline-size: 18.03px;
        block-size: 16.23px;
        translate: 0 0.1em;
      }
    }

    strong {
      font-weight: 700;
    }

    .c-button,
    .c-icon-link {
      font-weight: 500;
    }
  }

  p:empty {
    display: none;
  }

  ul,
  ol {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5em;
    font-size: calc(15 * 1rem / 16);
    font-weight: 400;
    @media (width >= 768px) {
      font-size: calc(17 * 1rem / 16);
    }
  }

  ul {
    & > li {
      padding-inline-start: 1lh;
      text-indent: -1lh;
    }

    & > li::before {
      content: "";
      display: inline-block;
      inline-size: 1lh;
      block-size: 1lh;
      background-color: var(--color--text-black);
      mask-image: url("/assets/img/components/icon/icon_circle.svg");
      mask-position: center;
      mask-repeat: no-repeat;
      mask-size: calc(8 * 1rem / 16) calc(8 * 1rem / 16);
      vertical-align: bottom;
      translate: 0 0.05em;
    }
  }

  ol {
    padding-inline-start: 2em;
    list-style-type: decimal;

    & > li {
      padding-inline-start: revert;
      text-indent: revert;
    }

    & > li::before {
      content: revert;
    }
  }

  div[style*="text-align: center;"] {
    display: flex;
    justify-content: center;
  }

  div[style*="text-align: right;"] {
    display: flex;
    justify-content: end;
  }

  .c-button--outline {
    font-size: calc(16 * 1rem / 16);
    font-weight: 700;
    @media (width >= 768px) {
      font-size: calc(18 * 1rem / 16);
    }
  }

  table {
    inline-size: 100%;
    border: 0;

    thead,
    tbody {
      tr + tr {
        th,
        td {
          border-block-start-width: 1px;
        }
      }

      tr {
        block-size: auto !important;
      }

      th,
      td {
        inline-size: auto !important;
        block-size: auto !important;
        padding-inline: calc(20 * 1rem / 16);
        padding-block: calc(15 * 1rem / 16);
        border: 0 solid var(--color--border-gray);
        @media (width >= 768px) {
          padding-inline: 20px;
          padding-block: 15px;
        }
      }

      th {
        font-size: calc(16 * 1rem / 16);
        font-weight: 700;
        text-align: center;
        @media (width >= 768px) {
          font-size: calc(18 * 1rem / 16);
        }
      }

      td {
        font-size: calc(15 * 1rem / 16);
        font-weight: 400;
        @media (width >= 768px) {
          font-size: calc(17 * 1rem / 16);
        }
      }

      th + th,
      td + td {
        border-inline-start-width: 1px;
      }
    }

    thead {
      tr {
      }

      th {
        background-color: #666;
        color: var(--color--white);
      }
    }

    tbody {
      tr:last-of-type {
        th,
        td {
          border-block-end-width: 1px;
        }
      }

      th {
        background-color: var(--color--greige);
      }
    }
  }

  table:not(:has(thead)) {
    tbody {
      th,
      td {
        border-block-start-width: 1px;
      }
    }
  }

  img {
    inline-size: 100%;
    @media (width >= 768px) {
      max-inline-size: 800px;
    }
  }

  img.size-small {
    inline-size: 50%;
    @media (width >= 768px) {
      inline-size: 33%;
    }
  }

  img.size-medium {
    inline-size: 100%;
    @media (width >= 768px) {
      inline-size: 50%;
    }
  }

  img.aligncenter {
    display: block;
    margin-inline: auto;
  }

  img.alignright {
    display: block;
    margin-inline: auto 0;
  }

  figure > img,
  p > img {
    inline-size: 100% !important;
    border-radius: calc(var(--border-radius--image) * 1rem / 16);
    @media (width >= 768px) {
      border-radius: calc(var(--border-radius--image) * 1px);
    }
  }

  figure:has(> img),
  p:has(> img) {
    inline-size: 100% !important;
    @media (width >= 768px) {
      max-inline-size: 800px;
    }
  }

  figure:has(> img.size-small),
  p:has(> img.size-small) {
    inline-size: 50% !important;
    @media (width >= 768px) {
      inline-size: 33% !important;
    }
  }

  figure:has(> img.size-medium),
  p:has(> img.size-medium) {
    inline-size: 100% !important;
    @media (width >= 768px) {
      inline-size: 50% !important;
    }
  }

  figure.aligncenter,
  p:has(> img.aligncenter) {
    margin-inline: auto;
  }

  figure.alignright,
  p:has(> img.alignright) {
    margin-inline: auto 0;
  }

  figcaption {
    margin-block-start: calc(20 * 1rem / 16);
    color: var(--color--gray);
    font-size: calc(13 * 1rem / 16);
    font-weight: 400;
    line-height: 1.8;
    @media (width >= 768px) {
      margin-block-start: 20px;
      font-size: calc(15 * 1rem / 16);
    }
  }

  .scrollCnt {
    table {
      tbody {
        tr {
          td:first-child {
            background-color: var(--color--greige);
          }
          td:first-child + td {
            border-inline-start: 0;
          }
        }
        tr:has(td[rowspan]) + tr {
          td:first-child {
            background-color: unset;
          }
        }
      }
    }
  }

  p + .scrollCnt {
    /* margin-block-start: calc(-30 * 1rem / 16); */
    @media (width >= 768px) {
      /*margin-block-start: -40px;*/
      margin-block-start: 0px;
    }
  }
}
/* components/section-links.css */
.c-section-links {
  display: block;
  border-block-end: 1px solid var(--color--border-gray);
  @media (width >= 768px) {
    border-block-end-width: 0;
  }

  .c-section-links__header {
    display: flex;
    border-block-start: 1px solid var(--color--text-black);
  }

  .c-section-links__title {
    flex: 1 0 auto;

    .c-icon-link {
      block-size: calc(58 * 1rem / 16);
    }

    .c-icon-link:has(.c-icon--arrow-left_md),
    .c-icon-link:has(.c-icon--window) {
      padding-inline-end: calc(20 * 1rem / 16);
      @media (width >= 768px) {
        padding-inline-end: calc(15 * 1rem / 16);
      }
    }
  }

  .c-section-links__toggle-button {
    flex: 0 1 auto;
    inline-size: calc(50 * 1rem / 16);
    block-size: calc(58 * 1rem / 16);
    border: unset;
    border-inline-start: 1px solid var(--color--border-gray);
    background-color: var(--color--greige);
  }

  /* @media (hover: hover) {
    .c-section-links__toggle-button:hover .c-icon {
      background-color: var(--color--red);
    }
  } */

  /* .c-section-links__toggle-button[aria-pressed="true"] { */
  .c-section-links__toggle-button[aria-expanded="true"] {
    .c-icon {
      rotate: 0deg;
    }
  }

  .c-section-links__container {
    block-size: 0;
    overflow-y: hidden;
  }

  .c-section-links__content {
    padding-inline: calc(20 * 1rem / 16);
    padding-block: calc(20 * 1rem / 16) calc(30 * 1rem / 16);
    border-block-start: 1px solid var(--color--border-gray);
    @media (width >= 768px) {
      padding-inline: unset;
      /* padding-block-end: unset; */
      padding-block-end: 3px; /* フォーカス時の縦揺れ防止 */
    }
  }
}
.c-section-links + .c-section-links {
  margin-block-start: -1px;
}
.c-footer .c-section-links {
  border-color: var(--color--white);
  /* border-block-end: 1px solid var(--color--border-gray); */
  /* @media (width >= 768px) {
    border-block-end: unset;
  } */

  .c-section-links__header {
    /* display: flex;
    border-block-start: 1px solid var(--color--text-black); */
    border-color: var(--color--white);
  }

  .c-section-links__title {
    /* flex: 1 0 auto; */

    .c-icon-link {
      /* block-size: calc(58 * 1rem / 16); */
    }

    .c-icon-link:has(.c-icon--arrow-left_md),
    .c-icon-link:has(.c-icon--window) {
      /* padding-inline-end: calc(20 * 1rem / 16);
      @media (width >= 768px) {
        padding-inline-end: calc(15 * 1rem / 16);
      } */
    }
  }

  .c-section-links__toggle-button {
    /* flex: 0 1 auto;
    inline-size: calc(50 * 1rem / 16);
    block-size: calc(58 * 1rem / 16);
    border: unset; */
    border-inline-start: unset;
    background-color: var(--color--dark-warm-gray);
  }

  /* @media (hover: hover) {
    .c-section-links__toggle-button:hover .c-icon {
      background-color: var(--color--red);
    }
  } */

  /* .c-section-links__toggle-button[aria-pressed="true"] { */
  .c-section-links__toggle-button[aria-expanded="true"] {
    .c-icon {
      /* transform: rotate(0deg); */
    }
  }

  .c-section-links__container {
    /* block-size: 0;
    overflow-y: hidden; */
  }

  .c-section-links__content {
  }
}
.c-section-links--end-border {
  @media (width >= 768px) {
    border-block-end-width: 1px;
    /* border-block-end: 1px solid var(--color--border-gray); */
  }
}
/* .c-footer .c-section-links--end-border {
  @media (width >= 768px) {
    border-color: var(--color--white);
  }
} */
/* .c-section-links:last-of-type {
  border-block-end: 1px solid var(--color--border-gray);
} */
/* .c-footer .c-section-links:last-of-type {
 border-color: var(--color--white);
} */
/* utilities.css */
.u-block {
  display: block !important;
}
.u-hidden {
  display: none !important;
}
.u-visually-hidden {
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
@media (width >= 768px) {
  .md\:u-block {
    display: block !important;
  }
  .md\:u-hidden {
    display: none !important;
  }
}
/* .u-mt-xxs {
  margin-block-start: calc(5 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-start: 5px !important;
  }
} */
.u-mt-xs {
  margin-block-start: calc(20 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-start: 30px !important;
  }
}
.u-mt-sm {
  margin-block-start: calc(40 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-start: 50px !important;
  }
}
.u-mt-md {
  margin-block-start: calc(60 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-start: 80px !important;
  }
}
.u-mt-lg {
  margin-block-start: calc(80 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-start: 120px !important;
  }
}
.u-mt-xl {
  margin-block-start: calc(100 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-start: 150px !important;
  }
}
.u-mt-0 {
  margin-block-start: unset !important;
}
.u-mt-5 {
  margin-block-start: calc(5 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-start: 5px !important;
  }
}
.u-mt-10 {
  margin-block-start: calc(10 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-start: 10px !important;
  }
}
.u-mt-15 {
  margin-block-start: calc(15 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-start: 15px !important;
  }
}
.u-mt-20 {
  margin-block-start: calc(20 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-start: 20px !important;
  }
}
.u-mt-25 {
  margin-block-start: calc(25 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-start: 25px !important;
  }
}
.u-mt-30 {
  margin-block-start: calc(30 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-start: 30px !important;
  }
}
.u-mt-35 {
  margin-block-start: calc(35 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-start: 35px !important;
  }
}
.u-mt-40 {
  margin-block-start: calc(40 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-start: 40px !important;
  }
}
.u-mt-45 {
  margin-block-start: calc(45 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-start: 45px !important;
  }
}
.u-mt-50 {
  margin-block-start: calc(50 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-start: 50px !important;
  }
}
.u-mt-60 {
  margin-block-start: calc(60 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-start: 60px !important;
  }
}
.u-mt-70 {
  margin-block-start: calc(70 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-start: 70px !important;
  }
}
.u-mt-75 {
  margin-block-start: calc(75 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-start: 75px !important;
  }
}
.u-mt-80 {
  margin-block-start: calc(80 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-start: 80px !important;
  }
}
.u-mt-n10 {
  margin-block-start: calc(-10 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-start: -10px !important;
  }
}
.u-mt-n15 {
  margin-block-start: calc(-15 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-start: -15px !important;
  }
}
.u-mt-n20 {
  margin-block-start: calc(-20 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-start: -20px !important;
  }
}
@media (min-width: 768px) {
  .md\:u-mt-0 {
    margin-block-start: 0 !important;
  }
  .md\:u-mt-20 {
    margin-block-start: 20px !important;
  }
  .md\:u-mt-25 {
    margin-block-start: 25px !important;
  }
  .md\:u-mt-15 {
    margin-block-start: 15px !important;
  }
  .md\:u-mt-30 {
    margin-block-start: 30px !important;
  }
  .md\:u-mt-35 {
    margin-block-start: 35px !important;
  }
  .md\:u-mt-40 {
    margin-block-start: 40px !important;
  }
  .md\:u-mt-45 {
    margin-block-start: 45px !important;
  }
  .md\:u-mt-50 {
    margin-block-start: 50px !important;
  }
  .md\:u-mt-55 {
    margin-block-start: 55px !important;
  }
  .md\:u-mt-60 {
    margin-block-start: 60px !important;
  }
  .md\:u-mt-70 {
    margin-block-start: 70px !important;
  }
  .md\:u-mt-80 {
    margin-block-start: 80px !important;
  }
  .md\:u-mt-90 {
    margin-block-start: 90px !important;
  }
  .md\:u-mt-100 {
    margin-block-start: 100px !important;
  }
  .md\:u-mt-130 {
    margin-block-start: 130px !important;
  }
  .md\:u-mt-140 {
    margin-block-start: 140px !important;
  }
  .md\:u-mt-n20 {
    margin-block-start: -20px !important;
  }
}
.u-mb-xxs {
  margin-block-end: calc(5 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-end: 5px !important;
  }
}
.u-mb-xs {
  margin-block-end: calc(20 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-end: 30px !important;
  }
}
.u-mb-sm {
  margin-block-end: calc(40 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-end: 50px !important;
  }
}
.u-mb-md {
  margin-block-end: calc(60 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-end: 80px !important;
  }
}
.u-mb-lg {
  margin-block-end: calc(80 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-end: 120px !important;
  }
}
.u-mb-xl {
  margin-block-end: calc(100 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-end: 150px !important;
  }
}
.u-mb-0 {
  margin-block-end: unset !important;
}
.u-mb-10 {
  margin-block-end: calc(10 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-end: 10px !important;
  }
}
.u-mb-15 {
  margin-block-end: calc(15 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-end: 15px !important;
  }
}
.u-mb-20 {
  margin-block-end: calc(20 * 1rem / 16) !important;
  @media (width >= 768px) {
    margin-block-end: 20px !important;
  }
}
.u-bl-0 {
  border-inline-start-width: 0 !important;
}
.u-left {
  text-align: left !important;
}
.u-center {
  text-align: center !important;
}
.u-right {
  text-align: right !important;
}
@media (min-width: 768px) {
  .md\:u-left {
    text-align: left !important;
  }
  .md\:u-center {
    text-align: center !important;
  }
  .md\:u-right {
    text-align: right !important;
  }
}
/* .u-v-middle {
  vertical-align: middle !important;
} */
/* vendors.css */
/* splide */
.splide__container{box-sizing:border-box;position:relative}
.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}
.splide.is-initialized:not(.is-active) .splide__list{display:block}
.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;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;-ms-flex-negative:0;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}
@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}
.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-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__arrow{-ms-flex-align:center;align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:-ms-flexbox;display:flex;height:2em;-ms-flex-pack:center;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}
.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}
.splide__arrow:hover:not(:disabled){opacity:.9}
.splide__arrow:disabled{opacity:.3}
.splide__arrow:focus-visible{outline:3px solid #0bf;outline-offset:3px}
.splide__arrow--prev{left:1em}
.splide__arrow--prev svg{transform:scaleX(-1)}
.splide__arrow--next{right:1em}
.splide.is-focus-in .splide__arrow:focus{outline:3px solid #0bf;outline-offset:3px}
.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}
.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;position:relative;transition:transform .2s linear;width:8px}
.splide__pagination__page.is-active{background:#fff;transform:scale(1.4);z-index:1}
.splide__pagination__page:hover{cursor:pointer;opacity:.9}
.splide__pagination__page:focus-visible{outline:3px solid #0bf;outline-offset:3px}
.splide.is-focus-in .splide__pagination__page:focus{outline:3px solid #0bf;outline-offset:3px}
.splide__progress__bar{background:#ccc;height:3px}
.splide__slide{-webkit-tap-highlight-color:rgba(0,0,0,0)}
.splide__slide:focus{outline:0}
@supports(outline-offset:-3px){.splide__slide:focus-visible{outline:3px solid #0bf;outline-offset:-3px}}
@media screen and (-ms-high-contrast:none){.splide__slide:focus-visible{border:3px solid #0bf}}
@supports(outline-offset:-3px){.splide.is-focus-in .splide__slide:focus{outline:3px solid #0bf;outline-offset:-3px}}
@media screen and (-ms-high-contrast:none){.splide.is-focus-in .splide__slide:focus{border:3px solid #0bf}.splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus{border-color:#0bf}}
.splide__toggle{cursor:pointer}
.splide__toggle:focus-visible{outline:3px solid #0bf;outline-offset:3px}
.splide.is-focus-in .splide__toggle:focus{outline:3px solid #0bf;outline-offset:3px}
.splide__track--nav>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}
.splide__track--nav>.splide__list>.splide__slide.is-active{border:3px solid #000}
.splide__arrows--rtl .splide__arrow--prev{left:auto;right:1em}
.splide__arrows--rtl .splide__arrow--prev svg{transform:scaleX(1)}
.splide__arrows--rtl .splide__arrow--next{left:1em;right:auto}
.splide__arrows--rtl .splide__arrow--next svg{transform:scaleX(-1)}
.splide__arrows--ttb .splide__arrow{left:50%;transform:translate(-50%)}
.splide__arrows--ttb .splide__arrow--prev{top:1em}
.splide__arrows--ttb .splide__arrow--prev svg{transform:rotate(-90deg)}
.splide__arrows--ttb .splide__arrow--next{bottom:1em;top:auto}
.splide__arrows--ttb .splide__arrow--next svg{transform:rotate(90deg)}
.splide__pagination--ttb{bottom:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;left:auto;padding:1em 0;right:.5em;top:0}
/* google cse */
:root {
  /*
   * default+ja.css
   */

  .gsc-control-cse {
    /* padding: 1em; */
    padding: unset;
  }

  .gsc-control-cse,
  .gsc-control-cse .gsc-table-result {
    /* width: auto; */
    /* font-family: Arial, sans-serif; */
    /* font-size: 13px; */
    font-family: var(--font-family--sans) !important;
    /* font-size: calc(16 * 1rem / 16); */
    font-weight: 400;
    line-height: 1.8;
  }

  form.gsc-search-box {
    /* font-size: 13px;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 4px;
    margin-left: 0;
    width: 100%; */
    margin-bottom: unset;
  }

  table.gsc-search-box {
    /* border-style: none;
    border-width: 0;
    border-spacing: 0 0;
    width: 100%;
    margin-bottom: 2px; */
    margin-bottom: unset;
  }

  table.gsc-search-box td {
    /* vertical-align: middle; */
    padding: 0 !important;
  }

  table.gsc-search-box td.gsc-input {
    /* padding-right: 12px; */
    padding-right: unset;
  }

  table.gsc-search-box .gsst_b {
    display: none !important;
  }

  .gsc-search-button {
    /* width: 1%; */
    position: relative;
    inline-size: 0;
  }

  .gsc-search-button-v2 svg {
    /* fill: #fff; */
    max-inline-size: none;
  }

  .gsc-search-button {
    /* margin-left: 2px; */
    margin-left: unset;
  }

  input.gsc-input {
    /* padding: 1px 6px;
    border: 1px solid #ddd;
    width: 99%; */

    /* font-size: 16px; */
    font-size: 21px !important;

    /* font-style: inherit;
    font-family: inherit;
    font-weight: inherit;
    line-height: 1.5; */
    @media (width >= 768px) {
      font-size: calc(17 * 1rem / 16) !important;
    }
  }

  input.gsc-input::placeholder {
    color: var(--color--gray);
  }

  .gsc-results {
    /* padding-bottom: 2px;
    width: 99%; */
    padding-bottom: unset;
  }

  .gsc-result .gs-title {
    /* height: auto;
    overflow: hidden; */
    font-weight: 700;
    transition: color 0.2s ease 0s;
  }

  .gsc-result a.gs-title::after {
    content: "";
    display: inline-block;
    inline-size: calc(18.03 * 1rem / 16);
    block-size: calc(16.23 * 1rem / 16);
    margin-inline: 0.5em 0.2em;
    background-color: var(--color--red);
    mask-image: url("/assets/img/components/icon/icon_window.svg");
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
    translate: 0 0.2em;
    @media (width >= 768px) {
      inline-size: 18.03px;
      block-size: 16.23px;
      translate: 0 0.1em;
    }
  }

  .gsc-result .gs-title:hover {
    color: var(--color--red);
  }

  .gsc-webResult.gsc-result {
    /* margin: 0;
    padding: 10px 0;
    border: 1px solid #fff; */
    margin-block-start: calc(40 * 1rem / 16);
    padding: unset;
    @media (width >= 768px) {
      margin-block-start: 50px;
    }
  }

  .gsc-above-wrapper-area {
    /* border-bottom: 1px solid #e9e9e9;
    padding: 5px 0 5px 0; */
    padding-block: 0 calc(20 * 1rem / 16);
    border-color: var(--color--border-gray);
    @media (width >= 768px) {
      padding-block: 0 20px;
    }
  }

  .gsc-result-info {
    /* color: #676767;
    font-size: 13px;
    margin: 0;
    padding: 4px 4px 10px 4px;
    text-align: left; */
    padding: unset;
  }

  .gsc-selected-option-container {
    /* background-color: whiteSmoke;
    background-image: linear-gradient(top, whiteSmoke, #f1f1f1);
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 2px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
    color: #444;
    cursor: default;
    font-size: 11px;
    font-weight: bold;
    height: 27px;
    line-height: 27px;
    max-width: 90%;
    min-width: 54px;
    outline: 0;
    padding: 0 28px 0 6px;
    position: relative;
    text-align: center; */
    max-width: unset;
  }

  .gs-snippet {
    /* color: #333;
    margin-top: 1px; */
    margin-block-start: unset;
  }

  .gsc-table-result,
  .gs-promotion-table {
    /* border-spacing: 0;
    padding-left: 4px;
    padding-right: 4px; */
    padding-inline: unset;
  }

  .gsc-thumbnail-inside,
  .gsc-url-top {
    /* padding-left: 4px;
    padding-right: 4px; */
    padding-inline: unset;
  }

  .gsc-table-cell-snippet-close {
    /* padding: 1px 0; */
    padding-block: unset;
  }

  /* Show url at the top of the web result snippet */
  .gsc-webResult .gsc-url-top {
    /* display: block; */
    margin-block-start: calc(10 * 1rem / 16);
    @media (width >= 768px) {
      margin-block-start: 10px;
    }
  }

  /*
   * minimalist.css
   */

  .gsc-control-cse {
    /* font-family: Arial, sans-serif;
    background-color: #fff;
    border: 1px solid #fff; */
    border: unset;
  }

  .gsc-control-cse .gsc-table-result {
    /* font-family: Arial, sans-serif;
    width: auto; */
    margin-block-start: calc(15 * 1rem / 16);
    @media (width >= 768px) {
      margin-block-start: 15px;
    }
  }

  .gsc-input-box {
    /* border: 1px solid #bbb;
    background: #fff; */
    border: unset;
  }

  .gsc-input-box .gsc-input {
    block-size: calc(50 * 1rem / 16) !important;
    margin: unset !important;
    /* padding-inline: 1.5em calc(0.5em + (24 + 15) * 1rem / 16) !important; */
    padding-inline: calc(20 * 1rem / 16) calc((24 + 30) * 1rem / 16) !important;
    border-radius: calc(4 * 1rem / 16);
    border-color: var(--color--light-gray);
    background-color: var(--color--light-gray) !important;
    background-image: unset !important;
    @media (width >= 768px) {
      inline-size: 300px !important;
      block-size: 40px !important;
      /* padding-inline: 1.5em calc(18px + 1.5em) !important; */
      padding-inline: 20px calc(18px + 30px) !important;
      border-radius: unset;
      border-end-start-radius: 8px !important;
      border-end-end-radius: 8px !important;
    }
  }

  /* Search button */
  .gsc-search-button-v2 {
    /* font-size: 0;
    padding: 6px 27px;
    width: auto;
    vertical-align: middle;
  
    border: 1px solid #000;
    border-radius: 2px;
    margin-top: 2px;
  
    border-color: #000;
    background-color: #333;
    background-image: linear-gradient(top, #333, #333); */

    position: absolute;
    top: 50%;
    right: calc(15 * 1rem / 16);
    /* inset: calc(13 * 1rem / 16) calc(15 * 1rem / 16) auto auto; */
    display: grid;
    place-content: center;
    inline-size: calc(24 * 1rem / 16);
    block-size: calc(24 * 1rem / 16);
    margin-top: unset;
    padding: unset;
    border: unset;
    background: unset;
    translate: 0 -50%;
    @media (width >= 768px) {
      /* inset: 11px 15px auto auto; */
      right: 15px;
      inline-size: calc(18 * 1rem / 16);
      block-size: calc(18 * 1rem / 16);
    }
  }

  .gsc-search-button-v2:hover {
    /* border-color: #000;
    background-color: #333;
    background-image: linear-gradient(top, #333, #333); */
    border: unset;
    background: unset;
  }

  .gsc-search-button-v2 svg {
    /* fill: #fff; */
    display: none;
  }

  .gsc-search-button-v2::before {
    content: "";
    inline-size: calc(24 * 1rem / 16);
    block-size: calc(24 * 1rem / 16);
    background-color: var(--color--text-black);
    mask-image: url("/assets/img/components/icon/icon_loupe.svg");
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
    transition: background-color 0.2s ease 0s;
    @media (width >= 768px) {
      inline-size: 18px;
      block-size: 18px;
    }
  }

  .gsc-search-button-v2:hover::before {
    background-color: var(--color--red);
  }

  .gs-promotion .gs-visibleUrl,
  .gs-webResult .gs-visibleUrl {
    /* color: #000; */
    color: var(--color--gray);
  }

  .gsc-results .gsc-cursor {
    /* color: #333;
    display: inline;
    fill: #333; */
    display: flex;
    flex-wrap: wrap;
    gap: calc(10 * 1rem / 16);
    @media (width >= 768px) {
      gap: 10px;
    }
  }

  .gsc-results .gsc-cursor-box {
    /* margin: 10px; */
    margin-inline: unset;
    margin-block: calc(60 * 1rem / 16) calc(20 * 1rem / 16);
    @media (width >= 768px) {
      margin-block: 80px 30px;
    }
  }

  .gsc-results .gsc-cursor-box .gsc-cursor-page {
    /* text-decoration: none;
    color: #333; */
    display: grid;
    place-content: center;
    inline-size: calc(50 * 1rem / 16);
    aspect-ratio: 1;
    margin: unset;
    border: 1px solid var(--color--red);
    border-radius: 4px;
    background-color: var(--color--white);
    font-weight: 500;
    transition: color 0.2s ease 0s;
    @media (width >= 768px) {
      inline-size: 50px;
    }
  }

  .gsc-results .gsc-cursor-box .gsc-cursor-page:hover {
    /* text-decoration: underline; */
    color: var(--color--red);
    text-decoration: unset;
  }

  .gsc-results .gsc-cursor-box .gsc-cursor-current-page {
    /* color: #222; */
    background-color: var(--color--red);
    color: var(--color--white);
    font-weight: 700;
    pointer-events: none;
  }
}
