*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */ /* 3 */
  tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
.u-mr-\[0\.125rem\] {
  margin-right: 0.125rem !important;
}
.u-mt-\[0\.5rem\] {
  margin-top: 0.5rem !important;
}
.u-mt-\[0\.625rem\] {
  margin-top: 0.625rem !important;
}
.u-mt-\[0\.75rem\] {
  margin-top: 0.75rem !important;
}
.u-mt-\[1\.5rem\] {
  margin-top: 1.5rem !important;
}
.u-mt-\[1\.625rem\] {
  margin-top: 1.625rem !important;
}
.u-mt-\[1rem\] {
  margin-top: 1rem !important;
}
.u-mt-\[2\.0625rem\] {
  margin-top: 2.0625rem !important;
}
.u-inline-block {
  display: inline-block !important;
}
.u-w-\[4\.75rem\] {
  width: 4.75rem !important;
}
.u-w-\[68\%\] {
  width: 68% !important;
}
.u-pb-\[1\.25rem\] {
  padding-bottom: 1.25rem !important;
}
.u-pb-\[2rem\] {
  padding-bottom: 2rem !important;
}
.u-pb-\[5rem\] {
  padding-bottom: 5rem !important;
}
.u-pl-\[2\.5rem\] {
  padding-left: 2.5rem !important;
}
.u-pr-\[2\.5rem\] {
  padding-right: 2.5rem !important;
}
.u-pt-\[1\.25rem\] {
  padding-top: 1.25rem !important;
}
.u-pt-\[2rem\] {
  padding-top: 2rem !important;
}
.u-pt-\[5rem\] {
  padding-top: 5rem !important;
}
.u-text-center {
  text-align: center !important;
}
@media (max-width: 47.99em) {

  .small_sp\:u-mt-\[1\.5rem\] {
    margin-top: 1.5rem !important;
  }

  .small_sp\:u-hidden {
    display: none !important;
  }
}
@media (min-width: 48em) {

  .small_pc\:u-hidden {
    display: none !important;
  }
}
@media (max-width: 59.99em) {

  .sp\:u-mb-\[1\.5rem\] {
    margin-bottom: 1.5rem !important;
  }

  .sp\:u-ml-\[0\.375rem\] {
    margin-left: 0.375rem !important;
  }

  .sp\:u-mt-\[0\.25rem\] {
    margin-top: 0.25rem !important;
  }

  .sp\:u-mt-\[0\.5rem\] {
    margin-top: 0.5rem !important;
  }

  .sp\:u-mt-\[0\.625rem\] {
    margin-top: 0.625rem !important;
  }

  .sp\:u-mt-\[0\.75rem\] {
    margin-top: 0.75rem !important;
  }

  .sp\:u-mt-\[1\.25rem\] {
    margin-top: 1.25rem !important;
  }

  .sp\:u-mt-\[2\.5rem\] {
    margin-top: 2.5rem !important;
  }

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

  .sp\:u-w-\[19\.5\%\] {
    width: 19.5% !important;
  }

  .sp\:u-w-\[22\%\] {
    width: 22% !important;
  }

  .sp\:u-w-\[26\%\] {
    width: 26% !important;
  }

  .sp\:u-w-\[39\%\] {
    width: 39% !important;
  }

  .sp\:u-w-\[44\.7\%\] {
    width: 44.7% !important;
  }

  .sp\:u-w-\[57\%\] {
    width: 57% !important;
  }

  .sp\:u-w-\[79\%\] {
    width: 79% !important;
  }

  .sp\:u-pb-\[2\.5rem\] {
    padding-bottom: 2.5rem !important;
  }

  .sp\:u-pb-\[5\.75rem\] {
    padding-bottom: 5.75rem !important;
  }

  .sp\:u-pt-\[2\.5rem\] {
    padding-top: 2.5rem !important;
  }

  .sp\:u-pt-\[3\.75rem\] {
    padding-top: 3.75rem !important;
  }

  .sp\:u-pt-\[5\.25rem\] {
    padding-top: 5.25rem !important;
  }

  .sp\:u-pt-\[5\.75rem\] {
    padding-top: 5.75rem !important;
  }

  .sp\:u-pt-\[7\.5rem\] {
    padding-top: 7.5rem !important;
  }
}
@media (min-width: 60em) {

  .pc\:u-mb-\[2rem\] {
    margin-bottom: 2rem !important;
  }

  .pc\:u-mt-\[0\.5rem\] {
    margin-top: 0.5rem !important;
  }

  .pc\:u-mt-\[0\.625rem\] {
    margin-top: 0.625rem !important;
  }

  .pc\:u-mt-\[0\.75rem\] {
    margin-top: 0.75rem !important;
  }

  .pc\:u-mt-\[1\.25rem\] {
    margin-top: 1.25rem !important;
  }

  .pc\:u-mt-\[1\.5rem\] {
    margin-top: 1.5rem !important;
  }

  .pc\:u-mt-\[1\.625rem\] {
    margin-top: 1.625rem !important;
  }

  .pc\:u-mt-\[1rem\] {
    margin-top: 1rem !important;
  }

  .pc\:u-mt-\[2\.25rem\] {
    margin-top: 2.25rem !important;
  }

  .pc\:u-mt-\[5rem\] {
    margin-top: 5rem !important;
  }

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

  .pc\:u-w-\[18\%\] {
    width: 18% !important;
  }

  .pc\:u-w-\[24\.5\%\] {
    width: 24.5% !important;
  }

  .pc\:u-w-\[25\%\] {
    width: 25% !important;
  }

  .pc\:u-w-\[25\.7\%\] {
    width: 25.7% !important;
  }

  .pc\:u-w-\[26\%\] {
    width: 26% !important;
  }

  .pc\:u-w-\[37\%\] {
    width: 37% !important;
  }

  .pc\:u-w-\[56\%\] {
    width: 56% !important;
  }

  .pc\:u-w-\[79\%\] {
    width: 79% !important;
  }

  .pc\:u-pb-\[2\.5rem\] {
    padding-bottom: 2.5rem !important;
  }

  .pc\:u-pb-\[4\.75rem\] {
    padding-bottom: 4.75rem !important;
  }

  .pc\:u-pb-\[5rem\] {
    padding-bottom: 5rem !important;
  }

  .pc\:u-pl-\[2\.5rem\] {
    padding-left: 2.5rem !important;
  }

  .pc\:u-pl-\[3\.75rem\] {
    padding-left: 3.75rem !important;
  }

  .pc\:u-pl-\[7rem\] {
    padding-left: 7rem !important;
  }

  .pc\:u-pr-\[2\.5rem\] {
    padding-right: 2.5rem !important;
  }

  .pc\:u-pr-\[3\.75rem\] {
    padding-right: 3.75rem !important;
  }

  .pc\:u-pr-\[7rem\] {
    padding-right: 7rem !important;
  }

  .pc\:u-pt-\[1\.5rem\] {
    padding-top: 1.5rem !important;
  }

  .pc\:u-pt-\[2\.5rem\] {
    padding-top: 2.5rem !important;
  }

  .pc\:u-pt-\[4\.75rem\] {
    padding-top: 4.75rem !important;
  }

  .pc\:u-pt-\[5rem\] {
    padding-top: 5rem !important;
  }

  .pc\:u-pt-\[9\.6875rem\] {
    padding-top: 9.6875rem !important;
  }
}
/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea { /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -moz-appearance: textfield;
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

:root {
  --color-text: #333;
  --color-gray: #787878;
  --color-light-gray: #f0f0f0;
  --color-red: #c01d20;
  --color-white: #ffffff;
  --color-heading-bg: #eee;
  --color-heading: #000;
  --color-alabaster: #fcfcfc;
  --color-required: #dc2626;
  --color-checked: #2563eb;
  --color-outline: #005fcd;
  --icon-check: url('data:image/svg+xml;charset=UTF-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M20.7071 5.29289C21.0976 5.68342 21.0976 6.31658 20.7071 6.70711L9.70711 17.7071C9.31658 18.0976 8.68342 18.0976 8.29289 17.7071L3.29289 12.7071C2.90237 12.3166 2.90237 11.6834 3.29289 11.2929C3.68342 10.9024 4.31658 10.9024 4.70711 11.2929L9 15.5858L19.2929 5.29289C19.6834 4.90237 20.3166 4.90237 20.7071 5.29289Z" fill="black"/></svg>');
  --icon-down: url('data:image/svg+xml;charset=UTF-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.29289 8.29289C5.68342 7.90237 6.31658 7.90237 6.70711 8.29289L12 13.5858L17.2929 8.29289C17.6834 7.90237 18.3166 7.90237 18.7071 8.29289C19.0976 8.68342 19.0976 9.31658 18.7071 9.70711L12.7071 15.7071C12.3166 16.0976 11.6834 16.0976 11.2929 15.7071L5.29289 9.70711C4.90237 9.31658 4.90237 8.68342 5.29289 8.29289Z" fill="black"/></svg>');
  --icon-left: url('data:image/svg+xml;charset=UTF-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M15.7071 5.29289C16.0976 5.68342 16.0976 6.31658 15.7071 6.70711L10.4142 12L15.7071 17.2929C16.0976 17.6834 16.0976 18.3166 15.7071 18.7071C15.3166 19.0976 14.6834 19.0976 14.2929 18.7071L8.29289 12.7071C7.90237 12.3166 7.90237 11.6834 8.29289 11.2929L14.2929 5.29289C14.6834 4.90237 15.3166 4.90237 15.7071 5.29289Z" fill="black"/></svg>');
  --icon-right: url('data:image/svg+xml;charset=UTF-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M8.29289 5.29289C8.68342 4.90237 9.31658 4.90237 9.70711 5.29289L15.7071 11.2929C16.0976 11.6834 16.0976 12.3166 15.7071 12.7071L9.70711 18.7071C9.31658 19.0976 8.68342 19.0976 8.29289 18.7071C7.90237 18.3166 7.90237 17.6834 8.29289 17.2929L13.5858 12L8.29289 6.70711C7.90237 6.31658 7.90237 5.68342 8.29289 5.29289Z" fill="black"/></svg>');
  --icon-up: url('data:image/svg+xml;charset=UTF-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.2929 8.29289C11.6834 7.90237 12.3166 7.90237 12.7071 8.29289L18.7071 14.2929C19.0976 14.6834 19.0976 15.3166 18.7071 15.7071C18.3166 16.0976 17.6834 16.0976 17.2929 15.7071L12 10.4142L6.70711 15.7071C6.31658 16.0976 5.68342 16.0976 5.29289 15.7071C4.90237 15.3166 4.90237 14.6834 5.29289 14.2929L11.2929 8.29289Z" fill="black"/></svg>');
  --icon-tab: url('data:image/svg+xml;charset=UTF-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M6.4 5.6C6.18783 5.6 5.98434 5.68429 5.83431 5.83431C5.68429 5.98434 5.6 6.18783 5.6 6.4V17.6C5.6 17.8122 5.68429 18.0157 5.83431 18.1657C5.98434 18.3157 6.18783 18.4 6.4 18.4H17.6C17.8122 18.4 18.0157 18.3157 18.1657 18.1657C18.3157 18.0157 18.4 17.8122 18.4 17.6V12.8C18.4 12.3582 18.7582 12 19.2 12C19.6418 12 20 12.3582 20 12.8V17.6C20 18.2365 19.7471 18.847 19.2971 19.2971C18.847 19.7471 18.2365 20 17.6 20H6.4C5.76348 20 5.15303 19.7471 4.70294 19.2971C4.25286 18.847 4 18.2365 4 17.6V6.4C4 5.76348 4.25286 5.15303 4.70294 4.70294C5.15303 4.25286 5.76348 4 6.4 4H11.2C11.6418 4 12 4.35817 12 4.8C12 5.24183 11.6418 5.6 11.2 5.6H6.4ZM14.4 5.6C13.9582 5.6 13.6 5.24183 13.6 4.8C13.6 4.35817 13.9582 4 14.4 4H19.2C19.6418 4 20 4.35817 20 4.8V9.6C20 10.0418 19.6418 10.4 19.2 10.4C18.7582 10.4 18.4 10.0418 18.4 9.6V6.73137L12.5657 12.5657C12.2533 12.8781 11.7467 12.8781 11.4343 12.5657C11.1219 12.2533 11.1219 11.7467 11.4343 11.4343L17.2686 5.6H14.4Z" fill="black"/></svg>');
  --icon-arrow-up: url('data:image/svg+xml;charset=UTF-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.2929 4.29289C11.6834 3.90237 12.3166 3.90237 12.7071 4.29289L19.7071 11.2929C20.0976 11.6834 20.0976 12.3166 19.7071 12.7071C19.3166 13.0976 18.6834 13.0976 18.2929 12.7071L13 7.41421V19C13 19.5523 12.5523 20 12 20C11.4477 20 11 19.5523 11 19V7.41421L5.70711 12.7071C5.31658 13.0976 4.68342 13.0976 4.29289 12.7071C3.90237 12.3166 3.90237 11.6834 4.29289 11.2929L11.2929 4.29289Z" fill="white"/></svg>');
  --icon-arrow-right: url('data:image/svg+xml;charset=UTF-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.2929 4.29289C11.6834 3.90237 12.3166 3.90237 12.7071 4.29289L19.7071 11.2929C20.0976 11.6834 20.0976 12.3166 19.7071 12.7071L12.7071 19.7071C12.3166 20.0976 11.6834 20.0976 11.2929 19.7071C10.9024 19.3166 10.9024 18.6834 11.2929 18.2929L16.5858 13H5C4.44772 13 4 12.5523 4 12C4 11.4477 4.44772 11 5 11H16.5858L11.2929 5.70711C10.9024 5.31658 10.9024 4.68342 11.2929 4.29289Z" fill="black"/></svg>');
  --icon-arrow-left: url('data:image/svg+xml;charset=UTF-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.7071 4.29289C13.0976 4.68342 13.0976 5.31658 12.7071 5.70711L7.41421 11H19C19.5523 11 20 11.4477 20 12C20 12.5523 19.5523 13 19 13H7.41421L12.7071 18.2929C13.0976 18.6834 13.0976 19.3166 12.7071 19.7071C12.3166 20.0976 11.6834 20.0976 11.2929 19.7071L4.29289 12.7071C3.90237 12.3166 3.90237 11.6834 4.29289 11.2929L11.2929 4.29289C11.6834 3.90237 12.3166 3.90237 12.7071 4.29289Z" fill="black"/></svg>');
  --icon-arrow-down: url('data:image/svg+xml;charset=UTF-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 4C12.5523 4 13 4.44772 13 5V16.5858L18.2929 11.2929C18.6834 10.9024 19.3166 10.9024 19.7071 11.2929C20.0976 11.6834 20.0976 12.3166 19.7071 12.7071L12.7071 19.7071C12.3166 20.0976 11.6834 20.0976 11.2929 19.7071L4.29289 12.7071C3.90237 12.3166 3.90237 11.6834 4.29289 11.2929C4.68342 10.9024 5.31658 10.9024 5.70711 11.2929L11 16.5858V5C11 4.44772 11.4477 4 12 4Z" fill="black"/></svg>');
  --icon-plus: url('data:image/svg+xml;charset=UTF-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4 12C4 11.4477 4.44772 11 5 11H19C19.5523 11 20 11.4477 20 12C20 12.5523 19.5523 13 19 13H5C4.44772 13 4 12.5523 4 12Z" fill="black"/><path fill-rule="evenodd" clip-rule="evenodd" d="M12 4C12.5523 4 13 4.44772 13 5V19C13 19.5523 12.5523 20 12 20C11.4477 20 11 19.5523 11 19V5C11 4.44772 11.4477 4 12 4Z" fill="black"/></svg>');
  --icon-minus: url('data:image/svg+xml;charset=UTF-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4 12C4 11.4477 4.44772 11 5 11H19C19.5523 11 20 11.4477 20 12C20 12.5523 19.5523 13 19 13H5C4.44772 13 4 12.5523 4 12Z" fill="black"/></svg>');
  --icon-stop: url('data:image/svg+xml;charset=UTF-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M8.5 6C9.05228 6 9.5 6.44772 9.5 7L9.5 17C9.5 17.5523 9.05228 18 8.5 18C7.94771 18 7.5 17.5523 7.5 17L7.5 7C7.5 6.44772 7.94772 6 8.5 6Z" fill="black"/><path fill-rule="evenodd" clip-rule="evenodd" d="M15.5 6C16.0523 6 16.5 6.44772 16.5 7L16.5 17C16.5 17.5523 16.0523 18 15.5 18C14.9477 18 14.5 17.5523 14.5 17L14.5 7C14.5 6.44772 14.9477 6 15.5 6Z" fill="black"/></svg>');
  --icon-start: url('data:image/svg+xml;charset=UTF-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M16 11.9999L10 8.53579L10 15.464L16 11.9999ZM18.5 12.8659C19.1667 12.481 19.1667 11.5188 18.5 11.1339L9.5 5.93771C8.83333 5.55281 8 6.03394 8 6.80374L8 17.196C8 17.9658 8.83333 18.447 9.5 18.0621L18.5 12.8659Z" fill="black"/></svg>');
  --icon-menu-open-white: url('data:image/svg+xml;charset=UTF-8,<svg width="20" height="19" viewBox="0 0 20 19" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.951993 0H20L19.2198 3.02494H0.171753L0.951993 0Z" fill="white"/><path d="M0.781925 8H14.8458L14.0639 11.0315H0L0.781925 8Z" fill="white"/><path d="M0.787178 15.9482H7.86637L7.0792 19.0001H0L0.787178 15.9482Z" fill="white"/></svg>');
  --icon-menu-open-red: url('data:image/svg+xml;charset=UTF-8,<svg width="20" height="19" viewBox="0 0 20 19" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.951993 0H20L19.2198 3.02494H0.171753L0.951993 0Z" fill="%23c01d20"/><path d="M0.781925 8H14.8458L14.0639 11.0315H0L0.781925 8Z" fill="%23c01d20"/><path d="M0.787178 15.9482H7.86637L7.0792 19.0001H0L0.787178 15.9482Z" fill="%23c01d20"/></svg>');
  --icon-menu-close: url('data:image/svg+xml;charset=UTF-8,<svg width="21" height="20" viewBox="0 0 21 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 17.5149L17.9658 0.549076L20.5639 2.04911L3.59805 19.0149L1 17.5149Z" fill="%23c01d20"/><path d="M3.54907 0.549069L20.5149 17.5149L17.9168 19.0149L0.950962 2.04904L3.54907 0.549069Z" fill="%23c01d20"/></svg>');
  --icon-slash: url('data:image/svg+xml;charset=UTF-8,<svg width="7" height="15" viewBox="0 0 7 15" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="3" height="14" transform="matrix(1 0 -0.258819 0.965926 3.62347 1.23853)" fill="black"/></svg>');
  --icon-error: url('data:image/svg+xml;charset=UTF-8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0_7734_8767" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="16" height="16"><rect width="16" height="16" fill="%23D9D9D9"/></mask><g mask="url(%23mask0_7734_8767)"><path d="M2.40046 14C1.63013 14 1.14907 13.1657 1.53504 12.499L7.13392 2.8282C7.51909 2.16292 8.47961 2.16292 8.86477 2.8282L14.4637 12.499C14.8496 13.1657 14.3686 14 13.5982 14H2.40046ZM7.99935 12C8.18824 12 8.34657 11.9362 8.47435 11.8084C8.60213 11.6806 8.66602 11.5223 8.66602 11.3334C8.66602 11.1445 8.60213 10.9862 8.47435 10.8584C8.34657 10.7306 8.18824 10.6667 7.99935 10.6667C7.81046 10.6667 7.65213 10.7306 7.52435 10.8584C7.39657 10.9862 7.33268 11.1445 7.33268 11.3334C7.33268 11.5223 7.39657 11.6806 7.52435 11.8084C7.65213 11.9362 7.81046 12 7.99935 12ZM7.33268 10H8.66602V6.66671H7.33268V10Z" fill="%23DC2626"/></g></svg>');
  --shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.15);
  --opacity: 0.7;
  --transition-duration: 0.3s;
  --font-jost: "Jost", sans-serif;
}
@media screen and (min-width: 60em), print {
  :root {
    --section-side-padding: 3.75rem;
    --section-max-width: 72.75rem;
    --header-height: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  :root {
    --section-side-padding: 1.25rem;
    --header-height: 3.25rem;
    --max-width-image: 37.5rem;
  }
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.8;
  color: var(--color-text);
  letter-spacing: 0.02em;
  background-color: var(--color-light-gray);
}

html,
body {
  overflow-x: clip;
  overscroll-behavior: none;
}

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

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

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

.splide--rtl {
  direction: rtl;
}

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

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

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

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

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

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

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

.splide__progress__bar {
  width: 0;
}

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

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

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

.splide__slide img {
  vertical-align: bottom;
}

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

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

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

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

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

.sample {
  -webkit-user-select: none;
          user-select: none;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}

.header {
  position: sticky;
  top: 0;
  z-index: 90;
  height: var(--header-height);
  background: var(--color-header);
  transition-duration: var(--transition-duration);
  transition-property: all;
  --color-header-scroll: rgba(255, 255, 255, 0.85);
}
@media screen and (min-width: 60em), print {
  .header {
    --color-header: rgba(255, 255, 255, 0.6);
    --color-header-hover: rgba(255, 255, 255, 0.6);
    --color-header-sub-menu: rgba(255, 255, 255, 0.8);
    --blur-header: blur(7px);
    --blur-header-scroll-hover: blur(10px);
  }
  .header::before {
    position: absolute;
    inset: 0;
    content: "";
    -webkit-backdrop-filter: var(--blur-header);
            backdrop-filter: var(--blur-header);
  }
}
@media screen and (max-width: 59.99em) {
  .header {
    --color-header: transparent;
    --blur-header: blur(7px);
  }
}
.header.is-scroll {
  background: var(--color-header-scroll);
}
@media screen and (max-width: 59.99em) {
  .header.is-scroll {
    -webkit-backdrop-filter: var(--blur-header);
            backdrop-filter: var(--blur-header);
  }
}
@media screen and (min-width: 60em), print {
  .header.is-submenu-open {
    background: var(--color-header-hover);
  }
}
@media screen and (max-width: 59.99em) {
  .header.is-menu-open {
    background-color: #f8f8f8;
  }
}

.header__content {
  display: grid;
  align-items: center;
  width: calc(100% - var(--side-padding) * 2);
  height: 100%;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 60em) and (max-width: 67.49em) {
  .header__content {
    grid-template-columns: 5rem 1fr;
  }
}
@media screen and (min-width: 67.5em), print {
  .header__content {
    grid-template-columns: 7.3125rem 1fr;
  }
}
@media screen and (min-width: 60em) and (max-width: 90.0525em) {
  .header__content {
    --side-padding: 1.5rem;
    max-width: 81.5rem;
  }
}
@media screen and (min-width: 90.0625em), print {
  .header__content {
    --side-padding: 4.25rem;
  }
}
@media screen and (min-width: 60em), print {
  .header__content {
    position: relative;
    align-items: center;
  }
}
@media screen and (max-width: 59.99em) {
  .header__content {
    --side-padding: 0.75rem;
    grid-template-columns: 5.375rem 1fr min-content;
    column-gap: 1.5rem;
    justify-items: end;
  }
  .header__menu {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: calc(100dvh - var(--header-height));
    padding: 1.875rem 2.5rem;
    overflow-y: auto;
    visibility: hidden;
    background-color: var(--color-white);
    transition-duration: var(--transition-duration);
    transition-property: visibility, transform;
    transform: translateX(100%);
  }
  .header__menu:is(.header.is-menu-open *) {
    visibility: visible;
    transform: none;
  }
}

.header__nav {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .header__nav {
    grid-template-columns: auto auto;
    column-gap: 2rem;
    align-items: center;
    justify-content: end;
  }
}
@media screen and (max-width: 59.99em) {
  .header__nav {
    row-gap: 1.5rem;
  }
}

.header__list {
  display: grid;
}
@media screen and (min-width: 60em) and (max-width: 67.49em) {
  .header__list {
    column-gap: 1rem;
  }
}
@media screen and (min-width: 67.5em), print {
  .header__list {
    column-gap: 1.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .header__list {
    grid-auto-flow: column;
    align-items: center;
    justify-content: end;
    height: 100%;
  }
}
@media screen and (max-width: 59.99em) {
  .header__list {
    grid-auto-flow: row;
    row-gap: 0.5rem;
  }
}

.header__language {
  display: grid;
  grid-auto-flow: column;
  column-gap: 0.25rem;
  transition-duration: var(--transition-duration);
  transition-property: opacity visibility;
}
@media screen and (min-width: 60em) and (max-width: 67.49em) {
  .header__language {
    line-height: 1.7;
    font-weight: 400;
    font-size: 0.875rem;
    letter-spacing: 0.04em;
  }
}
@media screen and (max-width: 59.99em) {
  .header__language:is(.is-scroll:not(.is-menu-open) *) {
    visibility: hidden;
    opacity: 0;
  }
}
.header__language a {
  transition-duration: var(--transition-duration);
  transition-property: color;
}
@media (hover: hover) {
  .header__language a:where(:any-link, :enabled, summary):hover {
    color: var(--color-red);
  }
}

.header__link {
  display: grid;
  align-items: center;
  font-weight: 600;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 60em) and (max-width: 67.49em) {
  .header__link {
    line-height: 1.7;
    font-weight: 600;
    font-size: 0.875rem;
    letter-spacing: 0.04em;
  }
}
@media screen and (min-width: 60em), print {
  .header__link {
    height: 100%;
  }
}
@media screen and (max-width: 59.99em) {
  .header__link:not(:is(.header__language *)) {
    padding-bottom: 0.375rem;
    border-bottom: 2px solid var(--color-light-gray);
  }
}
@media screen and (hover: hover) and (min-width: 60em), print and (hover: hover) {
  .header__link:where(:any-link, :enabled, summary):hover {
    color: var(--color-red);
    transition-duration: var(--transition-duration);
    transition-property: color;
  }
}
.header__link[aria-expanded] {
  grid-template-columns: 1fr 1.5rem;
  column-gap: 0.25rem;
}
@media screen and (max-width: 59.99em) {
  .header__link[aria-expanded] {
    width: 100%;
  }
}
.header__link[aria-expanded] .header__link-icon {
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
}
.header__link[aria-expanded] .header__link-icon::before, .header__link[aria-expanded] .header__link-icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  content: "";
  background-color: currentColor;
  border-radius: 9999px;
  transform: translate(-50%, -50%);
}
.header__link[aria-expanded] .header__link-icon::before {
  width: 16px;
  height: 2px;
}
.header__link[aria-expanded] .header__link-icon::after {
  width: 2px;
  height: 16px;
  opacity: 1;
  transition-duration: var(--transition-duration);
  transition-property: opacity;
}
@media screen and (min-width: 60em), print {
  .header__link[aria-expanded]:is([aria-expanded=true], .is-hover) {
    color: var(--color-red);
    transition-duration: var(--transition-duration);
    transition-property: color;
  }
}
.header__link[aria-expanded]:is([aria-expanded=true], .is-hover) .header__link-icon::after {
  opacity: 0;
}

@media screen and (min-width: 60em), print {
  .header__submenu {
    position: absolute;
    top: calc(100% + 0.5rem);
    left: 50%;
    width: 100%;
    max-width: 1024px;
    max-height: calc(100vh - var(--header-height));
    overflow-y: auto;
    visibility: hidden;
    background: var(--color-header-sub-menu);
    -webkit-backdrop-filter: var(--blur-header-scroll-hover);
            backdrop-filter: var(--blur-header-scroll-hover);
    box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.15);
    opacity: 0;
    transition-duration: var(--transition-duration);
    transition-property: opacity, visibility;
    transform: translateX(-50%);
  }
  .header__submenu:is(:is([aria-expanded=true], .is-hover) ~ *) {
    visibility: visible;
    opacity: 1;
  }
}

.header__submenu-content {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .header__submenu-content {
    grid-auto-flow: column;
    padding: 2.5rem 4.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .header__submenu-content {
    row-gap: 0.75rem;
    padding-top: 0.5rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--color-light-gray);
  }
}

.header__submenu-column {
  display: grid;
  grid-auto-flow: row;
}
@media screen and (min-width: 60em), print {
  .header__submenu-column {
    grid-template-rows: min-content 1fr;
    row-gap: 0.5rem;
    align-items: start;
  }
}
@media screen and (max-width: 59.99em) {
  .header__submenu-column {
    row-gap: 0.25rem;
  }
}

.header__submenu-title {
  color: var(--color-gray);
  font-weight: 600;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
.header__submenu-list {
  display: grid;
  grid-auto-flow: row;
}
@media screen and (min-width: 60em), print {
  .header__submenu-list {
    row-gap: 0.375rem;
  }
}
@media screen and (max-width: 59.99em) {
  .header__submenu-list {
    row-gap: 0.25rem;
  }
}

.header__conversion-list {
  display: grid;
  grid-auto-flow: column;
}
@media screen and (min-width: 60em), print {
  .header__conversion-list {
    column-gap: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .header__conversion-list {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 1rem;
  }
}

.header__conversion-link {
  column-gap: 0.375rem;
  justify-content: center;
  height: 2.5rem;
}
@media screen and (min-width: 60em), print {
  .header__conversion-link {
    width: 8.75rem;
  }
}
.header__conversion-link::after {
  width: 1rem;
  height: 1rem;
}

@media screen and (min-width: 60em), print {
  .header__toggle {
    display: none;
  }
}
@media screen and (max-width: 59.99em) {
  .header__toggle {
    width: 2.5rem;
    height: 2.5rem;
    transition-duration: var(--transition-duration);
    transition-property: background-color background-image;
  }
  .header__toggle:is(.is-scroll *) {
    background-color: transparent;
    background-image: var(--icon-menu-open-red);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 1.25rem;
  }
  .header__toggle:is(:not(.is-scroll *)) {
    background-color: var(--color-red);
    background-image: var(--icon-menu-open-white);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 1.25rem;
  }
  .header__toggle:is(.is-menu-open *) {
    background-color: transparent;
    background-image: var(--icon-menu-close);
  }
}

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

.footer__content {
  width: calc(100% - var(--section-side-padding) * 2);
  padding-top: 3rem;
  padding-bottom: 3rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 60em), print {
  .footer__content {
    max-width: var(--section-max-width);
  }
}

.footer__logo {
  width: 100%;
}
@media screen and (min-width: 60em), print {
  .footer__logo {
    max-width: 22.75rem;
    margin-bottom: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__logo {
    max-width: 17.1875rem;
    margin-bottom: 1.25rem;
  }
}

.footer__menu {
  border-top: 1px solid var(--color-red);
}
@media screen and (min-width: 60em), print {
  .footer__menu {
    padding-top: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__menu {
    padding-top: 1.25rem;
  }
}

@media screen and (min-width: 60em), print {
  .footer__menu-content {
    display: grid;
    grid-template-areas: "list conversion" "list privacy" "list evidence";
    column-gap: 8.5rem;
  }
}
@media screen and (min-width: 60em) and (max-width: 80.8025em) and (min-width: 60em) {
  .footer__menu-content {
    grid-template-columns: 1fr 12rem;
    column-gap: 2rem;
  }
}
@media screen and (min-width: 80.8125em) and (min-width: 60em), print {
  .footer__menu-content {
    grid-template-columns: 1fr 16.5rem;
    column-gap: 8.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__menu-content {
    width: calc(100% - var(--section-side-padding) * 2);
    margin-right: auto;
    margin-left: auto;
  }
}

.footer__list {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .footer__list {
    grid-area: list;
    grid-template-rows: min-content min-content 1fr;
    grid-template-columns: 0.23fr 0.77fr;
    gap: 1.5rem 2.25rem;
    align-items: start;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__list {
    row-gap: 0.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .footer__list > li:first-of-type {
    grid-row: 1/2;
    grid-column: 1/2;
  }
  .footer__list > li:nth-of-type(2) {
    grid-row: 2/3;
    grid-column: 1/2;
  }
  .footer__list > li:nth-of-type(3) {
    grid-row: 3/4;
    grid-column: 1/2;
  }
  .footer__list > li:nth-of-type(3) .footer__submenu-content {
    margin-top: 0.25rem;
  }
  .footer__list > li:nth-of-type(4) {
    grid-row: 1/4;
    grid-column: 2/3;
  }
  .footer__list > li:nth-of-type(4) .footer__submenu-content {
    margin-top: 1.5rem;
  }
}

.footer__link {
  font-weight: 600;
  line-height: 1.75;
  color: var(--color-heading);
  letter-spacing: 0.02em;
}
@media screen and (min-width: 60em), print {
  .footer__link {
    font-size: 1.125rem;
    transition-duration: var(--transition-duration);
    transition-property: color;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__link {
    display: grid;
    align-items: center;
    width: 100%;
    padding-bottom: 0.375rem;
    border-bottom: 2px solid var(--color-light-gray);
  }
  .footer__link[aria-expanded] {
    grid-template-columns: 1fr 1.5rem;
    column-gap: 0.25rem;
  }
}
.footer__link[aria-expanded]::after {
  width: 1.5rem;
  height: 1.5rem;
  content: "";
  background-color: currentColor;
  mask-image: var(--icon-down);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 100%;
  transition-duration: var(--transition-duration);
  transition-property: transform;
}
.footer__link[aria-expanded=true]::after {
  transform: rotate(-180deg);
}
@media screen and (hover: hover) and (min-width: 60em), print and (hover: hover) {
  .footer__link:where(:any-link, :enabled, summary):hover {
    color: var(--color-red);
  }
}

@media screen and (max-width: 59.99em) {
  .footer__submenu {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--color-light-gray);
  }
}

/* stylelint-disable no-descending-specificity */
.footer__submenu-content {
  display: grid;
  row-gap: 0.75rem;
}
@media screen and (min-width: 60em), print {
  .footer__submenu-content {
    grid-template-rows: auto auto;
    column-gap: 2rem;
  }
  .footer__submenu-content:is(#footer-product) .footer__submenu-column:first-of-type {
    display: none;
  }
  .footer__submenu-content:is(#footer-product) .footer__submenu-column:nth-of-type(2) {
    grid-row: 1/3;
    grid-column: 1/2;
  }
  .footer__submenu-content:is(#footer-product) .footer__submenu-column:nth-of-type(3) {
    grid-row: 1/2;
    grid-column: 2/3;
  }
  .footer__submenu-content:is(#footer-product) .footer__submenu-column:nth-of-type(4) {
    grid-row: 1/2;
    grid-column: 3/4;
  }
  .footer__submenu-content:is(#footer-product) .footer__submenu-column:nth-of-type(5) {
    grid-row: 2/3;
    grid-column: 3/4;
  }
}

.footer__submenu-list {
  display: grid;
  grid-auto-flow: row;
}
@media screen and (min-width: 60em), print {
  .footer__submenu-list {
    row-gap: 0.5rem;
    margin-top: 0.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__submenu-list {
    row-gap: 0.25rem;
    margin-top: 0.25rem;
  }
}
@media screen and (min-width: 60em), print {
  .footer__submenu-list:is(#footer-company *) .footer__submenu-item:first-of-type {
    display: none;
  }
}

.footer__submenu-title {
  color: var(--color-gray);
  font-weight: 600;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
.footer__conversion-list {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .footer__conversion-list {
    grid-area: conversion;
    row-gap: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__conversion-list {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 1rem;
    margin-top: 1.5rem;
  }
}

.footer__conversion-link {
  column-gap: 0.375rem;
}
@media screen and (min-width: 60em), print {
  .footer__conversion-link {
    justify-content: space-between;
    height: 3.25rem;
    padding-right: 1rem;
    padding-left: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__conversion-link {
    justify-content: center;
    height: 2.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .footer__conversion-link::after {
    width: 1.25rem;
    height: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__conversion-link::after {
    width: 1rem;
    height: 1rem;
  }
}

.footer__privacy-link {
  margin-top: 1rem;
}
@media screen and (min-width: 60em), print {
  .footer__privacy-link {
    grid-area: privacy;
  }
}
.footer__privacy-link a {
  position: relative;
  display: inline-block;
  padding-left: 1.125rem;
  color: var(--color-heading);
  transition-duration: var(--transition-duration);
  transition-property: color;
}
.footer__privacy-link a::before {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 12px;
  height: 2px;
  content: "";
  background-color: var(--color-red);
  transform: translateY(-50%);
}
@media (hover: hover) {
  .footer__privacy-link a:where(:any-link, :enabled, summary):hover {
    color: var(--color-red);
  }
}

.footer__evidence-list {
  display: grid;
  column-gap: 0.25rem;
  margin-top: 1.5rem;
}
@media screen and (min-width: 60em), print {
  .footer__evidence-list {
    grid-area: evidence;
    grid-template-columns: 0.32fr 0.32fr 0.36fr;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__evidence-list {
    grid-template-columns: 5rem 5rem 7.5rem;
  }
}

.footer__evidence-item {
  width: 100%;
}
.footer__evidence-item figure {
  display: grid;
  row-gap: 0.5rem;
}
.footer__evidence-item figure figcaption {
  font-size: 0.625rem;
  line-height: 1.4;
  text-align: center;
}
.footer__evidence-item img {
  width: 100%;
}

.container {
  width: 100%;
}
@media screen and (min-width: 60em), print {
  .container.container--padding-bottom {
    padding-bottom: 7.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .container.container--padding-bottom {
    padding-bottom: 5rem;
  }
}

.section:not(.section--has-padding-top) {
  padding-top: var(--section-top);
}
@media screen and (min-width: 60em), print {
  .section:not(.section--has-padding-top) {
    --section-top: 7.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .section:not(.section--has-padding-top) {
    --section-top: 5rem;
  }
}
.section.section--pc-width-full.section--sp-width-full {
  width: 100%;
}
@media screen and (min-width: 60em), print {
  .section.section--pc-width-full:not(.section--sp-width-full) {
    width: 100%;
  }
}
@media screen and (max-width: 59.99em) {
  .section.section--pc-width-full:not(.section--sp-width-full) {
    width: calc(100% - var(--section-side-padding) * 2);
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (min-width: 60em), print {
  .section.section--sp-width-full:not(.section--pc-width-full) {
    width: calc(100% - var(--section-side-padding) * 2);
    max-width: var(--section-max-width);
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 59.99em) {
  .section.section--sp-width-full:not(.section--pc-width-full) {
    width: 100%;
  }
}
@media screen and (min-width: 48em) and (max-width: 59.99em) {
  .section.section--left, .section.section--right {
    --section-side-padding: 3.75rem;
  }
}
@media screen and (max-width: 90.0525em) {
  .section.section--left, .section.section--right {
    width: calc(100% - var(--section-side-padding));
  }
}
@media screen and (min-width: 60em), print {
  .section.section--left, .section.section--right {
    max-width: 81.375rem;
  }
}
@media screen and (min-width: 90.0625em), print {
  .section.section--left, .section.section--right {
    margin-right: auto;
    margin-left: auto;
  }
  .section.section--left {
    margin-right: auto;
    margin-left: auto;
    transform: translateX(-69px);
  }
}
@media screen and (max-width: 90.0525em) {
  .section.section--right {
    margin-right: 0;
    margin-left: auto;
  }
}
@media screen and (min-width: 90.0625em), print {
  .section.section--right {
    margin-right: auto;
    transform: translateX(69px);
  }
}
.section:not(.section--pc-width-full,
.section--sp-width-full,
.section--left,
.section--right) {
  width: calc(100% - var(--section-side-padding) * 2);
  max-width: var(--section-max-width);
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 60em), print {
  .section:not(.section--pc-width-full,
  .section--sp-width-full,
  .section--left,
  .section--right) {
    max-width: var(--section-max-width);
  }
}

.heading02 {
  color: var(--color-heading);
}
.heading02:not(.heading02--small) {
  font-family: var(--font-jost);
  font-weight: 700;
  line-height: 1.15;
}
@media screen and (min-width: 60em), print {
  .heading02:not(.heading02--small) {
    font-size: 3.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .heading02:not(.heading02--small) {
    font-size: 2.5rem;
  }
}
.heading02 .heading02__sub {
  display: flex;
  column-gap: 0.375rem;
  align-items: center;
  font-weight: 600;
  line-height: 1.45;
  font-size: 1rem;
  letter-spacing: 0.04em;
}
.heading02 .heading02__sub::before {
  width: 0.4375rem;
  height: 0.84375rem;
  content: "";
  background-color: currentColor;
  mask-image: var(--icon-slash);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 100%;
}
.heading02__sub:not(.heading02--small .heading02) {
  margin-top: 0.75rem;
}
.heading02.heading02--gray .heading02__sub {
  color: var(--color-gray);
}
.heading02.heading02--small {
  font-family: var(--font-jost);
  font-weight: 700;
  line-height: 1.25;
  font-size: 1.875rem;
  text-transform: capitalize;
}
.heading02.heading02--small .heading02__sub {
  margin-top: 0.5rem;
  line-height: 1.7;
  font-weight: 600;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
}
.heading03 {
  display: grid;
  grid-template-columns: auto 1fr;
  color: var(--color-heading);
}
.heading03::before {
  content: "";
  background-color: var(--color-red);
}
.heading03.heading03--small {
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .heading03.heading03--small {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .heading03.heading03--small {
    font-size: 1.0625rem;
  }
}
.heading03.heading03--large {
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .heading03.heading03--large {
    font-size: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .heading03.heading03--large {
    font-size: 1.75rem;
  }
}
.heading03.heading03--product span span {
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .heading03.heading03--product span span {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .heading03.heading03--product span span {
    font-size: 1.1875rem;
  }
}
.heading03:not(.heading03--small, .heading03--large) {
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .heading03:not(.heading03--small, .heading03--large) {
    font-size: 1.625rem;
  }
}
@media screen and (max-width: 59.99em) {
  .heading03:not(.heading03--small, .heading03--large) {
    font-size: 1.4375rem;
  }
}
.heading03.heading03--border-horizontal {
  column-gap: 0.5rem;
}
.heading03.heading03--border-horizontal::before {
  width: 1.4375rem;
  height: 0.25rem;
  clip-path: polygon(1px 0%, 100% 0%, calc(100% - 1px) 100%, 0% 100%);
  transform: translateY(calc(0.5em + 100%));
}
.heading03.heading03--border-vertical {
  column-gap: 0.375rem;
}
.heading03.heading03--border-vertical::before {
  width: 1.625rem;
  height: 1.6875rem;
  clip-path: polygon(27% 0%, 100% 0%, 72% 100%, 0% 100%);
}
@media screen and (min-width: 60em), print {
  .heading03.heading03--border-vertical::before {
    transform: translateY(0.5rem);
  }
}
@media screen and (max-width: 59.99em) {
  .heading03.heading03--border-vertical::before {
    transform: translateY(0.25rem);
  }
}

.link-button {
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  border: 1px solid var(--color-red);
  transition-duration: var(--transition-duration);
  line-height: 1.5;
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em) and (max-width: 67.49em) {
  .link-button.link-button--header {
    line-height: 1.7;
    font-weight: 600;
    font-size: 0.875rem;
    letter-spacing: 0.04em;
  }
}
.link-button.link-button--red {
  color: var(--color-white);
  background-color: var(--color-red);
  transition-property: color background-color;
}
.link-button.link-button--red::after {
  background-color: var(--color-white);
  transition-property: transform background-color;
}
.link-button.link-button--white {
  color: var(--color-red);
  background-color: var(--color-white);
  transition-property: opacity;
}
.link-button.link-button--white::after {
  background-color: var(--color-red);
  transition-property: transform;
}
.link-button::after {
  display: block;
  content: "";
  mask-image: var(--icon-arrow-right);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 100%;
  transition-duration: var(--transition-duration);
}
.link-button:not(.link-button--icon-small)::after {
  width: 1.25rem;
  height: 1.25rem;
}
.link-button.link-button--icon-small::after {
  width: 1rem;
  height: 1rem;
}
@media screen and (hover: hover) and (min-width: 60em), print and (hover: hover) {
  .link-button:where(:any-link, :enabled, summary):hover.link-button--red {
    color: var(--color-red);
    background-color: var(--color-white);
  }
  .link-button:where(:any-link, :enabled, summary):hover.link-button--red::after {
    background-color: var(--color-red);
  }
  .link-button:where(:any-link, :enabled, summary):hover.link-button--white {
    opacity: var(--opacity);
  }
  .link-button:where(:any-link, :enabled, summary):hover::after {
    transform: translateX(6px);
  }
}
.link-button[target=_blank]::after {
  mask-image: var(--icon-tab);
}
.link-button[href^="#"]::after {
  mask-image: var(--icon-arrow-down);
}
@media screen and (hover: hover) and (min-width: 60em), print and (hover: hover) {
  .link-button[href^="#"]:where(:any-link, :enabled, summary):hover::after {
    transform: translateY(3px);
  }
}

.link-text {
  display: grid;
  grid-auto-flow: column;
  column-gap: 1rem;
  align-items: center;
}
.link-text .link-text__text {
  color: var(--color-red);
  transition-duration: var(--transition-duration);
  transition-property: opacity;
  line-height: 1.7;
  font-weight: 600;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
}
.link-text .link-text__icon {
  position: relative;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background-color: var(--color-red);
  transition-duration: var(--transition-duration);
  transition-property: background-color;
}
.link-text .link-text__icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 1rem;
  height: 1rem;
  content: "";
  background-color: var(--color-white);
  mask-image: var(--icon-arrow-right);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 100%;
  transition-duration: var(--transition-duration);
  transition-property: transform background-color;
  transform: translate(-50%, -50%);
}
@media screen and (hover: hover) and (min-width: 60em), print and (hover: hover) {
  :where(:any-link, :enabled, summary):hover .link-text.link-text--p .link-text__text {
    opacity: var(--opacity);
  }
  :where(:any-link, :enabled, summary):hover .link-text.link-text--p .link-text__icon {
    background-color: transparent;
  }
  :where(:any-link, :enabled, summary):hover .link-text.link-text--p .link-text__icon::after {
    background-color: var(--color-red);
    transform: translate(calc(-50% + 0.25rem), -50%);
  }
  .link-text:not(.link-text--p):where(:any-link, :enabled, summary):hover .link-text__text {
    opacity: var(--opacity);
  }
  .link-text:not(.link-text--p):where(:any-link, :enabled, summary):hover .link-text__icon {
    background-color: transparent;
  }
  .link-text:not(.link-text--p):where(:any-link, :enabled, summary):hover .link-text__icon::after {
    background-color: var(--color-red);
    transform: translate(calc(-50% + 0.25rem), -50%);
  }
}

.link-menu {
  position: relative;
  display: inline-block;
  padding-left: 1.125rem;
  color: var(--color-heading);
  transition-duration: var(--transition-duration);
  transition-property: color;
  font-weight: 600;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
.link-menu::before {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 12px;
  height: 2px;
  content: "";
  background-color: var(--color-red);
  transform: translateY(-50%);
}
@media screen and (hover: hover) and (min-width: 60em), print and (hover: hover) {
  .link-menu:where(:any-link, :enabled, summary):hover {
    color: var(--color-red);
  }
}

.text.text--h5 {
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .text.text--h5 {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .text.text--h5 {
    font-size: 1.0625rem;
  }
}
.text.text--p {
  line-height: 1.8;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
.text.text--p-sub {
  line-height: 1.7;
  font-weight: 400;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
}
.text.text--bold {
  font-weight: 600;
}

.two-column {
  display: grid;
  /* stylelint-disable no-descending-specificity */
}
@media screen and (max-width: 59.99em) {
  .two-column {
    row-gap: 2.5rem;
  }
}
@media screen and (min-width: 90.0625em), print {
  .two-column {
    width: 100%;
    max-width: 90rem;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (min-width: 60em), print {
  .two-column.two-column--image-right {
    grid-template-columns: 0.584fr 0.416fr;
  }
  .two-column.two-column--image-left {
    grid-template-columns: 0.416fr 0.584fr;
  }
}
.two-column.two-column--image-left .two-column__left {
  position: relative;
}
.two-column.two-column--image-left-decoration .two-column__image, .two-column.two-column--image-right-decoration .two-column__image {
  position: relative;
  z-index: 1;
}
.two-column.two-column--image-left-decoration .two-column__left {
  position: relative;
}
.two-column.two-column--image-left-decoration .two-column__left::after {
  position: absolute;
  top: -1.9375rem;
  right: -2.5rem;
  width: 6.3125rem;
  height: 10.3125rem;
  content: "";
  background-image: url("/assets/images/bg-two-column-left.png");
  background-repeat: no-repeat;
  background-size: 100%;
}
.two-column.two-column--image-right-decoration .two-column__right {
  position: relative;
  height: fit-content;
}
.two-column.two-column--image-right-decoration .two-column__right::after {
  position: absolute;
  bottom: -2.5rem;
  left: -2.375rem;
  width: 6.3125rem;
  height: 10.3125rem;
  content: "";
  background-image: url("/assets/images/bg-two-column-right.png");
  background-repeat: no-repeat;
  background-size: 100%;
}
@media screen and (min-width: 60em), print {
  .two-column.two-column--image-hover {
    grid-template-columns: 0.472fr 0.528fr;
  }
  .two-column .two-column__image {
    object-fit: cover;
  }
}
@media screen and (min-width: 60em) and (max-width: 67.49em) {
  .two-column .two-column__image {
    min-height: 21.25rem;
  }
}
@media screen and (min-width: 67.5em), print {
  .two-column .two-column__image {
    min-height: 25rem;
  }
}
@media screen and (min-width: 60em), print {
  .two-column .two-column__image:is(.two-column--image-hover *) {
    height: 100%;
  }
  .two-column .two-column__image.two-column__image--hover {
    position: absolute;
    top: 0;
    left: 0;
    visibility: hidden;
    opacity: 0;
    transition-duration: var(--transition-duration);
    transition-property: visibility opacity;
  }
  .two-column .two-column__image.two-column__image--hover.active {
    visibility: visible;
    opacity: 1;
  }
  .two-column .two-column__inner {
    width: calc(100% - var(--section-side-padding) * 2);
    max-width: 35.25rem;
    margin-right: auto;
    margin-left: auto;
  }
  .two-column .two-column__inner:is(.two-column--image-hover *) {
    margin-right: auto;
    margin-left: 3.75rem;
  }
}

.factory-image {
  width: 100%;
}
.factory-image img {
  object-fit: cover;
  object-position: center;
}
@media screen and (min-width: 60em), print {
  .factory-image img {
    height: 28.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .factory-image img {
    height: 23.75rem;
  }
}
@media screen and (min-width: 120em), print {
  .factory-image img {
    width: 100%;
  }
}

.white-box {
  background-color: var(--color-white);
}
@media screen and (min-width: 60em), print {
  .white-box:not(.white-box--pc-padding) {
    padding: 3.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .white-box:not(.white-box--sp-padding) {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
  .white-box .white-box__inner {
    width: calc(100% - var(--section-side-padding) * 2);
    max-width: 48rem;
    margin-right: auto;
    margin-left: auto;
  }
}

.news {
  display: grid;
  justify-items: start;
}
@media screen and (min-width: 60em), print {
  .news {
    grid-template-columns: auto 1fr;
    column-gap: 1rem;
    padding-bottom: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .news {
    row-gap: 0.125rem;
    padding-bottom: 1rem;
  }
}
.news:not([href]) .news__heading {
  grid-template-columns: 100%;
}
.news:not([href]) .news__heading .news__heading-icon {
  display: none;
}
.news[target=_blank] .news__heading .news__heading-icon {
  mask-image: var(--icon-tab);
}

.news__time {
  color: var(--color-heading);
  font-weight: 600;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
/* stylelint-disable no-descending-specificity */
.news__heading {
  display: grid;
  column-gap: 0.5rem;
  align-items: end;
  justify-content: start;
  line-height: 1.8;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 60em), print {
  .news__heading {
    grid-template-columns: auto 1.5rem;
    transition-duration: var(--transition-duration);
    transition-property: color;
  }
}
@media screen and (max-width: 59.99em) {
  .news__heading {
    grid-template-columns: 1fr 1.5rem;
  }
}
@media screen and (hover: hover) and (min-width: 60em), print and (hover: hover) {
  :where(:any-link, :enabled, summary):hover .news__heading {
    color: var(--color-red);
  }
}
.news__heading .news__heading-text:not(:is(.news__no-ellipsis *)) {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.news__heading .news__heading-icon {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background-color: currentColor;
  mask-image: var(--icon-right);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 1rem 1rem;
  transform: translateY(-0.0625rem);
}

.news-list {
  display: grid;
  grid-auto-flow: row;
  row-gap: 0.75rem;
}

.banner-link {
  display: grid;
  background-color: var(--color-white);
  box-shadow: var(--shadow);
  transition-duration: var(--transition-duration);
  transition-property: opacity;
}
@media screen and (min-width: 60em), print {
  .banner-link {
    padding: 2rem 2.5rem;
  }
}
@media screen and (hover: hover) and (min-width: 60em), print and (hover: hover) {
  .banner-link:where(:any-link, :enabled, summary):hover {
    opacity: var(--opacity);
  }
}
.banner-link:not(.banner-link--top) {
  grid-template-columns: 1fr auto;
  column-gap: 1.25rem;
  justify-content: space-between;
}
@media screen and (max-width: 59.99em) {
  .banner-link:not(.banner-link--top) {
    padding: 2rem 1.25rem;
  }
}
.banner-link.banner-link--top {
  row-gap: 1.25rem;
}
@media screen and (max-width: 59.99em) {
  .banner-link.banner-link--top {
    padding: 1.25rem;
  }
}

.banner-link__link-text {
  justify-self: flex-end;
  width: fit-content;
}

.cv-link-list {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .cv-link-list {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .cv-link-list {
    grid-auto-flow: row;
    row-gap: 1.25rem;
  }
}

.cv-link-list__item,
.cv-link-list__link {
  height: 100%;
}

@media screen and (min-width: 60em), print {
  .cv-link-list__link {
    grid-template-rows: 1fr min-content;
  }
}

.mv {
  display: grid;
  margin-top: calc(-1 * var(--header-height));
  isolation: isolate;
}
@media screen and (min-width: 48em), print {
  .mv {
    --mv-height: 27.5rem;
    row-gap: 2.25rem;
  }
}
@media screen and (max-width: 47.99em) {
  .mv {
    row-gap: 2rem;
  }
  .mv + * {
    position: relative;
    z-index: 0;
  }
}
.mv.mv--no-image + * {
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 47.99em) {
  .mv.mv--product {
    --mv-height: 27.75rem;
  }
  .mv:not(.mv--product) {
    --mv-height: 23.875rem;
  }
}

.mv__background {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  background-repeat: no-repeat;
  background-position: center top;
}
@media screen and (min-width: 48em), print {
  .mv__background {
    height: var(--mv-height);
    background-image: url("/assets/images/bg-02.png");
    background-size: 100%;
  }
}
@media screen and (max-width: 47.99em) {
  .mv__background {
    height: 32.375rem;
    background-image: url("/assets/images/bg-01.png");
    background-size: 48rem;
  }
}
@media screen and (min-width: 48em) and (max-width: 59.99em) {
  .mv__background {
    overflow: hidden;
  }
}
@media screen and (min-width: 48em), print {
  .mv__background:is(.mv--no-image *) {
    height: 50rem;
  }
}

.mv__background__image {
  height: var(--mv-height);
}
@media screen and (min-width: 48em), print {
  .mv__background__image {
    width: calc(100% - var(--left-space));
    padding-left: clamp(18rem, 36.5%, 32.9375rem);
  }
}
@media screen and (max-width: 47.99em) {
  .mv__background__image {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    padding-left: 3rem;
  }
}
.mv__background__image img {
  width: 100%;
  margin-right: 0;
  margin-left: auto;
  object-fit: cover;
}
@media screen and (min-width: 48em), print {
  .mv__background__image img {
    max-width: 67.5rem;
    clip-path: polygon(116px 0, 100% 0, 100% 100%, 0% 100%);
  }
}
@media screen and (min-width: 60em), print {
  .mv__background__image img {
    height: var(--mv-height);
  }
}
@media screen and (min-width: 48em) and (max-width: 59.99em) {
  .mv__background__image img {
    height: calc(var(--mv-height) - var(--header-height));
    margin-top: var(--header-height);
  }
}
@media screen and (max-width: 47.99em) {
  .mv__background__image img {
    max-width: 31.25rem;
    clip-path: polygon(58px 0, 100% 0, 100% 100%, 0% 100%);
  }
}

@media screen and (min-width: 48em), print {
  .mv__inner {
    display: grid;
    align-items: end;
    width: calc(100% - var(--section-side-padding) * 2);
    margin-inline: auto;
  }
}
@media screen and (min-width: 48em) and (max-width: 90.0525em) {
  .mv__inner {
    max-width: var(--section-max-width);
  }
}
@media screen and (min-width: 90.0625em), print {
  .mv__inner {
    max-width: 120rem;
  }
}
@media screen and (max-width: 47.99em) {
  .mv__inner {
    width: calc(100% - var(--section-side-padding));
    padding-top: 4rem;
    margin-right: 0;
    margin-left: auto;
  }
}
@media screen and (min-width: 48em), print {
  .mv__inner:is(.mv--no-image *) {
    padding-top: calc(var(--header-height) + 4.6875rem);
  }
}
.mv__inner:not(:is(.mv--no-image *)) {
  height: var(--mv-height);
  padding-top: var(--header-height);
  padding-bottom: 1.25rem;
}

.mv__en-title {
  display: block;
  color: var(--color-heading);
  overflow-wrap: anywhere;
  font-family: var(--font-jost);
  font-weight: 700;
  text-transform: uppercase;
}
@media screen and (min-width: 48em), print {
  .mv__en-title {
    font-size: 5rem;
  }
}
@media screen and (max-width: 47.99em) {
  .mv__en-title {
    font-size: 2.5rem;
  }
}
.mv__en-title span {
  -webkit-hyphens: auto;
          hyphens: auto;
  background-image: linear-gradient(var(--color-heading-bg), var(--color-heading-bg));
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 70%;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
}
@media screen and (min-width: 48em), print {
  .mv__en-title {
    line-height: 1.275;
  }
}
@media screen and (max-width: 47.99em) {
  .mv__en-title {
    line-height: 1.38;
  }
}

.mv__title {
  margin-top: 0.625rem;
  color: var(--color-gray);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .mv__title {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .mv__title {
    font-size: 1.1875rem;
  }
}
@media screen and (min-width: 48em), print {
  .mv__title {
    display: flex;
    column-gap: 0.5rem;
    align-items: center;
    padding-left: 0.25rem;
  }
}
@media screen and (max-width: 47.99em) {
  .mv__title {
    position: relative;
    display: block;
    padding-left: 1.375rem;
    line-height: 1.8;
  }
}
.mv__title::before {
  display: block;
  width: 0.75rem;
  height: 1.5rem;
  content: "";
  background-color: currentColor;
  mask-image: var(--icon-slash);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}
@media screen and (max-width: 47.99em) {
  .mv__title::before {
    position: absolute;
    top: 0.3125rem;
    left: 0.25rem;
  }
}
.mv__title span {
  background-image: linear-gradient(var(--color-light-gray), var(--color-light-gray));
  background-repeat: no-repeat;
  background-position: center;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
}

.anchor-list {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% - var(--section-side-padding) * 2);
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .anchor-list {
    row-gap: 0.75rem;
    column-gap: 1.5rem;
    max-width: var(--section-max-width);
  }
}
@media screen and (min-width: 90.0625em), print {
  .anchor-list {
    --section-max-width: 120rem;
  }
}
@media screen and (max-width: 59.99em) {
  .anchor-list {
    gap: 0.75rem;
  }
}
@media screen and (max-width: 47.99em) {
  .anchor-list.anchor-list--cored-wire {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

.anchor-list__link {
  justify-content: space-between;
}
@media screen and (min-width: 60em), print {
  .anchor-list__link {
    padding: 0.875rem 1rem 0.875rem 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .anchor-list__link {
    height: 100%;
    padding: 0.625rem 1rem 0.625rem 1.125rem;
  }
}
@media screen and (min-width: 48em), print {
  .anchor-list__link:is(.anchor-list--cored-wire *) {
    min-width: 15.625rem;
  }
}
@media screen and (min-width: 60em), print {
  .anchor-list__link:not(:is(.anchor-list--cored-wire *)) {
    min-width: 12.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .anchor-list__link:not(:is(.anchor-list--cored-wire *)) {
    min-width: 10rem;
  }
}

.breadcrumbs {
  width: 100%;
  height: 2rem;
  background-color: var(--color-red);
}

.breadcrumbs__link {
  display: block;
  color: var(--color-white);
}

.breadcrumbs__list {
  display: grid;
  grid-template-columns: auto auto 1fr;
  column-gap: 2.25rem;
  align-items: center;
  justify-content: start;
  width: calc(100% - var(--section-side-padding) * 2);
  max-width: var(--section-max-width);
  height: 100%;
  margin-right: auto;
  margin-left: auto;
}
.breadcrumbs__list .breadcrumbs__item:not(:first-of-type) {
  position: relative;
}
.breadcrumbs__list .breadcrumbs__item:not(:first-of-type)::before {
  position: absolute;
  top: 50%;
  left: -1.625rem;
  display: block;
  width: 1rem;
  height: 1rem;
  content: "";
  background-color: var(--color-white);
  mask-image: var(--icon-right);
  mask-repeat: no-repeat;
  mask-position: center center;
  transform: translateY(-50%);
}
.breadcrumbs__list .breadcrumbs__item:last-of-type .breadcrumbs__link {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.7;
  font-weight: 600;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
}
.breadcrumbs__list .breadcrumbs__item:not(:last-of-type) .breadcrumbs__link {
  line-height: 1.7;
  font-weight: 400;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
}
.table {
  overflow: auto;
}
@media screen and (max-width: 59.99em) {
  .table {
    width: calc(100% + var(--section-side-padding));
    padding-right: var(--section-side-padding);
  }
}

.table__table {
  width: 100%;
  background-color: var(--color-gray);
}
@media screen and (max-width: 59.99em) {
  .table__table:is(.table--product *) {
    min-width: 43.75rem;
  }
  .table__table:not(:is(.table--product *)) {
    min-width: 47.5rem;
  }
}

.table__thead th {
  padding: 0.5rem 0.75rem;
  color: var(--color-white);
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .table__thead th {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .table__thead th {
    font-size: 1.0625rem;
  }
}
.table__thead * + * {
  border-left: 2px solid var(--color-white);
}

.table__tbody th {
  font-weight: 600;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
.table__tbody th,
.table__tbody td {
  background-color: var(--color-white);
}
@media screen and (min-width: 60em), print {
  .table__tbody th,
  .table__tbody td {
    padding: 1.25rem 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .table__tbody th,
  .table__tbody td {
    padding: 0.75rem 0.75rem 1.3125rem 0.75rem;
  }
}
.table__tbody th:is(tr:not(:last-child) *),
.table__tbody td:is(tr:not(:last-child) *) {
  border-bottom: 1px solid rgba(108, 108, 108, 0.5);
}
.table__tbody td {
  line-height: 1.8;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 59.99em) {
  .page-top {
    position: fixed;
    right: -3.25rem;
    bottom: 5rem;
    z-index: 100;
    transition-duration: var(--transition-duration);
    transition-property: right;
  }
}
.page-top.is-show {
  right: 0.75rem;
}

@media screen and (max-width: 59.99em) {
  .page-top__link {
    position: relative;
    display: block;
    width: 2.5rem;
    height: 2.5rem;
    background-color: var(--color-red);
    background-image: var(--icon-arrow-up);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 1.625rem;
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.2);
  }
}

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

.return-top__link {
  display: grid;
  justify-content: center;
}
@media screen and (min-width: 60em), print {
  .return-top__link {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .return-top__link {
    margin-top: 2.5rem;
  }
}

.return-top__link-button {
  justify-content: space-between;
  width: 12.5rem;
  height: 3.25rem;
  padding-right: 1rem;
  padding-left: 1.125rem;
}

@media screen and (min-width: 60em), print {
  .form {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .form {
    margin-top: 2.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .form > * {
    --section-side-padding: 7rem;
    width: calc(100% - var(--section-side-padding) * 2);
    min-width: 45rem;
    margin-right: auto;
    margin-left: auto;
  }
}

.form__text {
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  justify-content: start;
}

.form__list {
  display: grid;
  grid-auto-flow: row;
  row-gap: 2rem;
  margin-top: 2rem;
}

.form__item {
  display: grid;
  grid-auto-flow: row;
}

.form__name {
  display: grid;
  grid-auto-flow: column;
  column-gap: 1rem;
  align-items: center;
  justify-content: start;
  font-weight: 600;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
.form__required {
  padding: 0.125rem 0.25rem 0.1875rem 0.25rem;
  color: var(--color-white);
  background-color: var(--color-required);
  border-radius: 0.25rem;
  line-height: 1.4;
  font-weight: 400;
  font-size: 0.75rem;
}
.form__note {
  margin-top: 0.25rem;
  color: var(--color-gray);
  line-height: 1.7;
  font-weight: 400;
  font-size: 0.75rem;
}
.form__select {
  width: 1.5rem;
  height: 1.5rem;
  padding-right: 3rem;
  padding-left: 1rem;
  cursor: pointer;
  background-image: var(--icon-down);
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
}
@media screen and (min-width: 60em), print {
  .form__select {
    width: 18.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .form__select {
    width: 100%;
  }
}

.form__text-area {
  width: 100%;
  height: 5.625rem;
  padding-right: 1rem;
  padding-left: 1rem;
}

.form__text-box {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem;
}
.form__text-box.form__text-box--postcode {
  width: 9.375rem;
}
.form__text-box.form__text-box--phone {
  width: 11.25rem;
}

.form__text-box,
.form__select {
  height: 3rem;
}

.form__text-box,
.form__select,
.form__text-area,
.form__group {
  margin-top: 1rem;
}

.form__text-box,
.form__select,
.form__text-area {
  background-color: var(--color-white);
  border: 1px solid var(--color-heading);
  border-radius: 0.5rem;
}
.form__text-box:is(.is-error *),
.form__select:is(.is-error *),
.form__text-area:is(.is-error *) {
  border: 1px solid var(--color-required);
}
.form__text-box:focus,
.form__select:focus,
.form__text-area:focus {
  outline: 2px solid var(--color-outline);
}

.form__confirm {
  margin-top: 3.5rem;
  text-align: center;
}
.form__confirm a {
  color: var(--color-red);
  text-decoration: underline;
}

.form__group {
  display: flex;
  flex-wrap: wrap;
  column-gap: 2rem;
}

.form__group-item {
  display: grid;
  grid-auto-flow: column;
  column-gap: 0.5rem;
  align-items: center;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.form__group-item input {
  position: relative;
  width: 1.25rem;
  height: 1.25rem;
  cursor: pointer;
  border: 1px solid var(--color-text);
  border-radius: 0.25rem;
}
.form__group-item input:checked {
  background-color: var(--color-checked);
  border-color: var(--color-checked);
}
.form__group-item input:checked::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1rem;
  height: 1rem;
  content: "";
  background-color: var(--color-white);
  mask-image: var(--icon-check);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 100%;
  transform: translate(-50%, -50%);
}
.form__group-item input:focus-visible {
  outline: 2px solid var(--color-outline);
}
.form__group-item label {
  line-height: 1.8;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
.form__error {
  display: flex;
  column-gap: 0.25rem;
  align-items: center;
  margin-top: 0.5rem;
  color: var(--color-required);
  line-height: 1.7;
  font-weight: 600;
  font-size: 0.75rem;
}
.form__error::before {
  width: 1rem;
  height: 1rem;
  content: "";
  background-image: var(--icon-error);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100%;
}

.form__item > .form__error:not(:first-of-type, :nth-of-type(2)) {
  margin-top: 0.25rem;
}

.form__submit {
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  justify-content: space-between;
  width: 12.5rem;
  height: 3.25rem;
  padding-right: 1rem;
  padding-left: 1.125rem;
  margin-top: 2rem;
  margin-right: auto;
  margin-left: auto;
  color: var(--color-white);
  background-color: var(--color-red);
  border: 1px solid var(--color-red);
  transition-duration: var(--transition-duration);
  transition-property: color background-color;
  line-height: 1.5;
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: 0.04em;
}
.form__submit::after {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  content: "";
  background-color: var(--color-white);
  mask-image: var(--icon-arrow-right);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 100%;
  transition-duration: var(--transition-duration);
  transition-property: transform background-color;
}
@media screen and (hover: hover) and (min-width: 60em), print and (hover: hover) {
  .form__submit:where(:any-link, :enabled, summary):hover {
    color: var(--color-red);
    background-color: var(--color-white);
  }
  .form__submit:where(:any-link, :enabled, summary):hover::after {
    background-color: var(--color-red);
    transform: translateX(6px);
  }
}

.product-link-card {
  position: relative;
  display: grid;
  height: 100%;
  background-color: var(--color-white);
  transition-duration: var(--transition-duration);
  transition-property: box-shadow opacity;
}
.product-link-card.product-link-card--vertical {
  grid-template-rows: auto 1fr;
  box-shadow: 0px 0px 0.75rem 0px rgba(0, 0, 0, 0.15);
}
@media screen and (min-width: 67.5em), print {
  .product-link-card:not(.product-link-card--vertical) {
    grid-template-columns: 0.41fr 0.59fr;
    column-gap: 1.25rem;
    align-items: start;
    padding: 1.75rem;
    box-shadow: 0px 0px 1rem 0px rgba(0, 0, 0, 0.15);
  }
}
@media screen and (max-width: 67.49em) {
  .product-link-card:not(.product-link-card--vertical) {
    grid-template-rows: auto 1fr;
    box-shadow: 0px 0px 0.75rem 0px rgba(0, 0, 0, 0.15);
  }
}
@media screen and (hover: hover) and (min-width: 60em), print and (hover: hover) {
  .product-link-card:where(:any-link, :enabled, summary):hover {
    box-shadow: none;
    opacity: var(--opacity);
  }
}

.product-link-card__heading {
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .product-link-card__heading {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .product-link-card__heading {
    font-size: 1.0625rem;
  }
}
@media screen and (min-width: 67.5em), print {
  .product-link-card__heading:not(:is(.product-link-card--vertical *)) {
    margin-bottom: 0.75rem;
  }
}
@media screen and (max-width: 67.49em) {
  .product-link-card__heading:not(:is(.product-link-card--vertical *)) {
    margin-bottom: 0.5rem;
  }
}
.product-link-card__heading:is(.product-link-card--vertical *) {
  margin-bottom: 1.25rem;
}

.product-link-card__text {
  line-height: 1.7;
  font-weight: 400;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
}
.product-link-card__text:is(.product-link-card--vertical *) {
  margin-bottom: 1.25rem;
}
.product-link-card__text:not(:is(.product-link-card--vertical *)) {
  margin-bottom: 0.75rem;
}
@media screen and (min-width: 67.5em) and (max-width: 80.8025em) {
  .product-link-card__text:not(:is(.product-link-card--vertical *)) {
    font-size: 0.75rem;
  }
}

.product-link-card__image img {
  width: 100%;
}
@media screen and (min-width: 67.5em), print {
  .product-link-card__image:not(:is(.product-link-card--vertical *)) {
    position: relative;
  }
  .product-link-card__image:not(:is(.product-link-card--vertical *))::before {
    display: block;
    padding-top: 100%;
    content: "";
  }
  .product-link-card__image:not(:is(.product-link-card--vertical *)) img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    object-fit: cover;
  }
}

@media screen and (max-width: 67.49em) {
  .product-link-card__content {
    padding: 1.25rem 1.25rem 1.5rem 1.25rem;
  }
}
.product-link-card__content:is(.product-link-card--vertical *) {
  padding: 1.25rem 1.25rem 1.5rem 1.25rem;
}

.product-link-card__icon {
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  background-color: var(--color-red);
  transition-duration: var(--transition-duration);
  transition-property: background-color;
}
@media screen and (min-width: 67.5em), print {
  .product-link-card__icon {
    width: 1.25rem;
    height: 1.25rem;
  }
}
@media screen and (max-width: 67.49em) {
  .product-link-card__icon {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.product-link-card__icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  content: "";
  background-color: var(--color-white);
  mask-image: var(--icon-arrow-right);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 100%;
  transition-duration: var(--transition-duration);
  transition-property: transform background-color;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 67.5em), print {
  .product-link-card__icon::after {
    width: 0.8125rem;
    height: 0.8125rem;
  }
}
@media screen and (max-width: 67.49em) {
  .product-link-card__icon::after {
    width: 1rem;
    height: 1rem;
  }
}
@media screen and (hover: hover) and (min-width: 60em), print and (hover: hover) {
  :where(:any-link, :enabled, summary):hover .product-link-card__icon {
    background-color: transparent;
  }
  :where(:any-link, :enabled, summary):hover .product-link-card__icon::after {
    background-color: var(--color-red);
    transform: translate(calc(-50% + 0.25rem), -50%);
  }
}

.top-mv {
  width: 100%;
  margin-top: calc(var(--header-height) * -1);
}
@media screen and (min-width: 60em), print {
  .top-mv {
    --mv-height: 39rem;
    position: relative;
    height: var(--mv-height);
  }
}

.top-mv__bg {
  position: absolute;
  top: 0;
  left: 50%;
  max-width: none;
  transform: translateX(-50%);
}
@media screen and (min-width: 120em), print {
  .top-mv__bg {
    width: 100%;
  }
}
@media screen and (min-width: 60em) and (max-width: 119.99em) {
  .top-mv__bg {
    width: 120rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-mv__bg {
    width: 100%;
  }
}
@media screen and (max-width: 47.99em) {
  .top-mv__bg {
    height: 25.25rem;
    background-image: url("/assets/images/bg-01.png");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 48rem;
  }
}

.top-mv__inner {
  position: relative;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 59.99em) {
  .top-mv__inner {
    display: flex;
    align-items: flex-end;
    height: 100%;
  }
}

.top-mv__heading {
  position: absolute;
}
@media screen and (min-width: 60em), print {
  .top-mv__heading {
    left: 50%;
    width: calc(100% - var(--section-side-padding) * 2);
    margin-right: auto;
    margin-left: auto;
    transform: translateX(-50%);
  }
}
@media screen and (min-width: 48em), print {
  .top-mv__heading {
    top: 11.75rem;
  }
}
@media screen and (min-width: 60em) and (max-width: 90.0525em) {
  .top-mv__heading {
    max-width: var(--section-max-width);
  }
}
@media screen and (min-width: 90.0625em), print {
  .top-mv__heading {
    max-width: 120rem;
  }
}
@media screen and (min-width: 48em) and (max-width: 59.99em) {
  .top-mv__heading {
    left: 3.75rem;
  }
}
@media screen and (max-width: 47.99em) {
  .top-mv__heading {
    top: 4.75rem;
    left: 1.5rem;
  }
}
.top-mv__heading .mv__en-heading {
  display: block;
  color: var(--color-red);
  overflow-wrap: anywhere;
  font-family: var(--font-jost);
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}
@media screen and (min-width: 60em), print {
  .top-mv__heading .mv__en-heading {
    font-size: 5.875rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-mv__heading .mv__en-heading {
    font-size: clamp(2.5rem, 9.26vw, 4.6875rem);
  }
}
.top-mv__heading .mv__en-heading span {
  -webkit-hyphens: auto;
          hyphens: auto;
  background-image: linear-gradient(var(--color-heading-bg), var(--color-heading-bg));
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 70%;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
}
@media screen and (min-width: 60em), print {
  .top-mv__heading .mv__en-heading span {
    padding-right: 0.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-mv__heading .mv__en-heading span {
    padding-right: 0.375rem;
  }
}
@media screen and (min-width: 60em), print {
  .top-mv__heading .mv__en-heading {
    line-height: 1.275;
  }
}
@media screen and (max-width: 59.99em) {
  .top-mv__heading .mv__en-heading {
    line-height: 1.2;
  }
}
.top-mv__heading .top-mv__ja-heading {
  display: block;
  margin-top: 0.625rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--color-heading);
}
@media screen and (min-width: 60em), print {
  .top-mv__heading .top-mv__ja-heading {
    font-size: 1.625rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-mv__heading .top-mv__ja-heading {
    font-size: clamp(1rem, 2.6vw, 1.3125rem);
  }
}
.top-mv__heading .top-mv__ja-heading span {
  display: inline-block;
  background-color: var(--color-heading-bg);
}
@media screen and (min-width: 60em), print {
  .top-mv__heading .top-mv__ja-heading span {
    padding-right: 0.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-mv__heading .top-mv__ja-heading span {
    padding-right: 0.375rem;
  }
}

.top-mv__splide {
  position: relative;
}
@media screen and (min-width: 60em), print {
  .top-mv__splide {
    padding-left: clamp(18rem, 30%, 27.4375rem);
  }
}
@media screen and (min-width: 48em) and (max-width: 59.99em) {
  .top-mv__splide {
    padding-left: 9.375rem;
  }
}
@media screen and (max-width: 47.99em) {
  .top-mv__splide {
    padding-left: 4.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-mv__splide {
    margin-top: var(--header-height);
  }
}
.top-mv__splide .top-mv__splide-image {
  width: 100%;
  margin-right: 0;
  margin-left: auto;
  object-fit: cover;
}
@media screen and (min-width: 60em), print {
  .top-mv__splide .top-mv__splide-image {
    min-width: 92.5rem;
    max-width: 92.5rem;
    height: var(--mv-height);
  }
}
@media screen and (min-width: 48em) and (max-width: 59.99em) {
  .top-mv__splide .top-mv__splide-image {
    max-width: 41.25rem;
  }
}
@media screen and (min-width: 48em), print {
  .top-mv__splide .top-mv__splide-image {
    clip-path: polygon(168px 0, 100% 0, 100% 100%, 0 100%);
  }
}
@media screen and (max-width: 47.99em) {
  .top-mv__splide .top-mv__splide-image {
    min-width: 18.9375rem;
    max-width: 38.375rem;
    clip-path: polygon(23% 0, 100% 0, 100% 100%, 0 100%);
  }
}
.top-mv__splide .top-mv__splide-image-gradation {
  position: absolute;
  right: 0;
  bottom: 0;
  background: radial-gradient(132.81% 132.81% at 92.68% 100%, #999 0%, transparent 58.17%);
  mix-blend-mode: multiply;
}
@media screen and (min-width: 60em), print {
  .top-mv__splide .top-mv__splide-image-gradation {
    width: 9.25rem;
    height: 8.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-mv__splide .top-mv__splide-image-gradation {
    width: 6.25rem;
    height: 5.6875rem;
  }
}
.top-mv__splide .splide__pagination {
  position: absolute;
}
@media screen and (min-width: 48em), print {
  .top-mv__splide .splide__pagination {
    justify-content: flex-start;
  }
}
@media screen and (min-width: 60em), print {
  .top-mv__splide .splide__pagination {
    bottom: 7.25rem;
    left: 50%;
    column-gap: 0.5rem;
    width: calc(100% - var(--section-side-padding) * 2);
    transform: translateX(-50%);
  }
}
@media screen and (min-width: 60em) and (max-width: 90.0525em) {
  .top-mv__splide .splide__pagination {
    max-width: var(--section-max-width);
  }
}
@media screen and (min-width: 90.0625em), print {
  .top-mv__splide .splide__pagination {
    max-width: 120rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-mv__splide .splide__pagination {
    flex-direction: column;
    row-gap: 0.5rem;
  }
}
@media screen and (min-width: 48em) and (max-width: 59.99em) {
  .top-mv__splide .splide__pagination {
    bottom: 5.75rem;
    left: 3.75rem;
  }
}
@media screen and (max-width: 47.99em) {
  .top-mv__splide .splide__pagination {
    bottom: 5%;
    left: 1.5rem;
  }
}
.top-mv__splide .splide__pagination li[role=presentation] {
  width: 0.375rem;
  height: 0.375rem;
}
.top-mv__splide .splide__pagination li[role=presentation] .splide__pagination__page {
  width: 100%;
  height: 100%;
}
.top-mv__splide .splide__pagination li[role=presentation] .splide__pagination__page.is-active {
  background-color: var(--color-red);
}
.top-mv__splide .splide__pagination li[role=presentation] .splide__pagination__page:not(.is-active) {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0.4) 100%), #dd5457;
}
.top-mv__splide .splide__toggle {
  position: absolute;
  right: 0.75rem;
  bottom: 0.75rem;
  color: var(--color-white);
}
.top-mv__splide .splide__toggle > span {
  line-height: 1.7;
  font-weight: 600;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
}
.top-mv__splide .splide__toggle .splide__toggle__play,
.top-mv__splide .splide__toggle .splide__toggle__pause {
  position: relative;
  column-gap: 0.25rem;
  padding-right: 1.625rem;
}
.top-mv__splide .splide__toggle .splide__toggle__play::before,
.top-mv__splide .splide__toggle .splide__toggle__pause::before {
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  width: 1.375rem;
  height: 1.375rem;
  content: "";
  background-color: currentColor;
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 100%;
  transform: translateY(-50%);
}
.top-mv__splide .splide__toggle .splide__toggle__play::before {
  mask-image: var(--icon-start);
}
.top-mv__splide .splide__toggle .splide__toggle__pause::before {
  mask-image: var(--icon-stop);
}

.top-two-column {
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 60em), print {
  .top-two-column {
    padding-top: 8.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-two-column {
    padding-top: 6.5rem;
  }
}

.top-two-column__link-button {
  column-gap: 1.75rem;
  justify-content: center;
  width: 12.5rem;
  height: 3.25rem;
  margin-right: 0;
  margin-left: auto;
}

@media screen and (min-width: 60em), print {
  .top-product {
    width: calc(100% - 2.75rem * 2) !important;
    max-width: calc(var(--section-max-width) + 1.0625rem * 2) !important;
  }
}

.top-product__inner {
  position: relative;
}

.top-product__image {
  width: 100%;
}
@media screen and (max-width: 59.99em) {
  .top-product__image {
    max-width: var(--max-width-image);
    margin-right: auto;
    margin-left: auto;
  }
}

.top-product__content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.top-product__link-button {
  justify-content: space-between;
  width: 12.5rem;
  height: 3.25rem;
  padding-right: 1rem;
  padding-left: 1.125rem;
  margin-top: 2.6875rem;
  margin-right: auto;
  margin-left: auto;
}

.top-news__inner {
  position: relative;
  margin-top: 3rem;
}
.top-news__inner::before {
  position: absolute;
  z-index: -1;
  content: "";
  background-image: url("/assets/images/bg-top-03.png");
  background-repeat: no-repeat;
  background-size: 100%;
}
@media screen and (min-width: 60em), print {
  .top-news__inner::before {
    top: -3rem;
    right: -9.375rem;
    width: 23.6875rem;
    height: 19.875rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-news__inner::before {
    top: -3rem;
    right: -4.5rem;
    width: 16.5625rem;
    height: 14.5rem;
  }
}

@media screen and (min-width: 60em), print {
  .top-news__content {
    display: grid;
    grid-template-areas: "heading news" ". link";
    grid-template-columns: auto 1fr;
    row-gap: 1.5rem;
    column-gap: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-news__content {
    row-gap: 2rem;
  }
}

@media screen and (min-width: 60em), print {
  .top-news__heading {
    grid-area: heading;
  }
  .top-news__news {
    grid-area: news;
  }
}
@media screen and (max-width: 59.99em) {
  .top-news__news {
    margin-top: 2rem;
  }
}

.top-news__link {
  width: fit-content;
  margin-right: 0;
  margin-left: auto;
}
@media screen and (min-width: 60em), print {
  .top-news__link {
    grid-area: link;
  }
}
@media screen and (max-width: 59.99em) {
  .top-news__link {
    margin-top: 1.5rem;
  }
}

.location-list {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .location-list {
    row-gap: 4rem;
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .location-list {
    row-gap: 2.875rem;
    margin-top: 2.25rem;
  }
}
.location-list > li {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .location-list > li {
    grid-template-columns: 19.75rem 1fr;
    column-gap: 2.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .location-list > li {
    row-gap: 1.125rem;
  }
}

.location-list__image img {
  width: 100%;
  height: auto;
}

.location-list__label {
  display: flex;
  column-gap: 0.5rem;
  color: var(--color-heading);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .location-list__label {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .location-list__label {
    font-size: 1.1875rem;
  }
}
.location-list__label::before {
  display: block;
  width: 0.75rem;
  height: 1.5rem;
  content: "";
  background-color: currentColor;
  mask-image: var(--icon-slash);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  transform: translateY(0.3125rem);
}

@media screen and (min-width: 60em), print {
  .location-list__table {
    margin-top: 1.875rem;
  }
}
@media screen and (max-width: 59.99em) {
  .location-list__table {
    margin-top: 0.75rem;
  }
}
.location-list__table tbody {
  display: grid;
  grid-template-columns: auto 1fr;
  row-gap: 0.75rem;
  column-gap: 1.75rem;
}
.location-list__table tr {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
}
.location-list__table th {
  min-width: 5.1875rem;
  font-weight: 600;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
.location-list__table td p {
  line-height: 1.8;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
.location-list__table__link-wrapper {
  width: fit-content;
}

.location-list__table__link {
  column-gap: 0.5rem;
  justify-content: space-between;
  padding: 0.4375rem 0.5625rem 0.4375rem 0.6875rem;
  margin-top: 0.5rem;
}

.office {
  position: relative;
  isolation: isolate;
}
.office::before {
  position: absolute;
  z-index: -1;
  content: "";
  background-image: url("/assets/images/bg-location-01.png");
  background-repeat: no-repeat;
  background-size: 100%;
}
@media screen and (min-width: 60em), print {
  .office::before {
    top: -5.5rem;
    right: -10rem;
    width: 24.8125rem;
    height: 41.1875rem;
  }
}
@media screen and (max-width: 59.99em) {
  .office::before {
    top: -3rem;
    right: -6.5rem;
    width: 17.0375rem;
    height: 28.75rem;
  }
}

.factory {
  position: relative;
  isolation: isolate;
}
.factory::before {
  position: absolute;
  z-index: -1;
  content: "";
  background-image: url("/assets/images/bg-location-02.png");
  background-repeat: no-repeat;
  background-size: 100%;
}
@media screen and (min-width: 60em), print {
  .factory::before {
    bottom: -4.8rem;
    left: -8.6rem;
    width: 20.875rem;
    height: 19.9375rem;
  }
}
@media screen and (max-width: 59.99em) {
  .factory::before {
    bottom: -4rem;
    left: -3.5rem;
    width: 15.1875rem;
    height: 14.5625rem;
  }
}

.top-latest-news {
  position: relative;
  z-index: 0;
  margin-right: 0;
}
@media screen and (min-width: 60em), print {
  .top-latest-news {
    --left-space: calc((100% - 81.25rem) / 2);
    width: 100%;
    margin-left: clamp(1.875rem, var(--left-space), var(--left-space));
  }
}
@media screen and (max-width: 59.99em) {
  .top-latest-news {
    width: calc(100% - var(--section-side-padding));
    margin-left: auto;
  }
}
.top-latest-news::before {
  position: absolute;
  top: 50%;
  z-index: -1;
  content: "";
  background-image: url("/assets/images/bg-top-01.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  transform: translateY(-50%);
}
@media screen and (min-width: 60em), print {
  .top-latest-news::before {
    left: -3rem;
    width: 7.1875rem;
    height: 11.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-latest-news::before {
    left: -3.625rem;
    width: 8.625rem;
    height: 14.125rem;
  }
}

.top-latest-news__inner {
  display: grid;
  row-gap: 0.5rem;
}
@media screen and (min-width: 60em), print {
  .top-latest-news__inner {
    grid-template-areas: "heading link" "news link";
    grid-template-columns: 1fr auto;
    column-gap: 1rem;
    width: calc(100% - 90px);
    max-width: 77rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    padding-left: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-latest-news__inner {
    grid-auto-flow: row;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }
}

.top-latest-news__heading {
  position: relative;
  padding-left: 0.75rem;
  color: var(--color-red);
  line-height: 1.7;
  font-weight: 400;
  font-size: 0.75rem;
}
@media screen and (min-width: 60em), print {
  .top-latest-news__heading {
    grid-area: heading;
  }
}
.top-latest-news__heading::before {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 8px;
  height: 1px;
  content: "";
  background-color: var(--color-red);
  transform: translateY(-50%);
}

.top-latest-news__news {
  padding-bottom: 0;
}
@media screen and (min-width: 60em), print {
  .top-latest-news__news {
    grid-area: news;
  }
  .top-latest-news__link-text {
    grid-area: link;
  }
}
@media screen and (max-width: 59.99em) {
  .top-latest-news__link-text {
    justify-content: start;
  }
}

.quality-control {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .quality-control {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .quality-control {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}
@media screen and (max-width: 47.99em) {
  .quality-control {
    grid-template-rows: auto auto auto auto;
  }
}

.quality-control__heading {
  color: var(--color-heading);
  font-weight: 600;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 60em), print {
  .quality-control__heading {
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .quality-control__heading {
    margin-bottom: 0.75rem;
  }
}

.quality-control__text {
  line-height: 1.8;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 47.99em) {
  .quality-control__text-area {
    grid-row: 1/2;
    grid-column: 1/3;
  }
}

.quality-control__figure figcaption {
  font-weight: 600;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 60em), print {
  .quality-control__figure figcaption {
    padding-block: 0.25rem;
  }
}
@media screen and (min-width: 48em) and (max-width: 59.99em) {
  .quality-control__figure img {
    width: 100%;
  }
}

.quality-initiatives {
  display: grid;
  background-color: var(--color-alabaster);
}
@media screen and (min-width: 60em), print {
  .quality-initiatives {
    grid-template-columns: 1fr 14.5rem;
    column-gap: 2rem;
    padding: 2.5rem 7rem;
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .quality-initiatives {
    row-gap: 2rem;
    padding: 2.5rem 1.25rem;
    margin-top: 1.5rem;
  }
}

.quality-initiatives__heading {
  padding-bottom: 0.75rem;
  color: var(--color-heading);
}
@media screen and (min-width: 60em), print {
  .quality-initiatives__heading {
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: 0.04em;
  }
}
@media screen and (min-width: 60em) and (min-width: 60em), print {
  .quality-initiatives__heading {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 60em) and (max-width: 59.99em) {
  .quality-initiatives__heading {
    font-size: 1.1875rem;
  }
}
@media screen and (max-width: 59.99em) {
  .quality-initiatives__heading {
    font-weight: 600;
    line-height: 1.7;
    letter-spacing: 0.04em;
  }
}
@media screen and (max-width: 59.99em) and (min-width: 60em) {
  .quality-initiatives__heading {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) and (max-width: 59.99em) {
  .quality-initiatives__heading {
    font-size: 1.0625rem;
  }
}
.quality-initiatives__text {
  line-height: 1.8;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
.quality-initiatives__logos {
  display: grid;
  column-gap: 1.25rem;
  align-items: start;
}
@media screen and (min-width: 60em), print {
  .quality-initiatives__logos {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 59.99em) {
  .quality-initiatives__logos {
    grid-auto-flow: column;
    margin-inline: auto;
  }
}

.quality-initiatives__logo {
  display: grid;
  row-gap: 0.5rem;
}
.quality-initiatives__logo p {
  text-align: center;
  line-height: 1.7;
  font-weight: 400;
  font-size: 0.75rem;
}
.overseas-operations {
  position: relative;
}
.overseas-operations::before {
  position: absolute;
  z-index: -1;
  content: "";
  background-image: url("/assets/images/bg-about-us-02.png");
  background-repeat: no-repeat;
  background-size: 100%;
}
@media screen and (min-width: 60em), print {
  .overseas-operations::before {
    top: -4.75rem;
    right: -12.5rem;
    width: 21.5rem;
    height: 38.9375rem;
  }
}
@media screen and (max-width: 59.99em) {
  .overseas-operations::before {
    top: -2.5rem;
    right: -7.1875rem;
    width: 15.0625rem;
    height: 27.25rem;
  }
  .overseas-operations__white-box {
    width: calc(100% - var(--section-side-padding));
  }
}
@media screen and (min-width: 48em) and (max-width: 59.99em) {
  .overseas-operations__white-box {
    --section-side-padding: 3.75rem;
  }
}

.overseas-operations__list {
  display: grid;
  grid-auto-flow: row;
  row-gap: 1.5rem;
}
@media screen and (min-width: 60em), print {
  .overseas-operations__list {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .overseas-operations__list {
    margin-top: 2.25rem;
  }
}

@media screen and (min-width: 48em), print {
  .overseas-operations__item {
    display: grid;
    grid-template-columns: 21.0625rem 1fr;
    column-gap: 1.5rem;
  }
}
.overseas-operations__item img {
  width: 100%;
}
@media screen and (max-width: 47.99em) {
  .overseas-operations__item img {
    max-width: var(--max-width-image);
    margin-right: auto;
    margin-left: auto;
  }
}

.overseas-operations__heading {
  color: var(--color-heading);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .overseas-operations__heading {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .overseas-operations__heading {
    font-size: 1.1875rem;
  }
}
.company-link-list {
  display: grid;
  grid-auto-flow: row;
  row-gap: 1rem;
}

.company-profile {
  position: relative;
}
.company-profile::before {
  position: absolute;
  z-index: -1;
  content: "";
  background-image: url("/assets/images/bg-profile-02.png");
  background-repeat: no-repeat;
  background-size: 100%;
}
@media screen and (min-width: 60em), print {
  .company-profile::before {
    top: -4.75rem;
    right: -16.5625rem;
    width: 27.6875rem;
    height: 51.0625rem;
  }
}
@media screen and (max-width: 59.99em) {
  .company-profile::before {
    top: -1.625rem;
    right: -4.6875rem;
    width: 19.375rem;
    height: 35.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .company-profile a[href*="tel:"] {
    pointer-events: none;
  }
}

.company-profile__list {
  display: grid;
  grid-auto-flow: row;
}
@media screen and (min-width: 60em), print {
  .company-profile__list {
    row-gap: 1.25rem;
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .company-profile__list {
    row-gap: 1rem;
    margin-top: 1.875rem;
  }
}

.company-profile__item {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .company-profile__item {
    grid-template-columns: 11.25rem 1fr;
    column-gap: 2rem;
    padding-bottom: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .company-profile__item {
    row-gap: 0.25rem;
    padding-bottom: 1rem;
  }
}
.company-profile__item:not(:last-of-type) {
  border-bottom: 1px solid rgba(108, 108, 108, 0.5);
}
.company-profile__item dt {
  font-weight: 600;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
.company-profile__item dd {
  line-height: 1.8;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
.company-profile__link-button {
  column-gap: 0.5rem;
  justify-content: center;
  width: 9.0625rem;
  height: 2.5rem;
}

.history {
  position: relative;
}
@media screen and (min-width: 60em), print {
  .history {
    margin-top: 3.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .history {
    margin-top: 1.25rem;
  }
}
.history::before {
  position: absolute;
  z-index: -1;
  content: "";
  background-image: url("/assets/images/bg-profile-03.png");
  background-repeat: no-repeat;
  background-size: 100%;
}
@media screen and (min-width: 60em), print {
  .history::before {
    top: -3.125rem;
    left: -11.5625rem;
    width: 31.625rem;
    height: 23.4375rem;
  }
}
@media screen and (max-width: 59.99em) {
  .history::before {
    top: -3rem;
    left: -5.0625rem;
    width: 22.125rem;
    height: 16.375rem;
  }
}
@media screen and (min-width: 60em), print {
  .history a[href*="tel:"] {
    pointer-events: none;
  }
}

.history__list {
  display: grid;
  grid-auto-flow: row;
}
@media screen and (min-width: 60em), print {
  .history__list {
    row-gap: 1.25rem;
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .history__list {
    row-gap: 1rem;
    margin-top: 1.875rem;
  }
}

.history__item {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .history__item {
    grid-template-columns: 15.875rem 1fr;
    column-gap: 2rem;
    padding-bottom: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .history__item {
    row-gap: 0.25rem;
    justify-items: start;
    padding-bottom: 1rem;
  }
}
.history__item:not(:last-of-type) {
  border-bottom: 1px solid rgba(108, 108, 108, 0.5);
}
.history__item dt {
  display: grid;
  grid-auto-flow: column;
  font-weight: 600;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 60em), print {
  .history__item dt {
    justify-content: space-between;
  }
}
@media screen and (max-width: 59.99em) {
  .history__item dt {
    column-gap: 0.25rem;
  }
}
.history__item dd {
  line-height: 1.8;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
.history__link-button {
  column-gap: 0.5rem;
  justify-content: center;
  width: 9.0625rem;
  height: 2.5rem;
}

.message {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0) 80%, rgba(255, 255, 255, 0.5) 100%);
}

.message__inner {
  display: grid;
  width: calc(100% - var(--section-side-padding) * 2);
  max-width: var(--section-max-width);
  padding-top: 5rem;
  padding-bottom: 5rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 60em), print {
  .message__inner {
    grid-template-columns: 17.3125rem 1fr;
    column-gap: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .message__inner {
    grid-auto-flow: row;
    row-gap: 2rem;
  }
}

.message__name {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .message__name {
    grid-template-columns: auto 16rem;
    column-gap: 1rem;
    align-items: end;
    justify-content: start;
    margin-top: 0.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .message__name {
    grid-template-columns: 12.9375rem;
    grid-auto-flow: row;
    row-gap: 0.625rem;
    margin-top: 2rem;
  }
  .privacy {
    background-color: var(--color-light-gray);
  }
  .privacy__inner {
    width: calc(100% - var(--section-side-padding) * 2);
    max-width: 48rem;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    margin-right: auto;
    margin-left: auto;
  }
}

.privacy__list {
  display: grid;
  grid-auto-flow: row;
  row-gap: 1.5rem;
  padding-top: 1.5rem;
}

.privacy__item {
  display: grid;
  grid-auto-flow: row;
  row-gap: 0.75rem;
}

.privacy__heading {
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .privacy__heading {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .privacy__heading {
    font-size: 1.0625rem;
  }
}
.consultation__heading {
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .consultation__heading {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .consultation__heading {
    font-size: 1.0625rem;
  }
}
.consultation__list {
  display: grid;
  grid-auto-flow: row;
  row-gap: 1.25rem;
  margin-top: 2rem;
}

.consultation__item {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .consultation__item {
    grid-template-columns: 11.25rem 1fr;
    column-gap: 2rem;
    padding-bottom: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .consultation__item {
    row-gap: 0.25rem;
    padding-bottom: 0.75rem;
  }
}
.consultation__item:not(:last-of-type) {
  border-bottom: 1px solid rgba(108, 108, 108, 0.5);
}
.consultation__item dt {
  font-weight: 600;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
.consultation__item dd {
  line-height: 1.8;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
.consultation__link-button {
  column-gap: 0.5rem;
  justify-content: center;
  width: 9.0625rem;
  height: 2.5rem;
}

.news-content {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .news-content {
    grid-template-columns: 1fr 16.5rem;
    column-gap: 2.25rem;
    align-items: start;
  }
}
@media screen and (max-width: 59.99em) {
  .news-content {
    grid-auto-flow: row;
    row-gap: 2.5rem;
  }
}

@media screen and (min-width: 60em), print {
  .news-content__news-list {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .news-content__news-list {
    margin-top: 1.5rem;
  }
}

.archive__heading {
  color: var(--color-gray);
  font-weight: 600;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
.archive__list {
  display: grid;
  grid-auto-flow: row;
  row-gap: 0.375rem;
  margin-top: 1rem;
}

.article {
  display: grid;
  grid-auto-flow: row;
}
@media screen and (min-width: 60em), print {
  .article {
    row-gap: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .article {
    row-gap: 2.5rem;
  }
}

.article__time {
  color: var(--color-heading);
  font-weight: 600;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
.article__heading {
  margin-top: 0.75rem;
}

.article__detail {
  display: grid;
  grid-auto-flow: column;
  column-gap: 0.5rem;
  align-items: center;
  justify-content: start;
  margin-top: 1.5rem;
  color: var(--color-red);
  transition-duration: var(--transition-duration);
  line-height: 1.7;
  font-weight: 600;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
}
.article__detail::after {
  display: block;
  width: 1rem;
  height: 1rem;
  content: "";
  background-color: var(--color-red);
  mask-image: var(--icon-arrow-right);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 100%;
  transition-duration: var(--transition-duration);
}
.article__detail[target=_blank]::after {
  mask-image: var(--icon-tab);
}
@media screen and (hover: hover) and (min-width: 60em), print and (hover: hover) {
  .article__detail:where(:any-link, :enabled, summary):hover {
    opacity: var(--opacity);
  }
  .article__detail:where(:any-link, :enabled, summary):hover::after {
    transform: translateX(0.25rem);
  }
}

.article__link {
  display: grid;
  align-items: center;
  justify-content: center;
}

@media screen and (min-width: 60em), print {
  .article__link-button {
    column-gap: 0.375rem;
    padding: 0.5rem 0.625rem 0.5rem 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .article__link-button {
    justify-content: space-between;
    width: 12.5rem;
    height: 3.25rem;
    padding-right: 1rem;
    padding-left: 1.125rem;
  }
}

@media screen and (min-width: 60em), print {
  .tel-contact {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .tel-contact {
    margin-top: 2.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .tel-contact > * {
    --section-side-padding: 7rem;
    width: calc(100% - var(--section-side-padding) * 2);
    min-width: 45rem;
    margin-right: auto;
    margin-left: auto;
  }
}

.tel-contact__list {
  display: grid;
  grid-auto-flow: row;
}
@media screen and (min-width: 60em), print {
  .tel-contact__list {
    row-gap: 1.25rem;
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .tel-contact__list {
    row-gap: 1rem;
    margin-top: 1.875rem;
  }
}

.tel-contact__item {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .tel-contact__item {
    grid-template-columns: 11.25rem 1fr;
    column-gap: 2rem;
    padding-bottom: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .tel-contact__item {
    row-gap: 0.25rem;
    padding-bottom: 1rem;
  }
}
.tel-contact__item:not(:last-of-type) {
  border-bottom: 1px solid rgba(108, 108, 108, 0.5);
}
.tel-contact__item dt {
  font-weight: 600;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
.tel-contact__item dd {
  line-height: 1.8;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 60em), print {
  .tel-contact__item a[href*="tel:"] {
    pointer-events: none;
  }
}

.products-list {
  padding-top: 5rem;
}
@media screen and (max-width: 59.99em) {
  .products-list {
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 47.99em) {
  .products-list {
    max-width: 35.125rem;
  }
}
@media screen and (min-width: 48em) and (max-width: 59.99em) {
  .products-list {
    width: calc(100% - 2.5rem * 2);
  }
}

.products-list__list {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .products-list__list {
    gap: 2.5rem 2.25rem;
    margin-top: 2rem;
  }
}
@media screen and (min-width: 48em), print {
  .products-list__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 48em) and (max-width: 59.99em) {
  .products-list__list {
    gap: 2.5rem;
  }
}
@media screen and (max-width: 47.99em) {
  .products-list__list {
    grid-auto-flow: row;
    row-gap: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .products-list__list {
    margin-top: 2.25rem;
  }
}

.before-after {
  background-color: var(--color-white);
  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.15);
}
@media screen and (min-width: 60em), print {
  .before-after {
    padding: 1.25rem 3.75rem;
    margin-top: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .before-after {
    padding: 1.25rem 0.625rem;
    margin-top: 0.5rem;
  }
}
.before-after img {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 60em), print {
  .before-after img {
    max-width: 42.8125rem;
  }
}

.two-column-image {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .two-column-image {
    width: 66.6666666667%;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (min-width: 48em), print {
  .two-column-image {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 1.5rem;
    margin-top: 1rem;
  }
}
@media screen and (max-width: 47.99em) {
  .two-column-image {
    grid-auto-flow: row;
    row-gap: 0.75rem;
    margin-top: 0.5rem;
  }
}
.two-column-image img {
  width: 100%;
}
@media screen and (max-width: 47.99em) {
  .two-column-image img {
    max-width: var(--max-width-image);
    margin-right: auto;
    margin-left: auto;
  }
}
.two-column-image figcaption {
  margin-top: 0.25rem;
  text-align: center;
  line-height: 1.7;
  font-weight: 400;
  font-size: 0.75rem;
}
@media screen and (min-width: 60em), print {
  .product-detail__content {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .product-detail__content {
    margin-top: 1.5rem;
  }
}

.product-detail__main-area {
  display: grid;
}
.product-detail__main-area.product-detail__main-area--multi-image {
  grid-auto-flow: row;
}
@media screen and (min-width: 60em), print {
  .product-detail__main-area.product-detail__main-area--multi-image {
    row-gap: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .product-detail__main-area.product-detail__main-area--multi-image {
    row-gap: 0.75rem;
  }
}
@media screen and (min-width: 48em), print {
  .product-detail__main-area.product-detail__main-area--image {
    grid-template-columns: 1fr 23.25rem;
    column-gap: 3rem;
  }
}
@media screen and (max-width: 47.99em) {
  .product-detail__main-area.product-detail__main-area--image {
    grid-auto-flow: row;
    row-gap: 0.75rem;
  }
}
@media screen and (min-width: 48em), print {
  .product-detail__main-area.product-detail__main-area--non-text {
    grid-template-columns: 23.25rem;
  }
}
@media screen and (max-width: 47.99em) {
  .product-detail__main-area.product-detail__main-area--non-text {
    grid-auto-flow: row;
  }
}

.product-detail__sub-heading {
  margin-bottom: 1rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .product-detail__sub-heading {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .product-detail__sub-heading {
    font-size: 1.1875rem;
  }
}
@media screen and (min-width: 60em), print {
  .product-detail__text:not(:first-of-type) {
    margin-top: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .product-detail__text:not(:first-of-type) {
    margin-top: 0.625rem;
  }
}

.product-detail__list-area {
  padding: 1.25rem;
  background-color: var(--color-white);
}
@media screen and (min-width: 60em), print {
  .product-detail__list-area {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .product-detail__list-area {
    margin-top: 0.75rem;
  }
}

.product-detail__list {
  padding-left: 1.5em;
  margin-top: 0.5rem;
  list-style-type: disc;
}

.product-detail__image-area:is(.product-detail__main-area--multi-image *) {
  display: grid;
}
@media screen and (min-width: 48em), print {
  .product-detail__image-area:is(.product-detail__main-area--multi-image *) {
    column-gap: 1.5rem;
  }
}
@media screen and (max-width: 47.99em) {
  .product-detail__image-area:is(.product-detail__main-area--multi-image *) {
    grid-auto-flow: row;
  }
}
@media screen and (max-width: 59.99em) {
  .product-detail__image-area:is(.product-detail__main-area--multi-image *) {
    row-gap: 1.5rem;
  }
}
.product-detail__image-area:is(.product-detail__main-area--multi-image.product-detail__main-area--multi-image--02 *,
.product-detail__main-area--multi-image.product-detail__main-area--multi-image--04 *) {
  row-gap: 1.5rem;
}
@media screen and (min-width: 48em), print {
  .product-detail__image-area:is(.product-detail__main-area--multi-image.product-detail__main-area--multi-image--02 *,
  .product-detail__main-area--multi-image.product-detail__main-area--multi-image--04 *) {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 60em), print {
  .product-detail__image-area:is(.product-detail__main-area--multi-image.product-detail__main-area--multi-image--02 *,
  .product-detail__main-area--multi-image.product-detail__main-area--multi-image--04 *) {
    width: 66.6666666667%;
    margin-right: auto;
    margin-left: auto;
  }
  .product-detail__image-area:is(.product-detail__main-area--multi-image.product-detail__main-area--multi-image--03 *) {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 48em) and (max-width: 59.99em) {
  .product-detail__image-area:is(.product-detail__main-area--multi-image.product-detail__main-area--multi-image--03 *) {
    grid-template-columns: repeat(2, 1fr);
  }
}

.product-detail__image-item img {
  width: 100%;
  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.15);
}
@media screen and (max-width: 47.99em) {
  .product-detail__image-item img {
    max-width: var(--max-width-image);
    margin-right: auto;
    margin-left: auto;
  }
}
.product-detail__image-item figcaption {
  margin-top: 0.25rem;
  text-align: center;
  line-height: 1.7;
  font-weight: 400;
  font-size: 0.75rem;
}
.product-detail__table-heading {
  margin-bottom: 0.75rem;
}
@media screen and (min-width: 60em), print {
  .product-detail__table-heading {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .product-detail__table-heading {
    margin-top: 1.25rem;
  }
}

.product-detail__table-note {
  margin-top: 0.625rem;
  line-height: 1;
}
.product-detail__table-note small {
  line-height: 1.7;
  font-weight: 400;
  font-size: 0.75rem;
}
.product-contact {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0) 80%, rgba(255, 255, 255, 0.5) 100%);
}

.product-contact__inner {
  width: calc(100% - var(--section-side-padding) * 2);
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}
@media screen and (min-width: 60em), print {
  .product-contact__inner {
    max-width: var(--section-max-width);
  }
}

.product-contact__link-area {
  display: grid;
  margin-top: 2rem;
}
@media screen and (min-width: 60em), print {
  .product-contact__link-area {
    column-gap: 2rem;
    justify-items: center;
  }
}
@media screen and (max-width: 59.99em) {
  .product-contact__link-area {
    grid-auto-flow: row;
    row-gap: 0.75rem;
    justify-items: center;
  }
}
@media screen and (min-width: 60em), print {
  .product-contact__link-area:not(.product-contact__link-area--column-01) {
    grid-template-columns: repeat(2, 1fr);
  }
}

.product-contact__link {
  display: grid;
  grid-template-columns: 1fr auto;
  column-gap: 1.25rem;
  align-items: center;
  width: 100%;
  max-width: 35.125rem;
  color: var(--color-white);
  background-color: var(--color-red);
  box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.15);
  transition-duration: var(--transition-duration);
  transition-property: color background-color;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .product-contact__link {
    font-size: 1.625rem;
  }
}
@media screen and (max-width: 59.99em) {
  .product-contact__link {
    font-size: 1.4375rem;
  }
}
@media screen and (min-width: 60em), print {
  .product-contact__link {
    height: 6.4375rem;
    padding: 1rem 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .product-contact__link {
    height: 4.6875rem;
    padding: 1rem 1.25rem;
  }
}
@media screen and (hover: hover) and (min-width: 60em), print and (hover: hover) {
  .product-contact__link:where(:any-link, :enabled, summary):hover {
    color: var(--color-red);
    background-color: var(--color-white);
  }
}

.product-contact__icon {
  position: relative;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background-color: var(--color-white);
  transition-duration: var(--transition-duration);
  transition-property: background-color;
}
.product-contact__icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 1rem;
  height: 1rem;
  content: "";
  background-color: var(--color-red);
  mask-image: var(--icon-arrow-right);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 100%;
  transition-duration: var(--transition-duration);
  transition-property: transform;
  transform: translate(-50%, -50%);
}
@media screen and (hover: hover) and (min-width: 60em), print and (hover: hover) {
  :where(:any-link, :enabled, summary):hover .product-contact__icon {
    background-color: transparent;
  }
  :where(:any-link, :enabled, summary):hover .product-contact__icon::after {
    transform: translate(calc(-50% + 0.25rem), -50%);
  }
}

.related-product {
  display: grid;
  grid-auto-flow: row;
  row-gap: 2.5rem;
  justify-items: center;
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media screen and (max-width: 59.99em) {
  .related-product {
    --section-max-width: var(--max-width-image);
  }
}

.related-product__heading {
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .related-product__heading {
    font-size: 1.625rem;
  }
}
@media screen and (max-width: 59.99em) {
  .related-product__heading {
    font-size: 1.4375rem;
  }
}
.related-product__list {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .related-product__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 67.5em), print {
  .related-product__list {
    column-gap: 2.5rem;
  }
}
@media screen and (min-width: 60em) and (max-width: 67.49em) {
  .related-product__list {
    column-gap: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .related-product__list {
    grid-auto-flow: row;
    row-gap: 1.5rem;
  }
}

.related-product__link-button {
  justify-content: space-between;
  width: 12.5rem;
  height: 3.25rem;
  padding-right: 1rem;
  padding-left: 1.125rem;
}

.cored-wire-about__two-column {
  margin-top: 1.5rem;
}
@media screen and (min-width: 48em), print {
  .cored-wire-about__two-column {
    display: grid;
    grid-template-columns: 1fr 23.25rem;
    column-gap: 3rem;
  }
}
.cored-wire-about__two-column img {
  width: 100%;
}
@media screen and (max-width: 47.99em) {
  .cored-wire-about__two-column img {
    max-width: var(--max-width-image);
    margin-right: auto;
    margin-left: auto;
  }
}

.cored-wire-feature__list {
  display: grid;
  grid-auto-flow: row;
}
@media screen and (min-width: 60em), print {
  .cored-wire-feature__list {
    row-gap: 2.5rem;
    margin-top: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .cored-wire-feature__list {
    row-gap: 1.25rem;
    margin-top: 1.5rem;
  }
}

.cored-wire-feature__sub-heading {
  margin-bottom: 0.75rem;
}

.cored-wire-feature__two-column {
  display: grid;
}
@media screen and (min-width: 48em), print {
  .cored-wire-feature__two-column {
    grid-template-columns: 1fr 23.25rem;
    column-gap: 3rem;
  }
}
@media screen and (max-width: 47.99em) {
  .cored-wire-feature__two-column {
    grid-auto-flow: row;
    row-gap: 0.75rem;
  }
}
.cored-wire-feature__two-column img {
  width: 100%;
}
@media screen and (max-width: 47.99em) {
  .cored-wire-feature__two-column img {
    max-width: var(--max-width-image);
    margin-right: auto;
    margin-left: auto;
  }
}

.cored-wire-feature__image-column {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .cored-wire-feature__image-column {
    column-gap: 1.5rem;
    margin-top: 1.5rem;
  }
}
@media screen and (min-width: 48em), print {
  .cored-wire-feature__image-column {
    column-gap: 1.5rem;
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 47.99em) {
  .cored-wire-feature__image-column {
    grid-auto-flow: row;
    row-gap: 0.75rem;
    margin-top: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .cored-wire-feature__image-column {
    row-gap: 0.75rem;
  }
}
.cored-wire-feature__image-column img {
  width: 100%;
}
@media screen and (max-width: 47.99em) {
  .cored-wire-feature__image-column img {
    max-width: var(--max-width-image);
    margin-right: auto;
    margin-left: auto;
  }
}
.cored-wire-feature__image-column figcaption {
  margin-top: 0.25rem;
  text-align: center;
  line-height: 1.7;
  font-weight: 400;
  font-size: 0.75rem;
}
@media screen and (min-width: 60em), print {
  .cored-wire-feature__image-column:not(.cored-wire-feature__image-column--01,
  .cored-wire-feature__image-column--02) {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 48em) and (max-width: 59.99em) {
  .cored-wire-feature__image-column:not(.cored-wire-feature__image-column--01) {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 60em), print {
  .cored-wire-feature__image-column.cored-wire-feature__image-column--01 {
    grid-template-columns: 100%;
    width: 66.6666666667%;
    margin-right: auto;
    margin-left: auto;
  }
  .cored-wire-feature__image-column.cored-wire-feature__image-column--02 {
    grid-template-columns: repeat(2, 1fr);
    width: 66.6666666667%;
    margin-right: auto;
    margin-left: auto;
  }
}

.cored-wire-feature__case-column {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .cored-wire-feature__case-column {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .cored-wire-feature__case-column {
    grid-auto-flow: row;
  }
}

.cored-wire-feature__case {
  padding: 1.25rem;
  background-color: var(--color-white);
}
@media screen and (min-width: 60em), print {
  .cored-wire-feature__case {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .cored-wire-feature__case {
    margin-top: 0.75rem;
  }
}

.cored-wire-feature__case-heading {
  font-weight: 600;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
.cored-wire-feature__case-list {
  padding-left: 1.5em;
  margin-top: 0.5rem;
  list-style-type: disc;
}

@media screen and (min-width: 60em), print {
  .cored-wire-feature__table {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .cored-wire-feature__table {
    width: 100%;
    padding-right: 0rem;
    margin-top: 0.75rem;
  }
  .cored-wire-feature__table .table__table {
    min-width: auto;
  }
}

.cored-wire-merit__list {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .cored-wire-merit__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.625rem;
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .cored-wire-merit__list {
    grid-auto-flow: row;
    row-gap: 0.75rem;
    margin-top: 1.5rem;
  }
}

.cored-wire-merit__item {
  background-color: var(--color-white);
}
@media screen and (min-width: 60em), print {
  .cored-wire-merit__item {
    padding: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .cored-wire-merit__item {
    padding: 1.25rem;
  }
}

.cored-wire-merit__item-heading {
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .cored-wire-merit__item-heading {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .cored-wire-merit__item-heading {
    font-size: 1.0625rem;
  }
}
@media screen and (min-width: 60em), print {
  .cored-wire-support {
    padding-bottom: 7.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .cored-wire-support {
    padding-bottom: 5rem;
  }
}

.cored-wire-support__list {
  display: grid;
  grid-auto-flow: row;
  margin-top: 2.5rem;
}
@media screen and (min-width: 60em), print {
  .cored-wire-support__list {
    row-gap: 3.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .cored-wire-support__list {
    row-gap: 2.75rem;
  }
}

.cored-wire-support__item {
  display: grid;
}
@media screen and (min-width: 48em), print {
  .cored-wire-support__item {
    grid-template-columns: 19.75rem 1fr;
    column-gap: 2.25rem;
    align-items: start;
  }
}
@media screen and (max-width: 47.99em) {
  .cored-wire-support__item {
    grid-auto-flow: row;
    row-gap: 0.75rem;
  }
}

.cored-wire-support__item:not(:last-of-type) {
  position: relative;
}
.cored-wire-support__item:not(:last-of-type)::after {
  position: absolute;
  width: 0;
  height: 0;
  content: "";
  border-right: 9px solid transparent;
  border-bottom: 15px solid var(--color-gray);
  border-left: 9px solid transparent;
}
@media screen and (min-width: 48em), print {
  .cored-wire-support__item:not(:last-of-type)::after {
    top: calc(100% + 1rem);
    left: calc(19.75rem / 2);
    transform: translateX(-50%) rotate(180deg);
  }
}
@media screen and (max-width: 47.99em) {
  .cored-wire-support__item:not(:last-of-type)::after {
    top: calc(100% + 1rem);
    left: 50%;
    transform: translateX(-50%) rotate(180deg);
  }
}

.cored-wire-support__image {
  width: 100%;
}
@media screen and (max-width: 47.99em) {
  .cored-wire-support__image {
    max-width: var(--max-width-image);
    margin-right: auto;
    margin-left: auto;
  }
}

.cored-wire-support__item-heading {
  color: var(--color-red);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .cored-wire-support__item-heading {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .cored-wire-support__item-heading {
    font-size: 1.1875rem;
  }
}
.cored-wire-support__item-list {
  padding: 0.75rem 0.75rem 0.75rem calc(0.75rem + 1.5em);
  margin-top: 0.75rem;
  list-style-type: disc;
  background-color: var(--color-white);
  line-height: 1.7;
  font-weight: 400;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
}
.cored-wire-contact {
  position: relative;
  background-repeat: no-repeat;
}
@media screen and (min-width: 60em), print {
  .cored-wire-contact {
    background-image: url("/assets/images/bg-cored-wire-01-pc.jpg");
    background-position: center center;
  }
}
@media screen and (max-width: 59.99em) {
  .cored-wire-contact {
    background-color: var(--color-text);
    background-image: url("/assets/images/bg-cored-wire-01-sp.png");
    background-position: center top;
    background-size: 60rem;
  }
}
@media screen and (min-width: 60em) and (max-width: 90.0525em) {
  .cored-wire-contact {
    background-size: 90rem;
  }
}
@media screen and (min-width: 90.0625em), print {
  .cored-wire-contact {
    background-size: 100%;
  }
}
.cored-wire-contact::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: linear-gradient(0deg, rgba(51, 51, 51, 0.8) 0%, rgba(51, 51, 51, 0.8) 100%);
}

.cored-wire-contact__inner {
  position: relative;
  z-index: 1;
  width: calc(100% - var(--section-side-padding) * 2);
  max-width: var(--section-max-width);
  margin-right: auto;
  margin-left: auto;
  color: var(--color-white);
  text-align: left;
}

.cored-wire-contact__heading {
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .cored-wire-contact__heading {
    font-size: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .cored-wire-contact__heading {
    font-size: 1.75rem;
  }
}
.cored-wire-contact__link-area {
  display: grid;
  margin-top: 2rem;
}
@media screen and (min-width: 60em), print {
  .cored-wire-contact__link-area {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 2rem;
    justify-items: center;
  }
}
@media screen and (max-width: 59.99em) {
  .cored-wire-contact__link-area {
    grid-auto-flow: row;
    row-gap: 0.75rem;
    justify-items: center;
  }
}

.cored-wire-contact__link {
  display: grid;
  grid-template-columns: 1fr auto;
  column-gap: 1.25rem;
  align-items: center;
  justify-items: center;
  width: 100%;
  max-width: 35.125rem;
  color: var(--color-white);
  background-color: var(--color-red);
  box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.15);
  transition-duration: var(--transition-duration);
  transition-property: color background-color;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .cored-wire-contact__link {
    font-size: 1.625rem;
  }
}
@media screen and (max-width: 59.99em) {
  .cored-wire-contact__link {
    font-size: 1.4375rem;
  }
}
@media screen and (min-width: 60em), print {
  .cored-wire-contact__link {
    height: 6.4375rem;
    padding: 1rem 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .cored-wire-contact__link {
    height: 4.6875rem;
    padding: 1rem 1.25rem;
  }
}
@media screen and (hover: hover) and (min-width: 60em), print and (hover: hover) {
  .cored-wire-contact__link:where(:any-link, :enabled, summary):hover {
    color: var(--color-red);
    background-color: var(--color-white);
  }
}

.cored-wire-contact__icon {
  position: relative;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background-color: var(--color-white);
  transition-duration: var(--transition-duration);
  transition-property: background-color;
}
.cored-wire-contact__icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 1rem;
  height: 1rem;
  content: "";
  background-color: var(--color-red);
  mask-image: var(--icon-arrow-right);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 100%;
  transition-duration: var(--transition-duration);
  transition-property: transform;
  transform: translate(-50%, -50%);
}
@media screen and (hover: hover) and (min-width: 60em), print and (hover: hover) {
  :where(:any-link, :enabled, summary):hover .cored-wire-contact__icon {
    background-color: transparent;
  }
  :where(:any-link, :enabled, summary):hover .cored-wire-contact__icon::after {
    transform: translate(calc(-50% + 0.25rem), -50%);
  }
}

@media screen and (min-width: 60em), print {
  .cored-wire-case {
    padding-bottom: 7.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .cored-wire-case {
    padding-bottom: 5rem;
  }
}

.cored-wire-case__item {
  background-color: var(--color-white);
}
@media screen and (min-width: 60em), print {
  .cored-wire-case__item {
    padding: 1.5rem 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .cored-wire-case__item {
    padding: 1.5rem 1.25rem;
  }
}
.cored-wire-case__item:first-of-type {
  margin-top: 2.5rem;
}
@media screen and (min-width: 60em), print {
  .cored-wire-case__item:not(:first-of-type) {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .cored-wire-case__item:not(:first-of-type) {
    margin-top: 1.5rem;
  }
}

.cored-wire-case__item-heading {
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 0.5rem;
}
@media screen and (min-width: 60em), print {
  .cored-wire-case__item-heading {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .cored-wire-case__item-heading {
    font-size: 1.1875rem;
  }
}
.cored-wire-case__item-heading::before {
  width: 0.625rem;
  height: 1.25rem;
  clip-path: polygon(55% 0%, 100% 0%, 45% 100%, 0% 100%);
  content: "";
  background-color: var(--color-text);
  transform: translateY(0.375rem);
}

.cored-wire-case__item-image {
  display: grid;
  margin-top: 1.25rem;
}
@media screen and (min-width: 48em), print {
  .cored-wire-case__item-image {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 1.25rem;
  }
}
@media screen and (max-width: 47.99em) {
  .cored-wire-case__item-image {
    grid-auto-flow: row;
    row-gap: 1.25rem;
  }
}
.cored-wire-case__item-image img {
  width: 100%;
}
@media screen and (max-width: 47.99em) {
  .cored-wire-case__item-image img {
    max-width: var(--max-width-image);
    margin-right: auto;
    margin-left: auto;
  }
}