@charset "UTF-8";/*
! tailwindcss v3.4.1 | 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: currentColor; /* 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 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     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 */
  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,
[type='button'],
[type='reset'],
[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::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

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] {
  display: none;
}

*, ::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:  ;
}

::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:  ;
}
.u-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border-width: 0 !important;
}
.u-mb-0 {
  margin-bottom: 0px !important;
}
.u-mb-\[0\.25rem\] {
  margin-bottom: 0.25rem !important;
}
.u-mb-\[0\.5rem\] {
  margin-bottom: 0.5rem !important;
}
.u-mb-\[0\.75rem\] {
  margin-bottom: 0.75rem !important;
}
.u-mb-\[1\.25rem\] {
  margin-bottom: 1.25rem !important;
}
.u-mb-\[1\.5rem\] {
  margin-bottom: 1.5rem !important;
}
.u-mb-\[1\.75rem\] {
  margin-bottom: 1.75rem !important;
}
.u-mb-\[1rem\] {
  margin-bottom: 1rem !important;
}
.u-mb-\[2\.25rem\] {
  margin-bottom: 2.25rem !important;
}
.u-mb-\[2\.5rem\] {
  margin-bottom: 2.5rem !important;
}
.u-mb-\[2\.75rem\] {
  margin-bottom: 2.75rem !important;
}
.u-mb-\[2rem\] {
  margin-bottom: 2rem !important;
}
.u-mb-\[3\.5rem\] {
  margin-bottom: 3.5rem !important;
}
.u-mb-\[3rem\] {
  margin-bottom: 3rem !important;
}
.u-mb-\[4rem\] {
  margin-bottom: 4rem !important;
}
.u-mb-\[5rem\] {
  margin-bottom: 5rem !important;
}
.u-mb-\[6rem\] {
  margin-bottom: 6rem !important;
}
.u-mb-\[7rem\] {
  margin-bottom: 7rem !important;
}
.u-mb-\[8rem\] {
  margin-bottom: 8rem !important;
}
.u-ml-auto {
  margin-left: auto !important;
}
.u-mr-auto {
  margin-right: auto !important;
}
.u-mt-0 {
  margin-top: 0px !important;
}
.u-mt-\[0\.25rem\] {
  margin-top: 0.25rem !important;
}
.u-mt-\[0\.5rem\] {
  margin-top: 0.5rem !important;
}
.u-mt-\[0\.75rem\] {
  margin-top: 0.75rem !important;
}
.u-mt-\[1\.25rem\] {
  margin-top: 1.25rem !important;
}
.u-mt-\[1\.5rem\] {
  margin-top: 1.5rem !important;
}
.u-mt-\[1\.75rem\] {
  margin-top: 1.75rem !important;
}
.u-mt-\[1rem\] {
  margin-top: 1rem !important;
}
.u-mt-\[2\.25rem\] {
  margin-top: 2.25rem !important;
}
.u-mt-\[2\.5rem\] {
  margin-top: 2.5rem !important;
}
.u-mt-\[2\.75rem\] {
  margin-top: 2.75rem !important;
}
.u-mt-\[2rem\] {
  margin-top: 2rem !important;
}
.u-mt-\[3\.5rem\] {
  margin-top: 3.5rem !important;
}
.u-mt-\[3rem\] {
  margin-top: 3rem !important;
}
.u-mt-\[4rem\] {
  margin-top: 4rem !important;
}
.u-mt-\[5rem\] {
  margin-top: 5rem !important;
}
.u-mt-\[6\.25rem\] {
  margin-top: 6.25rem !important;
}
.u-mt-\[6rem\] {
  margin-top: 6rem !important;
}
.u-mt-\[7rem\] {
  margin-top: 7rem !important;
}
.u-mt-\[8rem\] {
  margin-top: 8rem !important;
}
.u-inline-block {
  display: inline-block !important;
}
.u-flex {
  display: flex !important;
}
.u-aspect-video {
  aspect-ratio: 16 / 9 !important;
}
.u-h-40 {
  height: 10rem !important;
}
.u-h-60 {
  height: 15rem !important;
}
.u-h-\[30rem\] {
  height: 30rem !important;
}
.u-h-full {
  height: 100% !important;
}
.u-w-1\/5 {
  width: 20% !important;
}
.u-w-4\/5 {
  width: 80% !important;
}
.u-w-\[10\%\] {
  width: 10% !important;
}
.u-w-\[100\%\] {
  width: 100% !important;
}
.u-w-\[12\%\] {
  width: 12% !important;
}
.u-w-\[15\%\] {
  width: 15% !important;
}
.u-w-\[16\%\] {
  width: 16% !important;
}
.u-w-\[17\%\] {
  width: 17% !important;
}
.u-w-\[20\%\] {
  width: 20% !important;
}
.u-w-\[22\%\] {
  width: 22% !important;
}
.u-w-\[23\%\] {
  width: 23% !important;
}
.u-w-\[25\%\] {
  width: 25% !important;
}
.u-w-\[30\%\] {
  width: 30% !important;
}
.u-w-\[35\%\] {
  width: 35% !important;
}
.u-w-\[40\%\] {
  width: 40% !important;
}
.u-w-\[45\%\] {
  width: 45% !important;
}
.u-w-\[5\%\] {
  width: 5% !important;
}
.u-w-\[50\%\] {
  width: 50% !important;
}
.u-w-\[55\%\] {
  width: 55% !important;
}
.u-w-\[60\%\] {
  width: 60% !important;
}
.u-w-\[65\%\] {
  width: 65% !important;
}
.u-w-\[7\%\] {
  width: 7% !important;
}
.u-w-\[70\%\] {
  width: 70% !important;
}
.u-w-\[75\%\] {
  width: 75% !important;
}
.u-w-\[80\%\] {
  width: 80% !important;
}
.u-w-\[85\%\] {
  width: 85% !important;
}
.u-w-\[90\%\] {
  width: 90% !important;
}
.u-w-\[95\%\] {
  width: 95% !important;
}
.u-w-full {
  width: 100% !important;
}
.u-max-w-\[17\.5rem\] {
  max-width: 17.5rem !important;
}
.u-max-w-\[18\.75rem\] {
  max-width: 18.75rem !important;
}
.u-max-w-\[31\.25rem\] {
  max-width: 31.25rem !important;
}
.u-max-w-\[70\%\] {
  max-width: 70% !important;
}
.u-max-w-full {
  max-width: 100% !important;
}
.u-gap-x-\[1rem\] {
  -moz-column-gap: 1rem !important;
       column-gap: 1rem !important;
}
.u-gap-y-\[1rem\] {
  row-gap: 1rem !important;
}
.u-bg-gray-50 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(242 242 242 / var(--tw-bg-opacity)) !important;
}
.u-text-left {
  text-align: left !important;
}
.u-text-center {
  text-align: center !important;
}
.u-text-right {
  text-align: right !important;
}
.u-align-top {
  vertical-align: top !important;
}
.u-align-middle {
  vertical-align: middle !important;
}
.u-align-bottom {
  vertical-align: bottom !important;
}
.u-text-base {
  font-size: 1rem !important;
  line-height: 1.5rem !important;
}
.u-text-xs {
  font-size: 0.75rem !important;
  line-height: 1rem !important;
}
.u-font-bold {
  font-weight: 700 !important;
}
.u-italic {
  font-style: italic !important;
}
.u-text-gray-800 {
  --tw-text-opacity: 1 !important;
  color: rgb(93 105 112 / var(--tw-text-opacity)) !important;
}
.u-text-red-text {
  --tw-text-opacity: 1 !important;
  color: rgb(204 0 34 / var(--tw-text-opacity)) !important;
}
@media (max-width: 59.99em) {

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

  .sp\:u-mb-0 {
    margin-bottom: 0px !important;
  }

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

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

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

  .sp\:u-mt-0 {
    margin-top: 0px !important;
  }

  .sp\:u-mt-20 {
    margin-top: 5rem !important;
  }

  .sp\:u-mt-6 {
    margin-top: 1.5rem !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .sp\:u-w-full {
    width: 100% !important;
  }

  .sp\:u-gap-\[1\.75rem\] {
    gap: 1.75rem !important;
  }

  .sp\:u-gap-y-\[1\.25rem\] {
    row-gap: 1.25rem !important;
  }

  .sp\:u-gap-y-\[2rem\] {
    row-gap: 2rem !important;
  }

  .sp\:u-border-t {
    border-top-width: 1px !important;
  }

  .sp\:u-border-solid {
    border-style: solid !important;
  }

  .sp\:u-border-gray-100 {
    --tw-border-opacity: 1 !important;
    border-color: rgb(229 229 229 / var(--tw-border-opacity)) !important;
  }

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

  .sp\:u-pt-20 {
    padding-top: 5rem !important;
  }

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

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

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

  .sp\:u-text-left {
    text-align: left !important;
  }

  .sp\:u-text-center {
    text-align: center !important;
  }

  .sp\:u-text-right {
    text-align: right !important;
  }

  .sp\:u-align-top {
    vertical-align: top !important;
  }

  .sp\:u-align-middle {
    vertical-align: middle !important;
  }

  .sp\:u-align-bottom {
    vertical-align: bottom !important;
  }

  .sp\:u-font-bold {
    font-weight: 700 !important;
  }

  .sp\:u-text-red-text {
    --tw-text-opacity: 1 !important;
    color: rgb(204 0 34 / var(--tw-text-opacity)) !important;
  }
}
@media (min-width: 60em) {

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

  .pc\:u-mb-0 {
    margin-bottom: 0px !important;
  }

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

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

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

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

  .pc\:u-mt-0 {
    margin-top: 0px !important;
  }

  .pc\:u-mt-14 {
    margin-top: 3.5rem !important;
  }

  .pc\:u-mt-8 {
    margin-top: 2rem !important;
  }

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

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

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

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

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

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

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

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

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

  .pc\:u-h-full {
    height: 100% !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .pc\:u-w-full {
    width: 100% !important;
  }

  .pc\:u-max-w-\[58\.375rem\] {
    max-width: 58.375rem !important;
  }

  .pc\:u-gap-y-\[3\.75rem\] {
    row-gap: 3.75rem !important;
  }

  .pc\:u-pb-40 {
    padding-bottom: 10rem !important;
  }

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

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

  .pc\:u-pt-40 {
    padding-top: 10rem !important;
  }

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

  .pc\:u-text-left {
    text-align: left !important;
  }

  .pc\:u-text-center {
    text-align: center !important;
  }

  .pc\:u-text-right {
    text-align: right !important;
  }

  .pc\:u-align-top {
    vertical-align: top !important;
  }

  .pc\:u-align-middle {
    vertical-align: middle !important;
  }

  .pc\:u-align-bottom {
    vertical-align: bottom !important;
  }

  .pc\:u-font-bold {
    font-weight: 700 !important;
  }

  .pc\:u-text-red-text {
    --tw-text-opacity: 1 !important;
    color: rgb(204 0 34 / var(--tw-text-opacity)) !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 {
  -webkit-appearance: none; /* 1 */
  -moz-appearance: none;
       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 {
  --white: #fff;
  --gray-50: #f2f2f2;
  --gray-100: #e5e5e5;
  --gray-200: #c8cbcd;
  --gray-800: #5d6970;
  --gray-900: #242b30;
  --black: #000;
  --red-text: #c02;
  --red-primary: #e60027;
  --red-bg: #ffdee5;
  --hero-bg: #5a6e7e;
  --icon-arrow-circle: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="9" height="14" viewBox="0 0 9 14" fill="none"><path d="M1 13L7 7L1 1L7 7L1 13Z" stroke="%23E60027" stroke-width="1.5" stroke-miterlimit="10"/></svg>');
  --icon-arrow-down: url('data:image/svg+xml;charset=UTF-8,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7 11.5L16 20.5L25 11.5" stroke="%23E60027" stroke-width="2" stroke-miterlimit="10"/></svg>');
  --icon-arrow-up: url('data:image/svg+xml;charset=UTF-8,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7 20.5L16 11.5L25 20.5" stroke="%23E60027" stroke-width="1.5" stroke-miterlimit="10"/></svg>');
  --icon-arrow-forward: url('data:image/svg+xml;charset=UTF-8,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11 25L20 16L11 7" stroke="%23E60027" stroke-width="2" stroke-miterlimit="10"/></svg>');
  --icon-language-check: url('data:image/svg+xml;charset=UTF-8,<svg version="1.1" id="_x32_" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="width: 256px; height: 256px; opacity: 1;" xml:space="preserve"><g><polygon fill="%234B4B4B" points="440.469,73.413 218.357,295.525 71.531,148.709 0,220.229 146.826,367.055 218.357,438.587 289.878,367.055 512,144.945 	" style="fill: rgb(75, 75, 75);"></polygon></g></svg>');
  --icon-check: url('data:image/svg+xml;charset=UTF-8,<svg width="33" height="32" viewBox="0 0 33 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.5 14L14 20.5L25.5 11" stroke="%23e60027" stroke-width="1.5" stroke-miterlimit="10"/></svg>');
  --icon-stick-arrow: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="14" viewBox="0 0 17 14" fill="none"><path d="M8.93994 13.4316L15.3718 6.99972L8.93994 0.567871L15.3718 6.99972L8.93994 13.4316Z" stroke="%23F2F2F2" stroke-width="1.60796" stroke-miterlimit="10" /><path d="M-0.000488281 6.99951H15.3716" stroke="%23F2F2F2" stroke-width="1.60796" stroke-miterlimit="10" /></svg>');
  --icon-anchor: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 22 22" fill="none"><path d="M6.1875 11.6875L11 16.5L15.8125 11.6875" stroke="%23e60027" stroke-width="1.5" stroke-miterlimit="10"/><path d="M11 5.5L11 16.5" stroke="%23e60027" stroke-width="1.5" stroke-miterlimit="10"/></svg>');
  --icon-window-arrow: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 12 12"><path d="M10,2V0v0H0v0v3v7h2v2h10V2H10z M1,3h8v6H1V3z M11,11H3v-1h7V3v0h1V11z"/></svg>');
  --icon-to-top: url('data:image/svg+xml;charset=UTF-8,<svg width="14" height="12" viewBox="0 0 14 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.71 11.0098L6.70996 5.00977L0.709961 11.0098L6.70996 5.00977L12.71 11.0098Z" stroke="white" stroke-width="2" stroke-miterlimit="10"/><path d="M0.859863 1H12.5599" stroke="white" stroke-width="2" stroke-miterlimit="10"/></svg>');
  --icon-exclamation: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none"><path d="M9 0C4.03412 0 0 4.02715 0 9C0 13.9728 4.03412 18 9 18C13.9659 18 18 13.9728 18 9C18 4.02715 13.9659 0 9 0ZM7.90941 3.10272H10.1012V10.8383H7.90941V3.10272ZM9.98471 14.8548C9.72 15.1204 9.39177 15.2586 9 15.2586C8.60824 15.2586 8.28 15.1204 8.0153 14.8548C7.75059 14.5891 7.61294 14.2597 7.61294 13.8666C7.61294 13.4734 7.75059 13.144 8.0153 12.8784C8.28 12.6128 8.60824 12.4746 9 12.4746C9.39177 12.4746 9.72 12.6128 9.98471 12.8784C10.2494 13.144 10.3871 13.4734 10.3871 13.8666C10.3871 14.2597 10.2494 14.5891 9.98471 14.8548Z" fill="%23e60027"/></svg>');
  --icon-cross: url('data:image/svg+xml;charset=UTF-8,<svg fill="black" height="800" width="800" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 490 490" xml:space="preserve"><polygon points="456.851,0 245,212.564 33.149,0 0.708,32.337 212.669,245.004 0.708,457.678 33.149,490 245,277.443 456.851,490 489.292,457.678 277.331,245.004 489.292,32.337 "/></svg>');
  --icon-pin: url('data:image/svg+xml;charset=UTF-8,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path id="Vector (Stroke)" fill-rule="evenodd" clip-rule="evenodd" d="M9.99827 6.5083C8.64728 6.5083 7.55469 7.59954 7.55469 8.94245C7.55469 10.2854 8.64728 11.3766 9.99827 11.3766C11.3493 11.3766 12.4418 10.2854 12.4418 8.94245C12.4418 7.59954 11.3493 6.5083 9.99827 6.5083ZM6.61719 8.94245C6.61719 7.07891 8.13238 5.5708 9.99827 5.5708C11.8642 5.5708 13.3793 7.07891 13.3793 8.94245C13.3793 10.806 11.8642 12.3141 9.99827 12.3141C8.13238 12.3141 6.61719 10.806 6.61719 8.94245Z" fill="%23E60027"/><path id="Vector (Stroke)_2" fill-rule="evenodd" clip-rule="evenodd" d="M2.44141 8.94211C2.44141 4.77861 5.8269 1.40625 10.0002 1.40625C14.1735 1.40625 17.559 4.77861 17.559 8.94211C17.559 11.0544 16.4768 12.9989 15.0638 14.725C13.7266 16.3585 12.043 17.8553 10.5689 19.1657C10.4824 19.2425 10.3967 19.3187 10.3119 19.3942L10.0002 19.6716L9.68858 19.3942C9.6037 19.3187 9.51798 19.2425 9.43155 19.1657C7.95747 17.8553 6.2738 16.3585 4.93661 14.725C3.52365 12.9989 2.44141 11.0544 2.44141 8.94211ZM10.0002 2.34375C6.3418 2.34375 3.37891 5.29924 3.37891 8.94211C3.37891 10.7331 4.30055 12.4679 5.66205 14.1311C6.93052 15.6807 8.53211 17.1113 10.0002 18.4168C11.4683 17.1113 13.0699 15.6807 14.3384 14.1311C15.6999 12.4679 16.6215 10.7331 16.6215 8.94211C16.6215 5.29924 13.6586 2.34375 10.0002 2.34375Z" fill="%23E60027"/></svg>');
  --icon-plus: url('data:image/svg+xml;charset=UTF-8,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7 16H16H25" stroke="%23E60027" stroke-width="1.5" stroke-miterlimit="10"/><path d="M16 25L16 16V7" stroke="%23E60027" stroke-width="1.5" stroke-miterlimit="10"/></svg>');
  --icon-close: url('data:image/svg+xml;charset=UTF-8,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.63634 22.3637L16.0003 15.9997L22.3643 9.63574" stroke="%235D6970" stroke-width="1.5" stroke-miterlimit="10"/><path d="M22.3646 22.3637L16.0007 15.9997L9.63672 9.63574" stroke="%235D6970" stroke-width="1.5" stroke-miterlimit="10"/></svg>');
  --icon-open-in-new: 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"><g id="icon_targetblank"><path id="link" d="M5.8125 7.1875H13.3125V12.8125H5.8125V7.1875ZM7.6875 13.75H14.25V7.1875H15.1875V14.6875H7.6875V13.75ZM4.875 4.375V13.75H6.75V15.625H16.125V6.25H14.25V4.375H4.875Z" fill="%23E60027"/></g></svg>');
  --icon-pdf: url('data:image/svg+xml;charset=UTF-8,<svg width="44" height="32" viewBox="0 0 44 32" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_663_18523)"><rect y="4" width="44" height="24" fill="%23CC0022"/><path d="M30.166 21.8865V9H39.0002V11.18H32.7679V14.2302H38.1475V16.4102H32.7679V21.8865H30.166Z" fill="white"/><path d="M17.1914 9H21.9469C23.0193 9 23.8368 9.08204 24.3994 9.24613C25.1553 9.46881 25.8029 9.86437 26.342 10.4328C26.8812 11.0012 27.2914 11.6986 27.5727 12.5249C27.8539 13.3453 27.9946 14.3591 27.9946 15.5663C27.9946 16.627 27.8627 17.5412 27.599 18.3088C27.2767 19.2465 26.8167 20.0054 26.219 20.5855C25.7677 21.025 25.1583 21.3678 24.3906 21.614C23.8163 21.7956 23.0486 21.8865 22.0876 21.8865H17.1914V9ZM19.7933 11.18V19.7153H21.7359C22.4626 19.7153 22.9871 19.6743 23.3094 19.5922C23.7313 19.4867 24.08 19.308 24.3554 19.056C24.6367 18.804 24.8653 18.3909 25.0411 17.8166C25.2169 17.2364 25.3048 16.4482 25.3048 15.452C25.3048 14.4558 25.2169 13.691 25.0411 13.1578C24.8653 12.6245 24.6191 12.2084 24.3027 11.9096C23.9862 11.6107 23.5848 11.4085 23.0984 11.303C22.7351 11.221 22.0231 11.18 20.9624 11.18H19.7933Z" fill="white"/><path d="M5 21.8865V9H9.17535C10.7576 9 11.789 9.06446 12.2695 9.19338C13.0079 9.38677 13.6261 9.8087 14.1242 10.4592C14.6224 11.1038 14.8714 11.9389 14.8714 12.9644C14.8714 13.7555 14.7278 14.4206 14.4407 14.9598C14.1535 15.4989 13.7873 15.9238 13.3419 16.2343C12.9024 16.5391 12.4541 16.7413 11.997 16.8409C11.3758 16.9639 10.4763 17.0255 9.29842 17.0255H7.6019V21.8865H5ZM7.6019 11.18V14.8367H9.02592C10.0514 14.8367 10.7371 14.7693 11.0828 14.6345C11.4286 14.4997 11.6981 14.2888 11.8915 14.0016C12.0908 13.7145 12.1904 13.3805 12.1904 12.9995C12.1904 12.5307 12.0527 12.144 11.7773 11.8392C11.5018 11.5345 11.1532 11.3441 10.7312 11.2679C10.4206 11.2093 9.79653 11.18 8.85891 11.18H7.6019Z" fill="white"/></g><defs><clipPath id="clip0_663_18523"><rect width="44" height="32" fill="white"/></clipPath></defs></svg>');
  --icon-calender: url('data:image/svg+xml;charset=UTF-8,<svg width="29" height="28" viewBox="0 0 29 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M19.844 4.59375H9.15601V2.625H7.84351V4.59375H4.91138C4.02626 4.59375 3.34375 5.32832 3.34375 6.19057V24.4344C3.34375 25.2967 4.02626 26.0312 4.91138 26.0312H24.0886C24.9737 26.0312 25.6562 25.2967 25.6562 24.4344V6.19057C25.6562 5.32832 24.9737 4.59375 24.0886 4.59375H21.1565V2.625H19.844V4.59375ZM4.65625 6.19057C4.65625 6.01389 4.78982 5.90625 4.91138 5.90625H24.0886C24.2102 5.90625 24.3438 6.01389 24.3438 6.19057V10.5427H4.65625V6.19057ZM4.65625 11.8552V24.4344C4.65625 24.6111 4.78982 24.7188 4.91138 24.7188H24.0886C24.2102 24.7188 24.3438 24.6111 24.3438 24.4344V11.8552H4.65625Z" fill="%23E60027"/><path d="M8.77273 14H7.5V15.2727H8.77273V14Z" fill="%23E60027"/><path d="M8.77273 17.394H7.5V18.6668H8.77273V17.394Z" fill="%23E60027"/><path d="M8.77273 20.7881H7.5V22.0608H8.77273V20.7881Z" fill="%23E60027"/><path d="M13.0149 14H11.7422V15.2727H13.0149V14Z" fill="%23E60027"/><path d="M13.0149 17.394H11.7422V18.6668H13.0149V17.394Z" fill="%23E60027"/><path d="M13.0149 20.7881H11.7422V22.0608H13.0149V20.7881Z" fill="%23E60027"/><path d="M17.2571 14H15.9844V15.2727H17.2571V14Z" fill="%23E60027"/><path d="M17.2571 17.394H15.9844V18.6668H17.2571V17.394Z" fill="%23E60027"/><path d="M17.2571 20.7881H15.9844V22.0608H17.2571V20.7881Z" fill="%23E60027"/><path d="M21.4993 14H20.2266V15.2727H21.4993V14Z" fill="%23E60027"/><path d="M21.4993 17.394H20.2266V18.6668H21.4993V17.394Z" fill="%23E60027"/><path d="M21.4993 20.7881H20.2266V22.0608H21.4993V20.7881Z" fill="%23E60027"/></svg>');
  --icon-video: url('data:image/svg+xml;charset=UTF-8,<svg width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 4.625L5.5 7.625H7.75L6.25 4.625H7.75L9.25 7.625H11.5L10 4.625H11.5L13 7.625H15.25L13.75 4.625H16C16.4125 4.625 16.7657 4.772 17.0597 5.066C17.3533 5.3595 17.5 5.7125 17.5 6.125V15.125C17.5 15.5375 17.3533 15.8907 17.0597 16.1847C16.7657 16.4782 16.4125 16.625 16 16.625H4C3.5875 16.625 3.2345 16.4782 2.941 16.1847C2.647 15.8907 2.5 15.5375 2.5 15.125V6.125C2.5 5.7125 2.647 5.3595 2.941 5.066C3.2345 4.772 3.5875 4.625 4 4.625Z" fill="%23E60027"/></svg>');
  --icon-word: url('data:image/svg+xml;charset=UTF-8,<svg width="27" height="19" viewBox="0 0 27 19" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_1963_2298)"><rect y="2.75" width="27" height="13.5" fill="%235D6970"/><path d="M23.6286 12.4088H22.5098V11.7402C22.3241 12.0002 22.1041 12.1945 21.8497 12.3231C21.5983 12.4489 21.3439 12.5117 21.0868 12.5117C20.5638 12.5117 20.1152 12.3017 19.7408 11.8816C19.3693 11.4587 19.1836 10.87 19.1836 10.1156C19.1836 9.34408 19.3651 8.75827 19.728 8.35821C20.0909 7.95529 20.5495 7.75383 21.1039 7.75383C21.6125 7.75383 22.0526 7.96529 22.4241 8.38821V6.125L23.6286 6.125V12.4088ZM20.4138 10.0342C20.4138 10.52 20.4809 10.8715 20.6152 11.0886C20.8096 11.403 21.081 11.5601 21.4297 11.5601C21.7068 11.5601 21.9426 11.443 22.1369 11.2087C22.3312 10.9715 22.4284 10.6186 22.4284 10.1499C22.4284 9.62698 22.3341 9.25121 22.1455 9.0226C21.9569 8.79113 21.7154 8.6754 21.4211 8.6754C21.1353 8.6754 20.8953 8.78971 20.701 9.01831C20.5095 9.24406 20.4138 9.58269 20.4138 10.0342Z" fill="white"/><path d="M17.2514 12.4089H16.0469V7.85678H17.1656V8.50402C17.3571 8.19826 17.5285 7.9968 17.68 7.89964C17.8343 7.80249 18.0086 7.75391 18.2029 7.75391C18.4773 7.75391 18.7416 7.82963 18.9959 7.98108L18.623 9.03125C18.4201 8.8998 18.2315 8.83408 18.0572 8.83408C17.8886 8.83408 17.7457 8.88123 17.6286 8.97553C17.5114 9.06697 17.4185 9.23414 17.3499 9.47703C17.2842 9.71993 17.2514 10.2286 17.2514 11.003V12.4089Z" fill="white"/><path d="M10.4023 10.0686C10.4023 9.66849 10.5009 9.28129 10.6981 8.90695C10.8953 8.5326 11.1739 8.24684 11.534 8.04967C11.8969 7.85249 12.3012 7.75391 12.747 7.75391C13.4357 7.75391 14.0001 7.97823 14.4401 8.42687C14.8802 8.87265 15.1002 9.43703 15.1002 10.12C15.1002 10.8087 14.8773 11.3802 14.4316 11.8345C13.9886 12.286 13.43 12.5118 12.7556 12.5118C12.3384 12.5118 11.9397 12.4175 11.5597 12.2289C11.1825 12.0403 10.8953 11.7645 10.6981 11.4016C10.5009 11.0359 10.4023 10.5915 10.4023 10.0686ZM11.6368 10.1329C11.6368 10.5844 11.744 10.9301 11.9583 11.1702C12.1726 11.4102 12.437 11.5302 12.7513 11.5302C13.0656 11.5302 13.3285 11.4102 13.54 11.1702C13.7543 10.9301 13.8615 10.5815 13.8615 10.1243C13.8615 9.6785 13.7543 9.33558 13.54 9.09555C13.3285 8.85551 13.0656 8.73549 12.7513 8.73549C12.437 8.73549 12.1726 8.85551 11.9583 9.09555C11.744 9.33558 11.6368 9.68135 11.6368 10.1329Z" fill="white"/><path d="M3.75414 12.4088L2.25391 6.125H3.55268L4.49997 10.4414L5.64873 6.125L7.15754 6.125L8.25914 10.5143L9.22358 6.125H10.5009L8.97496 12.4088H7.62904L6.37741 7.71096L5.13007 12.4088H3.75414Z" fill="white"/></g><defs><clipPath id="clip0_1963_2298"><rect width="27" height="18" fill="white" transform="translate(0 0.5)"/></clipPath></defs></svg>');
  --icon-video-playback: url('data:image/svg+xml;charset=UTF-8,<svg width="81" height="80" viewBox="0 0 81 80" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="40.5" cy="40" r="40" fill="white"/><path d="M50.6181 39.4398C51.0818 39.6693 51.0818 40.3307 50.6181 40.5602L32.9647 49.2963C32.5493 49.5019 32.0625 49.1996 32.0625 48.7361L32.0625 31.2639C32.0625 30.8004 32.5493 30.4981 32.9647 30.7037L50.6181 39.4398Z" fill="%23242B30"/></svg>');
  --icon-play: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="none"><path d="M24.0945 15.5519C24.4654 15.7355 24.4654 16.2645 24.0945 16.4481L9.97177 23.437C9.63944 23.6015 9.25 23.3597 9.25 22.9889L9.25 9.01108C9.25 8.64029 9.63944 8.39849 9.97177 8.56295L24.0945 15.5519Z" fill="%23242B30"/></svg>');
  --path-triangle: polygon(0 0, 0 100%, 100% 50%);
  --path-stop: polygon(
    100% 0,
    100% 100%,
    70% 100%,
    70% 0,
    30% 0,
    30% 100%,
    0% 100%,
    0 0
  );
  --container-spacing-horizontal: 4%;
  --container-max-width: 79.6875rem;
  --container-width: min(
    calc(100% - var(--container-spacing-horizontal) * 2),
    var(--container-max-width)
  );
  --letter-spacing: 0.04em;
  --infinity: 999rem;
  --base-rem: clamp(0.85rem, calc(100vw / 375 * 16), 1rem);
  --header-height: 6.5625rem;
  --header-nav-height: 3.75rem;
  --subheader-height: 2.8125rem;
  --z-index-header: 100;
  --animation-duration: 0.3s;
  --font-inter: "Inter", sans-serif;
}

html {
  font-family: Arial, "Noto Sans JP", sans-serif;
  color: var(--black);
}
@media (prefers-reduced-motion: no-preference) {
  html:not(.is-no-smooth) {
    scroll-behavior: smooth;
  }
}

body {
  overflow: auto;
  word-break: normal;
  overflow-wrap: anywhere;
  background-color: var(--white);
  line-break: strict;
}

*,
*::before,
*::after {
  letter-spacing: var(--letter-spacing, auto);
}

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

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  img {
    image-rendering: -webkit-optimize-contrast;
  }
  img _::-webkit-full-page-media,
  img _:future, :root img {
    image-rendering: auto;
  }
}

select,
[type=checkbox],
[type=radio] {
  cursor: pointer;
}
select:disabled,
[type=checkbox]:disabled,
[type=radio]:disabled {
  cursor: default;
}

@media screen and (min-width: 60em), print {
  :target {
    scroll-margin-top: var(--header-nav-height);
  }
}
@media screen and (max-width: 59.99em) {
  :target {
    scroll-margin-top: var(--subheader-height);
  }
}

summary {
  list-style: none;
  cursor: pointer;
}
summary::-webkit-details-marker {
  display: none;
}

em {
  font-style: normal;
  font-weight: 700;
}

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

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

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

.splide--rtl {
  direction: rtl;
}

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

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

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

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

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

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

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

.splide__progress__bar {
  width: 0;
}

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

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

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

.splide__slide img {
  vertical-align: bottom;
}

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

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

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

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

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

@keyframes scroll-hint-appear {
  0% {
    transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%, 100% {
    transform: translateX(-40px);
    opacity: 0;
  }
}
.scroll-hint.is-right-scrollable {
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-right-scrollable.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint-icon {
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 60px);
  box-sizing: border-box;
  width: 120px;
  height: 80px;
  border-radius: 5px;
  transition: opacity 0.3s;
  opacity: 0;
  background: rgba(0, 0, 0, 0.7);
  text-align: center;
  padding: 20px 10px 10px 10px;
}

.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none;
}

.scroll-hint-text {
  font-size: 10px;
  color: #FFF;
  margin-top: 5px;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: 0.8;
}

.scroll-hint-icon:before {
  display: inline-block;
  width: 40px;
  height: 40px;
  color: #FFF;
  vertical-align: middle;
  text-align: center;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon:after {
  content: "";
  width: 34px;
  height: 14px;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -20px;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
  opacity: 0;
  transition-delay: 2.4s;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  animation: scroll-hint-appear 1.2s linear;
  animation-iteration-count: 2;
}

.scroll-hint-icon-white {
  background-color: #FFF;
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.4);
}

.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.scroll-hint-icon-white .scroll-hint-text {
  color: #000;
}

.Width > .Width__Full {
  width: 100%;
}
.Width > *:not(.Width__Full) {
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .Width > *:not(.Width__Full) {
    width: var(--container-width);
  }
}
@media screen and (max-width: 59.99em) {
  .Width > *:not(.Width__Full) {
    width: 92%;
  }
  .Width.Width--padding-top {
    padding-top: 5rem;
  }
}
@media screen and (min-width: 60em), print {
  .Width.Width--padding-top {
    padding-top: 6.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Width.Width--padding-bottom {
    padding-bottom: 5rem;
  }
}
@media screen and (min-width: 60em), print {
  .Width.Width--padding-bottom {
    padding-bottom: 6.25rem;
  }
}

.Header {
  position: relative;
  z-index: var(--z-index-header);
}
.Header.is-loading {
  min-height: var(--header-height);
}
@media screen and (min-width: 60em), print {
  .Header.is-scroll {
    margin-top: var(--header-nav-height);
  }
}

.Header__Backdrop {
  position: fixed;
  width: 100vw;
  height: 100%;
  visibility: hidden;
  opacity: 0;
}
@media (prefers-reduced-motion: no-preference) {
  .Header__Backdrop {
    transition: opacity, visibility;
    transition-duration: 0.5s;
  }
}
.Header__Backdrop:is(.Header.is-submenu-open .Header__Backdrop) {
  visibility: visible;
  opacity: 1;
}
.Header__Backdrop::before {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
  background-color: var(--black);
  opacity: 0.7;
}

.Header__Nav {
  position: relative;
  display: grid;
  width: 100%;
  background-color: var(--gray-50);
}
@media screen and (min-width: 60em), print {
  .Header__Nav:is(.Header.is-scroll .Header__Nav) {
    position: fixed;
    top: 0;
    z-index: 100;
    width: 100%;
  }
}
@media screen and (max-width: 59.99em) {
  .Header__Nav {
    position: relative;
    margin-top: var(--subheader-height);
  }
}

.Header__NavInner {
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  justify-content: space-between;
  min-height: 3.75rem;
}

.Header__NavLogo {
  width: 100%;
  max-width: 13.75rem;
}
.Header__NavLogo:lang(en) {
  max-width: 21.25rem;
}

.Header__NavContent {
  background-color: var(--gray-50);
}
@media screen and (min-width: 60em), print {
  .Header__NavContent {
    height: 100%;
  }
}
@media screen and (max-width: 59.99em) {
  .Header__NavContent {
    position: fixed;
    top: var(--subheader-height);
    right: 0;
    left: 0;
    height: calc(100% - var(--subheader-height));
    padding-bottom: 3.75rem;
    overflow: auto;
    visibility: hidden;
    opacity: 0;
  }
}
@media screen and (max-width: 59.99em) and (prefers-reduced-motion: no-preference) {
  .Header__NavContent {
    transition: opacity, visibility;
    transition-duration: var(--animation-duration);
  }
}
@media screen and (max-width: 59.99em) {
  .Header__NavContent:is(.Header.is-menu-open .Header__NavContent) {
    visibility: visible;
    opacity: 1;
  }
}

@media screen and (min-width: 60em), print {
  .Header__NavList {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
  }
}
.Header__NavList > li {
  height: 100%;
}
@media screen and (max-width: 59.99em) {
  .Header__NavList > li {
    border-bottom: 1px solid var(--gray-100);
  }
}

.Header__MenuButton {
  position: relative;
}
@media screen and (min-width: 60em), print {
  .Header__MenuButton {
    height: 100%;
    padding-right: 1rem;
    padding-left: 1rem;
  }
}
@media screen and (min-width: 60em) and (prefers-reduced-motion: no-preference), print and (prefers-reduced-motion: no-preference) {
  .Header__MenuButton {
    transition: background-color var(--animation-duration), color var(--animation-duration);
  }
}
@media screen and (min-width: 60em), print {
  .Header__MenuButton[aria-expanded=true] {
    background-color: var(--white);
  }
}
@media screen and (min-width: 60em) and (hover: hover), print and (hover: hover) {
  .Header__MenuButton:where(:-moz-any-link, :enabled, summary):hover {
    color: var(--white);
    background-color: var(--red-text);
  }
  .Header__MenuButton:where(:any-link, :enabled, summary):hover {
    color: var(--white);
    background-color: var(--red-text);
  }
}
@media screen and (max-width: 59.99em) {
  .Header__MenuButton {
    width: 100%;
    padding-right: calc(4% + 2.5rem);
    border-bottom: 1px solid var(--gray-50);
    display: block;
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 4%;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
  }
  .Header__MenuButton::after {
    position: absolute;
    top: 0;
    right: 4%;
    bottom: 0;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    margin-block: auto;
    content: "";
    background-color: var(--red-primary);
    -webkit-mask-image: var(--icon-arrow-down);
            mask-image: var(--icon-arrow-down);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
  }
  .Header__MenuButton[aria-expanded=true]::after {
    -webkit-mask-image: var(--icon-arrow-up);
            mask-image: var(--icon-arrow-up);
  }
}

@media screen and (min-width: 60em), print {
  .Header__MenuLink {
    display: grid;
    grid-auto-flow: column;
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
    align-items: center;
    height: 100%;
    padding-right: 1rem;
    padding-left: 1rem;
    font-size: 90%;
  }
}
@media screen and (min-width: 60em) and (prefers-reduced-motion: no-preference), print and (prefers-reduced-motion: no-preference) {
  .Header__MenuLink {
    transition: background-color var(--animation-duration), color var(--animation-duration);
  }
}
@media screen and (min-width: 60em), print {
  .Header__MenuLink[target="_blank"]::after {
    display: block;
    width: 0.75rem;
    height: 0.75rem;
    content: "";
    -webkit-mask-image: var(--icon-window-arrow);
            mask-image: var(--icon-window-arrow);
    background-color: currentColor;
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
  }
}
@media screen and (min-width: 60em) and (hover: hover), print and (hover: hover) {
  .Header__MenuLink:where(:-moz-any-link, :enabled, summary):hover {
    color: var(--white);
    background-color: var(--red-text);
  }
  .Header__MenuLink:where(:any-link, :enabled, summary):hover {
    color: var(--white);
    background-color: var(--red-text);
  }
}
@media screen and (max-width: 59.99em) {
  .Header__MenuLink {
    display: block;
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 4%;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
    padding-right: 4%;
  }
}

.Header__Contact {
  margin-top: 2rem;
}
.Header__Contact a {
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  font-size: 1rem;
  display: grid;
  grid-auto-flow: column;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  align-items: center;
  justify-content: center;
  padding: 0.625rem 1.5rem;
  background-color: var(--white);
  border-radius: var(--infinity);
}
.Header__Contact a::before {
  display: block;
  flex-shrink: 0;
  width: 1.9375rem;
  height: 1.75rem;
  content: "";
  background-image: url(/common/images/icon_0002.png);
  background-repeat: no-repeat;
  background-position: -0.375rem -0.5rem;
  background-size: 2.75rem 5.5rem;
}

.Header__OtherLinks {
  display: grid;
  justify-content: center;
  margin-inline: auto;
  margin-top: 2rem;
}
.Header__OtherLinks:lang(ja) {
  grid-template-columns: repeat(3, auto);
  row-gap: 2rem;
  -moz-column-gap: 10.5%;
       column-gap: 10.5%;
}
.Header__OtherLinks a {
  font-size: 0.8125rem;
}

.HeaderSubMenu {
  z-index: 1;
  height: 0;
  overflow: hidden;
}
@media screen and (min-width: 60em), print {
  .HeaderSubMenu {
    position: absolute;
    width: 66.9270833333%;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
  }
}
.HeaderSubMenu.HeaderSubMenu--sustainability {
  right: 10.2864583333%;
}
.HeaderSubMenu.HeaderSubMenu--products {
  right: 19.53125%;
}
.HeaderSubMenu.HeaderSubMenu--company {
  right: 0;
}
.HeaderSubMenu.HeaderSubMenu--login {
  right: 0;
}
@media screen and (min-width: 60em), print {
  .HeaderSubMenu.HeaderSubMenu--login {
    width: 55.9895833333%;
  }
  .HeaderSubMenu__Inner {
    display: grid;
    align-items: start;
    padding: 2.5rem;
    background-color: var(--white);
  }
  .HeaderSubMenu__Inner:is(.HeaderSubMenu.HeaderSubMenu--company .HeaderSubMenu__Inner) {
    grid-template-columns: 1fr 31.0126582278%;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .HeaderSubMenu__Inner {
    background-color: var(--gray-100);
  }
}

.HeaderSubMenu__Link a {
  display: block;
}
@media screen and (min-width: 60em), print {
  .HeaderSubMenu__Link a {
    padding-right: 2rem;
    padding-bottom: 1.25rem;
    padding-left: 1.25rem;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.6;
    border-bottom: 1px solid var(--gray-100);
    position: relative;
  }
  .HeaderSubMenu__Link a::before {
    position: absolute;
    bottom: -0.0625rem;
    left: 0;
    width: 100%;
    height: 0.0625rem;
    content: "";
    background-color: var(--red-primary);
    transform: scaleX(0);
    transform-origin: left top;
  }
}
@media screen and (min-width: 60em) and (prefers-reduced-motion: no-preference), print and (prefers-reduced-motion: no-preference) {
  .HeaderSubMenu__Link a::before {
    transition: transform var(--animation-duration);
  }
}
@media screen and (min-width: 60em), print {
  .HeaderSubMenu__Link a > span {
    position: absolute;
    top: 0;
    right: 0.25rem;
    bottom: 0;
    display: grid;
    place-items: center;
    width: 1.25rem;
    height: 1.25rem;
    margin-block: auto;
    margin-left: 0.25rem;
    border-radius: var(--infinity);
  }
}
@media screen and (min-width: 60em) and (prefers-reduced-motion: no-preference), print and (prefers-reduced-motion: no-preference) {
  .HeaderSubMenu__Link a > span {
    transition: background-color var(--animation-duration);
  }
}
@media screen and (min-width: 60em), print {
  .HeaderSubMenu__Link a > span::after {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background-color: var(--red-primary);
    -webkit-mask-image: var(--icon-arrow-forward);
            mask-image: var(--icon-arrow-forward);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    transform: translateX(1px);
  }
}
@media screen and (min-width: 60em) and (prefers-reduced-motion: no-preference), print and (prefers-reduced-motion: no-preference) {
  .HeaderSubMenu__Link a > span::after {
    transition: background-color var(--animation-duration);
  }
}
@media screen and (min-width: 60em), print {
  .HeaderSubMenu__Link a > span::before {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: auto;
    content: "";
    background-color: var(--red-primary);
    border-radius: var(--infinity);
    transform: scale3d(0, 0, 0);
  }
}
@media screen and (min-width: 60em) and (prefers-reduced-motion: no-preference), print and (prefers-reduced-motion: no-preference) {
  .HeaderSubMenu__Link a > span::before {
    transition: transform var(--animation-duration);
  }
}
@media screen and (min-width: 60em), print {
  .HeaderSubMenu__Link a[target=_blank] > span::after {
    -webkit-mask-image: var(--icon-open-in-new);
            mask-image: var(--icon-open-in-new);
    transform: translateX(0);
  }
}
@media screen and (min-width: 60em) and (hover: hover), print and (hover: hover) {
  .HeaderSubMenu__Link a:where(:-moz-any-link, :enabled, summary):hover::before {
    transform: scaleX(100%);
    transform-origin: left top;
  }
  .HeaderSubMenu__Link a:where(:any-link, :enabled, summary):hover::before {
    transform: scaleX(100%);
    transform-origin: left top;
  }
  .HeaderSubMenu__Link a:where(:-moz-any-link, :enabled, summary):hover > span::after {
    background-color: var(--white);
  }
  .HeaderSubMenu__Link a:where(:any-link, :enabled, summary):hover > span::after {
    background-color: var(--white);
  }
  .HeaderSubMenu__Link a:where(:-moz-any-link, :enabled, summary):hover > span::before {
    transform: scale3d(1, 1, 1);
  }
  .HeaderSubMenu__Link a:where(:any-link, :enabled, summary):hover > span::before {
    transform: scale3d(1, 1, 1);
  }
}
@media screen and (max-width: 59.99em) {
  .HeaderSubMenu__Link a {
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.5;
    font-size: 1rem;
    width: 100%;
    padding: 1rem 4% 1rem calc(4% + 1rem);
    border-bottom: 1px solid var(--gray-200);
  }
}
.HeaderSubMenu__Title a {
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  justify-content: space-between;
  font-size: 1rem;
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .HeaderSubMenu__Title a {
    padding: 1.25rem 1.5rem 1.25rem 1.25rem;
    border-bottom: 1px solid var(--gray-100);
    position: relative;
  }
  .HeaderSubMenu__Title a::before {
    position: absolute;
    bottom: -0.0625rem;
    left: 0;
    width: 100%;
    height: 0.0625rem;
    content: "";
    background-color: var(--red-primary);
    transform: scaleX(0);
    transform-origin: left top;
  }
}
@media screen and (min-width: 60em) and (prefers-reduced-motion: no-preference), print and (prefers-reduced-motion: no-preference) {
  .HeaderSubMenu__Title a::before {
    transition: transform var(--animation-duration);
  }
}
@media screen and (min-width: 60em), print {
  .HeaderSubMenu__Title a > span {
    position: absolute;
    top: 0;
    right: 0.25rem;
    bottom: 0;
    display: grid;
    place-items: center;
    width: 1.25rem;
    height: 1.25rem;
    margin-block: auto;
    margin-left: 0.25rem;
    border-radius: var(--infinity);
  }
}
@media screen and (min-width: 60em) and (prefers-reduced-motion: no-preference), print and (prefers-reduced-motion: no-preference) {
  .HeaderSubMenu__Title a > span {
    transition: background-color var(--animation-duration);
  }
}
@media screen and (min-width: 60em), print {
  .HeaderSubMenu__Title a > span::after {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background-color: var(--red-primary);
    -webkit-mask-image: var(--icon-arrow-forward);
            mask-image: var(--icon-arrow-forward);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    transform: translateX(1px);
  }
}
@media screen and (min-width: 60em) and (prefers-reduced-motion: no-preference), print and (prefers-reduced-motion: no-preference) {
  .HeaderSubMenu__Title a > span::after {
    transition: background-color var(--animation-duration);
  }
}
@media screen and (min-width: 60em), print {
  .HeaderSubMenu__Title a > span::before {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: auto;
    content: "";
    background-color: var(--red-primary);
    border-radius: var(--infinity);
    transform: scale3d(0, 0, 0);
  }
}
@media screen and (min-width: 60em) and (prefers-reduced-motion: no-preference), print and (prefers-reduced-motion: no-preference) {
  .HeaderSubMenu__Title a > span::before {
    transition: transform var(--animation-duration);
  }
}
@media screen and (min-width: 60em), print {
  .HeaderSubMenu__Title a[target=_blank] > span::after {
    -webkit-mask-image: var(--icon-open-in-new);
            mask-image: var(--icon-open-in-new);
    transform: translateX(0);
  }
}
@media screen and (min-width: 60em) and (hover: hover), print and (hover: hover) {
  .HeaderSubMenu__Title a:where(:-moz-any-link, :enabled, summary):hover::before {
    transform: scaleX(100%);
    transform-origin: left top;
  }
  .HeaderSubMenu__Title a:where(:any-link, :enabled, summary):hover::before {
    transform: scaleX(100%);
    transform-origin: left top;
  }
  .HeaderSubMenu__Title a:where(:-moz-any-link, :enabled, summary):hover > span::after {
    background-color: var(--white);
  }
  .HeaderSubMenu__Title a:where(:any-link, :enabled, summary):hover > span::after {
    background-color: var(--white);
  }
  .HeaderSubMenu__Title a:where(:-moz-any-link, :enabled, summary):hover > span::before {
    transform: scale3d(1, 1, 1);
  }
  .HeaderSubMenu__Title a:where(:any-link, :enabled, summary):hover > span::before {
    transform: scale3d(1, 1, 1);
  }
}
@media screen and (max-width: 59.99em) {
  .HeaderSubMenu__Title a {
    width: 100%;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.5;
    font-size: 1rem;
  }
  .HeaderSubMenu__Title:not(.HeaderSubMenu__Title--sp-accordion) a {
    padding: 1rem 4% 1rem calc(4% + 1rem);
  }
}
.HeaderSubMenu__Title.HeaderSubMenu__Title--sp-accordion a {
  position: relative;
}
@media screen and (max-width: 59.99em) {
  .HeaderSubMenu__Title.HeaderSubMenu__Title--sp-accordion a {
    padding: 1rem calc(4% + 2.5rem) 1rem calc(4% + 1rem);
  }
  .HeaderSubMenu__Title.HeaderSubMenu__Title--sp-accordion a::after {
    position: absolute;
    top: 0;
    right: 4%;
    bottom: 0;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    margin-block: auto;
    content: "";
    background-color: var(--red-primary);
    -webkit-mask-image: var(--icon-arrow-down);
            mask-image: var(--icon-arrow-down);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
  }
  .HeaderSubMenu__Title.HeaderSubMenu__Title--sp-accordion a[aria-expanded=true]::after {
    -webkit-mask-image: var(--icon-arrow-up);
            mask-image: var(--icon-arrow-up);
  }
  .HeaderSubMenu__Title:is(.HeaderSubMenu__Content > div:not(:first-child) .HeaderSubMenu__Title) {
    border-top: solid 1px var(--gray-200);
  }
}

.HeaderSubMenu__LinkList {
  display: grid;
  /* stylelint-disable-next-line no-descending-specificity */
}
.HeaderSubMenu__LinkList a {
  display: block;
}
@media screen and (min-width: 60em), print {
  .HeaderSubMenu__LinkList a {
    padding: 0.875rem 1.5rem 0.875rem 2.375rem;
    font-size: 0.875rem;
    font-weight: 700;
    border-bottom: 1px solid var(--gray-100);
    position: relative;
  }
  .HeaderSubMenu__LinkList a::before {
    position: absolute;
    bottom: -0.0625rem;
    left: 0;
    width: 100%;
    height: 0.0625rem;
    content: "";
    background-color: var(--red-primary);
    transform: scaleX(0);
    transform-origin: left top;
  }
}
@media screen and (min-width: 60em) and (prefers-reduced-motion: no-preference), print and (prefers-reduced-motion: no-preference) {
  .HeaderSubMenu__LinkList a::before {
    transition: transform var(--animation-duration);
  }
}
@media screen and (min-width: 60em), print {
  .HeaderSubMenu__LinkList a > span {
    position: absolute;
    top: 0;
    right: 0.25rem;
    bottom: 0;
    display: grid;
    place-items: center;
    width: 1.25rem;
    height: 1.25rem;
    margin-block: auto;
    margin-left: 0.25rem;
    border-radius: var(--infinity);
  }
}
@media screen and (min-width: 60em) and (prefers-reduced-motion: no-preference), print and (prefers-reduced-motion: no-preference) {
  .HeaderSubMenu__LinkList a > span {
    transition: background-color var(--animation-duration);
  }
}
@media screen and (min-width: 60em), print {
  .HeaderSubMenu__LinkList a > span::after {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background-color: var(--red-primary);
    -webkit-mask-image: var(--icon-arrow-forward);
            mask-image: var(--icon-arrow-forward);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    transform: translateX(1px);
  }
}
@media screen and (min-width: 60em) and (prefers-reduced-motion: no-preference), print and (prefers-reduced-motion: no-preference) {
  .HeaderSubMenu__LinkList a > span::after {
    transition: background-color var(--animation-duration);
  }
}
@media screen and (min-width: 60em), print {
  .HeaderSubMenu__LinkList a > span::before {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: auto;
    content: "";
    background-color: var(--red-primary);
    border-radius: var(--infinity);
    transform: scale3d(0, 0, 0);
  }
}
@media screen and (min-width: 60em) and (prefers-reduced-motion: no-preference), print and (prefers-reduced-motion: no-preference) {
  .HeaderSubMenu__LinkList a > span::before {
    transition: transform var(--animation-duration);
  }
}
@media screen and (min-width: 60em), print {
  .HeaderSubMenu__LinkList a[target=_blank] > span::after {
    -webkit-mask-image: var(--icon-open-in-new);
            mask-image: var(--icon-open-in-new);
    transform: translateX(0);
  }
}
@media screen and (min-width: 60em) and (hover: hover), print and (hover: hover) {
  .HeaderSubMenu__LinkList a:where(:-moz-any-link, :enabled, summary):hover::before {
    transform: scaleX(100%);
    transform-origin: left top;
  }
  .HeaderSubMenu__LinkList a:where(:any-link, :enabled, summary):hover::before {
    transform: scaleX(100%);
    transform-origin: left top;
  }
  .HeaderSubMenu__LinkList a:where(:-moz-any-link, :enabled, summary):hover > span::after {
    background-color: var(--white);
  }
  .HeaderSubMenu__LinkList a:where(:any-link, :enabled, summary):hover > span::after {
    background-color: var(--white);
  }
  .HeaderSubMenu__LinkList a:where(:-moz-any-link, :enabled, summary):hover > span::before {
    transform: scale3d(1, 1, 1);
  }
  .HeaderSubMenu__LinkList a:where(:any-link, :enabled, summary):hover > span::before {
    transform: scale3d(1, 1, 1);
  }
}
@media screen and (max-width: 59.99em) {
  .HeaderSubMenu__LinkList {
    background-color: var(--gray-100);
  }
}
@media screen and (min-width: 60em), print {
  .HeaderSubMenu__LinkList.HeaderSubMenu__LinkList--2col {
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    font-size: 1rem;
  }
  .HeaderSubMenu__LinkList.HeaderSubMenu__LinkList--2col a {
    padding: 1.25rem;
    border-bottom: 1px solid var(--gray-100);
    position: relative;
  }
  .HeaderSubMenu__LinkList.HeaderSubMenu__LinkList--2col a::before {
    position: absolute;
    bottom: -0.0625rem;
    left: 0;
    width: 100%;
    height: 0.0625rem;
    content: "";
    background-color: var(--red-primary);
    transform: scaleX(0);
    transform-origin: left top;
  }
}
@media screen and (min-width: 60em) and (prefers-reduced-motion: no-preference), print and (prefers-reduced-motion: no-preference) {
  .HeaderSubMenu__LinkList.HeaderSubMenu__LinkList--2col a::before {
    transition: transform var(--animation-duration);
  }
}
@media screen and (min-width: 60em), print {
  .HeaderSubMenu__LinkList.HeaderSubMenu__LinkList--2col a > span {
    position: absolute;
    top: 0;
    right: 0.25rem;
    bottom: 0;
    display: grid;
    place-items: center;
    width: 1.25rem;
    height: 1.25rem;
    margin-block: auto;
    margin-left: 0.25rem;
    border-radius: var(--infinity);
  }
}
@media screen and (min-width: 60em) and (prefers-reduced-motion: no-preference), print and (prefers-reduced-motion: no-preference) {
  .HeaderSubMenu__LinkList.HeaderSubMenu__LinkList--2col a > span {
    transition: background-color var(--animation-duration);
  }
}
@media screen and (min-width: 60em), print {
  .HeaderSubMenu__LinkList.HeaderSubMenu__LinkList--2col a > span::after {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background-color: var(--red-primary);
    -webkit-mask-image: var(--icon-arrow-forward);
            mask-image: var(--icon-arrow-forward);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    transform: translateX(1px);
  }
}
@media screen and (min-width: 60em) and (prefers-reduced-motion: no-preference), print and (prefers-reduced-motion: no-preference) {
  .HeaderSubMenu__LinkList.HeaderSubMenu__LinkList--2col a > span::after {
    transition: background-color var(--animation-duration);
  }
}
@media screen and (min-width: 60em), print {
  .HeaderSubMenu__LinkList.HeaderSubMenu__LinkList--2col a > span::before {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: auto;
    content: "";
    background-color: var(--red-primary);
    border-radius: var(--infinity);
    transform: scale3d(0, 0, 0);
  }
}
@media screen and (min-width: 60em) and (prefers-reduced-motion: no-preference), print and (prefers-reduced-motion: no-preference) {
  .HeaderSubMenu__LinkList.HeaderSubMenu__LinkList--2col a > span::before {
    transition: transform var(--animation-duration);
  }
}
@media screen and (min-width: 60em), print {
  .HeaderSubMenu__LinkList.HeaderSubMenu__LinkList--2col a[target=_blank] > span::after {
    -webkit-mask-image: var(--icon-open-in-new);
            mask-image: var(--icon-open-in-new);
    transform: translateX(0);
  }
}
@media screen and (min-width: 60em) and (hover: hover), print and (hover: hover) {
  .HeaderSubMenu__LinkList.HeaderSubMenu__LinkList--2col a:where(:-moz-any-link, :enabled, summary):hover::before {
    transform: scaleX(100%);
    transform-origin: left top;
  }
  .HeaderSubMenu__LinkList.HeaderSubMenu__LinkList--2col a:where(:any-link, :enabled, summary):hover::before {
    transform: scaleX(100%);
    transform-origin: left top;
  }
  .HeaderSubMenu__LinkList.HeaderSubMenu__LinkList--2col a:where(:-moz-any-link, :enabled, summary):hover > span::after {
    background-color: var(--white);
  }
  .HeaderSubMenu__LinkList.HeaderSubMenu__LinkList--2col a:where(:any-link, :enabled, summary):hover > span::after {
    background-color: var(--white);
  }
  .HeaderSubMenu__LinkList.HeaderSubMenu__LinkList--2col a:where(:-moz-any-link, :enabled, summary):hover > span::before {
    transform: scale3d(1, 1, 1);
  }
  .HeaderSubMenu__LinkList.HeaderSubMenu__LinkList--2col a:where(:any-link, :enabled, summary):hover > span::before {
    transform: scale3d(1, 1, 1);
  }
}
@media screen and (max-width: 59.99em) {
  .HeaderSubMenu__LinkList.HeaderSubMenu__LinkList--2col a {
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.5;
    font-size: 1rem;
    width: 100%;
    padding: 1rem 4% 1rem calc(4% + 1rem);
  }
  .HeaderSubMenu__LinkList.HeaderSubMenu__LinkList--2col li:not(:last-child) a {
    border-bottom: 1px solid var(--gray-200);
  }
  .HeaderSubMenu__LinkList.HeaderSubMenu__LinkList--sp-accordion {
    height: 0;
    overflow: hidden;
  }
  .HeaderSubMenu__LinkList.HeaderSubMenu__LinkList--sp-accordion > li:last-child {
    padding-bottom: 0.875rem;
  }
  .HeaderSubMenu__LinkList.HeaderSubMenu__LinkList--sp-accordion > li a {
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: 0.04em;
    font-size: 0.9375rem;
    padding: 0.625rem 4% 0.625rem calc(4% + 2rem);
    color: var(--gray-900);
  }
}
.HeaderSubMenu__Content {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .HeaderSubMenu__Content {
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }
  .HeaderSubMenu__Content.HeaderSubMenu__Content--2col {
    grid-template-columns: repeat(2, 1fr);
  }
  .HeaderSubMenu__Content:not(.HeaderSubMenu__Content--2col) {
    grid-template-columns: repeat(3, 1fr);
  }
}

.SubHeader {
  position: relative;
  height: var(--subheader-height);
  min-height: 2.8125rem;
  background-color: var(--white);
}
@media screen and (max-width: 59.99em) {
  .SubHeader {
    position: fixed;
    top: 0;
    z-index: 100;
    width: 100%;
  }
}

.SubHeader__Inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (min-width: 60em), print {
  .SubHeader__Inner {
    width: var(--container-width);
    margin-inline: auto;
  }
}
@media screen and (max-width: 59.99em) {
  .SubHeader__Inner {
    padding-left: 4%;
  }
}

.SubHeader__Logo {
  width: 5.9375rem;
}

.SubHeader__Nav {
  display: grid;
  grid-auto-flow: column;
}

.SubHeader__Button {
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  height: 100%;
  padding-right: 0.6875rem;
  padding-left: 0.375rem;
}
@media (prefers-reduced-motion: no-preference) {
  .SubHeader__Button {
    transition: background-color var(--animation-duration);
  }
}
.SubHeader__Button[aria-expanded=true] {
  background-color: var(--gray-200);
}
.SubHeader__Button::before {
  display: block;
  height: 2.8125rem;
  content: "";
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 2.8125rem 5.625rem;
}
@media screen and (min-width: 60em), print {
  .SubHeader__Button::before {
    width: 2.8125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .SubHeader__Button::before {
    width: 1.75rem;
  }
}
.SubHeader__Button.SubHeader__Button--language::before {
  background-image: url(/common/images/icon_0001.png);
}
.SubHeader__Button.SubHeader__Button--contact::before {
  background-image: url(/common/images/icon_0002.png);
}
.SubHeader__Button.SubHeader__Button--search::before {
  background-image: url(/common/images/icon_0003.png);
}
@media (hover: hover) {
  .SubHeader__Button:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(0, 0, 0, 0.06);
  }
  .SubHeader__Button:where(:any-link, :enabled, summary):hover {
    background-color: rgba(0, 0, 0, 0.06);
  }
}

.SubHeader__ButtonWrapper {
  position: relative;
}

.SubHeader__LanguageMenu {
  z-index: 1;
  height: 0;
  overflow: hidden;
  background-color: var(--gray-200);
}
@media screen and (min-width: 60em), print {
  .SubHeader__LanguageMenu {
    position: absolute;
    right: 0;
  }
  .SubHeader__LanguageMenu:is(.Header.is-scroll *) {
    visibility: hidden;
    opacity: 0;
  }
}
@media screen and (max-width: 59.99em) {
  .SubHeader__LanguageMenu {
    position: fixed;
    left: 0;
    width: 100%;
  }
}
.SubHeader__LanguageMenu ul {
  display: grid;
  row-gap: 0.5rem;
  min-width: 10.125rem;
}
@media screen and (min-width: 60em), print {
  .SubHeader__LanguageMenu ul {
    padding: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .SubHeader__LanguageMenu ul {
    padding: 0.5rem 1rem;
  }
}
.SubHeader__LanguageMenu a {
  display: grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
  align-items: center;
  font-size: 1rem;
  line-height: 1.5;
}
@media screen and (min-width: 60em), print {
  .SubHeader__LanguageMenu a {
    -moz-column-gap: 0.75rem;
         column-gap: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .SubHeader__LanguageMenu a {
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }
}
.SubHeader__LanguageMenu a::before {
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  content: "";
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
.SubHeader__LanguageMenu a[aria-current=page] {
  font-weight: 700;
}
.SubHeader__LanguageMenu a[aria-current=page]::before {
  background-color: currentColor;
  -webkit-mask-image: var(--icon-language-check);
          mask-image: var(--icon-language-check);
}

.SubHeader__SearchMenu {
  height: 0;
  overflow: hidden;
  background-color: var(--gray-200);
}
@media screen and (min-width: 60em), print {
  .SubHeader__SearchMenu {
    position: relative;
  }
}
@media screen and (max-width: 59.99em) {
  .SubHeader__SearchMenu {
    position: fixed;
    top: var(--subheader-height);
    z-index: 1;
    width: 100%;
  }
}
.SubHeader__SearchMenu > div {
  position: relative;
}
@media screen and (min-width: 60em), print {
  .SubHeader__SearchMenu > div {
    padding-top: 2rem;
    padding-bottom: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .SubHeader__SearchMenu > div {
    padding-top: 1.625rem;
    padding-bottom: 2.375rem;
  }
}
.SubHeader__SearchMenu form {
  width: 100%;
  max-width: 37.5rem;
  margin-inline: auto;
}

.SubHeader__SearchClose {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  z-index: 0;
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
}
.SubHeader__SearchClose::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: var(--white);
  border-radius: var(--infinity);
  transform: scale3d(1, 1, 1);
}
@media (prefers-reduced-motion: no-preference) {
  .SubHeader__SearchClose::before {
    transition: transform;
    transition-duration: var(--animation-duration);
  }
}
.SubHeader__SearchClose::after {
  position: absolute;
  display: block;
  width: 0.625rem;
  height: 0.625rem;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-cross);
          mask-image: var(--icon-cross);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
@media (hover: hover) {
  .SubHeader__SearchClose:where(:-moz-any-link, :enabled, summary):hover::before {
    transform: scale3d(1.2, 1.2, 1.2);
  }
  .SubHeader__SearchClose:where(:any-link, :enabled, summary):hover::before {
    transform: scale3d(1.2, 1.2, 1.2);
  }
}

.SubHeader__SearchLabel {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}

.SubHeader__SearchInput {
  display: grid;
  grid-template-columns: 1fr auto;
  width: 100%;
  max-width: 38.75rem;
  margin-inline: auto;
  margin-top: 1.125rem;
  overflow: hidden;
}
.SubHeader__SearchInput input {
  padding-right: 1rem;
  padding-left: 1rem;
  background-color: var(--white);
  outline-offset: -2px;
}
.SubHeader__SearchInput button {
  color: white;
  text-align: center;
  background-color: #b1000e;
  outline-offset: -4px;
}
@media screen and (min-width: 60em), print {
  .SubHeader__SearchInput button {
    width: 12.5rem;
    padding: 0.625rem;
  }
}
@media screen and (max-width: 59.99em) {
  .SubHeader__SearchInput button {
    width: -moz-fit-content;
    width: fit-content;
    padding: 0.625rem 1.5rem;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .SubHeader__SearchInput button {
    transition: opacity var(--animation-duration);
  }
}
@media (hover: hover) {
  .SubHeader__SearchInput button:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.7;
  }
  .SubHeader__SearchInput button:where(:any-link, :enabled, summary):hover {
    opacity: 0.7;
  }
}

@media screen and (min-width: 60em), print {
  .SubHeader__Toggle {
    display: none;
  }
}
@media screen and (max-width: 59.99em) {
  .SubHeader__Toggle {
    position: relative;
    display: grid;
    width: 2.8125rem;
    height: 2.8125rem;
    background-color: var(--red-primary);
  }
  .SubHeader__Toggle span {
    position: absolute;
    inset: 0;
    width: 1.25rem;
    height: 2px;
    margin: auto;
    background-color: var(--white);
  }
  .SubHeader__Toggle span:nth-child(1) {
    transform: translateY(-400%);
  }
  .SubHeader__Toggle span:nth-child(3) {
    transform: translateY(400%);
  }
  .SubHeader__Toggle[aria-expanded=true] span:nth-child(1) {
    transform: rotate(45deg);
  }
  .SubHeader__Toggle[aria-expanded=true] span:nth-child(2) {
    opacity: 0;
  }
  .SubHeader__Toggle[aria-expanded=true] span:nth-child(3) {
    transform: rotate(-45deg);
  }
  .HeaderBanner {
    width: 92%;
    margin-inline: auto;
    margin-top: 1.25rem;
  }
}
@media screen and (min-width: 60em), print {
  .HeaderBanner a {
    display: block;
  }
}
@media screen and (max-width: 59.99em) {
  .HeaderBanner a {
    display: grid;
    grid-template-columns: 46.3768115942% 1fr;
    align-items: center;
    background-color: var(--white);
  }
}

.HeaderBanner__Image {
  display: block;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 294/178;
}
@media (prefers-reduced-motion: no-preference) {
  .HeaderBanner__Image img {
    transition: transform var(--animation-duration);
  }
}
@media (hover: hover) {
  .HeaderBanner__Image img:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  .HeaderBanner__Image img:is(:where(:any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
}
.HeaderBanner__Image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.HeaderBanner__Text {
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  font-size: 1rem;
  display: block;
  width: 100%;
  padding: 0.625rem 1rem;
  position: relative;
}
@media screen and (min-width: 60em), print {
  .HeaderBanner__Text {
    background-color: var(--gray-50);
  }
}
.HeaderBanner__Text > span {
  position: relative;
  display: inline-block;
  width: 1.375rem;
  height: 1.375rem;
  margin-block: auto;
  margin-left: 0.25rem;
  vertical-align: sub;
  border-radius: var(--infinity);
}
@media (prefers-reduced-motion: no-preference) {
  .HeaderBanner__Text > span {
    transition: background-color var(--animation-duration);
  }
}
.HeaderBanner__Text > span::after {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: var(--icon-arrow-forward);
          mask-image: var(--icon-arrow-forward);
}
@media (prefers-reduced-motion: no-preference) {
  .HeaderBanner__Text > span::after {
    transition: background-color var(--animation-duration);
  }
}
.HeaderBanner__Text > span::before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  border-radius: var(--infinity);
  transform: scale3d(0, 0, 0);
}
@media (prefers-reduced-motion: no-preference) {
  .HeaderBanner__Text > span::before {
    transition: transform var(--animation-duration);
  }
}
a[href^="#"] .HeaderBanner__Text > span::after {
  -webkit-mask-image: var(--icon-anchor);
          mask-image: var(--icon-anchor);
}
a[target=_blank] .HeaderBanner__Text > span::after {
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}
a[href*=".pdf"] .HeaderBanner__Text > span::after {
  width: 1rem;
  height: 1rem;
  background-color: transparent;
  background-image: var(--icon-pdf);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-mask: none;
          mask: none;
}
a[href*=".pdf"] .HeaderBanner__Text > span::before {
  background-color: var(--red-text);
}
a:not([href^="#"]):not([target=_blank]):not([href*=".pdf"]) .HeaderBanner__Text > span::after {
  transform: translateX(1px);
}
@media (hover: hover) {
  .HeaderBanner__Text:is(:where(:-moz-any-link, :enabled, summary):hover *) > span::after {
    background-color: var(--white);
  }
  .HeaderBanner__Text:is(:where(:any-link, :enabled, summary):hover *) > span::after {
    background-color: var(--white);
  }
  .HeaderBanner__Text:is(:where(:-moz-any-link, :enabled, summary):hover *) > span::before {
    transform: scale3d(1, 1, 1);
  }
  .HeaderBanner__Text:is(:where(:any-link, :enabled, summary):hover *) > span::before {
    transform: scale3d(1, 1, 1);
  }
}

.Footer {
  position: relative;
  background-color: var(--gray-100);
}
@media screen and (min-width: 60em), print {
  .Footer.is-loading {
    min-height: 38.875rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Footer.is-loading {
    min-height: 17.375rem;
  }
}

@media screen and (min-width: 60em), print {
  .Footer__Sitemap {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    -moz-column-gap: 2.0625rem;
         column-gap: 2.0625rem;
    padding-top: 3.75rem;
    padding-right: 3.75rem;
    padding-bottom: 4.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Footer__Sitemap {
    display: none;
  }
}

.Footer__Link:not(:first-child) {
  margin-top: 2rem;
}
.Footer__Link a {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.75;
  position: relative;
}
.Footer__Link a > span {
  position: relative;
  display: inline-block;
  width: 1.375rem;
  height: 1.375rem;
  margin-block: auto;
  margin-left: 0.25rem;
  vertical-align: sub;
  border-radius: var(--infinity);
}
@media (prefers-reduced-motion: no-preference) {
  .Footer__Link a > span {
    transition: background-color var(--animation-duration);
  }
}
.Footer__Link a > span::after {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: var(--icon-arrow-forward);
          mask-image: var(--icon-arrow-forward);
}
@media (prefers-reduced-motion: no-preference) {
  .Footer__Link a > span::after {
    transition: background-color var(--animation-duration);
  }
}
.Footer__Link a > span::before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  border-radius: var(--infinity);
  transform: scale3d(0, 0, 0);
}
@media (prefers-reduced-motion: no-preference) {
  .Footer__Link a > span::before {
    transition: transform var(--animation-duration);
  }
}
a[href^="#"] .Footer__Link a > span::after {
  -webkit-mask-image: var(--icon-anchor);
          mask-image: var(--icon-anchor);
}
a[target=_blank] .Footer__Link a > span::after {
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}
a[href*=".pdf"] .Footer__Link a > span::after {
  width: 1rem;
  height: 1rem;
  background-color: transparent;
  background-image: var(--icon-pdf);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-mask: none;
          mask: none;
}
a[href*=".pdf"] .Footer__Link a > span::before {
  background-color: var(--red-text);
}
a:not([href^="#"]):not([target=_blank]):not([href*=".pdf"]) .Footer__Link a > span::after {
  transform: translateX(1px);
}
.Footer__Link a[href^="#"] > span::after {
  -webkit-mask-image: var(--icon-anchor);
          mask-image: var(--icon-anchor);
}
.Footer__Link a[target=_blank] > span::after {
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}
.Footer__Link a[href*=".pdf"] > span::after {
  width: 1rem;
  height: 1rem;
  background-color: transparent;
  background-image: var(--icon-pdf);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-mask: none;
          mask: none;
}
.Footer__Link a[href*=".pdf"] > span::before {
  background-color: var(--red-text);
}
.Footer__Link a:not([href^="#"]):not([target=_blank]):not([href*=".pdf"]) > span::after {
  transform: translateX(1px);
}
@media (hover: hover) {
  .Footer__Link a:where(:-moz-any-link, :enabled, summary):hover > span::after {
    background-color: var(--white);
  }
  .Footer__Link a:where(:any-link, :enabled, summary):hover > span::after {
    background-color: var(--white);
  }
  .Footer__Link a:where(:-moz-any-link, :enabled, summary):hover > span::before {
    transform: scale3d(1, 1, 1);
  }
  .Footer__Link a:where(:any-link, :enabled, summary):hover > span::before {
    transform: scale3d(1, 1, 1);
  }
}

.Footer__LinkList {
  display: grid;
  row-gap: 0.75rem;
  /* stylelint-disable-next-line no-descending-specificity */
}
.Footer__LinkList:is(.Footer__Link + .Footer__LinkList) {
  margin-top: 1.25rem;
}
.Footer__LinkList a {
  display: block;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.4;
}
.Footer__LinkList span {
  padding-bottom: 0.125rem;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 0 1px;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
}
@media (prefers-reduced-motion: no-preference) {
  .Footer__LinkList span {
    transition: background-size 0.3s ease-out;
  }
}
@media (hover: hover) {
  .Footer__LinkList span:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    background-position: bottom left;
    background-size: 100% 1px;
  }
  .Footer__LinkList span:is(:where(:any-link, :enabled, summary):hover *) {
    background-position: bottom left;
    background-size: 100% 1px;
  }
}

.Footer__Button {
  margin-top: 2rem;
  /* stylelint-disable-next-line no-descending-specificity */
}
.Footer__Button a {
  display: grid;
  grid-auto-flow: column;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.625rem 1.4375rem 0.625rem 1.375rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.75;
  background-color: var(--white);
  border-radius: var(--infinity);
}
@media (prefers-reduced-motion: no-preference) {
  .Footer__Button a {
    transition: background-color var(--animation-duration);
  }
}
.Footer__Button a::before {
  display: block;
  flex-shrink: 0;
  width: 1.875rem;
  height: 1.75rem;
  content: "";
  background-image: url(/common/images/icon_0002.png);
  background-repeat: no-repeat;
  background-position: -0.3125rem -0.375rem;
  background-size: 2.5rem 5rem;
}
@media (hover: hover) {
  .Footer__Button a:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(0, 0, 0, 0.06);
  }
  .Footer__Button a:where(:any-link, :enabled, summary):hover {
    background-color: rgba(0, 0, 0, 0.06);
  }
}

.Footer__Horizon {
  display: block;
  margin-top: 1rem;
  margin-bottom: 1rem;
  border-color: var(--gray-200);
}

.Footer__Content {
  padding-top: 2.375rem;
  padding-bottom: 2.5rem;
}
@media screen and (min-width: 60em), print {
  .Footer__Content {
    border-top: solid 1px var(--gray-200);
  }
  .Footer__Inner {
    display: grid;
    grid-auto-flow: column;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    align-items: end;
    justify-content: space-between;
  }
}
@media screen and (max-width: 59.99em) {
  .Footer__Inner {
    row-gap: 2rem;
    margin-top: 2rem;
  }
}

.Footer__Sns {
  display: grid;
  grid-auto-flow: column;
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
  justify-content: start;
}
@media screen and (max-width: 59.99em) {
  .Footer__Sns {
    padding-right: 3.25rem;
  }
}
.Footer__Sns img {
  transform: scale3d(1, 1, 1);
}
@media (prefers-reduced-motion: no-preference) {
  .Footer__Sns img {
    transition: transform var(--animation-duration);
  }
}
@media (hover: hover) {
  .Footer__Sns img:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  .Footer__Sns img:is(:where(:any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
}

.Footer__OtherLinks {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 2.25rem;
       column-gap: 2.25rem;
  /* stylelint-disable-next-line no-descending-specificity */
}
@media screen and (min-width: 60em), print {
  .Footer__OtherLinks {
    grid-column-start: 2;
    row-gap: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Footer__OtherLinks {
    row-gap: 1rem;
  }
}
.Footer__OtherLinks a,
.Footer__OtherLinks button {
  display: grid;
  grid-auto-flow: column;
  -moz-column-gap: 0.375rem;
       column-gap: 0.375rem;
  align-items: center;
  font-size: 0.75rem;
  position: relative;
}
.Footer__OtherLinks a[target=_blank]::after,
.Footer__OtherLinks button[target=_blank]::after {
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  content: "";
  -webkit-mask-image: var(--icon-window-arrow);
          mask-image: var(--icon-window-arrow);
  background-color: var(--gray-800);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
.Footer__OtherLinks a::before,
.Footer__OtherLinks button::before {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: left top;
}
@media (prefers-reduced-motion: no-preference) {
  .Footer__OtherLinks a::before,
  .Footer__OtherLinks button::before {
    transition: transform var(--animation-duration);
  }
}
@media (hover: hover) {
  .Footer__OtherLinks a:where(:-moz-any-link, :enabled, summary):hover::before, .Footer__OtherLinks button:where(:-moz-any-link, :enabled, summary):hover::before {
    transform: scaleX(100%);
  }
  .Footer__OtherLinks a:where(:any-link, :enabled, summary):hover::before,
  .Footer__OtherLinks button:where(:any-link, :enabled, summary):hover::before {
    transform: scaleX(100%);
  }
}
.Footer__OtherLinks a[data-one-trust],
.Footer__OtherLinks button[data-one-trust] {
  display: none;
}
.Footer__OtherLinks a[data-one-trust].is-show,
.Footer__OtherLinks button[data-one-trust].is-show {
  display: grid;
}

.Footer__ToTopLink {
  /* stylelint-disable-next-line no-descending-specificity */
}
@media screen and (min-width: 60em), print {
  .Footer__ToTopLink {
    margin-top: 1.375rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Footer__ToTopLink {
    margin-top: 2.375rem;
  }
}
.Footer__ToTopLink a {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.04rem;
  position: relative;
}
.Footer__ToTopLink a::before {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: left top;
}
@media (prefers-reduced-motion: no-preference) {
  .Footer__ToTopLink a::before {
    transition: transform var(--animation-duration);
  }
}
@media (hover: hover) {
  .Footer__ToTopLink a:where(:-moz-any-link, :enabled, summary):hover::before {
    transform: scaleX(100%);
  }
  .Footer__ToTopLink a:where(:any-link, :enabled, summary):hover::before {
    transform: scaleX(100%);
  }
}

.Footer__Copyright {
  font-size: 0.625rem;
  line-height: 1.3;
  color: var(--gray-900);
}
@media screen and (min-width: 60em), print {
  .Footer__Copyright {
    margin-top: 0.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Footer__Copyright {
    margin-top: 0.75rem;
  }
}

.ToTop {
  position: absolute;
  z-index: 1;
}
@media screen and (min-width: 60em), print {
  .ToTop {
    top: 2.5rem;
    right: max(4%, (100vw - var(--container-max-width)) / 2);
  }
}
@media screen and (max-width: 59.99em) {
  .ToTop {
    top: 1.5rem;
    right: 4%;
  }
}
.ToTop a {
  position: relative;
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
}
.ToTop a::before {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: var(--black);
  border-radius: var(--infinity);
  transform: scale3d(1, 1, 1);
}
@media (prefers-reduced-motion: no-preference) {
  .ToTop a::before {
    transition: transform var(--animation-duration);
  }
}
.ToTop a::after {
  display: block;
  width: 0.875rem;
  height: 0.75rem;
  content: "";
  background-color: var(--white);
  -webkit-mask-image: var(--icon-to-top);
          mask-image: var(--icon-to-top);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media (hover: hover) {
  .ToTop a:where(:-moz-any-link, :enabled, summary):hover::before {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  .ToTop a:where(:any-link, :enabled, summary):hover::before {
    transform: scale3d(1.1, 1.1, 1.1);
  }
}

/* stylelint-disable plugin/selector-bem-pattern -- data属性を使用しているため、例外的に許容 */
@media (prefers-reduced-motion: no-preference) {
  [data-scroll-slide] {
    background-image: linear-gradient(135deg, currentColor 0 55%, var(--red-primary) 55% 90%, transparent 90% 100%);
    background-repeat: no-repeat;
    background-position-x: 200%;
    -webkit-background-clip: text;
            background-clip: text;
    background-size: 200% 100%;
    opacity: 0;
    transition: background-position 0.8s, transform 0.6s, opacity 0.6s;
    transition-timing-function: ease-out;
    transform: translateX(-5%);
    -webkit-text-fill-color: transparent;
  }
  [data-scroll-slide]:where(:-moz-any-link, :enabled, summary) {
    outline-offset: -2px;
  }
  [data-scroll-slide]:where(:any-link, :enabled, summary) {
    outline-offset: -2px;
  }
  [data-scroll-slide] *:where(:-moz-any-link, :enabled, summary) {
    outline-offset: -2px;
  }
  [data-scroll-slide] *:where(:any-link, :enabled, summary) {
    outline-offset: -2px;
  }
  [data-scroll-slide][data-scroll-slide=show] {
    background-position-x: 0;
    opacity: 1;
    transform: translateX(0);
  }
}

[data-scroll-slide-image] {
  background-image: linear-gradient(135deg, currentColor 0 55%, var(--red-primary) 55% 90%, transparent 90% 100%);
  background-repeat: no-repeat;
  background-size: 200% 100%;
}
@media (prefers-reduced-motion: no-preference) {
  [data-scroll-slide-image] {
    background-position-x: 200%;
    opacity: 0;
    transition: background-position 0.8s, transform 0.6s, opacity 0.6s;
    transition-timing-function: ease-out;
    transform: translateX(-5%);
  }
  [data-scroll-slide-image][data-scroll-slide-image=show] {
    background-position-x: 0;
    opacity: 1;
    transform: translateX(0);
  }
  [data-scroll-image] {
    position: relative;
    opacity: 0;
    transition-duration: 0.5s;
    transition-property: transform, opacity;
    transform: translate3d(-20px, 0, 0);
  }
  [data-scroll-image]::after {
    position: absolute;
    inset: 0;
    display: block;
    visibility: visible;
    content: "";
    background-color: var(--red-primary);
    opacity: 0.4;
    transition: opacity, visibility;
    transition-duration: 0.5s;
  }
  [data-scroll-image][data-scroll-image=show] {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  [data-scroll-image][data-scroll-image=show]::after {
    visibility: hidden;
    opacity: 0;
  }
  [data-scroll-fade] {
    opacity: 0;
    transition-duration: 0.5s;
    transition-property: transform, opacity;
    transform: translate3d(0, 20px, 0);
  }
  [data-scroll-fade][data-scroll-fade=show] {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.Heading02 {
  display: grid;
  --line-base-color: var(--gray-50);
}
@media screen and (min-width: 60em), print {
  :not([class^=Heading]):not([class*=" Heading"]:not(.Heading02)) + .Heading02 {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  :not([class^=Heading]):not([class*=" Heading"]:not(.Heading02)) + .Heading02 {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 60em), print {
  .Box :not([class^=Heading]):not([class*=" Heading"]:not(.Heading02)) + .Heading02, .Accordion__Content :not([class^=Heading]):not([class*=" Heading"]:not(.Heading02)) + .Heading02 {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Box :not([class^=Heading]):not([class*=" Heading"]:not(.Heading02)) + .Heading02, .Accordion__Content :not([class^=Heading]):not([class*=" Heading"]:not(.Heading02)) + .Heading02 {
    margin-top: 1.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .Heading02 {
    grid-template-columns: 1fr auto;
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Heading02 {
    row-gap: 1.5rem;
    margin-bottom: 2rem;
  }
}
.Box .Heading02, .Accordion__Content .Heading02 {
  margin-bottom: 1.25rem;
  --line-base-color: var(--white);
}
@media screen and (min-width: 60em), print {
  .Heading02.Heading02--line {
    padding-bottom: 1.5rem;
    background-image: linear-gradient(to right, var(--red-primary) 0 1rem, var(--line-base-color) 1rem 100%);
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: 100% 2px;
  }
}

.Heading02__Heading {
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .Heading02__Heading {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Heading02__Heading {
    font-size: 1.75rem;
  }
}
.Heading02__Heading:lang(en) {
  text-wrap: balance;
}
.Heading02__Heading:only-child {
  grid-column: 1/-1;
}
@media screen and (max-width: 59.99em) {
  .Heading02--line .Heading02__Heading {
    padding-bottom: 1.5rem;
    background-image: linear-gradient(to right, var(--red-primary) 0 1rem, var(--line-base-color) 1rem 100%);
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: 100% 2px;
  }
}

.Heading03 {
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
}
@media screen and (min-width: 60em), print {
  :not([class^=Heading]):not([class*=" Heading"]:not(.Heading03)) + .Heading03 {
    margin-top: 3.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  :not([class^=Heading]):not([class*=" Heading"]:not(.Heading03)) + .Heading03 {
    margin-top: 3.25rem;
  }
}
@media screen and (min-width: 60em), print {
  .Box :not([class^=Heading]):not([class*=" Heading"]:not(.Heading03)) + .Heading03, .Accordion__Content :not([class^=Heading]):not([class*=" Heading"]:not(.Heading03)) + .Heading03 {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Box :not([class^=Heading]):not([class*=" Heading"]:not(.Heading03)) + .Heading03, .Accordion__Content :not([class^=Heading]):not([class*=" Heading"]:not(.Heading03)) + .Heading03 {
    margin-top: 1.25rem;
  }
}
@media screen and (min-width: 60em), print {
  .Heading03 {
    font-size: 1.6875rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Heading03 {
    font-size: 1.4375rem;
  }
}
@media screen and (min-width: 60em), print {
  .Heading03 {
    margin-bottom: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Heading03 {
    margin-bottom: 1.5rem;
  }
}
.Heading03:lang(en) {
  text-wrap: balance;
}
.Box .Heading03, .Accordion__Content .Heading03 {
  margin-bottom: 1rem;
}
@media screen and (max-width: 59.99em) {
  :not(.Box) > .Column02 > div:not(:first-child) > .Heading03 {
    margin-top: 1.25rem;
  }
}
.Heading03.Heading03--has-number {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.Heading03.Heading03--has-number::before {
  display: grid;
  place-items: center;
  min-width: 2.25rem;
  padding: 0.25rem;
  font-family: var(--font-inter);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--red-text);
  content: attr(data-number);
  background-color: var(--gray-100);
}
.Box .Heading03.Heading03--has-number::before, .Accordion__Content .Heading03.Heading03--has-number::before {
  background-color: var(--white);
}
@media screen and (max-width: 59.99em) {
  .Heading03.Heading03--has-number > span {
    margin-top: 0.125rem;
  }
}
@media screen and (min-width: 60em), print {
  .Heading03.Heading03--has-check {
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Heading03.Heading03--has-check {
    -moz-column-gap: 0.25rem;
         column-gap: 0.25rem;
  }
}
.Heading03.Heading03--has-check::before {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  margin-top: 0.125rem;
  content: "";
  background-color: var(--red-primary);
  -webkit-mask-image: var(--icon-check);
          mask-image: var(--icon-check);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.Heading04 {
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
}
@media screen and (min-width: 60em), print {
  .Heading04 {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Heading04 {
    font-size: 1.1875rem;
  }
}
.Heading04:lang(en) {
  text-wrap: balance;
}
@media screen and (min-width: 60em), print {
  :not([class^=Heading]):not([class*=" Heading"]:not(.Heading04)) + .Heading04 {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  :not([class^=Heading]):not([class*=" Heading"]:not(.Heading04)) + .Heading04 {
    margin-top: 2.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .Box :not([class^=Heading]):not([class*=" Heading"]:not(.Heading04)) + .Heading04, .Accordion__Content :not([class^=Heading]):not([class*=" Heading"]:not(.Heading04)) + .Heading04 {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Box :not([class^=Heading]):not([class*=" Heading"]:not(.Heading04)) + .Heading04, .Accordion__Content :not([class^=Heading]):not([class*=" Heading"]:not(.Heading04)) + .Heading04 {
    margin-top: 2.25rem;
  }
}
@media screen and (min-width: 60em), print {
  .Heading04:not(:last-child) {
    margin-bottom: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Heading04:not(:last-child) {
    margin-bottom: 1rem;
  }
  :not(.Box) > .Column02 > div:not(:first-child) > .Heading04 {
    margin-top: 0.5rem;
  }
}
.Heading04.Heading04--has-number {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.Heading04.Heading04--has-number::before {
  display: grid;
  place-items: center;
  min-width: 1.75rem;
  min-height: 1.75rem;
  padding: 0.1875rem;
  margin-top: 0.125rem;
  font-family: var(--font-inter);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--red-text);
  content: attr(data-number);
  background-color: var(--gray-100);
}
.Box .Heading04.Heading04--has-number::before, .Accordion__Content .Heading04.Heading04--has-number::before {
  background-color: var(--white);
}
@media screen and (min-width: 60em), print {
  .Heading04.Heading04--has-number::before {
    margin-top: 0.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Heading04.Heading04--has-number > span {
    margin-top: 0.125rem;
  }
}
@media screen and (min-width: 60em), print {
  .Heading04.Heading04--has-check {
    -moz-column-gap: 0.375rem;
         column-gap: 0.375rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Heading04.Heading04--has-check {
    -moz-column-gap: 0.25rem;
         column-gap: 0.25rem;
  }
}
.Heading04.Heading04--has-check::before {
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  content: "";
  background-color: var(--red-primary);
  -webkit-mask-image: var(--icon-check);
          mask-image: var(--icon-check);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
@media screen and (min-width: 60em), print {
  .Heading04.Heading04--has-check::before {
    margin-top: 0.25rem;
  }
}

.Heading05 {
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .Heading05 {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Heading05 {
    font-size: 1.0625rem;
  }
}
@media screen and (min-width: 60em), print {
  :not([class^=Heading]):not([class*=" Heading"]:not(.Heading05)) + .Heading05 {
    margin-top: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  :not([class^=Heading]):not([class*=" Heading"]:not(.Heading05)) + .Heading05 {
    margin-top: 1.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .Box :not([class^=Heading]):not([class*=" Heading"]:not(.Heading05)) + .Heading05, .Accordion__Content :not([class^=Heading]):not([class*=" Heading"]:not(.Heading05)) + .Heading05 {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Box :not([class^=Heading]):not([class*=" Heading"]:not(.Heading05)) + .Heading05, .Accordion__Content :not([class^=Heading]):not([class*=" Heading"]:not(.Heading05)) + .Heading05 {
    margin-top: 1.25rem;
  }
}
.Heading05:not(:last-child) {
  margin-bottom: 0.75rem;
}

:not([class^=Heading]):not([class*=" Heading"]:not(.Text)) + .Text {
  margin-top: 1.25rem;
}
.Box :not([class^=Heading]):not([class*=" Heading"]:not(.Text)) + .Text, .Accordion__Content :not([class^=Heading]):not([class*=" Heading"]:not(.Text)) + .Text {
  margin-top: 0.75rem;
}
.Text:not(.Text--sub) {
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  font-size: 1rem;
}
.Text:not([class^=Heading]):not([class*=" Heading"]) + .Text {
  margin-top: 0.75rem;
}
.Text.Text--sub {
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.04em;
  font-size: 0.9375rem;
}
@media screen and (min-width: 60em), print {
  .Section.Section--h2:not(:first-child) {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Section.Section--h2:not(:first-child) {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 60em), print {
  .Box .Section.Section--h2:not(:first-child), .Accordion__Content .Section.Section--h2:not(:first-child) {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Box .Section.Section--h2:not(:first-child), .Accordion__Content .Section.Section--h2:not(:first-child) {
    margin-top: 1.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .Section.Section--h3:not(:first-child) {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Section.Section--h3:not(:first-child) {
    margin-top: 2rem;
  }
}
@media screen and (min-width: 60em), print {
  .Box .Section.Section--h3:not(:first-child), .Accordion__Content .Section.Section--h3:not(:first-child) {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Box .Section.Section--h3:not(:first-child), .Accordion__Content .Section.Section--h3:not(:first-child) {
    margin-top: 1.25rem;
  }
}
@media screen and (min-width: 60em), print {
  .Section.Section--h4:not(:first-child) {
    margin-top: 2.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Section.Section--h4:not(:first-child) {
    margin-top: 1.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .Box .Section.Section--h4:not(:first-child), .Accordion__Content .Section.Section--h4:not(:first-child) {
    margin-top: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Box .Section.Section--h4:not(:first-child), .Accordion__Content .Section.Section--h4:not(:first-child) {
    margin-top: 1.25rem;
  }
}

.Alert {
  background-color: var(--red-bg);
}
@media screen and (min-width: 60em), print {
  :not([class^=Heading]):not([class*=" Heading"]:not(.Alert)) + .Alert {
    margin-top: 6.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  :not([class^=Heading]):not([class*=" Heading"]:not(.Alert)) + .Alert {
    margin-top: 2.5rem;
  }
}

.Alert__List li:not(:first-child) {
  border-top: 1px solid rgba(0, 0, 0, 0.12);
}

.Alert__Link {
  display: block;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  outline-offset: -2px;
}
@media (prefers-reduced-motion: no-preference) {
  .Alert__Link {
    transition: background-color var(--animation-duration);
  }
}
@media screen and (min-width: 60em), print {
  .Alert__Link:not(.Alert__Link--width-full) {
    padding-right: 1.25rem;
    padding-left: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Alert__Link:not(.Alert__Link--width-full) {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
}
@media (hover: hover) {
  .Alert__Link:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(104, 0, 17, 0.04);
  }
  .Alert__Link:where(:any-link, :enabled, summary):hover {
    background-color: rgba(104, 0, 17, 0.04);
  }
}

.Alert__Inner {
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  justify-content: start;
}
@media screen and (max-width: 59.99em) {
  .Alert__Inner {
    row-gap: 0.125rem;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
.Alert__Inner > time {
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.04em;
  font-size: 0.9375rem;
  color: var(--gray-800);
}
@media screen and (min-width: 60em), print {
  .Alert__Inner > time {
    margin-right: 1.5rem;
    margin-left: 1rem;
  }
}
.Alert__Inner::before {
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  content: "";
  -webkit-mask-image: var(--icon-exclamation);
          mask-image: var(--icon-exclamation);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: var(--red-primary);
}
@media screen and (max-width: 59.99em) {
  .Alert__Inner::before {
    grid-row: 1/3;
  }
}
.Alert__Inner.Alert__Inner--full-width {
  width: var(--container-width);
  margin-inline: auto;
}

.Alert__Text {
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.04em;
  font-size: 0.9375rem;
}
.Alert__Text > span {
  position: relative;
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  margin-block: auto;
  margin-left: 0.25rem;
  vertical-align: sub;
  border-radius: var(--infinity);
  transform: translateY(0.1rem);
}
@media (prefers-reduced-motion: no-preference) {
  .Alert__Text > span {
    transition: background-color var(--animation-duration);
  }
}
.Alert__Text > span::after {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: var(--icon-arrow-forward);
          mask-image: var(--icon-arrow-forward);
  transform: translateX(1px);
}
@media (prefers-reduced-motion: no-preference) {
  .Alert__Text > span::after {
    transition: background-color var(--animation-duration);
  }
}
.Alert__Text > span::before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  border-radius: var(--infinity);
  transform: scale3d(0, 0, 0);
}
@media (prefers-reduced-motion: no-preference) {
  .Alert__Text > span::before {
    transition: transform var(--animation-duration);
  }
}
@media (hover: hover) {
  .Alert__Text:is(:where(:-moz-any-link, :enabled, summary):hover *) > span::after {
    background-color: var(--white);
  }
  .Alert__Text:is(:where(:any-link, :enabled, summary):hover *) > span::after {
    background-color: var(--white);
  }
  .Alert__Text:is(:where(:-moz-any-link, :enabled, summary):hover *) > span::before {
    transform: scale3d(1, 1, 1);
  }
  .Alert__Text:is(:where(:any-link, :enabled, summary):hover *) > span::before {
    transform: scale3d(1, 1, 1);
  }
}

.Hero01 {
  position: relative;
  display: grid;
  background-color: var(--gray-900);
  -webkit-mask-image: linear-gradient(to bottom, black 0 100%);
          mask-image: linear-gradient(to bottom, black 0 100%);
}
@media screen and (min-width: 60em), print {
  .Hero01 {
    grid-template-rows: auto 1fr auto;
    min-height: 20.625rem;
    padding-top: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Hero01 {
    background-color: var(--gray-900);
  }
}
@media screen and (min-width: 60em), print {
  .Hero01.Hero01--has-bg {
    min-height: 28.75rem;
  }
}

.Hero01__Background {
  z-index: -1;
}
@media screen and (min-width: 60em), print {
  .Hero01__Background {
    position: absolute;
    inset: 0;
  }
  .Hero01__Background.is-fixed {
    position: fixed;
    height: inherit;
  }
}
@media screen and (min-width: 60em) and (min-width: 60em), print {
  .Hero01__Background.is-fixed {
    top: var(--header-nav-height);
  }
}
@media screen and (min-width: 60em) and (max-width: 59.99em) {
  .Hero01__Background.is-fixed {
    top: var(--subheader-height);
  }
}
@media screen and (min-width: 60em), print {
  .Hero01__Background.Hero01__Background--pc-right-top img {
    -o-object-position: right top;
       object-position: right top;
  }
  .Hero01__Background.Hero01__Background--pc-center-top img {
    -o-object-position: center top;
       object-position: center top;
  }
  .Hero01__Background.Hero01__Background--pc-left-top img {
    -o-object-position: left top;
       object-position: left top;
  }
  .Hero01__Background.Hero01__Background--pc-right-bottom img {
    -o-object-position: right bottom;
       object-position: right bottom;
  }
  .Hero01__Background.Hero01__Background--pc-center-bottom img {
    -o-object-position: center bottom;
       object-position: center bottom;
  }
  .Hero01__Background.Hero01__Background--pc-left-bottom img {
    -o-object-position: left bottom;
       object-position: left bottom;
  }
}
@media screen and (max-width: 59.99em) {
  .Hero01__Background {
    position: absolute;
    width: 100%;
    height: 25rem;
  }
  .Hero01__Background.Hero01__Background--sp-right-top img {
    -o-object-position: right top;
       object-position: right top;
  }
  .Hero01__Background.Hero01__Background--sp-center-top img {
    -o-object-position: center top;
       object-position: center top;
  }
  .Hero01__Background.Hero01__Background--sp-left-top img {
    -o-object-position: left top;
       object-position: left top;
  }
  .Hero01__Background.Hero01__Background--sp-right-bottom img {
    -o-object-position: right bottom;
       object-position: right bottom;
  }
  .Hero01__Background.Hero01__Background--sp-center-bottom img {
    -o-object-position: center bottom;
       object-position: center bottom;
  }
  .Hero01__Background.Hero01__Background--sp-left-bottom img {
    -o-object-position: left bottom;
       object-position: left bottom;
  }
}
.Hero01__Background::after {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
}
@media screen and (min-width: 60em), print {
  .Hero01__Background::after {
    background-image: linear-gradient(90deg, var(--gray-900) 22.04%, rgba(36, 43, 48, 0) 70.12%);
  }
}
@media screen and (max-width: 59.99em) {
  .Hero01__Background::after {
    background-image: linear-gradient(0deg, var(--gray-900) -2.25%, rgba(36, 43, 48, 0.4) 100%);
  }
}
.Hero01__Background img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.Hero01__Inner {
  position: relative;
  display: grid;
  align-items: center;
}
@media screen and (min-width: 60em), print {
  .Hero01__Inner {
    width: var(--container-width);
    padding-top: 5rem;
    padding-bottom: 5.5rem;
    margin-inline: auto;
  }
}
@media screen and (max-width: 59.99em) {
  .Hero01__Inner {
    align-content: center;
    width: 92%;
    min-height: 12.5rem;
    padding-top: 2.5rem;
    padding-bottom: 3rem;
    margin-inline: auto;
  }
}

.Hero01__Heading {
  color: var(--white);
}
.Hero01__Heading:not(.Hero01__Heading--h2) {
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .Hero01__Heading:not(.Hero01__Heading--h2) {
    font-size: 3.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Hero01__Heading:not(.Hero01__Heading--h2) {
    font-size: 2.125rem;
  }
}
.Hero01__Heading.Hero01__Heading--h2 {
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .Hero01__Heading.Hero01__Heading--h2 {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Hero01__Heading.Hero01__Heading--h2 {
    font-size: 1.75rem;
  }
}
.Hero01__Heading:lang(en) {
  text-wrap: balance;
}

.Hero01__SubHeading {
  font-weight: 700;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.04em;
  display: block;
  margin-bottom: 0.75rem;
}
.Hero01__Text {
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  font-size: 1rem;
  margin-top: 1.5rem;
  color: var(--white);
}
.Hero01__Anchor {
  position: relative;
  align-self: end;
}
@media screen and (max-width: 59.99em) {
  .Hero01__Anchor::before {
    position: absolute;
    top: 2.25rem;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    content: "";
    background-color: var(--white);
  }
}

.Hero01__LinkList {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 60em), print {
  .Hero01__LinkList {
    row-gap: 1.5rem;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Hero01__LinkList {
    gap: 1rem;
    margin-top: 1.5rem;
  }
}

.Hero03 {
  background-color: var(--gray-900);
}
@media screen and (min-width: 60em), print {
  .Hero03 {
    display: grid;
    min-height: 20.625rem;
    padding-top: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Hero03 {
    min-height: 17.5rem;
  }
}

.Hero03__Inner {
  padding-bottom: 2.5rem;
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .Hero03__Inner {
    width: var(--container-width);
  }
}
@media screen and (max-width: 59.99em) {
  .Hero03__Inner {
    width: 92%;
  }
}

.Hero03__Content {
  display: grid;
  align-items: center;
}
@media screen and (min-width: 60em), print {
  .Hero03__Content {
    grid-template-columns: 1fr 31.6078431373%;
    -moz-column-gap: 3.75rem;
         column-gap: 3.75rem;
    margin-top: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Hero03__Content {
    margin-top: 2.5rem;
  }
}

.Hero03__Heading {
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.04em;
  display: grid;
  row-gap: 0.5rem;
  color: var(--white);
}
@media screen and (min-width: 60em), print {
  .Hero03__Heading {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Hero03__Heading {
    font-size: 1.75rem;
  }
}
.Hero03__Heading .Hero03__SubHeading {
  font-weight: 700;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.04em;
}
.Hero03__Heading:lang(en) {
  text-wrap: balance;
}

.Hero03__Text {
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  font-size: 1rem;
  margin-top: 1.5rem;
  color: var(--white);
}
.Hero03__LinkList {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 60em), print {
  .Hero03__LinkList {
    row-gap: 1.5rem;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Hero03__LinkList {
    gap: 1rem;
    margin-top: 1.5rem;
  }
}

.Hero03__Image {
  aspect-ratio: 1/1;
}
@media screen and (max-width: 59.99em) {
  .Hero03__Image {
    max-width: 31.25rem;
    margin-inline: auto;
    margin-top: 2rem;
  }
}
.Hero03__Image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.Hero03__Table {
  width: 100%;
  margin-top: 2rem;
}
@media screen and (min-width: 60em), print {
  .Hero03__Table {
    min-width: 32rem;
  }
}
.Hero03__Table tr {
  display: grid;
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
  padding: 0.375rem 0.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
@media screen and (min-width: 60em), print {
  .Hero03__Table tr {
    grid-template-columns: 9.375rem 1fr;
  }
}
@media screen and (max-width: 59.99em) {
  .Hero03__Table tr {
    grid-template-columns: 31.1526479751% 1fr;
  }
}
.Hero03__Table tr:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.Hero03__Table th {
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--white);
}
.Hero03__Table td {
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.5;
  font-size: 0.75rem;
  color: var(--white);
}
.Hero03__Table td span {
  color: var(--gray-200);
}

.Hero03__Anchor {
  position: relative;
  align-self: end;
}
@media screen and (max-width: 59.99em) {
  .Hero03__Anchor::before {
    position: absolute;
    top: 2.25rem;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    content: "";
    background-color: var(--white);
  }
}

.Hero02 {
  position: relative;
}
@media screen and (min-width: 60em), print {
  .Hero02 {
    display: grid;
    min-height: 30.625rem;
    padding-top: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Hero02 {
    z-index: 0;
    min-height: 17.5rem;
    background-color: var(--hero-bg);
  }
}

.Hero02__Background {
  position: absolute;
  inset: 0;
  z-index: -1;
}
@media screen and (min-width: 60em), print {
  .Hero02__Background {
    background-color: var(--hero-bg);
  }
}
@media screen and (max-width: 59.99em) {
  .Hero02__Background {
    bottom: -2.25rem;
    display: flex;
    align-items: flex-end;
    justify-content: center;
  }
}

@media screen and (min-width: 60em), print {
  .Hero02__Image {
    width: 100%;
    height: 100%;
  }
  .Hero02__Image.Hero02__Image--pc-right-top img {
    -o-object-position: right top;
       object-position: right top;
  }
  .Hero02__Image.Hero02__Image--pc-center-top img {
    -o-object-position: center top;
       object-position: center top;
  }
  .Hero02__Image.Hero02__Image--pc-left-top img {
    -o-object-position: left top;
       object-position: left top;
  }
  .Hero02__Image.Hero02__Image--pc-right-bottom img {
    -o-object-position: right bottom;
       object-position: right bottom;
  }
  .Hero02__Image.Hero02__Image--pc-center-bottom img {
    -o-object-position: center bottom;
       object-position: center bottom;
  }
  .Hero02__Image.Hero02__Image--pc-left-bottom img {
    -o-object-position: left bottom;
       object-position: left bottom;
  }
}
@media screen and (max-width: 59.99em) {
  .Hero02__Image {
    position: relative;
    width: 100%;
    max-height: 27.5rem;
    aspect-ratio: 375/440;
  }
  .Hero02__Image::before {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(0deg, rgba(90, 110, 127, 0) 72%, rgba(90, 110, 127, 0.2) 90.21%, #5a6e7f 100%);
  }
  .Hero02__Image.Hero02__Image--sp-right-top img {
    -o-object-position: right top;
       object-position: right top;
  }
  .Hero02__Image.Hero02__Image--sp-center-top img {
    -o-object-position: center top;
       object-position: center top;
  }
  .Hero02__Image.Hero02__Image--sp-left-top img {
    -o-object-position: left top;
       object-position: left top;
  }
  .Hero02__Image.Hero02__Image--sp-right-bottom img {
    -o-object-position: right bottom;
       object-position: right bottom;
  }
  .Hero02__Image.Hero02__Image--sp-center-bottom img {
    -o-object-position: center bottom;
       object-position: center bottom;
  }
  .Hero02__Image.Hero02__Image--sp-left-bottom img {
    -o-object-position: left bottom;
       object-position: left bottom;
  }
}
.Hero02__Image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.Hero02__Inner {
  display: grid;
  grid-template-rows: auto 1fr;
  align-items: center;
}
@media screen and (min-width: 60em), print {
  .Hero02__Inner {
    width: var(--container-width);
    padding-bottom: 5.5rem;
    margin-inline: auto;
  }
}
@media screen and (max-width: 59.99em) {
  .Hero02__Inner {
    position: relative;
    padding-bottom: 18.75rem;
  }
}

@media screen and (min-width: 60em), print {
  .Hero02__Content {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Hero02__Content {
    width: 92%;
    margin-inline: auto;
    margin-top: 2.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .Hero02__Content > * {
    max-width: 40.1568627451%;
  }
}

.Hero02__SubHeading {
  display: inline-block;
  font-weight: 700;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.04em;
  margin-bottom: 0.75rem;
  color: var(--white);
}
.Hero02__Heading {
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: var(--white);
}
@media screen and (min-width: 60em), print {
  .Hero02__Heading {
    font-size: 3.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Hero02__Heading {
    font-size: 2.125rem;
  }
}
.Hero02__Heading:lang(en) {
  text-wrap: balance;
}

.Hero02__Text {
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  font-size: 1rem;
  margin-top: 1.5rem;
  color: var(--white);
}
.Hero02__LinkList {
  display: flex;
  row-gap: 1.5rem;
}
@media screen and (min-width: 60em), print {
  .Hero02__LinkList {
    flex-wrap: wrap;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Hero02__LinkList {
    flex-direction: column;
    margin-top: 1.5rem;
  }
}

.Hero02__Anchor {
  position: relative;
}
@media screen and (min-width: 60em), print {
  .Hero02__Anchor {
    align-self: end;
  }
}
@media screen and (max-width: 59.99em) {
  .Hero02__Anchor::before {
    position: absolute;
    top: 2.25rem;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    content: "";
    background-color: var(--white);
  }
}

.LinkAnchor {
  position: relative;
  background-color: var(--white);
}
@media (prefers-reduced-motion: no-preference) {
  .LinkAnchor {
    transition: background-color var(--animation-duration);
  }
}
@media screen and (max-width: 59.99em) {
  .LinkAnchor {
    overflow: hidden;
    isolation: isolate;
  }
  .LinkAnchor[open] {
    background-color: var(--gray-50);
  }
  .LinkAnchor.is-closing {
    background-color: var(--white);
  }
}

.LinkAnchor__Summary {
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  font-size: 1rem;
}
@media screen and (min-width: 60em), print {
  .LinkAnchor__Summary {
    display: none;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkAnchor__Summary {
    position: relative;
    display: grid;
    grid-auto-flow: column;
    -moz-column-gap: calc(var(--base-rem) * 0.5);
         column-gap: calc(var(--base-rem) * 0.5);
    justify-content: space-between;
    padding-top: 0.75rem;
    padding-right: 0.75rem;
    padding-left: 1.25rem;
    font-weight: 700;
  }
  .LinkAnchor__Summary::after {
    display: block;
    width: 1.375rem;
    height: 1.375rem;
    margin-block: auto;
    content: "";
    background-color: var(--red-primary);
    -webkit-mask-image: var(--icon-arrow-down);
            mask-image: var(--icon-arrow-down);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
  }
  .LinkAnchor__Summary:is(.LinkAnchor[open] .LinkAnchor__Summary)::after {
    transform: rotate(180deg);
  }
}

.LinkAnchor__List {
  display: flex;
}
@media screen and (min-width: 60em), print {
  .LinkAnchor__List {
    flex-wrap: wrap;
    row-gap: 1rem;
    -moz-column-gap: 2.0625rem;
         column-gap: 2.0625rem;
    padding-top: 1.25rem;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkAnchor__List {
    flex-direction: column;
    padding-top: 0.75rem;
    padding-right: 0.75rem;
    padding-left: 0.75rem;
  }
}

.LinkAnchor__Link {
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  font-size: 1rem;
  position: relative;
}
.LinkAnchor__Link > span {
  position: relative;
  display: inline-block;
  width: 1.375rem;
  height: 1.375rem;
  margin-block: auto;
  margin-left: 0.25rem;
  vertical-align: sub;
  border-radius: var(--infinity);
}
@media (prefers-reduced-motion: no-preference) {
  .LinkAnchor__Link > span {
    transition: background-color var(--animation-duration);
  }
}
.LinkAnchor__Link > span::after {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: var(--icon-arrow-forward);
          mask-image: var(--icon-arrow-forward);
}
@media (prefers-reduced-motion: no-preference) {
  .LinkAnchor__Link > span::after {
    transition: background-color var(--animation-duration);
  }
}
.LinkAnchor__Link > span::before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  border-radius: var(--infinity);
  transform: scale3d(0, 0, 0);
}
@media (prefers-reduced-motion: no-preference) {
  .LinkAnchor__Link > span::before {
    transition: transform var(--animation-duration);
  }
}
a[href^="#"] .LinkAnchor__Link > span::after {
  -webkit-mask-image: var(--icon-anchor);
          mask-image: var(--icon-anchor);
}
a[target=_blank] .LinkAnchor__Link > span::after {
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}
a[href*=".pdf"] .LinkAnchor__Link > span::after {
  width: 1rem;
  height: 1rem;
  background-color: transparent;
  background-image: var(--icon-pdf);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-mask: none;
          mask: none;
}
a[href*=".pdf"] .LinkAnchor__Link > span::before {
  background-color: var(--red-text);
}
a:not([href^="#"]):not([target=_blank]):not([href*=".pdf"]) .LinkAnchor__Link > span::after {
  transform: translateX(1px);
}
.LinkAnchor__Link[href^="#"] > span::after {
  -webkit-mask-image: var(--icon-anchor);
          mask-image: var(--icon-anchor);
}
.LinkAnchor__Link[target=_blank] > span::after {
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}
.LinkAnchor__Link[href*=".pdf"] > span::after {
  width: 1rem;
  height: 1rem;
  background-color: transparent;
  background-image: var(--icon-pdf);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-mask: none;
          mask: none;
}
.LinkAnchor__Link[href*=".pdf"] > span::before {
  background-color: var(--red-text);
}
.LinkAnchor__Link:not([href^="#"]):not([target=_blank]):not([href*=".pdf"]) > span::after {
  transform: translateX(1px);
}
@media (hover: hover) {
  .LinkAnchor__Link:where(:-moz-any-link, :enabled, summary):hover > span::after {
    background-color: var(--white);
  }
  .LinkAnchor__Link:where(:any-link, :enabled, summary):hover > span::after {
    background-color: var(--white);
  }
  .LinkAnchor__Link:where(:-moz-any-link, :enabled, summary):hover > span::before {
    transform: scale3d(1, 1, 1);
  }
  .LinkAnchor__Link:where(:any-link, :enabled, summary):hover > span::before {
    transform: scale3d(1, 1, 1);
  }
}
@media screen and (max-width: 59.99em) {
  .LinkAnchor__Link {
    display: grid;
    grid-auto-flow: column;
    justify-content: space-between;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    padding-left: 0.5rem;
    border-top: 1px solid var(--gray-100);
  }
}
.LinkAnchor__Link > div {
  display: inline;
}

.LinkTile02 {
  display: grid;
}
@media screen and (min-width: 60em), print {
  :not([class^=Heading]):not([class*=" Heading"]:not(.LinkTile02)) + .LinkTile02 {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  :not([class^=Heading]):not([class*=" Heading"]:not(.LinkTile02)) + .LinkTile02 {
    margin-top: 2rem;
  }
}
@media screen and (min-width: 60em), print {
  .Box :not([class^=Heading]):not([class*=" Heading"]:not(.LinkTile02)) + .LinkTile02, .Accordion__Content :not([class^=Heading]):not([class*=" Heading"]:not(.LinkTile02)) + .LinkTile02 {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Box :not([class^=Heading]):not([class*=" Heading"]:not(.LinkTile02)) + .LinkTile02, .Accordion__Content :not([class^=Heading]):not([class*=" Heading"]:not(.LinkTile02)) + .LinkTile02 {
    margin-top: 1.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .LinkTile02:not(:last-child) {
    margin-bottom: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkTile02:not(:last-child) {
    margin-bottom: 2rem;
  }
}
@media screen and (min-width: 60em), print {
  .Box .LinkTile02:not(:last-child), .Accordion__Content .LinkTile02:not(:last-child) {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Box .LinkTile02:not(:last-child), .Accordion__Content .LinkTile02:not(:last-child) {
    margin-bottom: 1.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .LinkTile02 {
    row-gap: 2.0625rem;
    -moz-column-gap: 2.5882352941%;
         column-gap: 2.5882352941%;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkTile02 {
    grid-template-columns: repeat(auto-fit, minmax(calc(var(--base-rem) * 14), 1fr));
    gap: 1.25rem;
  }
}
@media screen and (min-width: 60em), print {
  .LinkTile02.LinkTile02--4col {
    grid-template-columns: repeat(4, 1fr);
  }
  .LinkTile02.LinkTile02--3col {
    grid-template-columns: repeat(3, 1fr);
  }
  .LinkTile02.LinkTile02--2col {
    grid-template-columns: repeat(2, 1fr);
  }
}

.LinkTile02__Link {
  position: relative;
  z-index: 0;
  display: grid;
  grid-template-columns: 1fr auto;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: flex-end;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  outline-offset: -2px;
  overflow: hidden;
  /* stylelint-disable-next-line no-descending-specificity */
}
@media (prefers-reduced-motion: no-preference) {
  .LinkTile02__Link img {
    transition: transform var(--animation-duration);
  }
}
@media (hover: hover) {
  .LinkTile02__Link img:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  .LinkTile02__Link img:is(:where(:any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
}
@media screen and (min-width: 60em), print {
  .LinkTile02__Link {
    padding: 1rem 1rem 1.125rem 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkTile02__Link {
    min-height: 11.75rem;
    padding: 1rem;
  }
}
@media screen and (min-width: 60em), print {
  .LinkTile02__Link:not(.LinkTile02.LinkTile02--pc-wide .LinkTile02__Link) {
    aspect-ratio: 1/1;
  }
  .LinkTile02__Link:is(.LinkTile02.LinkTile02--pc-wide .LinkTile02__Link) {
    aspect-ratio: 16/9;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkTile02__Link:not(.LinkTile02.LinkTile02--sp-wide .LinkTile02__Link) {
    aspect-ratio: 1/1;
  }
  .LinkTile02__Link:is(.LinkTile02.LinkTile02--sp-wide .LinkTile02__Link) {
    aspect-ratio: 16/9;
  }
}
.LinkTile02__Link:is(.Slider__List.Slider__List--wide .LinkTile02__Link) {
  aspect-ratio: 16/9;
}
@media screen and (max-width: 59.99em) {
  .LinkTile02__Link:is(.Slider__List.Slider__List--sp-wide .LinkTile02__Link) {
    aspect-ratio: 16/9;
  }
}
@media screen and (min-width: 60em), print {
  .LinkTile02__Link:is(.Slider__List.Slider__List--pc-wide .LinkTile02__Link) {
    aspect-ratio: 16/9;
  }
}
.LinkTile02__Link::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 90%);
  opacity: 0.9;
}
.LinkTile02__Link:is(.LinkTile02.LinkTile02--pale-shadow .LinkTile02__Link)::before {
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 60%);
}
.LinkTile02__Link > span {
  position: relative;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--infinity);
  box-shadow: inset 0 0 0 2.25rem var(--red-primary);
  will-change: box-shadow;
}
@media (prefers-reduced-motion: no-preference) {
  .LinkTile02__Link > span {
    transition: box-shadow var(--animation-duration);
  }
}
.LinkTile02__Link > span::after {
  display: block;
  content: "";
  background-color: var(--white);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media (prefers-reduced-motion: no-preference) {
  .LinkTile02__Link > span::after {
    transition: background-color var(--animation-duration);
  }
}
@media (hover: hover) {
  .LinkTile02__Link > span:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    box-shadow: inset 0 0 0 1.5px var(--red-primary);
  }
  .LinkTile02__Link > span:is(:where(:any-link, :enabled, summary):hover *) {
    box-shadow: inset 0 0 0 1.5px var(--red-primary);
  }
  .LinkTile02__Link > span:is(:where(:-moz-any-link, :enabled, summary):hover *)::after {
    background-color: var(--red-primary);
  }
  .LinkTile02__Link > span:is(:where(:any-link, :enabled, summary):hover *)::after {
    background-color: var(--red-primary);
  }
}
.LinkTile02__Link[target=_blank] > span::after {
  width: 0.875rem;
  height: 0.875rem;
  -webkit-mask-image: var(--icon-window-arrow);
          mask-image: var(--icon-window-arrow);
}
.LinkTile02__Link:not([target=_blank]) > span::after {
  width: 0.6875rem;
  height: 0.9375rem;
  -webkit-mask-image: var(--icon-arrow-circle);
          mask-image: var(--icon-arrow-circle);
  transform: translate(2px);
}

.LinkTile02__Title {
  font-weight: 700;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.04em;
  color: var(--white);
}
.LinkTile02__Title:not(.LinkTile02__Title--show-all) {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.LinkTile02__Text {
  font-weight: 400;
  line-height: 1.7;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  margin-top: 0.25rem;
  color: var(--gray-100);
}
.LinkTile02__Text:not(.LinkTile02__Text--show-all) {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.LinkTile02__Background {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
}
.LinkTile02__Background img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.LinkTile01 {
  display: grid;
}
@media screen and (min-width: 60em), print {
  :not([class^=Heading]):not([class*=" Heading"]:not(.LinkTile01)) + .LinkTile01 {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  :not([class^=Heading]):not([class*=" Heading"]:not(.LinkTile01)) + .LinkTile01 {
    margin-top: 2rem;
  }
}
@media screen and (min-width: 60em), print {
  .Box :not([class^=Heading]):not([class*=" Heading"]:not(.LinkTile01)) + .LinkTile01, .Accordion__Content :not([class^=Heading]):not([class*=" Heading"]:not(.LinkTile01)) + .LinkTile01 {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Box :not([class^=Heading]):not([class*=" Heading"]:not(.LinkTile01)) + .LinkTile01, .Accordion__Content :not([class^=Heading]):not([class*=" Heading"]:not(.LinkTile01)) + .LinkTile01 {
    margin-top: 1.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .LinkTile01:not(:last-child) {
    margin-bottom: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkTile01:not(:last-child) {
    margin-bottom: 2rem;
  }
}
@media screen and (min-width: 60em), print {
  .Box .LinkTile01:not(:last-child), .Accordion__Content .LinkTile01:not(:last-child) {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Box .LinkTile01:not(:last-child), .Accordion__Content .LinkTile01:not(:last-child) {
    margin-bottom: 1.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .LinkTile01:not([class^=Heading]):not([class*=Heading]) + .LinkTile01 {
    margin-top: 2.5882352941%;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkTile01:not([class^=Heading]):not([class*=Heading]) + .LinkTile01 {
    margin-top: 1.25rem;
  }
}
@media screen and (min-width: 60em), print {
  .LinkTile01.LinkTile01--col2 {
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 2.5882352941%;
         column-gap: 2.5882352941%;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkTile01.LinkTile01--col2 {
    row-gap: 1.25rem;
  }
}

.LinkTile01__Link {
  overflow: hidden;
  position: relative;
  z-index: 0;
  display: grid;
  align-items: center;
  height: 100%;
  outline-offset: -3px;
  /* stylelint-disable-next-line no-descending-specificity */
}
@media (prefers-reduced-motion: no-preference) {
  .LinkTile01__Link img {
    transition: transform var(--animation-duration);
  }
}
@media (hover: hover) {
  .LinkTile01__Link img:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  .LinkTile01__Link img:is(:where(:any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
}
@media screen and (min-width: 60em), print {
  .LinkTile01__Link {
    min-height: 17.5rem;
    padding: 3.375rem 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkTile01__Link {
    min-height: 12.5rem;
    padding: 3rem 1.25rem 4rem;
  }
}
.LinkTile01__Link::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background-color: rgba(0, 0, 0, 0.7);
  opacity: 0.9;
}
.LinkTile01__Link > span {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--infinity);
  box-shadow: inset 0 0 0 2.25rem var(--red-primary);
  will-change: box-shadow;
}
@media (prefers-reduced-motion: no-preference) {
  .LinkTile01__Link > span {
    transition: box-shadow var(--animation-duration);
  }
}
.LinkTile01__Link > span::after {
  display: block;
  content: "";
  background-color: var(--white);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media (prefers-reduced-motion: no-preference) {
  .LinkTile01__Link > span::after {
    transition: background-color var(--animation-duration);
  }
}
@media (hover: hover) {
  .LinkTile01__Link > span:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    box-shadow: inset 0 0 0 1.5px var(--red-primary);
  }
  .LinkTile01__Link > span:is(:where(:any-link, :enabled, summary):hover *) {
    box-shadow: inset 0 0 0 1.5px var(--red-primary);
  }
  .LinkTile01__Link > span:is(:where(:-moz-any-link, :enabled, summary):hover *)::after {
    background-color: var(--red-primary);
  }
  .LinkTile01__Link > span:is(:where(:any-link, :enabled, summary):hover *)::after {
    background-color: var(--red-primary);
  }
}
.LinkTile01__Link[target=_blank] > span::after {
  width: 0.875rem;
  height: 0.875rem;
  -webkit-mask-image: var(--icon-window-arrow);
          mask-image: var(--icon-window-arrow);
}
.LinkTile01__Link:not([target=_blank]) > span::after {
  width: 0.6875rem;
  height: 0.9375rem;
  -webkit-mask-image: var(--icon-arrow-circle);
          mask-image: var(--icon-arrow-circle);
  transform: translate(2px);
}

.LinkTile01__Background {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
}
.LinkTile01__Background img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.LinkTile01__Title {
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: var(--white);
}
@media screen and (min-width: 60em), print {
  .LinkTile01__Title {
    font-size: 1.6875rem;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkTile01__Title {
    font-size: 1.4375rem;
  }
}
.LinkTile01__Title:not(.LinkTile01__Title--show-all) {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.LinkTile01__Lead {
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.04em;
  font-size: 0.9375rem;
  margin-top: 1rem;
  color: var(--gray-100);
}
.LinkTile01__Lead:not(.LinkTile01__Lead--show-all) {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
}
@media screen and (min-width: 60em), print {
  .LinkTile01__Lead:not(.LinkTile01__Lead--show-all) {
    -webkit-line-clamp: 3;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkTile01__Lead:not(.LinkTile01__Lead--show-all) {
    -webkit-line-clamp: 5;
  }
}

.LinkTile03 {
  display: grid;
}
@media screen and (min-width: 60em), print {
  :not([class^=Heading]):not([class*=" Heading"]:not(.LinkTile03)) + .LinkTile03 {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  :not([class^=Heading]):not([class*=" Heading"]:not(.LinkTile03)) + .LinkTile03 {
    margin-top: 2rem;
  }
}
@media screen and (min-width: 60em), print {
  .Box :not([class^=Heading]):not([class*=" Heading"]:not(.LinkTile03)) + .LinkTile03, .Accordion__Content :not([class^=Heading]):not([class*=" Heading"]:not(.LinkTile03)) + .LinkTile03 {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Box :not([class^=Heading]):not([class*=" Heading"]:not(.LinkTile03)) + .LinkTile03, .Accordion__Content :not([class^=Heading]):not([class*=" Heading"]:not(.LinkTile03)) + .LinkTile03 {
    margin-top: 1.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .LinkTile03:not(:last-child) {
    margin-bottom: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkTile03:not(:last-child) {
    margin-bottom: 2rem;
  }
}
@media screen and (min-width: 60em), print {
  .Box .LinkTile03:not(:last-child), .Accordion__Content .LinkTile03:not(:last-child) {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Box .LinkTile03:not(:last-child), .Accordion__Content .LinkTile03:not(:last-child) {
    margin-bottom: 1.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .LinkTile03 {
    row-gap: 2.0625rem;
    -moz-column-gap: 2.5882352941%;
         column-gap: 2.5882352941%;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkTile03 {
    gap: 2.0625rem;
  }
}
@media screen and (min-width: 60em), print {
  .LinkTile03.LinkTile03--pc-horizontal {
    row-gap: 0;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkTile03:not(.LinkTile03--sp-horizontal) {
    grid-template-columns: repeat(auto-fit, minmax(calc(var(--base-rem) * 14), 1fr));
  }
}
@media screen and (min-width: 60em), print {
  .LinkTile03.LinkTile03--2col {
    grid-template-columns: repeat(2, 1fr);
  }
  .LinkTile03.LinkTile03--3col {
    grid-template-columns: repeat(3, 1fr);
  }
  .LinkTile03.LinkTile03--4col {
    grid-template-columns: repeat(4, 1fr);
  }
}

.LinkTile03__Link {
  position: relative;
  display: grid;
  row-gap: 0.75rem;
  align-content: start;
  height: 100%;
  outline-offset: -3px;
}
@media screen and (min-width: 60em), print {
  .LinkTile03__Link:is(.LinkTile03.LinkTile03--pc-horizontal .LinkTile03__Link) {
    display: grid;
    grid-template-columns: 15rem 1fr;
    -moz-column-gap: 1.75rem;
         column-gap: 1.75rem;
    padding-bottom: 1.75rem;
    border-bottom: 1px solid var(--gray-100);
  }
  .LinkTile03__Item:not(:first-of-type) .LinkTile03__Link:is(.LinkTile03.LinkTile03--pc-horizontal .LinkTile03__Link) {
    padding-top: 2rem;
  }
  .LinkTile03__Link:is(.LinkTile03.LinkTile03--pc-horizontal .LinkTile03__Link)::before {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    content: "";
    background-color: var(--red-primary);
    transform: scaleX(0);
    transform-origin: left top;
  }
}
@media screen and (min-width: 60em) and (prefers-reduced-motion: no-preference), print and (prefers-reduced-motion: no-preference) {
  .LinkTile03__Link:is(.LinkTile03.LinkTile03--pc-horizontal .LinkTile03__Link)::before {
    transition: transform var(--animation-duration);
  }
}
@media screen and (min-width: 60em) and (hover: hover), print and (hover: hover) {
  .LinkTile03__Link:is(.LinkTile03.LinkTile03--pc-horizontal .LinkTile03__Link):where(:-moz-any-link, :enabled, summary):hover::before {
    transform: scaleX(100%);
    transform-origin: left top;
  }
  .LinkTile03__Link:is(.LinkTile03.LinkTile03--pc-horizontal .LinkTile03__Link):where(:any-link, :enabled, summary):hover::before {
    transform: scaleX(100%);
    transform-origin: left top;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkTile03__Link:is(.LinkTile03.LinkTile03--sp-horizontal .LinkTile03__Link) {
    grid-template-columns: 46.3768115942% 1fr;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    align-items: center;
  }
}

.LinkTile03__Image {
  position: relative;
  width: 100%;
  aspect-ratio: 566/318;
  overflow: hidden;
}
@media (prefers-reduced-motion: no-preference) {
  .LinkTile03__Image img {
    transition: transform var(--animation-duration);
  }
}
@media (hover: hover) {
  .LinkTile03__Image img:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  .LinkTile03__Image img:is(:where(:any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
}
.LinkTile03__Image:is(.LinkTile03.LinkTile03--sp-horizontal .LinkTile03__Image) {
  align-self: flex-start;
}
.LinkTile03__Image img {
  position: relative;
  z-index: -1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.LinkTile03__Tag {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 0.25rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--gray-800);
  letter-spacing: 0.03em;
  background-color: var(--white);
}

.LinkTile03__Content {
  display: grid;
  row-gap: 0.5rem;
  align-content: center;
}

.LinkTile03__LinkText {
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.04em;
  position: relative;
}
@media screen and (min-width: 60em), print {
  .LinkTile03__LinkText {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkTile03__LinkText {
    font-size: 1.0625rem;
  }
}
.LinkTile03__LinkText > span {
  position: relative;
  display: inline-block;
  width: 1.375rem;
  height: 1.375rem;
  margin-block: auto;
  margin-left: 0.25rem;
  vertical-align: sub;
  border-radius: var(--infinity);
}
@media (prefers-reduced-motion: no-preference) {
  .LinkTile03__LinkText > span {
    transition: background-color var(--animation-duration);
  }
}
.LinkTile03__LinkText > span::after {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: var(--icon-arrow-forward);
          mask-image: var(--icon-arrow-forward);
}
@media (prefers-reduced-motion: no-preference) {
  .LinkTile03__LinkText > span::after {
    transition: background-color var(--animation-duration);
  }
}
.LinkTile03__LinkText > span::before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  border-radius: var(--infinity);
  transform: scale3d(0, 0, 0);
}
@media (prefers-reduced-motion: no-preference) {
  .LinkTile03__LinkText > span::before {
    transition: transform var(--animation-duration);
  }
}
a[href^="#"] .LinkTile03__LinkText > span::after {
  -webkit-mask-image: var(--icon-anchor);
          mask-image: var(--icon-anchor);
}
a[target=_blank] .LinkTile03__LinkText > span::after {
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}
a[href*=".pdf"] .LinkTile03__LinkText > span::after {
  width: 1rem;
  height: 1rem;
  background-color: transparent;
  background-image: var(--icon-pdf);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-mask: none;
          mask: none;
}
a[href*=".pdf"] .LinkTile03__LinkText > span::before {
  background-color: var(--red-text);
}
a:not([href^="#"]):not([target=_blank]):not([href*=".pdf"]) .LinkTile03__LinkText > span::after {
  transform: translateX(1px);
}
@media (hover: hover) {
  .LinkTile03__LinkText:is(:where(:-moz-any-link, :enabled, summary):hover *) > span::after {
    background-color: var(--white);
  }
  .LinkTile03__LinkText:is(:where(:any-link, :enabled, summary):hover *) > span::after {
    background-color: var(--white);
  }
  .LinkTile03__LinkText:is(:where(:-moz-any-link, :enabled, summary):hover *) > span::before {
    transform: scale3d(1, 1, 1);
  }
  .LinkTile03__LinkText:is(:where(:any-link, :enabled, summary):hover *) > span::before {
    transform: scale3d(1, 1, 1);
  }
}

.LinkTile03__Text {
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.04em;
  font-size: 0.9375rem;
  color: var(--gray-800);
}
.ImageColumn {
  align-items: center;
}
@media screen and (min-width: 60em), print {
  :not([class^=Heading]):not([class*=" Heading"]:not(.ImageColumn)) + .ImageColumn {
    margin-top: 10rem;
  }
}
@media screen and (max-width: 59.99em) {
  :not([class^=Heading]):not([class*=" Heading"]:not(.ImageColumn)) + .ImageColumn {
    margin-top: 6.25rem;
  }
}
@media screen and (min-width: 60em), print {
  .ImageColumn {
    display: flex;
    -moz-column-gap: 2.0625rem;
         column-gap: 2.0625rem;
    align-items: stretch;
    min-height: 41.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .ImageColumn {
    display: grid;
    row-gap: 2.5rem;
  }
  .ImageColumn.ImageColumn--reverse-sp > *:nth-child(2) {
    grid-row-start: 1;
  }
}

.ImageColumn__Image {
  position: relative;
}
@media screen and (min-width: 60em), print {
  .ImageColumn__Image {
    width: 48.8932291667vw;
    aspect-ratio: 752/718;
  }
  .ImageColumn__Image.ImageColumn__Image--pc-right-top img {
    -o-object-position: right top;
       object-position: right top;
  }
  .ImageColumn__Image.ImageColumn__Image--pc-center-top img {
    -o-object-position: center top;
       object-position: center top;
  }
  .ImageColumn__Image.ImageColumn__Image--pc-left-top img {
    -o-object-position: left top;
       object-position: left top;
  }
  .ImageColumn__Image.ImageColumn__Image--pc-right-bottom img {
    -o-object-position: right bottom;
       object-position: right bottom;
  }
  .ImageColumn__Image.ImageColumn__Image--pc-center-bottom img {
    -o-object-position: center bottom;
       object-position: center bottom;
  }
  .ImageColumn__Image.ImageColumn__Image--pc-left-bottom img {
    -o-object-position: left bottom;
       object-position: left bottom;
  }
}
@media screen and (max-width: 59.99em) {
  .ImageColumn__Image:not(.ImageColumn__Image--wide) {
    aspect-ratio: 375/375;
  }
  .ImageColumn__Image.ImageColumn__Image--wide {
    aspect-ratio: 16/9;
  }
  .ImageColumn__Image.ImageColumn__Image--sp-right-top img {
    -o-object-position: right top;
       object-position: right top;
  }
  .ImageColumn__Image.ImageColumn__Image--sp-center-top img {
    -o-object-position: center top;
       object-position: center top;
  }
  .ImageColumn__Image.ImageColumn__Image--sp-left-top img {
    -o-object-position: left top;
       object-position: left top;
  }
  .ImageColumn__Image.ImageColumn__Image--sp-right-bottom img {
    -o-object-position: right bottom;
       object-position: right bottom;
  }
  .ImageColumn__Image.ImageColumn__Image--sp-center-bottom img {
    -o-object-position: center bottom;
       object-position: center bottom;
  }
  .ImageColumn__Image.ImageColumn__Image--sp-left-bottom img {
    -o-object-position: left bottom;
       object-position: left bottom;
  }
}
.ImageColumn__Image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 60em), print {
  .ImageColumn__Contents {
    flex: 1;
    align-content: center;
    justify-content: center;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .ImageColumn__Contents {
    width: 92%;
    margin-inline: auto;
  }
}
@media screen and (min-width: 60em), print {
  .ImageColumn__Contents:first-child {
    padding-right: 4.75rem;
    padding-left: max(4vw, (100vw - var(--container-max-width)) / 2);
  }
  .ImageColumn__Image + .ImageColumn__Contents {
    padding-right: max(4vw, (100vw - var(--container-max-width)) / 2);
    padding-left: 4.75rem;
  }
}

:not([class^=Heading]):not([class*=" Heading"]:not(.Button)) + .Button {
  margin-top: 1.75rem;
}
.Box :not([class^=Heading]):not([class*=" Heading"]:not(.Button)) + .Button, .Accordion__Content :not([class^=Heading]):not([class*=" Heading"]:not(.Button)) + .Button {
  margin-top: 1.5rem;
}
.Button:not(:last-child) {
  margin-bottom: 1.75rem;
}
.Box .Button:not(:last-child), .Accordion__Content .Button:not(:last-child) {
  margin-bottom: 1.5rem;
}
.Button a {
  position: relative;
  display: inline-grid;
  grid-auto-flow: column;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: center;
  justify-content: start;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  font-size: 1rem;
}
@media (prefers-reduced-motion: no-preference) {
  .Button a {
    transition: color var(--animation-duration);
  }
}
.Button.Button--white a {
  color: var(--white);
}

.Button__Icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--infinity);
  box-shadow: inset 0 0 0 2.25rem var(--red-primary);
  will-change: box-shadow;
}
@media (prefers-reduced-motion: no-preference) {
  .Button__Icon {
    transition: box-shadow var(--animation-duration);
  }
}
.Button__Icon::after {
  display: block;
  content: "";
  background-color: var(--white);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media (prefers-reduced-motion: no-preference) {
  .Button__Icon::after {
    transition: background-color var(--animation-duration);
  }
}
@media (hover: hover) {
  .Button__Icon:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    box-shadow: inset 0 0 0 1.5px var(--red-primary);
  }
  .Button__Icon:is(:where(:any-link, :enabled, summary):hover *) {
    box-shadow: inset 0 0 0 1.5px var(--red-primary);
  }
  .Button__Icon:is(:where(:-moz-any-link, :enabled, summary):hover *)::after {
    background-color: var(--red-primary);
  }
  .Button__Icon:is(:where(:any-link, :enabled, summary):hover *)::after {
    background-color: var(--red-primary);
  }
}
.Button__Icon:is(.Button a[target=_blank] .Button__Icon)::after {
  width: 0.875rem;
  height: 0.875rem;
  -webkit-mask-image: var(--icon-window-arrow);
          mask-image: var(--icon-window-arrow);
}
.Button__Icon:is(.Button a:not([target=_blank]) .Button__Icon)::after {
  width: 0.6875rem;
  height: 0.9375rem;
  -webkit-mask-image: var(--icon-arrow-circle);
          mask-image: var(--icon-arrow-circle);
  transform: translate(2px);
}

.ListBanner {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .ListBanner {
    grid-template-columns: repeat(4, 1fr);
    gap: 2.5882352941%;
  }
}
@media screen and (max-width: 59.99em) {
  .ListBanner {
    grid-template-columns: repeat(auto-fit, minmax(calc(var(--base-rem) * 14), 1fr));
    gap: 1rem;
  }
}
@media screen and (min-width: 60em), print {
  .ListBanner:not(:first-child) {
    margin-top: 6.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .ListBanner:not(:first-child) {
    margin-top: 5rem;
  }
}
.ListBanner a {
  overflow: hidden;
  display: block;
  aspect-ratio: 1/1;
  outline-offset: -3px;
}
@media (prefers-reduced-motion: no-preference) {
  .ListBanner a img {
    transition: transform var(--animation-duration);
  }
}
@media (hover: hover) {
  .ListBanner a img:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  .ListBanner a img:is(:where(:any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
}
.ListBanner a img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.Filter {
  display: grid;
  align-items: start;
}
@media screen and (min-width: 60em), print {
  .Filter {
    grid-template-areas: "select content" "select list";
    grid-template-rows: auto 1fr;
    grid-template-columns: 18.375rem 1fr;
    row-gap: 2.5rem;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Filter {
    row-gap: 1.75rem;
  }
}
:not([class^=Heading]):not([class*=" Heading"]:not(.Filter)) + .Filter {
  margin-top: 3.75rem;
}

.Filter__Result {
  position: relative;
}
.Filter__Result::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 18.75rem;
  content: "";
  background: linear-gradient(0deg, var(--white) 0%, rgba(255, 255, 255, 0.8) 49%, transparent 100%);
}
@media (prefers-reduced-motion: no-preference) {
  .Filter__Result::after {
    transition: opacity var(--animation-duration), visibility var(--animation-duration);
  }
}
@media screen and (min-width: 60em), print {
  .Filter__Result {
    grid-area: list;
  }
}
.Filter__Result button {
  position: absolute;
  right: 0;
  bottom: 1.25rem;
  left: 0;
  z-index: 1;
  display: inline-grid;
  grid-auto-flow: column;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: center;
  justify-content: start;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  font-size: 1rem;
}
@media (prefers-reduced-motion: no-preference) {
  .Filter__Result button {
    transition: opacity var(--animation-duration), visibility var(--animation-duration), color var(--animation-duration);
  }
}
.Filter__Result button span {
  position: relative;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--infinity);
  box-shadow: inset 0 0 0 2.25rem var(--red-primary);
  will-change: box-shadow;
}
@media (prefers-reduced-motion: no-preference) {
  .Filter__Result button span {
    transition: box-shadow var(--animation-duration);
  }
}
.Filter__Result button span::after {
  display: block;
  width: 0.625rem;
  height: 0.875rem;
  content: "";
  background-color: var(--white);
  -webkit-mask-image: var(--icon-arrow-circle);
          mask-image: var(--icon-arrow-circle);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  transform: rotate(90deg) translateX(0.1rem);
}
@media (prefers-reduced-motion: no-preference) {
  .Filter__Result button span::after {
    transition: background-color var(--animation-duration);
  }
}
@media (hover: hover) {
  .Filter__Result button span:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    box-shadow: inset 0 0 0 1.5px var(--red-primary);
  }
  .Filter__Result button span:is(:where(:any-link, :enabled, summary):hover *) {
    box-shadow: inset 0 0 0 1.5px var(--red-primary);
  }
  .Filter__Result button span:is(:where(:-moz-any-link, :enabled, summary):hover *)::after {
    background-color: var(--red-primary);
  }
  .Filter__Result button span:is(:where(:any-link, :enabled, summary):hover *)::after {
    background-color: var(--red-primary);
  }
}
.Filter__Result.is-show button {
  visibility: hidden;
  opacity: 0;
}
.Filter__Result.is-show::after {
  visibility: hidden;
  opacity: 0;
}

.FilterContent {
  display: inline-flex;
  flex-direction: column;
  background-color: var(--gray-50);
}
@media screen and (min-width: 60em), print {
  .FilterContent {
    grid-area: select;
  }
}

@media screen and (max-width: 59.99em) {
  .FilterContent__Inner {
    height: 0;
  }
}
.FilterContent__Inner form {
  display: inline-flex;
  flex-direction: column;
  width: 100%;
}
@media screen and (min-width: 60em), print {
  .FilterContent__Inner form {
    row-gap: 1.5rem;
    padding: 1.25rem;
  }
}

.FilterContent__Details {
  overflow: hidden;
}
@media screen and (min-width: 60em), print {
  .FilterContent__Details:not(:first-of-type) {
    padding-top: 1.25rem;
    border-top: 1px solid var(--gray-200);
  }
}

.FilterContent__Button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  outline-offset: -2px;
}
@media screen and (max-width: 59.99em) {
  .FilterContent__Button {
    padding: 0.75rem 0.9375rem;
    border-bottom: 1px solid var(--gray-100);
  }
}
.FilterContent__Button::after {
  width: 1.25rem;
  height: 1.25rem;
  content: "";
  background-color: var(--red-primary);
  -webkit-mask-image: var(--icon-arrow-down);
          mask-image: var(--icon-arrow-down);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.FilterContent__Details[open] .FilterContent__Button::after {
  -webkit-mask-image: var(--icon-arrow-up);
          mask-image: var(--icon-arrow-up);
}
.FilterContent__Button > span {
  font-weight: 700;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.04em;
}
.FilterContent__Content {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .FilterContent__Content {
    row-gap: 0.5rem;
    padding-top: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .FilterContent__Content {
    row-gap: 1rem;
    padding: 1.25rem 1.25rem 1.75rem;
    background-color: var(--gray-100);
  }
  .FilterContent__Content + .FilterContent__Content {
    margin-top: 1.25rem;
  }
}

.FilterContent__SubHeading {
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  font-size: 1rem;
  color: var(--gray-800);
}
.FilterContent__List {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 60em), print {
  .FilterContent__List {
    row-gap: 0.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .FilterContent__List {
    row-gap: 1rem;
  }
}
.FilterContent__List > li {
  position: relative;
}

.FilterContent__Input {
  position: absolute;
  inset: 0;
  outline-offset: -1px;
}

.FilterContent__Label {
  position: relative;
  display: block;
  padding-left: 1.75rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.04em;
  font-size: 0.9375rem;
}
.FilterContent__Label::before {
  position: absolute;
  top: 0.3125rem;
  left: 0px;
  display: block;
  width: 1rem;
  height: 1rem;
  content: "";
  border: 1px solid var(--gray-800);
  box-shadow: inset 0 0 0 0px var(--gray-800);
  transition: box-shadow var(--animation-duration);
}
@media (hover: hover) {
  .FilterContent__Label:hover:is(.FilterContent__Input:not(:checked) + .FilterContent__Label:hover)::before {
    box-shadow: inset 0 0 0 1px var(--gray-800);
  }
}
.FilterContent__Label > span {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.7;
  color: var(--gray-800);
}
.FilterContent__Input[type=checkbox] + .FilterContent__Label::before {
  border-radius: 0.125rem;
}
.FilterContent__Input[type=radio] + .FilterContent__Label::before {
  border-radius: 1rem;
}
.FilterContent__Input:checked[type=checkbox] + .FilterContent__Label::before {
  background-color: var(--gray-900);
  border: 1px solid var(--gray-900);
}
.FilterContent__Input:checked[type=checkbox] + .FilterContent__Label::after {
  position: absolute;
  top: 0.4375rem;
  left: 0.3125rem;
  width: 0.375rem;
  height: 0.625rem;
  content: "";
  border-right: 2px solid var(--white);
  border-bottom: 2px solid var(--white);
  opacity: 1;
  transform: rotate(45deg);
}
.FilterContent__Input:checked[type=radio] + .FilterContent__Label::before {
  border: 4px solid var(--gray-900);
}

@media screen and (min-width: 60em), print {
  .FilterContent__ModalOpenButton {
    display: none;
  }
}
@media screen and (max-width: 59.99em) {
  .FilterContent__ModalOpenButton {
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 0.04em;
    display: flex;
    -moz-column-gap: 0.375rem;
         column-gap: 0.375rem;
    align-items: center;
    justify-content: center;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) and (min-width: 60em) {
  .FilterContent__ModalOpenButton {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) and (max-width: 59.99em) {
  .FilterContent__ModalOpenButton {
    font-size: 1.0625rem;
  }
}
@media screen and (max-width: 59.99em) {
  .FilterContent__ModalOpenButton::after {
    width: 1.375rem;
    height: 1.375rem;
    content: "";
    background-color: var(--red-primary);
    -webkit-mask-image: var(--icon-plus);
            mask-image: var(--icon-plus);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
  }
  .FilterContent__ModalCloseButton {
    position: relative;
    width: 2rem;
    height: 2rem;
    background-color: var(--white);
    border-radius: 50%;
  }
  .FilterContent__ModalCloseButton::after {
    position: absolute;
    inset: 0;
    width: 2rem;
    height: 2rem;
    content: "";
    background-color: var(--gray-800);
    -webkit-mask-image: var(--icon-close);
            mask-image: var(--icon-close);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
  }
  .FilterContent__ModalName {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 1.4375rem;
    padding-right: 0.9375rem;
    padding-bottom: 1.25rem;
    padding-left: 0.9375rem;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 0.04em;
    border-bottom: 2px solid var(--gray-100);
  }
}
@media screen and (max-width: 59.99em) and (min-width: 60em) {
  .FilterContent__ModalName {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) and (max-width: 59.99em) {
  .FilterContent__ModalName {
    font-size: 1.0625rem;
  }
}

@media screen and (max-width: 59.99em) {
  .FilterContent__Dialog[open] {
    display: grid;
    grid-template-rows: 1fr auto;
    row-gap: 6.25rem;
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100vh;
    margin: 0;
    background-color: var(--gray-50);
    animation: show var(--animation-duration);
  }
  .FilterContent__Dialog[open]::backdrop {
    background-color: rgba(0, 0, 0, 0.9);
    animation: show 0.1s;
  }
  @keyframes show {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  .FilterContent__Dialog[open].is-closing {
    animation: hide var(--animation-duration);
  }
  .FilterContent__Dialog[open].is-closing::backdrop {
    animation: hide 0.5s;
  }
  @keyframes hide {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
    }
  }
  .FilterContent__Search {
    position: sticky;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0.9375rem;
    background-color: var(--white);
  }
}

.FilterContent__SearchContent {
  display: flex;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
  align-items: flex-end;
  font-size: 0.9375rem;
  line-height: 1.7;
}
@media screen and (min-width: 60em), print {
  .FilterContent__SearchContent {
    grid-area: count;
  }
}

.FilterContent__SearchCount {
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--red-text);
}

@media screen and (max-width: 59.99em) {
  .FilterContent__SearchButton {
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.5;
    font-size: 1rem;
    padding: 0.75rem 1.5rem;
    color: var(--white);
    background-color: var(--gray-900);
    border-radius: 1.875rem;
  }
}
.FilterResult {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 60em), print {
  .FilterResult {
    row-gap: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .FilterResult {
    row-gap: 0.5rem;
  }
}

.FilterResult__Search {
  display: flex;
  align-items: flex-end;
}
@media screen and (min-width: 60em), print {
  .FilterResult__Search {
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: 0.04em;
    font-size: 0.9375rem;
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .FilterResult__Search {
    font-weight: 400;
    line-height: 1.7;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    -moz-column-gap: 0.25rem;
         column-gap: 0.25rem;
  }
}
.FilterResult__SearchCount {
  font-weight: 700;
  line-height: 1.2;
  color: var(--red-text);
}
@media screen and (min-width: 60em), print {
  .FilterResult__SearchCount {
    font-size: 1.625rem;
  }
}
@media screen and (max-width: 59.99em) {
  .FilterResult__SearchCount {
    font-size: 1.375rem;
  }
}

.FilterResult__SelectList {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.FilterResult__SelectButton {
  position: relative;
  display: flex;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
  align-items: center;
  padding: 0.25rem 0.5rem 0.25rem 0.375rem;
  border: 1px solid var(--gray-200);
}
.FilterResult__SelectButton[hidden] {
  display: none;
}
@media screen and (min-width: 60em), print {
  .FilterResult__SelectButton {
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: 0.04em;
    font-size: 0.9375rem;
  }
}
@media screen and (max-width: 59.99em) {
  .FilterResult__SelectButton {
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.7;
  }
}
.FilterResult__SelectButton::before {
  width: 1rem;
  height: 1rem;
  content: "";
  background-color: var(--gray-800);
  -webkit-mask-image: var(--icon-close);
          mask-image: var(--icon-close);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.FilterResult__SelectButton.FilterResult__SelectButton--selected {
  background-color: var(--gray-50);
  border: 1px solid var(--gray-50);
}
.FilterResult__SelectButton::after {
  position: absolute;
  inset: -1px;
  display: block;
  content: "";
  background-color: rgba(0, 0, 0, 0.06);
  opacity: 0;
}
@media (prefers-reduced-motion: no-preference) {
  .FilterResult__SelectButton::after {
    transition: opacity var(--animation-duration);
  }
}
@media (hover: hover) {
  .FilterResult__SelectButton:where(:-moz-any-link, :enabled, summary):hover::after {
    opacity: 1;
  }
  .FilterResult__SelectButton:where(:any-link, :enabled, summary):hover::after {
    opacity: 1;
  }
}

.LinkFeatured {
  display: grid;
}
@media screen and (min-width: 60em), print {
  :not([class^=Heading]):not([class*=" Heading"]:not(.LinkFeatured)) + .LinkFeatured {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  :not([class^=Heading]):not([class*=" Heading"]:not(.LinkFeatured)) + .LinkFeatured {
    margin-top: 2rem;
  }
}
@media screen and (min-width: 60em), print {
  .Box :not([class^=Heading]):not([class*=" Heading"]:not(.LinkFeatured)) + .LinkFeatured, .Accordion__Content :not([class^=Heading]):not([class*=" Heading"]:not(.LinkFeatured)) + .LinkFeatured {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Box :not([class^=Heading]):not([class*=" Heading"]:not(.LinkFeatured)) + .LinkFeatured, .Accordion__Content :not([class^=Heading]):not([class*=" Heading"]:not(.LinkFeatured)) + .LinkFeatured {
    margin-top: 1.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .LinkFeatured:not(:last-child) {
    margin-bottom: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkFeatured:not(:last-child) {
    margin-bottom: 2rem;
  }
}
@media screen and (min-width: 60em), print {
  .Box .LinkFeatured:not(:last-child), .Accordion__Content .LinkFeatured:not(:last-child) {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Box .LinkFeatured:not(:last-child), .Accordion__Content .LinkFeatured:not(:last-child) {
    margin-bottom: 1.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .LinkFeatured {
    row-gap: 2.0625rem;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkFeatured {
    grid-template-columns: repeat(auto-fit, minmax(calc(var(--base-rem) * 14), 1fr));
    gap: 1.25rem;
  }
}
@media screen and (min-width: 60em), print {
  .LinkFeatured.LinkFeatured--2col {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5882352941%;
  }
}

.LinkFeatured__Link {
  display: grid;
  row-gap: 1.25rem;
  align-content: start;
  height: 100%;
  background-color: var(--gray-50);
}
@media screen and (min-width: 60em), print {
  .LinkFeatured__Link:is(.LinkFeatured.LinkFeatured--horizontal .LinkFeatured__Link) {
    grid-template-columns: 30.9836065574% 1fr;
    -moz-column-gap: 1.75rem;
         column-gap: 1.75rem;
    align-items: center;
  }
  .LinkFeatured__Link {
    padding: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkFeatured__Link {
    padding: 1.25rem;
  }
}

.LinkFeatured__Image {
  width: 100%;
  aspect-ratio: 566/318;
  overflow: hidden;
}
@media (prefers-reduced-motion: no-preference) {
  .LinkFeatured__Image img {
    transition: transform var(--animation-duration);
  }
}
@media (hover: hover) {
  .LinkFeatured__Image img:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  .LinkFeatured__Image img:is(:where(:any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
}
.LinkFeatured__Image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.LinkFeatured__Content {
  display: grid;
  row-gap: 0.5rem;
}

.LinkFeatured__Label {
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--red-text);
  letter-spacing: 0.04em;
}

.LinkFeatured__LinkText {
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.04em;
  position: relative;
}
@media screen and (min-width: 60em), print {
  .LinkFeatured__LinkText {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkFeatured__LinkText {
    font-size: 1.0625rem;
  }
}
.LinkFeatured__LinkText > span {
  position: relative;
  display: inline-block;
  width: 1.375rem;
  height: 1.375rem;
  margin-block: auto;
  margin-left: 0.25rem;
  vertical-align: sub;
  border-radius: var(--infinity);
}
@media (prefers-reduced-motion: no-preference) {
  .LinkFeatured__LinkText > span {
    transition: background-color var(--animation-duration);
  }
}
.LinkFeatured__LinkText > span::after {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: var(--icon-arrow-forward);
          mask-image: var(--icon-arrow-forward);
}
@media (prefers-reduced-motion: no-preference) {
  .LinkFeatured__LinkText > span::after {
    transition: background-color var(--animation-duration);
  }
}
.LinkFeatured__LinkText > span::before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  border-radius: var(--infinity);
  transform: scale3d(0, 0, 0);
}
@media (prefers-reduced-motion: no-preference) {
  .LinkFeatured__LinkText > span::before {
    transition: transform var(--animation-duration);
  }
}
a[href^="#"] .LinkFeatured__LinkText > span::after {
  -webkit-mask-image: var(--icon-anchor);
          mask-image: var(--icon-anchor);
}
a[target=_blank] .LinkFeatured__LinkText > span::after {
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}
a[href*=".pdf"] .LinkFeatured__LinkText > span::after {
  width: 1rem;
  height: 1rem;
  background-color: transparent;
  background-image: var(--icon-pdf);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-mask: none;
          mask: none;
}
a[href*=".pdf"] .LinkFeatured__LinkText > span::before {
  background-color: var(--red-text);
}
a:not([href^="#"]):not([target=_blank]):not([href*=".pdf"]) .LinkFeatured__LinkText > span::after {
  transform: translateX(1px);
}
@media (hover: hover) {
  .LinkFeatured__LinkText:is(:where(:-moz-any-link, :enabled, summary):hover *) > span::after {
    background-color: var(--white);
  }
  .LinkFeatured__LinkText:is(:where(:any-link, :enabled, summary):hover *) > span::after {
    background-color: var(--white);
  }
  .LinkFeatured__LinkText:is(:where(:-moz-any-link, :enabled, summary):hover *) > span::before {
    transform: scale3d(1, 1, 1);
  }
  .LinkFeatured__LinkText:is(:where(:any-link, :enabled, summary):hover *) > span::before {
    transform: scale3d(1, 1, 1);
  }
}

.LinkFeatured__Text {
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.04em;
  font-size: 0.9375rem;
  color: var(--gray-800);
}
.LinkRelated {
  display: flex;
}
@media screen and (max-width: 59.99em) {
  .LinkRelated {
    flex-direction: column;
  }
}
@media screen and (min-width: 60em), print {
  :not([class^=Heading]):not([class*=" Heading"]:not(.LinkRelated)) + .LinkRelated {
    margin-top: 6.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  :not([class^=Heading]):not([class*=" Heading"]:not(.LinkRelated)) + .LinkRelated {
    margin-top: 5rem;
  }
}
.LinkRelated li {
  flex: 1;
}

.LinkRelated__Link {
  position: relative;
  display: grid;
  place-items: center;
  height: 100%;
  min-height: 6.25rem;
  padding: 1.25rem;
  background-color: var(--gray-50);
  outline-offset: -2px;
}
@media (hover: hover) {
  .LinkRelated__Link:where(:-moz-any-link, :enabled, summary):hover::before {
    opacity: 1;
  }
  .LinkRelated__Link:where(:any-link, :enabled, summary):hover::before {
    opacity: 1;
  }
}
@media screen and (min-width: 60em), print {
  .LinkRelated__Link:is(li:not(:first-child) .LinkRelated__Link) {
    border-left: 1px solid var(--gray-100);
  }
}
@media screen and (max-width: 59.99em) {
  .LinkRelated__Link:is(li:not(:first-child) .LinkRelated__Link) {
    border-top: 1px solid var(--gray-100);
  }
}
.LinkRelated__Link::before {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
  background-color: rgba(0, 0, 0, 0.06);
  opacity: 0;
}
@media (prefers-reduced-motion: no-preference) {
  .LinkRelated__Link::before {
    transition: opacity var(--animation-duration);
  }
}
.LinkRelated__Link > span {
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-align: center;
}
@media screen and (min-width: 60em), print {
  .LinkRelated__Link > span {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkRelated__Link > span {
    font-size: 1.1875rem;
  }
}
.LinkRelated__Link > span > span {
  position: relative;
  display: inline-block;
  width: 1.375rem;
  height: 1.375rem;
  margin-block: auto;
  margin-left: 0.25rem;
  vertical-align: sub;
  border-radius: var(--infinity);
}
@media (prefers-reduced-motion: no-preference) {
  .LinkRelated__Link > span > span {
    transition: background-color var(--animation-duration);
  }
}
.LinkRelated__Link > span > span::after {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: var(--icon-arrow-forward);
          mask-image: var(--icon-arrow-forward);
  transform: translateX(1px);
}
@media (prefers-reduced-motion: no-preference) {
  .LinkRelated__Link > span > span::after {
    transition: background-color var(--animation-duration);
  }
}
.LinkRelated__Link > span > span::before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  border-radius: var(--infinity);
  transform: scale3d(0, 0, 0);
}
@media (prefers-reduced-motion: no-preference) {
  .LinkRelated__Link > span > span::before {
    transition: transform var(--animation-duration);
  }
}
@media (hover: hover) {
  .LinkRelated__Link > span > span:is(:where(:-moz-any-link, :enabled, summary):hover *)::after {
    background-color: var(--white);
  }
  .LinkRelated__Link > span > span:is(:where(:any-link, :enabled, summary):hover *)::after {
    background-color: var(--white);
  }
  .LinkRelated__Link > span > span:is(:where(:-moz-any-link, :enabled, summary):hover *)::before {
    transform: scale3d(1, 1, 1);
  }
  .LinkRelated__Link > span > span:is(:where(:any-link, :enabled, summary):hover *)::before {
    transform: scale3d(1, 1, 1);
  }
}

.Contact {
  background-color: var(--gray-900);
}
@media screen and (min-width: 60em), print {
  .Contact {
    padding-top: 5.5rem;
    padding-bottom: 5.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Contact {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.Contact__Heading {
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.04em;
  color: var(--white);
}
@media screen and (min-width: 60em), print {
  .Contact__Heading {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Contact__Heading {
    font-size: 1.75rem;
  }
}

.Contact__Text {
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  font-size: 1rem;
  margin-top: 1.25rem;
  color: var(--gray-200);
}
@media screen and (min-width: 60em), print {
  .Contact__LinkTile {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Contact__LinkTile {
    margin-top: 1.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .Contact__LinkTile a {
    height: 14.1875rem;
  }
}

.Contact__OtherLinks {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .Contact__OtherLinks {
    grid-auto-flow: column;
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Contact__OtherLinks {
    row-gap: 0.75rem;
    margin-top: 1.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .Contact__OtherLinks p {
    justify-self: end;
  }
}

.Contact__LinkList {
  display: flex;
}
@media screen and (min-width: 60em), print {
  .Contact__LinkList {
    flex-wrap: wrap;
    -moz-column-gap: 2.06rem;
         column-gap: 2.06rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Contact__LinkList {
    flex-direction: column;
    row-gap: 0.75rem;
  }
}

.Contact__Link {
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.04em;
  font-size: 0.9375rem;
  color: var(--white);
}
.Contact__Link > span {
  position: relative;
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  margin-block: auto;
  margin-left: 0.25rem;
  vertical-align: sub;
  border-radius: var(--infinity);
  transform: translateY(0.15rem);
}
@media (prefers-reduced-motion: no-preference) {
  .Contact__Link > span {
    transition: background-color var(--animation-duration);
  }
}
.Contact__Link > span::after {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: var(--icon-arrow-forward);
          mask-image: var(--icon-arrow-forward);
  transform: translateX(1px);
}
@media (prefers-reduced-motion: no-preference) {
  .Contact__Link > span::after {
    transition: background-color var(--animation-duration);
  }
}
.Contact__Link > span::before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  border-radius: var(--infinity);
  transform: scale3d(0, 0, 0);
}
@media (prefers-reduced-motion: no-preference) {
  .Contact__Link > span::before {
    transition: transform var(--animation-duration);
  }
}
.Contact__Link[target=_blank] > span::after {
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}
@media (hover: hover) {
  .Contact__Link:where(:-moz-any-link, :enabled, summary):hover > span::after {
    background-color: var(--white);
  }
  .Contact__Link:where(:any-link, :enabled, summary):hover > span::after {
    background-color: var(--white);
  }
  .Contact__Link:where(:-moz-any-link, :enabled, summary):hover > span::before {
    transform: scale3d(1, 1, 1);
  }
  .Contact__Link:where(:any-link, :enabled, summary):hover > span::before {
    transform: scale3d(1, 1, 1);
  }
}

.Column01 {
  display: grid;
}
@media screen and (min-width: 60em), print {
  :not([class^=Heading]):not([class*=" Heading"]:not(.Column01)) + .Column01 {
    margin-top: 6.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  :not([class^=Heading]):not([class*=" Heading"]:not(.Column01)) + .Column01 {
    margin-top: 5rem;
  }
}
.Column01.Column01--right {
  justify-items: end;
}
@media screen and (min-width: 60em), print {
  .Column01.Column01--pc-right {
    justify-items: end;
  }
}
@media screen and (max-width: 59.99em) {
  .Column01.Column01--sp-right {
    justify-items: end;
  }
}
.Column01.Column01--center {
  justify-items: center;
}
@media screen and (min-width: 60em), print {
  .Column01.Column01--pc-center {
    justify-items: center;
  }
}
@media screen and (max-width: 59.99em) {
  .Column01.Column01--sp-center {
    justify-items: center;
  }
}

.Column02 {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .Column02 {
    grid-template-columns: repeat(12, 1fr);
    gap: 2.0625rem;
  }
  .Box .Column02, .Accordion__Content .Column02 {
    gap: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Column02 {
    row-gap: 2rem;
  }
}
:not([class^=Heading]):not([class*=" Heading"]:not(.Column02)) + .Column02 {
  margin-top: 3.75rem;
}
.Column02 :not([class^=Heading]):not([class*=" Heading"]:not(.Column02)) + .Column02 {
  margin-top: 2.5rem;
}
.Box :not([class^=Heading]):not([class*=" Heading"]:not(.Column02)) + .Column02, .Accordion__Content :not([class^=Heading]):not([class*=" Heading"]:not(.Column02)) + .Column02 {
  margin-top: 2.5rem;
}
.Column02:not(:last-child) {
  margin-bottom: 3.75rem;
}
.Column02 .Column02:not(:last-child) {
  margin-bottom: 2.5rem;
}
.Box .Column02:not(:last-child), .Accordion__Content .Column02:not(:last-child) {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 59.99em) {
  .Column02.Column02--sp-2col {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.9375rem;
  }
  .Column02.Column02--sp-2col.Column02--center {
    align-items: center;
  }
}
@media screen and (min-width: 60em), print {
  .Column02.Column02--center {
    align-items: center;
  }
  .Column02.Column02--bottom {
    align-items: end;
  }
  .Column02.Column02--1\:1 > div {
    grid-column: span 6;
  }
  .Column02.Column02--1\:1\:1 > div {
    grid-column: span 4;
  }
  .Column02.Column02--1\:1\:1\:1 > div {
    grid-column: span 3;
  }
  .Column02.Column02--3\:1 > div:nth-child(odd) {
    grid-column: span 9;
  }
  .Column02.Column02--3\:1 > div:nth-child(even) {
    grid-column: span 3;
  }
  .Column02.Column02--1\:3 > div:nth-child(odd) {
    grid-column: span 3;
  }
  .Column02.Column02--1\:3 > div:nth-child(even) {
    grid-column: span 9;
  }
  .Column02.Column02--2\:1 > div:nth-child(odd) {
    grid-column: span 8;
  }
  .Column02.Column02--2\:1 > div:nth-child(even) {
    grid-column: span 4;
  }
  .Column02.Column02--1\:2 > div:nth-child(odd) {
    grid-column: span 4;
  }
  .Column02.Column02--1\:2 > div:nth-child(even) {
    grid-column: span 8;
  }
  .Column02.Column02--3\:2 > div:nth-child(odd) {
    grid-column: span 7;
  }
  .Column02.Column02--3\:2 > div:nth-child(even) {
    grid-column: span 5;
  }
  .Column02.Column02--2\:3 > div:nth-child(odd) {
    grid-column: span 5;
  }
  .Column02.Column02--2\:3 > div:nth-child(even) {
    grid-column: span 7;
  }
  .Column02.Column02--1\:1\:2 > div:nth-child(3n+1) {
    grid-column: span 3;
  }
  .Column02.Column02--1\:1\:2 > div:nth-child(3n+2) {
    grid-column: span 3;
  }
  .Column02.Column02--1\:1\:2 > div:nth-child(3n) {
    grid-column: span 6;
  }
}
@media screen and (min-width: 60em) and (min-width: 60em), print {
  .Column02.Column02--2\:1\:1 > div:nth-child(3n+1) {
    grid-column: span 6;
  }
  .Column02.Column02--2\:1\:1 > div:nth-child(3n+2) {
    grid-column: span 3;
  }
  .Column02.Column02--2\:1\:1 > div:nth-child(3n) {
    grid-column: span 3;
  }
}

@media screen and (min-width: 60em), print {
  :not([class^=Heading]):not([class*=" Heading"]:not(.Figure)) + .Figure {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  :not([class^=Heading]):not([class*=" Heading"]:not(.Figure)) + .Figure {
    margin-top: 2rem;
  }
}
@media screen and (min-width: 60em), print {
  .Box :not([class^=Heading]):not([class*=" Heading"]:not(.Figure)) + .Figure, .Accordion__Content :not([class^=Heading]):not([class*=" Heading"]:not(.Figure)) + .Figure {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Box :not([class^=Heading]):not([class*=" Heading"]:not(.Figure)) + .Figure, .Accordion__Content :not([class^=Heading]):not([class*=" Heading"]:not(.Figure)) + .Figure {
    margin-top: 1.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .Figure:not(:last-child) {
    margin-bottom: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Figure:not(:last-child) {
    margin-bottom: 2rem;
  }
}
@media screen and (min-width: 60em), print {
  .Box .Figure:not(:last-child), .Accordion__Content .Figure:not(:last-child) {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Box .Figure:not(:last-child), .Accordion__Content .Figure:not(:last-child) {
    margin-bottom: 1.75rem;
  }
}

.Figure__Inner {
  display: grid;
  row-gap: 1rem;
}
.Box .Figure__Inner, .Accordion__Content .Figure__Inner {
  row-gap: 0.75rem;
}
.Figure__Inner figcaption {
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.04em;
  margin-bottom: 1rem;
}
@media screen and (min-width: 60em), print {
  .Figure__Inner figcaption {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Figure__Inner figcaption {
    font-size: 1.0625rem;
  }
}
.Box .Figure__Inner figcaption, .Accordion__Content .Figure__Inner figcaption {
  margin-bottom: 0.75rem;
}
.Figure.Figure--center .Figure__Inner {
  justify-items: center;
}
.Figure.Figure--center .Figure__Inner figcaption {
  text-align: center;
}
.Figure.Figure--center .Figure__Inner img {
  margin-inline: auto;
}

.ListNotice {
  display: grid;
  row-gap: 0.25rem;
  counter-reset: item;
}
:not([class^=Heading]):not([class*=" Heading"]:not(.ListNotice)) + .ListNotice {
  margin-top: 1rem;
}
.ListNotice li {
  font-weight: 400;
  line-height: 1.7;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  display: grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 0.125rem;
       column-gap: 0.125rem;
  align-items: baseline;
  color: var(--gray-800);
}
.ListNotice:is(ul) li:lang(ja)::before {
  content: "※";
}
.ListNotice:is(ul) li:lang(en)::before {
  content: "*";
}
.ListNotice:is(ol) {
  /* stylelint-disable-next-line no-descending-specificity */
}
.ListNotice:is(ol) li {
  /* stylelint-disable-next-line no-descending-specificity */
}
.ListNotice:is(ol) li::before {
  counter-increment: item;
}
.ListNotice:is(ol) li:lang(ja)::before {
  content: "※" counter(item);
}
.ListNotice:is(ol) li:lang(en)::before {
  content: "*" counter(item);
}

.ListUnordered {
  display: grid;
  row-gap: 0.25rem;
}
:not([class^=Heading]):not([class*=" Heading"]:not(.ListUnordered)) + .ListUnordered {
  margin-top: 1.25rem;
}
:not([class^=Heading]):not([class*=" Heading"]:not(.ListUnordered:is(.ListUnordered .ListUnordered))) + .ListUnordered:is(.ListUnordered .ListUnordered) {
  margin-top: 0.25rem;
}
.ListUnordered li {
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  font-size: 1rem;
  display: grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  align-items: baseline;
}
.ListUnordered li::before {
  display: block;
  width: 0.375rem;
  height: 0.375rem;
  content: "";
  background-color: var(--gray-800);
  border-radius: var(--infinity);
  transform: translateY(-50%);
}

.ListOrdered {
  display: grid;
  row-gap: 0.25rem;
  padding-left: 1.5625rem;
}
:not([class^=Heading]):not([class*=" Heading"]:not(.ListOrdered)) + .ListOrdered {
  margin-top: 1.25rem;
}
.ListOrdered:is(.ListOrdered .ListOrdered) {
  padding-left: 1.375rem;
}
:not([class^=Heading]):not([class*=" Heading"]:not(.ListOrdered:is(.ListOrdered .ListOrdered))) + .ListOrdered:is(.ListOrdered .ListOrdered) {
  margin-top: 0.25rem;
}
.ListOrdered[type="1"] {
  list-style-type: decimal;
}
.ListOrdered[type=i] {
  list-style-type: lower-roman;
}
.ListOrdered[type=a] {
  list-style-type: lower-alpha;
}
.ListOrdered li {
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  font-size: 1rem;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  align-items: baseline;
}
.Box {
  background-color: var(--gray-50);
}
@media screen and (min-width: 60em), print {
  .Box {
    padding: 2.25rem 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Box {
    padding: 1.25rem;
  }
}
@media screen and (min-width: 60em), print {
  :not([class^=Heading]):not([class*=" Heading"]:not(.Box)) + .Box {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  :not([class^=Heading]):not([class*=" Heading"]:not(.Box)) + .Box {
    margin-top: 2rem;
  }
}
@media screen and (min-width: 60em), print {
  .Box :not([class^=Heading]):not([class*=" Heading"]:not(.Box)) + .Box, .Accordion__Content :not([class^=Heading]):not([class*=" Heading"]:not(.Box)) + .Box {
    margin-top: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Box :not([class^=Heading]):not([class*=" Heading"]:not(.Box)) + .Box, .Accordion__Content :not([class^=Heading]):not([class*=" Heading"]:not(.Box)) + .Box {
    margin-top: 1.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .Column02 :not([class^=Heading]):not([class*=" Heading"]:not(.Box)) + .Box {
    margin-top: 1.75rem;
  }
  .Box:not(:last-child) {
    margin-bottom: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Box:not(:last-child) {
    margin-bottom: 2rem;
  }
}
@media screen and (min-width: 60em), print {
  .Box .Box:not(:last-child), .Accordion__Content .Box:not(:last-child) {
    margin-bottom: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Box .Box:not(:last-child), .Accordion__Content .Box:not(:last-child) {
    margin-bottom: 1.5rem;
  }
  .Column02 .Box:not(:last-child) {
    margin-top: 1.75rem;
  }
}
.Box .Box, .Accordion__Content .Box {
  background-color: var(--gray-100);
}
@media screen and (min-width: 60em), print {
  .Box .Box, .Accordion__Content .Box {
    padding: 1.5rem 1.75rem;
  }
}
.Box:is(.ProblemSolving > .Box) {
  margin-bottom: 0;
}

@media screen and (max-width: 59.99em) {
  .ListNews {
    display: grid;
    row-gap: 1.25rem;
  }
}

.ListNews__Link {
  position: relative;
  display: grid;
  border-bottom: 1px solid var(--gray-100);
}
.ListNews__Link::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-color: var(--red-primary);
  transform: scaleX(0);
  transform-origin: left top;
}
@media (prefers-reduced-motion: no-preference) {
  .ListNews__Link::before {
    transition: transform var(--animation-duration);
  }
}
@media screen and (min-width: 60em), print {
  .ListNews__Link {
    grid-auto-flow: column;
    align-items: center;
    justify-content: start;
    min-height: 6.25rem;
    padding: 1.25rem 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .ListNews__Link {
    row-gap: 0.25rem;
    padding-bottom: 1.25rem;
  }
}
@media (hover: hover) {
  .ListNews__Link:where(:-moz-any-link, :enabled, summary):hover::before {
    transform: scaleX(100%);
    transform-origin: left top;
  }
  .ListNews__Link:where(:any-link, :enabled, summary):hover::before {
    transform: scaleX(100%);
    transform-origin: left top;
  }
}

.ListNews__Date time {
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.04em;
  font-size: 0.9375rem;
  display: inline-block;
  color: var(--gray-800);
}
.ListNews__Date time:lang(en) {
  min-width: 8.625rem;
}
@media screen and (min-width: 60em), print {
  .ListNews__Date time {
    margin-right: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .ListNews__Date time {
    margin-right: 0.5rem;
  }
}
.ListNews__Date span {
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.7;
  color: var(--red-text);
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .ListNews__Date span {
    margin-right: 1.25rem;
  }
}

.ListNews__Text {
  font-weight: 700;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.04em;
  position: relative;
  transition: color var(--animation-duration);
}
.ListNews__Text > span {
  position: relative;
  display: inline-block;
  width: 1.375rem;
  height: 1.375rem;
  margin-block: auto;
  margin-left: 0.25rem;
  vertical-align: sub;
  border-radius: var(--infinity);
}
@media (prefers-reduced-motion: no-preference) {
  .ListNews__Text > span {
    transition: background-color var(--animation-duration);
  }
}
.ListNews__Text > span::after {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: var(--icon-arrow-forward);
          mask-image: var(--icon-arrow-forward);
}
@media (prefers-reduced-motion: no-preference) {
  .ListNews__Text > span::after {
    transition: background-color var(--animation-duration);
  }
}
.ListNews__Text > span::before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  border-radius: var(--infinity);
  transform: scale3d(0, 0, 0);
}
@media (prefers-reduced-motion: no-preference) {
  .ListNews__Text > span::before {
    transition: transform var(--animation-duration);
  }
}
a[href^="#"] .ListNews__Text > span::after {
  -webkit-mask-image: var(--icon-anchor);
          mask-image: var(--icon-anchor);
}
a[target=_blank] .ListNews__Text > span::after {
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}
a[href*=".pdf"] .ListNews__Text > span::after {
  width: 1rem;
  height: 1rem;
  background-color: transparent;
  background-image: var(--icon-pdf);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-mask: none;
          mask: none;
}
a[href*=".pdf"] .ListNews__Text > span::before {
  background-color: var(--red-text);
}
a:not([href^="#"]):not([target=_blank]):not([href*=".pdf"]) .ListNews__Text > span::after {
  transform: translateX(1px);
}
@media (hover: hover) {
  .ListNews__Text:is(:where(:-moz-any-link, :enabled, summary):hover *) > span::after {
    background-color: var(--white);
  }
  .ListNews__Text:is(:where(:any-link, :enabled, summary):hover *) > span::after {
    background-color: var(--white);
  }
  .ListNews__Text:is(:where(:-moz-any-link, :enabled, summary):hover *) > span::before {
    transform: scale3d(1, 1, 1);
  }
  .ListNews__Text:is(:where(:any-link, :enabled, summary):hover *) > span::before {
    transform: scale3d(1, 1, 1);
  }
}

.Breadcrumbs {
  display: flex;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
@media screen and (min-width: 60em), print {
  .Breadcrumbs {
    flex-wrap: wrap;
    row-gap: 0.5rem;
    align-content: flex-start;
    width: var(--container-width);
    margin-inline: auto;
  }
}
@media screen and (max-width: 59.99em) {
  .Breadcrumbs {
    padding: 0.75rem 4%;
    overflow: auto;
    white-space: nowrap;
    scrollbar-width: none;
  }
  .Breadcrumbs::-webkit-scrollbar {
    display: none;
  }
  .Breadcrumbs > li {
    flex-shrink: 0;
  }
}
.Breadcrumbs a,
.Breadcrumbs span {
  color: var(--white);
  font-weight: 400;
  line-height: 1.7;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
}
.Breadcrumbs [aria-current=page] {
  opacity: 0.6;
}
.Breadcrumbs a {
  display: flex;
  align-items: center;
}
.Breadcrumbs a::after {
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  margin-left: 0.3125rem;
  content: "";
  background-color: rgba(255, 255, 255, 0.6);
  -webkit-mask-image: var(--icon-arrow-forward);
          mask-image: var(--icon-arrow-forward);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.Breadcrumbs a > span {
  position: relative;
}
.Breadcrumbs a > span::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: left top;
}
@media (prefers-reduced-motion: no-preference) {
  .Breadcrumbs a > span::before {
    transition: transform var(--animation-duration);
  }
}
@media (hover: hover) {
  .Breadcrumbs a > span:is(:where(:-moz-any-link, :enabled, summary):hover *)::before {
    transform: scaleX(100%);
  }
  .Breadcrumbs a > span:is(:where(:any-link, :enabled, summary):hover *)::before {
    transform: scaleX(100%);
  }
}

@media screen and (min-width: 60em), print {
  :not([class^=Heading]):not([class*=" Heading"]:not(.Table01)) + .Table01 {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  :not([class^=Heading]):not([class*=" Heading"]:not(.Table01)) + .Table01 {
    margin-top: 2rem;
  }
}
@media screen and (min-width: 60em), print {
  .Box :not([class^=Heading]):not([class*=" Heading"]:not(.Table01)) + .Table01, .Accordion__Content :not([class^=Heading]):not([class*=" Heading"]:not(.Table01)) + .Table01 {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Box :not([class^=Heading]):not([class*=" Heading"]:not(.Table01)) + .Table01, .Accordion__Content :not([class^=Heading]):not([class*=" Heading"]:not(.Table01)) + .Table01 {
    margin-top: 1.75rem;
  }
}
.Table01 figcaption {
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.04em;
  margin-bottom: 1rem;
}
@media screen and (min-width: 60em), print {
  .Table01 figcaption {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Table01 figcaption {
    font-size: 1.0625rem;
  }
}
.Box .Table01 figcaption, .Accordion__Content .Table01 figcaption {
  margin-bottom: 0.75rem;
}
.Box .Table01 .Table01__Th, .Accordion__Content .Table01 .Table01__Th {
  background-color: var(--gray-100);
}

.Table01__Wrapper {
  width: 100%;
}
@media screen and (max-width: 59.99em) {
  .Table01__Wrapper:is(.Table01--sp-scroll .Table01__Wrapper) {
    overflow: auto;
    scrollbar-width: none;
  }
  .Table01__Wrapper:is(.Table01--sp-scroll .Table01__Wrapper)::-webkit-scrollbar {
    display: none;
  }
}

.Table01__Content {
  width: 100%;
  border: 1px solid var(--gray-200);
}
@media screen and (max-width: 59.99em) {
  .Table01__Content:is(.Table01--sp-scroll .Table01__Content) {
    min-width: 45.375rem;
  }
}

.Table01__Notice {
  margin-top: 1rem;
}
.Box .Table01__Notice, .Accordion__Content .Table01__Notice {
  margin-top: 0.75rem;
}

.Table01__Th,
.Table01__Td {
  border: 1px solid var(--gray-200);
}
@media screen and (min-width: 60em), print {
  .Table01__Th,
  .Table01__Td {
    padding: 1.25rem 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Table01__Th,
  .Table01__Td {
    padding: 0.75rem 1rem;
  }
}

.Table01__Th {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.8;
  background-color: var(--gray-50);
}

.Table01__Td {
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  font-size: 1rem;
  background-color: var(--white);
}
@media screen and (min-width: 60em), print {
  :not([class^=Heading]):not([class*=" Heading"]:not(.Table02)) + .Table02 {
    margin-top: 2.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  :not([class^=Heading]):not([class*=" Heading"]:not(.Table02)) + .Table02 {
    margin-top: 1.5rem;
  }
}
.Table02 figcaption {
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.04em;
  margin-bottom: 1.25rem;
}
@media screen and (min-width: 60em), print {
  .Table02 figcaption {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Table02 figcaption {
    font-size: 1.0625rem;
  }
}
.Box .Table02 .Table02__Content, .Accordion__Content .Table02 .Table02__Content {
  border-top: 1px solid var(--gray-200);
  border-left: 1px solid var(--gray-200);
}
.Box .Table02 .Table02__Th,
.Box .Table02 .Table02__Td, .Accordion__Content .Table02 .Table02__Th,
.Accordion__Content .Table02 .Table02__Td {
  border-right: 1px solid var(--gray-200);
  border-bottom: 1px solid var(--gray-200);
}
.Box .Table02 .Table02__Th, .Accordion__Content .Table02 .Table02__Th {
  background-color: var(--gray-100);
}

.Table02__Wrapper {
  width: 100%;
}

.Table02__Content {
  width: 100%;
  border-top: 1px solid var(--gray-200);
  border-left: 1px solid var(--gray-200);
}

.Table02__Notice {
  margin-top: 1.25rem;
}

.Table02__Th,
.Table02__Td {
  border-right: 1px solid var(--gray-200);
  border-bottom: 1px solid var(--gray-200);
}
@media screen and (min-width: 60em), print {
  .Table02__Th,
  .Table02__Td {
    padding: 1.25rem 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Table02__Th,
  .Table02__Td {
    display: block;
    padding: 0.75rem 1rem;
  }
}

.Table02__Th {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.8;
  background-color: var(--gray-50);
}

.Table02__Td {
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  font-size: 1rem;
  background-color: var(--white);
}
.CloakAccordion {
  position: relative;
  z-index: 0;
  overflow: hidden;
}
@media screen and (min-width: 60em), print {
  :not([class^=Heading]):not([class*=" Heading"]:not(.CloakAccordion)) + .CloakAccordion {
    margin-top: 2.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  :not([class^=Heading]):not([class*=" Heading"]:not(.CloakAccordion)) + .CloakAccordion {
    margin-top: 1.5rem;
  }
}
.CloakAccordion::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 18.75rem;
  content: "";
  background: linear-gradient(0deg, var(--white) 0%, rgba(255, 255, 255, 0.8) 49%, transparent 100%);
}
@media (prefers-reduced-motion: no-preference) {
  .CloakAccordion::after {
    transition: opacity var(--animation-duration), visibility var(--animation-duration);
  }
}
.CloakAccordion button {
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  font-size: 1rem;
  position: absolute;
  right: 0;
  bottom: 1.25rem;
  left: 0;
  z-index: 1;
  display: inline-grid;
  grid-auto-flow: column;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: center;
  justify-content: start;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media (prefers-reduced-motion: no-preference) {
  .CloakAccordion button {
    transition: opacity var(--animation-duration), visibility var(--animation-duration), color var(--animation-duration);
  }
}
.CloakAccordion button span {
  position: relative;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--infinity);
  box-shadow: inset 0 0 0 2.25rem var(--red-primary);
  will-change: box-shadow;
}
@media (prefers-reduced-motion: no-preference) {
  .CloakAccordion button span {
    transition: box-shadow var(--animation-duration);
  }
}
.CloakAccordion button span::after {
  display: block;
  width: 0.6875rem;
  height: 0.9375rem;
  content: "";
  background-color: var(--white);
  -webkit-mask-image: var(--icon-arrow-circle);
          mask-image: var(--icon-arrow-circle);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  transform: rotate(90deg) translateX(0.1rem);
}
@media (prefers-reduced-motion: no-preference) {
  .CloakAccordion button span::after {
    transition: background-color var(--animation-duration);
  }
}
@media (hover: hover) {
  .CloakAccordion button span:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    box-shadow: inset 0 0 0 1.5px var(--red-primary);
  }
  .CloakAccordion button span:is(:where(:any-link, :enabled, summary):hover *) {
    box-shadow: inset 0 0 0 1.5px var(--red-primary);
  }
  .CloakAccordion button span:is(:where(:-moz-any-link, :enabled, summary):hover *)::after {
    background-color: var(--red-primary);
  }
  .CloakAccordion button span:is(:where(:any-link, :enabled, summary):hover *)::after {
    background-color: var(--red-primary);
  }
}
.CloakAccordion.is-show button {
  visibility: hidden;
  opacity: 0;
}
.CloakAccordion.is-show::after {
  visibility: hidden;
  opacity: 0;
}

/* stylelint-disable plugin/selector-bem-pattern */
@media screen and (min-width: 60em), print {
  .Slider .splide__track {
    margin-top: 2.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Slider .splide__track {
    margin-top: 2rem;
  }
}

.Slider__Header {
  display: grid;
  grid-auto-flow: column;
  align-items: center;
}
@media screen and (min-width: 60em), print {
  .Slider__Header {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}

@media screen and (max-width: 59.99em) {
  .Slider__Controller {
    margin-top: 1.25rem;
  }
}

.Slider__Arrows {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 60em), print {
  .Slider__Arrows {
    justify-content: end;
  }
}
@media screen and (max-width: 59.99em) {
  .Slider__Arrows {
    justify-content: center;
  }
}

.Slider__Arrow {
  position: relative;
  display: grid;
  place-items: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: var(--infinity);
}
@media (prefers-reduced-motion: no-preference) {
  .Slider__Arrow {
    transition: color var(--animation-duration);
  }
}
.Slider__Arrow:disabled {
  color: var(--gray-100);
}
.Slider__Arrow:not(:disabled) {
  color: var(--red-primary);
}
.Slider__Arrow::after, .Slider__Arrow::before {
  display: block;
  content: "";
}
.Slider__Arrow::before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: solid 2px currentColor;
  border-radius: var(--infinity);
}
@media (prefers-reduced-motion: no-preference) {
  .Slider__Arrow::before {
    transition: transform var(--animation-duration);
  }
}
.Slider__Arrow::after {
  width: 1rem;
  height: 0.875rem;
  -webkit-mask-image: var(--icon-stick-arrow);
          mask-image: var(--icon-stick-arrow);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: currentColor;
}
.Slider__Arrow.Slider__Arrow--prev::after {
  transform: scaleX(-1);
}
@media (hover: hover) {
  .Slider__Arrow:where(:-moz-any-link, :enabled, summary):hover::before {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  .Slider__Arrow:where(:any-link, :enabled, summary):hover::before {
    transform: scale3d(1.1, 1.1, 1.1);
  }
}

.Slider__Count {
  position: relative;
  display: grid;
  grid-auto-flow: column;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: center;
  font-weight: 700;
}
.Slider__Count::before {
  position: absolute;
  inset: 0;
  display: block;
  width: 1px;
  height: 1rem;
  margin: auto;
  content: "";
  background-color: rgba(0, 0, 0, 0.3);
  transform: rotate(25deg);
}

.Slider__Toggle {
  position: relative;
  display: grid;
  place-items: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: var(--infinity);
}
.Slider__Toggle:disabled {
  color: var(--gray-100);
}
.Slider__Toggle:not(:disabled) {
  color: var(--gray-900);
}
.Slider__Toggle::before, .Slider__Toggle::after {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
}
@media (prefers-reduced-motion: no-preference) {
  .Slider__Toggle::before, .Slider__Toggle::after {
    transition: transform var(--animation-duration);
  }
}
.Slider__Toggle::before {
  border: solid 2px var(--gray-100);
  border-radius: var(--infinity);
}
.Slider__Toggle::after {
  background-image: conic-gradient(var(--gray-800) 0deg calc(360deg * var(--autoplay-rate)), transparent calc(360deg * var(--autoplay-rate)) 360deg);
  border-radius: var(--infinity);
  -webkit-mask-image: radial-gradient(transparent 64%, black 66% 100%);
          mask-image: radial-gradient(transparent 64%, black 66% 100%);
}
@media (hover: hover) {
  .Slider__Toggle:where(:-moz-any-link, :enabled, summary):hover::before, .Slider__Toggle:where(:-moz-any-link, :enabled, summary):hover::after {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  .Slider__Toggle:where(:any-link, :enabled, summary):hover::before, .Slider__Toggle:where(:any-link, :enabled, summary):hover::after {
    transform: scale3d(1.1, 1.1, 1.1);
  }
}

.Slider__Play::after,
.Slider__Pause::after {
  display: block;
  width: 0.625rem;
  height: 0.625rem;
  content: "";
  background-color: currentColor;
}

.Slider__Play:is(.Slider__Toggle.is-active > *) {
  display: grid;
}
.Slider__Play:is(.Slider__Toggle:not(.is-active) > *) {
  display: none;
}
.Slider__Play::after {
  -webkit-clip-path: var(--path-triangle);
          clip-path: var(--path-triangle);
}

.Slider__Pause:is(.Slider__Toggle.is-active > *) {
  display: none;
}
.Slider__Pause:is(.Slider__Toggle:not(.is-active) > *) {
  display: grid;
}
.Slider__Pause::after {
  -webkit-clip-path: var(--path-stop);
          clip-path: var(--path-stop);
}

@media screen and (min-width: 60em), print {
  .Slider__List {
    --gap: 2.0625rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Slider__List {
    --gap: 1.5rem;
  }
}
.Slider__List .splide__slide {
  width: calc((100% + var(--gap)) / var(--per-page) - var(--gap));
  margin-right: var(--gap);
}
.Slider__List.Slider__List--wide {
  --per-page: 2.4;
}
.Slider__List.Slider__List--wide .splide__slide {
  min-width: 18.75rem;
}
.Slider__List.Slider__List--square {
  --per-page: 4;
}
.Slider__List.Slider__List--square .splide__slide {
  min-width: 15rem;
}
@media screen and (min-width: 60em), print {
  .Slider__List.Slider__List--sp-wide {
    --per-page: 4;
  }
  .Slider__List.Slider__List--sp-wide .splide__slide {
    min-width: 15rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Slider__List.Slider__List--sp-wide {
    --per-page: 2.4;
  }
  .Slider__List.Slider__List--sp-wide .splide__slide {
    min-width: 18.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .Slider__List.Slider__List--pc-wide {
    --per-page: 2.4;
  }
  .Slider__List.Slider__List--pc-wide .splide__slide {
    min-width: 18.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Slider__List.Slider__List--pc-wide {
    --per-page: 4;
  }
  .Slider__List.Slider__List--pc-wide .splide__slide {
    min-width: 15rem;
  }
}

.LinkInline {
  position: relative;
}

.LinkInline__Text {
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: 100% 1px;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
}
@media (prefers-reduced-motion: no-preference) {
  .LinkInline__Text {
    transition: background-size 0.3s ease-out;
  }
}
@media (hover: hover) {
  .LinkInline__Text:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    background-position: bottom right;
    background-size: 0 1px;
  }
  .LinkInline__Text:is(:where(:any-link, :enabled, summary):hover *) {
    background-position: bottom right;
    background-size: 0 1px;
  }
}

.LinkInline__Icon {
  position: relative;
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  margin-block: auto;
  margin-left: 0.25rem;
  vertical-align: sub;
  border-radius: var(--infinity);
  transform: translateY(0.1rem);
}
@media (prefers-reduced-motion: no-preference) {
  .LinkInline__Icon {
    transition: background-color var(--animation-duration);
  }
}
.LinkInline__Icon::before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  border-radius: var(--infinity);
  transform: scale3d(0, 0, 0);
}
@media (prefers-reduced-motion: no-preference) {
  .LinkInline__Icon::before {
    transition: transform var(--animation-duration);
  }
}
.LinkInline__Icon::after {
  position: absolute;
  inset: 0;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  margin: auto;
  -webkit-mask-image: var(--icon-arrow-forward);
          mask-image: var(--icon-arrow-forward);
  content: "";
  transform: translateX(1px);
}
@media (hover: hover) {
  .LinkInline .LinkInline__Icon:is(:where(:-moz-any-link, :enabled, summary):hover *)::before {
    transform: scale3d(1, 1, 1);
  }
  .LinkInline .LinkInline__Icon:is(:where(:any-link, :enabled, summary):hover *)::before {
    transform: scale3d(1, 1, 1);
  }
}
.LinkInline:not([href*=".doc"]) .LinkInline__Icon::before {
  background-color: var(--red-primary);
}
.LinkInline:not([href*=".doc"]) .LinkInline__Icon::after {
  background-color: var(--red-primary);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
}
@media (prefers-reduced-motion: no-preference) {
  .LinkInline:not([href*=".doc"]) .LinkInline__Icon::after {
    transition: background-color var(--animation-duration);
  }
}
@media (hover: hover) {
  .LinkInline:not([href*=".doc"]) .LinkInline__Icon:is(:where(:-moz-any-link, :enabled, summary):hover *)::after {
    background-color: var(--white);
  }
  .LinkInline:not([href*=".doc"]) .LinkInline__Icon:is(:where(:any-link, :enabled, summary):hover *)::after {
    background-color: var(--white);
  }
}
.LinkInline[target=_blank] .LinkInline__Icon::after {
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
  transform: initial;
}
.LinkInline[href*=youtube] .LinkInline__Icon::after, .LinkInline[href*=".mp4"] .LinkInline__Icon::after, .LinkInline[href*=".wmv"] .LinkInline__Icon::after, .LinkInline[href*=".mov"] .LinkInline__Icon::after, .LinkInline[href*=".webm"] .LinkInline__Icon::after {
  -webkit-mask-image: var(--icon-video);
          mask-image: var(--icon-video);
  transform: initial;
}
.LinkInline[href*=".pdf"] .LinkInline__Icon::after, .LinkInline[href*=".doc"] .LinkInline__Icon::after {
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-mask: none;
          mask: none;
  transform: initial;
}
@media (hover: hover) {
  .LinkInline[href*=".pdf"] .LinkInline__Icon:is(:where(:-moz-any-link, :enabled, summary):hover *)::after, .LinkInline[href*=".doc"] .LinkInline__Icon:is(:where(:-moz-any-link, :enabled, summary):hover *)::after {
    background-color: transparent;
  }
  .LinkInline[href*=".pdf"] .LinkInline__Icon:is(:where(:any-link, :enabled, summary):hover *)::after, .LinkInline[href*=".doc"] .LinkInline__Icon:is(:where(:any-link, :enabled, summary):hover *)::after {
    background-color: transparent;
  }
}
.LinkInline[href*=".pdf"] .LinkInline__Icon::before {
  background-color: var(--red-text);
}
.LinkInline[href*=".pdf"] .LinkInline__Icon::after {
  background-image: var(--icon-pdf);
  transform: initial;
}
.LinkInline[href*=".doc"] .LinkInline__Icon::before {
  background-color: var(--gray-800);
}
.LinkInline[href*=".doc"] .LinkInline__Icon::after {
  background-image: var(--icon-word);
  transform: initial;
}

:not([class^=Heading]):not([class*=" Heading"]:not(.LinkSquare)) + .LinkSquare {
  margin-top: 2rem;
}

.LinkSquare__Link {
  position: relative;
  display: grid;
  grid-template-columns: 7.5rem 1fr;
  align-items: center;
  width: 100%;
  min-height: 7.5rem;
  background-color: var(--gray-50);
}
.LinkSquare__Link::before {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
  background-color: rgba(0, 0, 0, 0.06);
  opacity: 0;
}
@media (prefers-reduced-motion: no-preference) {
  .LinkSquare__Link::before {
    transition: opacity var(--animation-duration);
  }
}
@media (hover: hover) {
  .LinkSquare__Link:where(:-moz-any-link, :enabled, summary):hover::before {
    opacity: 1;
  }
  .LinkSquare__Link:where(:any-link, :enabled, summary):hover::before {
    opacity: 1;
  }
}

.LinkSquare__Image {
  display: block;
  width: 100%;
  height: 100%;
}
.LinkSquare__Image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.LinkSquare__Text {
  padding: 1.25rem 1.5rem;
  font-weight: 700;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.04em;
  position: relative;
}
.LinkSquare__Text > span {
  position: relative;
  display: inline-block;
  width: 1.375rem;
  height: 1.375rem;
  margin-block: auto;
  margin-left: 0.25rem;
  vertical-align: sub;
  border-radius: var(--infinity);
}
@media (prefers-reduced-motion: no-preference) {
  .LinkSquare__Text > span {
    transition: background-color var(--animation-duration);
  }
}
.LinkSquare__Text > span::after {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: var(--icon-arrow-forward);
          mask-image: var(--icon-arrow-forward);
}
@media (prefers-reduced-motion: no-preference) {
  .LinkSquare__Text > span::after {
    transition: background-color var(--animation-duration);
  }
}
.LinkSquare__Text > span::before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  border-radius: var(--infinity);
  transform: scale3d(0, 0, 0);
}
@media (prefers-reduced-motion: no-preference) {
  .LinkSquare__Text > span::before {
    transition: transform var(--animation-duration);
  }
}
a[href^="#"] .LinkSquare__Text > span::after {
  -webkit-mask-image: var(--icon-anchor);
          mask-image: var(--icon-anchor);
}
a[target=_blank] .LinkSquare__Text > span::after {
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}
a[href*=".pdf"] .LinkSquare__Text > span::after {
  width: 1rem;
  height: 1rem;
  background-color: transparent;
  background-image: var(--icon-pdf);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-mask: none;
          mask: none;
}
a[href*=".pdf"] .LinkSquare__Text > span::before {
  background-color: var(--red-text);
}
a:not([href^="#"]):not([target=_blank]):not([href*=".pdf"]) .LinkSquare__Text > span::after {
  transform: translateX(1px);
}
@media (hover: hover) {
  .LinkSquare__Text:is(:where(:-moz-any-link, :enabled, summary):hover *) > span::after {
    background-color: var(--white);
  }
  .LinkSquare__Text:is(:where(:any-link, :enabled, summary):hover *) > span::after {
    background-color: var(--white);
  }
  .LinkSquare__Text:is(:where(:-moz-any-link, :enabled, summary):hover *) > span::before {
    transform: scale3d(1, 1, 1);
  }
  .LinkSquare__Text:is(:where(:any-link, :enabled, summary):hover *) > span::before {
    transform: scale3d(1, 1, 1);
  }
}

.Video__Inner {
  position: relative;
}
.Video__Inner > iframe,
.Video__Inner > video {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
.Video__Inner:has(img) > iframe,
.Video__Inner:has(img) > video {
  visibility: hidden;
}

.Video__Title {
  position: absolute;
  left: 0;
  z-index: 2;
  color: var(--white);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .Video__Title {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Video__Title {
    font-size: 1.0625rem;
  }
}
@media screen and (min-width: 60em), print {
  .Video__Title {
    bottom: 1.25rem;
    width: calc(100% - 3.5rem);
    margin-left: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Video__Title {
    bottom: 1rem;
    width: calc(100% - 1.88rem);
    margin-left: 0.94rem;
  }
}

.Video__VideoPlayBack {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: grid;
  place-items: center;
}
.Video__VideoPlayBack > span {
  position: relative;
  display: block;
}
@media screen and (min-width: 60em), print {
  .Video__VideoPlayBack > span {
    width: 5rem;
    height: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Video__VideoPlayBack > span {
    width: 4.1875rem;
    height: 4.1875rem;
  }
}
.Video__VideoPlayBack > span::before {
  display: block;
  content: "";
  background-color: var(--white);
  border-radius: var(--infinity);
  transform: scale3d(1, 1, 1);
}
@media screen and (min-width: 60em), print {
  .Video__VideoPlayBack > span::before {
    width: 5rem;
    height: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Video__VideoPlayBack > span::before {
    width: 4.1875rem;
    height: 4.1875rem;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .Video__VideoPlayBack > span::before {
    transition: transform var(--animation-duration);
  }
}
.Video__VideoPlayBack > span::after {
  position: absolute;
  inset: 0;
  display: block;
  margin: auto;
  content: "";
  background-image: var(--icon-play);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (min-width: 60em), print {
  .Video__VideoPlayBack > span::after {
    width: 2.5rem;
    height: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Video__VideoPlayBack > span::after {
    width: 2.09375rem;
    height: 2.09375rem;
  }
}
@media (hover: hover) {
  .Video__VideoPlayBack > span:is(:where(:-moz-any-link, :enabled, summary):hover *)::before {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  .Video__VideoPlayBack > span:is(:where(:any-link, :enabled, summary):hover *)::before {
    transform: scale3d(1.1, 1.1, 1.1);
  }
}
.Video__VideoPlayBack picture {
  position: absolute;
  inset: 0;
}
.Video__VideoPlayBack img {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.Video__VideoPlayBack:has(.Video__Title)::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 63.61%, rgba(0, 0, 0, 0) 63.61%);
}

.VideoModal {
  height: 100%;
}

.VideoModal__Inner {
  position: relative;
  height: 100%;
}
.VideoModal__Inner img {
  width: 100%;
}
.VideoModal__Inner:has(.VideoModal__Title)::before {
  position: absolute;
  inset: 0;
  content: "";
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 63.61%, rgba(0, 0, 0, 0) 63.61%);
}

.VideoModal__Title {
  position: absolute;
  left: 0;
  color: var(--white);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .VideoModal__Title {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .VideoModal__Title {
    font-size: 1.0625rem;
  }
}
@media screen and (min-width: 60em), print {
  .VideoModal__Title {
    bottom: 1.25rem;
    width: calc(100% - 3.5rem);
    margin-left: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .VideoModal__Title {
    bottom: 1rem;
    width: calc(100% - 1.875rem);
    margin-left: 0.9375rem;
  }
}

.VideoModal__VideoPlayBack {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  outline-offset: -3px;
}
.VideoModal__VideoPlayBack > span {
  position: relative;
  display: block;
}
@media screen and (min-width: 60em), print {
  .VideoModal__VideoPlayBack > span {
    width: 5rem;
    height: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .VideoModal__VideoPlayBack > span {
    width: 4.1875rem;
    height: 4.1875rem;
  }
}
.VideoModal__VideoPlayBack > span::before {
  display: block;
  content: "";
  background-color: var(--white);
  border-radius: var(--infinity);
  transform: scale3d(1, 1, 1);
}
@media screen and (min-width: 60em), print {
  .VideoModal__VideoPlayBack > span::before {
    width: 5rem;
    height: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .VideoModal__VideoPlayBack > span::before {
    width: 4.1875rem;
    height: 4.1875rem;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .VideoModal__VideoPlayBack > span::before {
    transition: transform var(--animation-duration);
  }
}
.VideoModal__VideoPlayBack > span::after {
  position: absolute;
  inset: 0;
  display: block;
  margin: auto;
  content: "";
  background-image: var(--icon-play);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (min-width: 60em), print {
  .VideoModal__VideoPlayBack > span::after {
    width: 2.5rem;
    height: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .VideoModal__VideoPlayBack > span::after {
    width: 2.09375rem;
    height: 2.09375rem;
  }
}
@media (hover: hover) {
  .VideoModal__VideoPlayBack > span:is(:where(:-moz-any-link, :enabled, summary):hover *)::before {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  .VideoModal__VideoPlayBack > span:is(:where(:any-link, :enabled, summary):hover *)::before {
    transform: scale3d(1.1, 1.1, 1.1);
  }
}

.VideoModal__Dialog[open] {
  width: 96%;
  max-width: 56.25rem;
  margin: auto;
  text-align: right;
  background-color: transparent;
  animation: show 0.4s;
}
.VideoModal__Dialog[open]::backdrop {
  background-color: rgba(0, 0, 0, 0.7);
  animation: show 0.4s;
}
@keyframes show {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.VideoModal__Dialog[open].is-closing {
  animation: hide 0.4s;
}
.VideoModal__Dialog[open].is-closing::backdrop {
  animation: hide 0.4s;
}
@keyframes hide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

.VideoModal__Content {
  overflow-y: auto;
  overscroll-behavior: contain;
}
.VideoModal__Content > iframe,
.VideoModal__Content > video {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

.VideoModal__Close {
  position: relative;
  width: 2rem;
  height: 2rem;
}
.VideoModal__Close::after {
  position: absolute;
  inset: 0;
  width: 2rem;
  height: 2rem;
  content: "";
  background-color: var(--white);
  -webkit-mask-image: var(--icon-close);
          mask-image: var(--icon-close);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.LinkSns {
  display: grid;
  grid-auto-flow: column;
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
  justify-content: start;
}
.LinkSns img {
  transform: scale3d(1, 1, 1);
}
@media (prefers-reduced-motion: no-preference) {
  .LinkSns img {
    transition: transform var(--animation-duration);
  }
}
@media (hover: hover) {
  .LinkSns img:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  .LinkSns img:is(:where(:any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
}

.Tabs__TabList {
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
  justify-content: center;
}

.Tabs__Tab {
  position: relative;
  text-align: center;
}
.Tabs__Tab::before, .Tabs__Tab::after {
  position: absolute;
  top: 50%;
  width: 1px;
  content: "";
  transform: translateY(-50%);
}
@media screen and (min-width: 60em), print {
  .Tabs__Tab::before, .Tabs__Tab::after {
    height: 55%;
  }
}
@media screen and (max-width: 59.99em) {
  .Tabs__Tab::before, .Tabs__Tab::after {
    height: 66%;
  }
}
.Tabs__Tab::before {
  left: 0px;
  z-index: 1;
}
.Tabs__Tab::after {
  right: 0px;
}
.Tabs__Tab:not(:first-of-type)::before {
  background-color: var(--gray-200);
}
.Tabs__Tab:has(button[aria-pressed=true])::before, .Tabs__Tab:has(button[aria-pressed=true])::after {
  height: 100%;
  background-color: var(--gray-200);
}
.Tabs__Tab:has(button[aria-pressed=true]):not(:last-of-type)::before {
  left: -1px;
}
.Tabs__Tab:has(button[aria-pressed=true]):not(:last-of-type)::after {
  right: -1px;
  z-index: 2;
}
.Tabs__Tab:has(button[aria-pressed=true]):not(:first-of-type)::before {
  left: -1px;
}
.Tabs__Tab:has(button[aria-pressed=true]):not(:first-of-type)::after {
  right: -1px;
}
.Tabs__Tab > button {
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  font-size: 1rem;
  position: relative;
  width: 100%;
  height: 100%;
  color: var(--gray-800);
  background-color: var(--gray-50);
  border-top: 2px solid var(--gray-50);
  border-bottom: 1px solid var(--gray-200);
  outline-offset: -2px;
}
@media screen and (min-width: 60em), print {
  .Tabs__Tab > button {
    padding: 0.75rem 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Tabs__Tab > button {
    padding: 0.75rem 0.5rem;
  }
}
.Tabs__Tab > button[aria-pressed=true] {
  color: var(--red-primary);
  background-color: var(--white);
  border-top: 2px solid var(--red-primary);
  border-bottom: 1px solid var(--white);
}

.Tabs__TabPanel {
  width: 100%;
  padding: 0.3125rem;
}

.EventTile {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .EventTile {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 2.5rem;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    margin-top: 2.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .EventTile {
    row-gap: 1.25rem;
    margin-top: 1.75rem;
  }
  .EventTile:not(:last-of-type) {
    padding-bottom: 1.25rem;
  }
}

.EventTile__Item {
  background-color: var(--gray-50);
}
@media screen and (min-width: 60em), print {
  .EventTile__Item.EventTile__Item--wide {
    grid-column: 1/3;
  }
}

.EventTile__Heading {
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .EventTile__Heading {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .EventTile__Heading {
    font-size: 1.1875rem;
  }
}
@media screen and (min-width: 60em), print {
  .EventTile__Heading {
    padding: 1.25rem 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .EventTile__Heading {
    padding: 0.75rem 1.25rem;
  }
}

.EventTile__Detail {
  display: grid;
  border-top: 1px solid var(--gray-200);
}
@media screen and (min-width: 60em), print {
  .EventTile__Detail {
    grid-template-columns: auto;
    row-gap: 2rem;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    padding: 2.25rem 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .EventTile__Detail {
    row-gap: 1.5rem;
    padding: 1.25rem;
  }
}
@media screen and (min-width: 60em), print {
  .EventTile__Detail:is(.EventTile__Item.EventTile__Item--wide .EventTile__Detail) {
    grid-template-columns: 1fr 25.625rem;
  }
  .EventTile__Contents:only-child {
    grid-column: 1/3;
  }
}

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

.EventTile__Date,
.EventTile__Place {
  font-weight: 700;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.04em;
  display: flex;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  align-items: center;
}
.EventTile__Date::before,
.EventTile__Place::before {
  width: 1.75rem;
  height: 1.75rem;
  content: "";
  background-color: var(--red-primary);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.EventTile__Date::before {
  -webkit-mask-image: var(--icon-calender);
          mask-image: var(--icon-calender);
}

.EventTile__Place::before {
  -webkit-mask-image: var(--icon-pin);
          mask-image: var(--icon-pin);
}

.EventTile__LinkList {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}
@media screen and (min-width: 60em), print {
  .EventTile__LinkList {
    row-gap: 0.75rem;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .EventTile__LinkList {
    flex-direction: column;
    row-gap: 0.75rem;
    margin-top: 1.25rem;
  }
}

.EventTile__Product {
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
  background-color: var(--gray-100);
}
@media screen and (min-width: 60em), print {
  .EventTile__Product {
    padding: 1.25rem 1.5rem;
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .EventTile__Product {
    padding: 1rem 1.25rem;
    margin-top: 1.5rem;
  }
}

.EventTile__ProductHeading {
  font-weight: 700;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.04em;
}
.EventTile__ProductName {
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.04em;
  font-size: 0.9375rem;
}
.EventTile__Figure {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .EventTile__Figure {
    row-gap: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .EventTile__Figure {
    row-gap: 0.5rem;
  }
}
.EventTile__Figure figcaption {
  font-weight: 400;
  line-height: 1.7;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
}
.EventTileAccordion {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .EventTileAccordion {
    row-gap: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .EventTileAccordion {
    row-gap: 1.25rem;
  }
  .EventTileAccordion:not(:last-of-type) {
    padding-bottom: 1.25rem;
  }
}

.EventTileAccordion__Item {
  background-color: var(--gray-50);
}

.EventTileAccordion__Summary {
  position: relative;
  display: grid;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  align-items: center;
}
@media screen and (min-width: 60em), print {
  .EventTileAccordion__Summary {
    grid-template-columns: 1fr 1.75rem;
    padding: 1.25rem 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .EventTileAccordion__Summary {
    grid-template-columns: 1fr 1.75rem;
    padding: 0.75rem 1.25rem;
  }
}
.EventTileAccordion__Summary::after {
  width: 1.75rem;
  height: 1.75rem;
  content: "";
  background-color: var(--red-primary);
  -webkit-mask-image: var(--icon-arrow-down);
          mask-image: var(--icon-arrow-down);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.EventTileAccordion__Summary:is(.EventTileAccordion__Item[open] .EventTileAccordion__Summary)::after {
  transform: rotate(180deg);
}
.EventTileAccordion__Summary > div {
  display: flex;
}
@media screen and (min-width: 60em), print {
  .EventTileAccordion__Summary > div {
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
    align-items: center;
  }
}
@media screen and (max-width: 59.99em) {
  .EventTileAccordion__Summary > div {
    flex-direction: column;
    row-gap: 0.5rem;
    align-items: flex-start;
  }
}
.EventTileAccordion__Summary + div {
  overflow: hidden;
}
.EventTileAccordion__Summary::before {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
  background-color: rgba(0, 0, 0, 0.06);
  opacity: 0;
}
@media (prefers-reduced-motion: no-preference) {
  .EventTileAccordion__Summary::before {
    transition: opacity var(--animation-duration);
  }
}
@media (hover: hover) {
  .EventTileAccordion__Summary:where(:-moz-any-link, :enabled, summary):hover::before {
    opacity: 1;
  }
  .EventTileAccordion__Summary:where(:any-link, :enabled, summary):hover::before {
    opacity: 1;
  }
}

.EventTileAccordion__Heading {
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .EventTileAccordion__Heading {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .EventTileAccordion__Heading {
    font-size: 1.1875rem;
  }
}

.EventTileAccordion__YearMonth {
  padding: 0.25rem 0.75rem;
  color: var(--gray-800);
  background-color: var(--white);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  font-size: 1rem;
}
@media screen and (min-width: 60em), print {
  .EventTileAccordion__YearMonth {
    flex-shrink: 0;
  }
}

.EventTileAccordion__Detail {
  display: grid;
  border-top: 1px solid var(--gray-200);
}
@media screen and (min-width: 60em), print {
  .EventTileAccordion__Detail {
    grid-template-columns: 1fr 25.625rem;
    row-gap: 2rem;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    padding: 2.25rem 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .EventTileAccordion__Detail {
    row-gap: 1.5rem;
    padding: 1.25rem;
  }
}

@media screen and (min-width: 60em), print {
  .EventTileAccordion__Contents:only-child {
    grid-column: 1/3;
  }
}

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

.EventTileAccordion__Date,
.EventTileAccordion__Place {
  font-weight: 700;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.04em;
  display: flex;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  align-items: center;
}
.EventTileAccordion__Date::before,
.EventTileAccordion__Place::before {
  width: 1.75rem;
  height: 1.75rem;
  content: "";
  background-color: var(--red-primary);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.EventTileAccordion__Date::before {
  -webkit-mask-image: var(--icon-calender);
          mask-image: var(--icon-calender);
}

.EventTileAccordion__Place::before {
  -webkit-mask-image: var(--icon-pin);
          mask-image: var(--icon-pin);
}

.EventTileAccordion__LinkList {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}
@media screen and (min-width: 60em), print {
  .EventTileAccordion__LinkList {
    row-gap: 0.75rem;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .EventTileAccordion__LinkList {
    flex-direction: column;
    row-gap: 0.75rem;
    margin-top: 1.25rem;
  }
}

.EventTileAccordion__Product {
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
  background-color: var(--gray-100);
}
@media screen and (min-width: 60em), print {
  .EventTileAccordion__Product {
    padding: 1.25rem 1.5rem;
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .EventTileAccordion__Product {
    padding: 1rem 1.25rem;
    margin-top: 1.5rem;
  }
}

.EventTileAccordion__ProductHeading {
  font-weight: 700;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.04em;
}
.EventTileAccordion__ProductName {
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.04em;
  font-size: 0.9375rem;
}
.EventTileAccordion__Figure {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .EventTileAccordion__Figure {
    row-gap: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .EventTileAccordion__Figure {
    row-gap: 0.5rem;
  }
}
.EventTileAccordion__Figure figcaption {
  font-weight: 400;
  line-height: 1.7;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
}
.ListCorporation {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 60em), print {
  .ListCorporation > * + * {
    padding-top: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .ListCorporation > * + * {
    padding-top: 2rem;
  }
}

.ListCorporation__Item {
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.04em;
  font-size: 0.9375rem;
  display: grid;
  border-bottom: 1px solid var(--gray-100);
}
@media screen and (min-width: 60em), print {
  .ListCorporation__Item {
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    padding-bottom: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .ListCorporation__Item {
    row-gap: 1rem;
    padding-bottom: 2rem;
  }
}

.ListCorporation__Country {
  display: flex;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  align-items: center;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.04em;
  font-size: 0.9375rem;
}
.ListCorporation__Country::before {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  content: "";
  background-color: var(--red-primary);
  -webkit-mask-image: var(--icon-pin);
          mask-image: var(--icon-pin);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.ListCorporation__Heading {
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.04em;
  display: grid;
  row-gap: 0.5rem;
  align-content: start;
}
@media screen and (min-width: 60em), print {
  .ListCorporation__Heading {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .ListCorporation__Heading {
    font-size: 1.0625rem;
  }
}

.ListCorporation__DetailList {
  display: grid;
  grid-template-columns: 4.5rem 1fr;
  row-gap: 0.5rem;
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
  align-content: start;
  align-items: start;
}

.ListCorporation__DetailTerm {
  display: flex;
  justify-content: center;
  width: 100%;
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--gray-800);
  text-align: center;
  background-color: var(--gray-50);
}

.RelatedProducts {
  background-color: var(--gray-50);
}
@media screen and (min-width: 60em), print {
  .RelatedProducts {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .RelatedProducts {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.RelatedProducts__Inner {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .RelatedProducts__Inner {
    grid-template-columns: 1fr auto;
    row-gap: 2.5rem;
    -moz-column-gap: 2.0625rem;
         column-gap: 2.0625rem;
    align-items: center;
  }
}
@media screen and (max-width: 59.99em) {
  .RelatedProducts__Inner {
    grid-template-areas: "heading" "list" "button";
    row-gap: 1.75rem;
  }
}

.RelatedProducts__Heading {
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .RelatedProducts__Heading {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .RelatedProducts__Heading {
    font-size: 1.75rem;
    grid-area: heading;
  }
  .RelatedProducts__Button {
    grid-area: button;
  }
}

.RelatedProducts__List {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .RelatedProducts__List {
    grid-template-columns: repeat(4, 1fr);
    grid-column: 1/3;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .RelatedProducts__List {
    grid-area: list;
    row-gap: 2rem;
  }
}

.RelatedProducts__Link {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .RelatedProducts__Link {
    row-gap: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .RelatedProducts__Link {
    grid-template-columns: 34.8353855072% 1fr;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}

.RelatedProducts__Image {
  overflow: hidden;
  aspect-ratio: 1/1;
}
@media (prefers-reduced-motion: no-preference) {
  .RelatedProducts__Image img {
    transition: transform var(--animation-duration);
  }
}
@media (hover: hover) {
  .RelatedProducts__Image img:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  .RelatedProducts__Image img:is(:where(:any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
}
.RelatedProducts__Image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.RelatedProducts__Name {
  font-weight: 700;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.04em;
}
.RelatedProducts__Text {
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.5;
  font-size: 0.75rem;
  margin-top: 0.5rem;
  color: var(--gray-800);
}
.Accordion {
  background-color: var(--gray-50);
}
@media screen and (min-width: 60em), print {
  :not([class^=Heading]):not([class*=" Heading"]:not(.Accordion)) + .Accordion {
    margin-top: 3.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  :not([class^=Heading]):not([class*=" Heading"]:not(.Accordion)) + .Accordion {
    margin-top: 3rem;
  }
}
.Accordion:not([class^=Heading]):not([class*=" Heading"]) + .Accordion {
  margin-top: 1.25rem;
}
.Accordion summary {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1.75rem;
  align-items: center;
}
@media screen and (min-width: 60em), print {
  .Accordion summary {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    padding: 1rem 1.25rem 1rem 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Accordion summary {
    -moz-column-gap: 0.75rem;
         column-gap: 0.75rem;
    padding: 0.75rem 1rem 0.75rem 1.25rem;
  }
}
.Accordion summary::after {
  width: 1.75rem;
  height: 1.75rem;
  content: "";
  background-color: var(--red-primary);
  -webkit-mask-image: var(--icon-arrow-down);
          mask-image: var(--icon-arrow-down);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.Accordion summary::before {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
  background-color: rgba(0, 0, 0, 0.06);
  opacity: 0;
}
@media (prefers-reduced-motion: no-preference) {
  .Accordion summary::before {
    transition: opacity var(--animation-duration);
  }
}
@media (hover: hover) {
  .Accordion summary:where(:-moz-any-link, :enabled, summary):hover::before {
    opacity: 1;
  }
  .Accordion summary:where(:any-link, :enabled, summary):hover::before {
    opacity: 1;
  }
}
.Accordion[open] summary::after {
  transform: rotate(180deg);
}

.Accordion__Title {
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
  display: block;
}
@media screen and (min-width: 60em), print {
  .Accordion__Title {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Accordion__Title {
    font-size: 1.1875rem;
  }
}

.Accordion__Description {
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.04em;
  font-size: 0.9375rem;
  display: block;
  margin-top: 0.5rem;
  color: var(--gray-800);
}
.Accordion__Content {
  border-top: 1px solid var(--gray-200);
}
@media screen and (min-width: 60em), print {
  .Accordion__Content {
    padding: 1.5rem 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Accordion__Content {
    padding: 1.25rem;
  }
}

.ProblemSolving {
  display: grid;
  gap: 0.8125rem;
  justify-items: center;
}
@media screen and (min-width: 60em), print {
  .ProblemSolving.ProblemSolving--horizontal {
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
  }
  :not([class^=Heading]):not([class*=" Heading"]:not(.ProblemSolving)) + .ProblemSolving {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  :not([class^=Heading]):not([class*=" Heading"]:not(.ProblemSolving)) + .ProblemSolving {
    margin-top: 1.25rem;
  }
}

.ProblemSolving__Icon {
  background-color: var(--gray-800);
}
@media screen and (min-width: 60em), print {
  .ProblemSolving__Icon:is(.ProblemSolving.ProblemSolving--horizontal .ProblemSolving__Icon) {
    width: 1.25rem;
    height: 3.8125rem;
    margin-left: 0.25rem;
    -webkit-clip-path: var(--path-triangle);
            clip-path: var(--path-triangle);
  }
  .ProblemSolving__Icon:is(.ProblemSolving:not(.ProblemSolving--horizontal) .ProblemSolving__Icon) {
    width: 3.8125rem;
    height: 1.25rem;
    -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
            clip-path: polygon(0 0, 50% 100%, 100% 0);
  }
}
@media screen and (max-width: 59.99em) {
  .ProblemSolving__Icon {
    width: 3.8125rem;
    height: 1.25rem;
    -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
            clip-path: polygon(0 0, 50% 100%, 100% 0);
  }
}

.Step {
  counter-reset: item;
}
@media screen and (min-width: 60em), print {
  :not([class^=Heading]):not([class*=" Heading"]:not(.Step)) + .Step {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  :not([class^=Heading]):not([class*=" Heading"]:not(.Step)) + .Step {
    margin-top: 2rem;
  }
}
.Step li {
  display: grid;
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
  align-items: baseline;
}
@media screen and (min-width: 60em), print {
  .Step li {
    grid-template-columns: 2.25rem 1fr;
  }
}
@media screen and (max-width: 59.99em) {
  .Step li {
    grid-template-columns: 2rem 1fr;
  }
}
.Step > * + * {
  margin-top: 0.5rem;
}

.Step__Number {
  display: grid;
  grid-template-rows: auto 1fr;
  row-gap: 0.25rem;
  justify-items: center;
  height: 100%;
}
.Step__Number::before {
  display: grid;
  place-items: center;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.7;
  color: var(--red-text);
  letter-spacing: 0.04em;
  content: counter(item);
  counter-increment: item;
  background-color: var(--gray-100);
  border-radius: var(--infinity);
}
@media screen and (min-width: 60em), print {
  .Step__Number::before {
    width: 2.25rem;
    height: 2.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Step__Number::before {
    width: 2rem;
    height: 2rem;
  }
}
.Step__Number:is(li:not(:last-child) .Step__Number)::after {
  display: block;
  width: 1px;
  height: 100%;
  min-height: 1.25rem;
  content: "";
  background-color: var(--gray-200);
}

.Step__Content {
  padding-bottom: 0.5rem;
}
@media screen and (min-width: 60em), print {
  .Step__Content {
    padding-top: 0.125rem;
  }
}

.Step__Title {
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .Step__Title {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Step__Title {
    font-size: 1.0625rem;
  }
}

.Step__Text {
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  font-size: 1rem;
  margin-top: 0.375rem;
}
.LinkList {
  display: grid;
  row-gap: 0.25rem;
}
:not([class^=Heading]):not([class*=" Heading"]:not(.LinkList)) + .LinkList {
  margin-top: 0.75rem;
}
.LinkList:is(.LinkList .LinkList) {
  margin-left: 1.75rem;
}
:not([class^=Heading]):not([class*=" Heading"]:not(.LinkList:is(.LinkList .LinkList))) + .LinkList:is(.LinkList .LinkList) {
  margin-top: 0.25rem;
}
.LinkList li {
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  font-size: 1rem;
}
.BoxComment {
  height: 100%;
}
.BoxComment > * {
  height: 100%;
}

.BoxComment__Inner {
  display: grid;
  align-content: space-between;
}
@media screen and (min-width: 60em), print {
  .BoxComment__Inner {
    row-gap: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .BoxComment__Inner {
    row-gap: 1.25rem;
  }
}

.BoxComment__Profile {
  display: grid;
  grid-auto-flow: column;
  justify-content: start;
}
@media screen and (min-width: 60em), print {
  .BoxComment__Profile {
    -moz-column-gap: 1.75rem;
         column-gap: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .BoxComment__Profile {
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
  }
}

.BoxComment__Text {
  color: var(--black);
  font-weight: 700;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.04em;
}
.BoxComment__Image {
  overflow: hidden;
  border-radius: 999rem;
}
@media screen and (min-width: 60em), print {
  .BoxComment__Image {
    width: 5rem;
    height: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .BoxComment__Image {
    width: 3.75rem;
    height: 3.75rem;
  }
}
.BoxComment__Image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.BoxComment__Department {
  color: var(--gray-800);
  font-weight: 400;
  line-height: 1.7;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
}
.BoxComment__Name {
  margin-top: 0.25rem;
  color: var(--black);
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.04em;
  font-size: 0.9375rem;
}
@media screen and (min-width: 60em), print {
  .Highlights {
    padding-top: 5.375rem;
    padding-bottom: 6.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Highlights {
    padding-top: 3.375rem;
    padding-bottom: 4.5rem;
  }
}
.Highlights .splide {
  --per-page: 3.4;
}
@media screen and (min-width: 60em), print {
  .Highlights .splide {
    --gap: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Highlights .splide {
    --gap: 1.25rem;
  }
}
.Highlights .splide__slide {
  width: calc((100% + var(--gap)) / var(--per-page) - var(--gap));
  margin-right: var(--gap);
}
@media screen and (min-width: 60em), print {
  .Highlights .splide__slide {
    min-width: 21.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Highlights .splide__slide {
    min-width: 17.875rem;
  }
}

.Highlights__Heading {
  font-size: 3.75rem;
  font-weight: 700;
  line-height: 1.7;
}

.Highlights__Link {
  display: block;
  width: 100%;
  outline-offset: -3px;
}
@media screen and (min-width: 60em), print {
  .Highlights__Link {
    aspect-ratio: 340/448;
  }
}
@media screen and (max-width: 59.99em) {
  .Highlights__Link {
    aspect-ratio: 286/368;
  }
}
.Highlights__Link article {
  position: relative;
  display: grid;
  align-items: end;
  height: 100%;
  padding: 1.5rem;
  overflow: hidden;
}

.Highlights__Image {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
}
.Highlights__Image::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  content: "";
  background-image: linear-gradient(to bottom, transparent 0 30%, transparent 30%, black 100%);
  opacity: 0.9;
}
@media (prefers-reduced-motion: no-preference) {
  .Highlights__Image img {
    transition: transform var(--animation-duration);
  }
}
@media (hover: hover) {
  .Highlights__Image img:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  .Highlights__Image img:is(:where(:any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
}
.Highlights__Image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.Highlights__Title {
  display: grid;
  grid-template-columns: 1fr auto;
  -moz-column-gap: 1.125rem;
       column-gap: 1.125rem;
  align-items: end;
  line-height: normal;
}
.Highlights__Title span:nth-child(1) {
  display: -webkit-box;
  overflow: hidden;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--white);
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.Highlights__Title span:nth-child(2) {
  position: relative;
  right: -0.5rem;
  bottom: -0.5rem;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--infinity);
  box-shadow: inset 0 0 0 2.25rem var(--red-primary);
  will-change: box-shadow;
}
@media (prefers-reduced-motion: no-preference) {
  .Highlights__Title span:nth-child(2) {
    transition: box-shadow var(--animation-duration);
  }
}
.Highlights__Title span:nth-child(2)::after {
  display: block;
  content: "";
  background-color: var(--white);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media (prefers-reduced-motion: no-preference) {
  .Highlights__Title span:nth-child(2)::after {
    transition: background-color var(--animation-duration);
  }
}
.Highlights__Title span:nth-child(2):is(.Highlights__Link:not([target=_blank]) *)::after {
  width: 0.6875rem;
  height: 0.9375rem;
  transform: translate(2px);
  -webkit-mask-image: var(--icon-arrow-circle);
          mask-image: var(--icon-arrow-circle);
}
.Highlights__Title span:nth-child(2):is(.Highlights__Link[target=_blank] *)::after {
  -webkit-mask-image: var(--icon-window-arrow);
          mask-image: var(--icon-window-arrow);
  width: 0.875rem;
  height: 0.875rem;
}
@media (hover: hover) {
  .Highlights__Title span:nth-child(2):is(:where(:-moz-any-link, :enabled, summary):hover *) {
    box-shadow: inset 0 0 0 1.5px var(--red-primary);
  }
  .Highlights__Title span:nth-child(2):is(:where(:any-link, :enabled, summary):hover *) {
    box-shadow: inset 0 0 0 1.5px var(--red-primary);
  }
  .Highlights__Title span:nth-child(2):is(:where(:-moz-any-link, :enabled, summary):hover *)::after {
    background-color: var(--red-primary);
  }
  .Highlights__Title span:nth-child(2):is(:where(:any-link, :enabled, summary):hover *)::after {
    background-color: var(--red-primary);
  }
}

.Contents__Inner {
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .Contents__Inner {
    width: min(84%, 66.5rem);
  }
}
@media screen and (max-width: 59.99em) {
  .Contents__Inner {
    display: grid;
    row-gap: 20rem;
    width: 82%;
  }
}

.Contents__Background {
  position: sticky;
  top: 0;
  z-index: 0;
  height: 100vh;
  overflow: hidden;
}

.Contents__BackgroundInner {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  background-color: var(--white);
  -webkit-mask-image: linear-gradient(to bottom, black, black);
          mask-image: linear-gradient(to bottom, black, black);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 90% 90%;
          mask-size: 90% 90%;
}
.Contents__BackgroundInner::before {
  position: absolute;
  width: 100%;
  height: 100%;
  content: "";
  border-top: white 1px solid;
}
@media screen and (min-width: 60em), print {
  .Contents__BackgroundInner::before {
    background-image: linear-gradient(to right, var(--gray-900), transparent);
  }
}
@media screen and (max-width: 59.99em) {
  .Contents__BackgroundInner::before {
    background-color: var(--black);
    opacity: 0.6;
  }
}
.Contents__BackgroundInner > img,
.Contents__BackgroundInner > picture img,
.Contents__BackgroundInner > .splide {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border-top: white 1px solid;
}

.Contents__Slider .splide__track {
  height: 100%;
}
.Contents__Slider .splide__slide {
  height: 100%;
  aspect-ratio: 3123/894;
  /* stylelint-disable-next-line no-descending-specificity */
}
.Contents__Slider .splide__slide img {
  width: auto;
  height: 100%;
}

.Contents__Toggle {
  position: fixed;
  top: 8rem;
  right: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  visibility: hidden;
  opacity: 0;
}
.Contents__Toggle::before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: rgba(255, 255, 255, 0.8);
}
@media (prefers-reduced-motion: no-preference) {
  .Contents__Toggle::before {
    transition: transform var(--animation-duration);
  }
}
@media (hover: hover) {
  .Contents__Toggle:where(:-moz-any-link, :enabled, summary):hover::before {
    transform: scale3d(1.2, 1.2, 1.2);
  }
  .Contents__Toggle:where(:any-link, :enabled, summary):hover::before {
    transform: scale3d(1.2, 1.2, 1.2);
  }
}

.Contents__Play::after,
.Contents__Pause::after {
  display: block;
  width: 0.625rem;
  height: 0.625rem;
  content: "";
  background-color: currentColor;
}

.Contents__Play:is(.Contents__Toggle.is-stop > *) {
  display: grid;
}
.Contents__Play:is(.Contents__Toggle:not(.is-stop) > *) {
  display: none;
}
.Contents__Play::after {
  -webkit-clip-path: var(--path-triangle);
          clip-path: var(--path-triangle);
}

.Contents__Pause:is(.Contents__Toggle.is-stop > *) {
  display: none;
}
.Contents__Pause:is(.Contents__Toggle:not(.is-stop) > *) {
  display: grid;
}
.Contents__Pause::after {
  -webkit-clip-path: var(--path-stop);
          clip-path: var(--path-stop);
}

.Contents__Section {
  display: grid;
  align-content: start;
  align-items: center;
  justify-content: start;
}
@media screen and (min-width: 60em), print {
  .Contents__Section {
    min-height: 100vh;
  }
}
@media screen and (max-width: 59.99em) {
  .Contents__Section:last-child {
    padding-bottom: 20rem;
  }
}

@media screen and (min-width: 60em), print {
  .Contents__SectionInner {
    transform: translateY(calc(-50% + var(--header-height) * 0.5));
  }
}

.Contents__Heading {
  position: relative;
  display: grid;
  justify-content: start;
  font-weight: 700;
  line-height: normal;
  color: var(--white);
}
@media screen and (min-width: 60em), print {
  .Contents__Heading {
    grid-auto-flow: column;
    margin-left: -2rem;
    font-size: 3.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Contents__Heading {
    font-size: 2.125rem;
    line-height: 1.4;
  }
}
.Contents__Heading > span:first-child {
  display: block;
  font-weight: 700;
  color: var(--red-text);
}
@media screen and (min-width: 60em), print {
  .Contents__Heading > span:first-child {
    margin-top: 0.75rem;
    margin-right: 0.5rem;
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Contents__Heading > span:first-child {
    margin-bottom: 1rem;
    font-size: 1.25rem;
    line-height: 1.2;
  }
}

.Contents__Text {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--white);
}
@media screen and (min-width: 60em), print {
  .Contents__Text {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Contents__Text {
    margin-top: 2.375rem;
  }
}

.Contents__LinkList {
  display: flex;
  justify-content: flex-start;
}
@media screen and (min-width: 60em), print {
  .Contents__LinkList {
    -moz-column-gap: 3.5rem;
         column-gap: 3.5rem;
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Contents__LinkList {
    -moz-column-gap: 1.875rem;
         column-gap: 1.875rem;
    margin-top: 2.125rem;
  }
}

@media screen and (min-width: 60em), print {
  .Contents__TextLink {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Contents__TextLink {
    margin-top: 4.25rem;
  }
}
.Contents__TextLink a {
  font-weight: 400;
  line-height: 1.7;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  position: relative;
  color: var(--white);
}
.Contents__TextLink a::before {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-color: currentColor;
  transform: scaleX(100%);
  transform-origin: right top;
}
@media (prefers-reduced-motion: no-preference) {
  .Contents__TextLink a::before {
    transition: transform var(--animation-duration);
  }
}
@media (hover: hover) {
  .Contents__TextLink a:where(:-moz-any-link, :enabled, summary):hover::before {
    transform: scaleX(0);
  }
  .Contents__TextLink a:where(:any-link, :enabled, summary):hover::before {
    transform: scaleX(0);
  }
}

.Info {
  position: relative;
  background-color: var(--white);
}
@media screen and (min-width: 60em), print {
  .Info {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Info {
    padding-top: 2.75rem;
    padding-bottom: 5.125rem;
  }
}

.Info__Header {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .Info__Header {
    grid-auto-flow: column;
    align-items: center;
    justify-content: space-between;
  }
}
@media screen and (max-width: 59.99em) {
  .Info__Header {
    row-gap: 0.5rem;
  }
}

.TopHero {
  display: grid;
  grid-template-rows: auto 1fr;
}
@media screen and (min-width: 60em), print {
  .TopHero {
    height: calc(100vh - var(--header-height));
    min-height: calc(42.5rem - var(--header-height));
  }
}

.TopHero__Inner {
  position: relative;
  z-index: 0;
  display: grid;
  -webkit-mask-image: linear-gradient(to bottom, black 0 100%);
          mask-image: linear-gradient(to bottom, black 0 100%);
  overflow: hidden;
}
.TopHero__Inner:only-child {
  grid-row: 1/3;
}

.TopHero__Darken {
  position: absolute;
  inset: 0;
  background-color: var(--black);
}

.TopHero__Background {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  background-color: var(--black);
}
.TopHero__Background.is-fixed {
  position: fixed;
  height: inherit;
}
@media screen and (min-width: 60em), print {
  .TopHero__Background.is-fixed {
    top: var(--header-nav-height);
  }
}
@media screen and (max-width: 59.99em) {
  .TopHero__Background.is-fixed {
    top: var(--subheader-height);
  }
}
.TopHero__Background::before {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
  background-image: linear-gradient(to bottom, transparent, black);
  opacity: 0.6;
}
.TopHero__Background video {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
  -o-object-fit: cover;
     object-fit: cover;
}

.TopHero__VideoButton {
  position: absolute;
  right: 0;
  z-index: 1;
  display: grid;
  place-items: center;
}
@media screen and (min-width: 60em), print {
  .TopHero__VideoButton {
    top: 3.875rem;
    width: 2.5rem;
    height: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .TopHero__VideoButton {
    top: 2.25rem;
    width: 2.25rem;
    height: 2.25rem;
  }
}
.TopHero__VideoButton::before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: rgba(255, 255, 255, 0.8);
}
@media (prefers-reduced-motion: no-preference) {
  .TopHero__VideoButton::before {
    transition: transform var(--animation-duration);
  }
}
.TopHero__VideoButton::after {
  display: block;
  width: 0.625rem;
  height: 0.625rem;
  content: "";
  background-color: var(--gray-900);
}
.TopHero__VideoButton.is-stop::after {
  -webkit-clip-path: var(--path-triangle);
          clip-path: var(--path-triangle);
  transform: translateX(1px);
}
.TopHero__VideoButton:not(.is-stop)::after {
  -webkit-clip-path: var(--path-stop);
          clip-path: var(--path-stop);
}
@media (hover: hover) {
  .TopHero__VideoButton:where(:-moz-any-link, :enabled, summary):hover::before {
    transform: scale3d(1.2, 1.2, 1.2);
  }
  .TopHero__VideoButton:where(:any-link, :enabled, summary):hover::before {
    transform: scale3d(1.2, 1.2, 1.2);
  }
}

.TopHero__Content {
  position: relative;
  display: grid;
}
@media screen and (max-width: 59.99em) {
  .TopHero__Content {
    align-content: end;
    min-height: 28.125rem;
  }
}

.TopHero__Texts {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .TopHero__Texts {
    grid-template-columns: 72% auto;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    align-items: end;
    justify-content: space-between;
  }
}
@media screen and (max-width: 59.99em) {
  .TopHero__Texts {
    padding-bottom: 1.75rem;
  }
}

.TopHero__Heading {
  aspect-ratio: 17/9;
  color: var(--white);
  background-image: linear-gradient(137deg, var(--white) 55%, var(--red-text) 55% 90%, transparent 90% 100%);
  background-repeat: no-repeat;
  background-size: 200% 100%;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-image: url(/common/images/text_0001.svg);
          mask-image: url(/common/images/text_0001.svg);
}
@media (prefers-reduced-motion: no-preference) {
  .TopHero__Heading {
    background-position-x: 200%;
  }
}
@media screen and (min-width: 60em), print {
  .TopHero__Heading {
    align-self: center;
    width: 100%;
    max-width: 33rem;
  }
}
@media screen and (max-width: 59.99em) {
  .TopHero__Heading {
    width: 100%;
    max-width: 16.25rem;
  }
}

@keyframes scroll-down {
  0% {
    transform: translateY(-200%);
  }
  100% {
    transform: translateY(100%);
  }
}
@media screen and (min-width: 60em), print {
  .TopHero__ScrollDown {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 2px;
    height: 3.125rem;
    overflow: hidden;
  }
  .TopHero__ScrollDown::before, .TopHero__ScrollDown::after {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
  }
  .TopHero__ScrollDown::before {
    background-color: rgba(255, 255, 255, 0.2);
  }
  .TopHero__ScrollDown::after {
    position: absolute;
    background-color: var(--red-primary);
    animation-name: scroll-down;
    animation-duration: 2s;
    animation-timing-function: ease-in-out;
  }
}
@media screen and (min-width: 60em) and (prefers-reduced-motion: no-preference), print and (prefers-reduced-motion: no-preference) {
  .TopHero__ScrollDown::after {
    animation-iteration-count: infinite;
  }
}
@media screen and (max-width: 59.99em) {
  .TopHero__ScrollDown {
    display: none;
  }
}

.TopHeading02 {
  font-weight: 700;
  line-height: 1.7;
}
@media screen and (min-width: 60em), print {
  .TopHeading02 {
    font-size: 3.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .TopHeading02 {
    font-size: 2.5rem;
    letter-spacing: normal;
  }
}
.TopHeading02.Heading02--white {
  color: var(--white);
}

.WideButton {
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.75;
  background-color: var(--gray-50);
  position: relative;
}
.WideButton > span {
  position: relative;
  display: inline-block;
  width: 1.375rem;
  height: 1.375rem;
  margin-block: auto;
  margin-left: 0.25rem;
  vertical-align: sub;
  border-radius: var(--infinity);
}
@media (prefers-reduced-motion: no-preference) {
  .WideButton > span {
    transition: background-color var(--animation-duration);
  }
}
.WideButton > span::after {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: var(--icon-arrow-forward);
          mask-image: var(--icon-arrow-forward);
}
@media (prefers-reduced-motion: no-preference) {
  .WideButton > span::after {
    transition: background-color var(--animation-duration);
  }
}
.WideButton > span::before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  border-radius: var(--infinity);
  transform: scale3d(0, 0, 0);
}
@media (prefers-reduced-motion: no-preference) {
  .WideButton > span::before {
    transition: transform var(--animation-duration);
  }
}
a[href^="#"] .WideButton > span::after {
  -webkit-mask-image: var(--icon-anchor);
          mask-image: var(--icon-anchor);
}
a[target=_blank] .WideButton > span::after {
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}
a[href*=".pdf"] .WideButton > span::after {
  width: 1rem;
  height: 1rem;
  background-color: transparent;
  background-image: var(--icon-pdf);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-mask: none;
          mask: none;
}
a[href*=".pdf"] .WideButton > span::before {
  background-color: var(--red-text);
}
a:not([href^="#"]):not([target=_blank]):not([href*=".pdf"]) .WideButton > span::after {
  transform: translateX(1px);
}
.WideButton[href^="#"] > span::after {
  -webkit-mask-image: var(--icon-anchor);
          mask-image: var(--icon-anchor);
}
.WideButton[target=_blank] > span::after {
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}
.WideButton[href*=".pdf"] > span::after {
  width: 1rem;
  height: 1rem;
  background-color: transparent;
  background-image: var(--icon-pdf);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-mask: none;
          mask: none;
}
.WideButton[href*=".pdf"] > span::before {
  background-color: var(--red-text);
}
.WideButton:not([href^="#"]):not([target=_blank]):not([href*=".pdf"]) > span::after {
  transform: translateX(1px);
}
@media (hover: hover) {
  .WideButton:where(:-moz-any-link, :enabled, summary):hover > span::after {
    background-color: var(--white);
  }
  .WideButton:where(:any-link, :enabled, summary):hover > span::after {
    background-color: var(--white);
  }
  .WideButton:where(:-moz-any-link, :enabled, summary):hover > span::before {
    transform: scale3d(1, 1, 1);
  }
  .WideButton:where(:any-link, :enabled, summary):hover > span::before {
    transform: scale3d(1, 1, 1);
  }
}
@media screen and (min-width: 60em), print {
  .WideButton {
    padding: 0.875rem;
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .WideButton {
    padding: 0.7875rem 0.5rem 0.5rem;
    margin-top: 1.375rem;
  }
}
.WideButton::before {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
  background-color: rgba(0, 0, 0, 0.06);
  opacity: 0;
}
@media (prefers-reduced-motion: no-preference) {
  .WideButton::before {
    transition: opacity var(--animation-duration);
  }
}
@media (hover: hover) {
  .WideButton:where(:-moz-any-link, :enabled, summary):hover::before {
    opacity: 1;
  }
  .WideButton:where(:any-link, :enabled, summary):hover::before {
    opacity: 1;
  }
}

@media screen and (min-width: 60em), print {
  .SideEffectNewsSection {
    margin-top: 3.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .SideEffectNewsSection {
    margin-top: 3rem;
  }
}

.SideEffectNewsSection__Heading {
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
}
@media screen and (min-width: 60em), print {
  .SideEffectNewsSection__Heading {
    font-size: 1.6875rem;
  }
}
@media screen and (max-width: 59.99em) {
  .SideEffectNewsSection__Heading {
    font-size: 1.4375rem;
  }
}
.SideEffectNewsSection__Heading:lang(en) {
  text-wrap: balance;
}
@media screen and (max-width: 59.99em) {
  .SideEffectNewsSection__Heading {
    margin-bottom: 1.75rem;
  }
}

.ListProduct {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .ListProduct {
    grid-template-columns: repeat(3, 1fr);
    row-gap: 2.5rem;
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .ListProduct {
    row-gap: 1.75rem;
  }
}

.ListProduct__Link {
  display: grid;
  outline-offset: -2px;
}
@media screen and (min-width: 60em), print {
  .ListProduct__Link {
    row-gap: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .ListProduct__Link {
    grid-template-columns: 34.8353855072% 1fr;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}

.ListProduct__Image {
  overflow: hidden;
  aspect-ratio: 1/1;
}
@media (prefers-reduced-motion: no-preference) {
  .ListProduct__Image img {
    transition: transform var(--animation-duration);
  }
}
@media (hover: hover) {
  .ListProduct__Image img:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  .ListProduct__Image img:is(:where(:any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
}
.ListProduct__Image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.ListProduct__Name {
  font-weight: 700;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.04em;
}
.ListProduct__Text {
  margin-top: 0.5rem;
  font-size: 0.75rem;
  line-height: 1.6;
  color: var(--gray-800);
  letter-spacing: 0.04em;
}

.CorporateHero {
  position: relative;
  display: grid;
  align-content: space-between;
  -webkit-mask-image: linear-gradient(to bottom, black 0 100%);
          mask-image: linear-gradient(to bottom, black 0 100%);
}
@media screen and (min-width: 60em), print {
  .CorporateHero {
    min-height: 36.25rem;
    padding-top: 0.9375rem;
  }
}
@media screen and (max-width: 59.99em) {
  .CorporateHero {
    min-height: 25rem;
  }
}

.CorporateHero__Background {
  z-index: -1;
}
@media screen and (min-width: 60em), print {
  .CorporateHero__Background {
    position: absolute;
    inset: 0;
  }
  .CorporateHero__Background.is-fixed {
    position: fixed;
    height: inherit;
  }
}
@media screen and (min-width: 60em) and (min-width: 60em), print {
  .CorporateHero__Background.is-fixed {
    top: var(--header-nav-height);
  }
}
@media screen and (min-width: 60em) and (max-width: 59.99em) {
  .CorporateHero__Background.is-fixed {
    top: var(--subheader-height);
  }
}
@media screen and (max-width: 59.99em) {
  .CorporateHero__Background {
    position: fixed;
    inset: 0;
  }
}
.CorporateHero__Background::after {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
}
@media screen and (min-width: 60em), print {
  .CorporateHero__Background::after {
    background-image: linear-gradient(90deg, rgba(36, 43, 48, 0.9) 22.04%, rgba(36, 43, 48, 0) 70.12%);
  }
}
@media screen and (max-width: 59.99em) {
  .CorporateHero__Background::after {
    background-image: linear-gradient(0deg, rgba(3, 4, 5, 0.6) 0%, rgba(3, 4, 5, 0.6) 100%);
  }
}
.CorporateHero__Background img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.CorporateHero__Inner {
  display: grid;
  align-items: end;
}
@media screen and (min-width: 60em), print {
  .CorporateHero__Inner {
    width: var(--container-width);
    margin-inline: auto;
  }
  .CorporateHero__Content {
    margin-bottom: 5.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .CorporateHero__Content {
    margin-bottom: 3rem;
  }
}

.CorporateHero__Heading {
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.04em;
  color: var(--white);
}
@media screen and (min-width: 60em), print {
  .CorporateHero__Heading {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .CorporateHero__Heading {
    font-size: 1.75rem;
  }
}
.CorporateHero__Heading > span {
  font-weight: 700;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.04em;
  display: block;
  padding-bottom: 0.5rem;
}
@media screen and (max-width: 59.99em) {
  .CorporateHero__Heading,
  .CorporateHero__Link {
    width: 92%;
    margin-inline: auto;
  }
}

.CorporateHero__Link {
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  font-size: 1rem;
}
@media screen and (max-width: 59.99em) {
  .CorporateHero__Link {
    margin-top: 2rem;
  }
}

.InformationArea {
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 60em), print {
  .InformationArea {
    -moz-column-gap: 3.75rem;
         column-gap: 3.75rem;
    margin-top: 3.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .InformationArea {
    flex-direction: column;
    row-gap: 1.25rem;
    align-items: center;
    margin-top: 2.5rem;
  }
}

@media screen and (min-width: 60em), print {
  :not([class^=Heading]):not([class*=" Heading"]:not(.CatchCopy)) + .CatchCopy {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  :not([class^=Heading]):not([class*=" Heading"]:not(.CatchCopy)) + .CatchCopy {
    margin-top: 2rem;
  }
}

.CatchCopy__Text {
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .CatchCopy__Text {
    font-size: 1.6875rem;
  }
}
@media screen and (max-width: 59.99em) {
  .CatchCopy__Text {
    font-size: 1.4375rem;
  }
}
.CatchCopy__Text::before, .CatchCopy__Text::after {
  display: inline-block;
  color: var(--red-text);
}
.CatchCopy__Text::before {
  margin-right: 0.375rem;
  content: "“";
}
.CatchCopy__Text::after {
  margin-left: 0.375rem;
  content: "”";
}

.SustainabilityColumn {
  position: relative;
  display: grid;
}
@media screen and (min-width: 60em), print {
  .SustainabilityColumn {
    -moz-column-gap: 6.8125rem;
         column-gap: 6.8125rem;
    margin-top: 6.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .SustainabilityColumn {
    margin-top: 5rem;
  }
}

.SustainabilityColumn__Section {
  display: grid;
  align-items: center;
}
@media screen and (min-width: 60em), print {
  .SustainabilityColumn__Section {
    position: relative;
    grid-template-columns: auto 1fr;
    -moz-column-gap: 6.8125rem;
         column-gap: 6.8125rem;
    align-items: stretch;
  }
}
@media screen and (max-width: 59.99em) {
  .SustainabilityColumn__Section {
    row-gap: 2.5rem;
  }
  .SustainabilityColumn__Section + .SustainabilityColumn__Section {
    margin-top: 5rem;
  }
}

.SustainabilityColumn__Image {
  z-index: 0;
}
@media screen and (min-width: 60em), print {
  .SustainabilityColumn__Image {
    -webkit-mask-image: linear-gradient(to bottom, black 0 100%);
            mask-image: linear-gradient(to bottom, black 0 100%);
    position: sticky;
    top: var(--header-nav-height);
    width: 34.765625vw;
    height: calc(100vh - var(--header-nav-height));
    aspect-ratio: 752/718;
  }
}
@media screen and (max-width: 59.99em) {
  .SustainabilityColumn__Image {
    position: relative;
    aspect-ratio: 375/300;
  }
}
.SustainabilityColumn__Image::before {
  position: absolute;
  inset: 0;
  content: "";
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 63.61%);
}
.SustainabilityColumn__Image img,
.SustainabilityColumn__Image picture {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 60em), print {
  .SustainabilityColumn__Image.is-fixed img,
  .SustainabilityColumn__Image.is-fixed picture, .SustainabilityColumn__Image.is-fixed::before {
    position: fixed;
    top: var(--header-nav-height);
    width: inherit;
    height: inherit;
  }
}

.SustainabilityColumn__Title {
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.04em;
  position: absolute;
  display: flex;
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
  align-items: center;
  color: var(--white);
}
@media screen and (min-width: 60em), print {
  .SustainabilityColumn__Title {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .SustainabilityColumn__Title {
    font-size: 1.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .SustainabilityColumn__Title:is(.SustainabilityColumn__Image.is-fixed .SustainabilityColumn__Title) {
    position: fixed;
    top: calc(50% + var(--header-nav-height) * 0.5);
    width: calc(34.765625vw - 2.5rem);
  }
  .SustainabilityColumn__Title {
    top: 50%;
    left: 2.5rem;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 59.99em) {
  .SustainabilityColumn__Title {
    bottom: 1.5rem;
    left: 0.9375rem;
  }
}
.SustainabilityColumn__Title::before {
  display: inline-block;
  color: var(--red-primary);
  content: "-";
}

@media screen and (min-width: 60em), print {
  .SustainabilityColumn__Contents {
    flex: 1;
    align-content: center;
    justify-content: center;
    padding-top: 7.375rem;
    padding-right: max(4vw, (100vw - var(--container-max-width)) / 2);
    padding-bottom: 7.375rem;
  }
}
@media screen and (max-width: 59.99em) {
  .SustainabilityColumn__Contents {
    width: 92%;
    margin-inline: auto;
  }
}

.LinkTileProductJp {
  display: grid;
  row-gap: 2.0625rem;
}
@media screen and (min-width: 60em), print {
  :not([class^=Heading]):not([class*=" Heading"]:not(.LinkTileProductJp)) + .LinkTileProductJp {
    margin-top: 2.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  :not([class^=Heading]):not([class*=" Heading"]:not(.LinkTileProductJp)) + .LinkTileProductJp {
    margin-top: 1.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .LinkTileProductJp {
    grid-template-columns: repeat(4, 1fr);
    -moz-column-gap: 2.5882352941%;
         column-gap: 2.5882352941%;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkTileProductJp {
    grid-template-columns: repeat(auto-fit, minmax(calc(var(--base-rem) * 14), 1fr));
    gap: 2rem;
  }
}

.LinkTileProductJp__Link {
  position: relative;
  z-index: 0;
  display: grid;
  width: 100%;
  outline-offset: -3px;
  overflow: hidden;
}
@media (prefers-reduced-motion: no-preference) {
  .LinkTileProductJp__Link img {
    transition: transform var(--animation-duration);
  }
}
@media (hover: hover) {
  .LinkTileProductJp__Link img:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  .LinkTileProductJp__Link img:is(:where(:any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
}
@media screen and (min-width: 60em), print {
  .LinkTileProductJp__Link {
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkTileProductJp__Link {
    min-height: 11.75rem;
    aspect-ratio: 16/9;
  }
}

.LinkTileProductJp__LinkInner {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 1fr auto;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: end;
  justify-content: space-between;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 60em), print {
  .LinkTileProductJp__LinkInner {
    padding: 1rem 1rem 1.125rem 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkTileProductJp__LinkInner {
    padding: 1rem;
  }
}
.LinkTileProductJp__LinkInner::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 60%);
  opacity: 0.9;
}
.LinkTileProductJp__LinkInner > span {
  position: relative;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--infinity);
  box-shadow: inset 0 0 0 2.25rem var(--red-primary);
  will-change: box-shadow;
}
@media (prefers-reduced-motion: no-preference) {
  .LinkTileProductJp__LinkInner > span {
    transition: box-shadow var(--animation-duration);
  }
}
.LinkTileProductJp__LinkInner > span::after {
  display: block;
  width: 0.6875rem;
  height: 0.9375rem;
  content: "";
  background-color: var(--white);
  transform: translate(2px);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: var(--icon-arrow-circle);
          mask-image: var(--icon-arrow-circle);
}
@media (prefers-reduced-motion: no-preference) {
  .LinkTileProductJp__LinkInner > span::after {
    transition: background-color var(--animation-duration);
  }
}
@media (hover: hover) {
  .LinkTileProductJp__LinkInner > span:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    box-shadow: inset 0 0 0 1.5px var(--red-primary);
  }
  .LinkTileProductJp__LinkInner > span:is(:where(:any-link, :enabled, summary):hover *) {
    box-shadow: inset 0 0 0 1.5px var(--red-primary);
  }
  .LinkTileProductJp__LinkInner > span:is(:where(:-moz-any-link, :enabled, summary):hover *)::after {
    background-color: var(--red-primary);
  }
  .LinkTileProductJp__LinkInner > span:is(:where(:any-link, :enabled, summary):hover *)::after {
    background-color: var(--red-primary);
  }
}

.LinkTileProductJp__Title {
  font-weight: 700;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.04em;
  color: var(--white);
}
.LinkTileProductJp__Background {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
}
.LinkTileProductJp__Background img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.LinkTileProductJp__LinkList {
  display: grid;
  row-gap: 0.5rem;
}
@media screen and (min-width: 60em), print {
  .LinkTileProductJp__LinkList {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkTileProductJp__LinkList {
    margin-top: 1.25rem;
  }
}
.LinkTileProductJp__LinkList a {
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  font-size: 1rem;
  position: relative;
}
.LinkTileProductJp__LinkList a > span {
  position: relative;
  display: inline-block;
  width: 1.375rem;
  height: 1.375rem;
  margin-block: auto;
  margin-left: 0.25rem;
  vertical-align: sub;
  border-radius: var(--infinity);
}
@media (prefers-reduced-motion: no-preference) {
  .LinkTileProductJp__LinkList a > span {
    transition: background-color var(--animation-duration);
  }
}
.LinkTileProductJp__LinkList a > span::after {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: var(--icon-arrow-forward);
          mask-image: var(--icon-arrow-forward);
}
@media (prefers-reduced-motion: no-preference) {
  .LinkTileProductJp__LinkList a > span::after {
    transition: background-color var(--animation-duration);
  }
}
.LinkTileProductJp__LinkList a > span::before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  border-radius: var(--infinity);
  transform: scale3d(0, 0, 0);
}
@media (prefers-reduced-motion: no-preference) {
  .LinkTileProductJp__LinkList a > span::before {
    transition: transform var(--animation-duration);
  }
}
a[href^="#"] .LinkTileProductJp__LinkList a > span::after {
  -webkit-mask-image: var(--icon-anchor);
          mask-image: var(--icon-anchor);
}
a[target=_blank] .LinkTileProductJp__LinkList a > span::after {
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}
a[href*=".pdf"] .LinkTileProductJp__LinkList a > span::after {
  width: 1rem;
  height: 1rem;
  background-color: transparent;
  background-image: var(--icon-pdf);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-mask: none;
          mask: none;
}
a[href*=".pdf"] .LinkTileProductJp__LinkList a > span::before {
  background-color: var(--red-text);
}
a:not([href^="#"]):not([target=_blank]):not([href*=".pdf"]) .LinkTileProductJp__LinkList a > span::after {
  transform: translateX(1px);
}
.LinkTileProductJp__LinkList a[href^="#"] > span::after {
  -webkit-mask-image: var(--icon-anchor);
          mask-image: var(--icon-anchor);
}
.LinkTileProductJp__LinkList a[target=_blank] > span::after {
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}
.LinkTileProductJp__LinkList a[href*=".pdf"] > span::after {
  width: 1rem;
  height: 1rem;
  background-color: transparent;
  background-image: var(--icon-pdf);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-mask: none;
          mask: none;
}
.LinkTileProductJp__LinkList a[href*=".pdf"] > span::before {
  background-color: var(--red-text);
}
.LinkTileProductJp__LinkList a:not([href^="#"]):not([target=_blank]):not([href*=".pdf"]) > span::after {
  transform: translateX(1px);
}
@media (hover: hover) {
  .LinkTileProductJp__LinkList a:where(:-moz-any-link, :enabled, summary):hover > span::after {
    background-color: var(--white);
  }
  .LinkTileProductJp__LinkList a:where(:any-link, :enabled, summary):hover > span::after {
    background-color: var(--white);
  }
  .LinkTileProductJp__LinkList a:where(:-moz-any-link, :enabled, summary):hover > span::before {
    transform: scale3d(1, 1, 1);
  }
  .LinkTileProductJp__LinkList a:where(:any-link, :enabled, summary):hover > span::before {
    transform: scale3d(1, 1, 1);
  }
}

.LinkTileProductEn {
  display: grid;
  row-gap: 2.0625rem;
}
@media screen and (min-width: 60em), print {
  :not([class^=Heading]):not([class*=" Heading"]:not(.LinkTileProductEn)) + .LinkTileProductEn {
    margin-top: 2.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  :not([class^=Heading]):not([class*=" Heading"]:not(.LinkTileProductEn)) + .LinkTileProductEn {
    margin-top: 1.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .LinkTileProductEn {
    grid-template-columns: repeat(auto-fill, minmax(16.25rem, 1fr));
    -moz-column-gap: 2.5882352941%;
         column-gap: 2.5882352941%;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkTileProductEn {
    grid-template-columns: repeat(auto-fit, minmax(calc(var(--base-rem) * 14), 1fr));
    gap: 1.25rem;
  }
}

.LinkTileProductEn__Link {
  position: relative;
  z-index: 0;
  display: grid;
  grid-template-columns: 1fr auto;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: flex-end;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
@media (prefers-reduced-motion: no-preference) {
  .LinkTileProductEn__Link img {
    transition: transform var(--animation-duration);
  }
}
@media (hover: hover) {
  .LinkTileProductEn__Link img:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  .LinkTileProductEn__Link img:is(:where(:any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
}
@media screen and (min-width: 60em), print {
  .LinkTileProductEn__Link {
    aspect-ratio: 1/1;
    padding: 1rem 1rem 1.125rem 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .LinkTileProductEn__Link {
    min-height: 11.75rem;
    aspect-ratio: 16/9;
    padding: 1rem;
  }
}
.LinkTileProductEn__Link::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 60%);
  opacity: 0.9;
}
.LinkTileProductEn__Link > span {
  position: relative;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--infinity);
  box-shadow: inset 0 0 0 2.25rem var(--red-primary);
  will-change: box-shadow;
}
@media (prefers-reduced-motion: no-preference) {
  .LinkTileProductEn__Link > span {
    transition: box-shadow var(--animation-duration);
  }
}
.LinkTileProductEn__Link > span::after {
  display: block;
  width: 0.6875rem;
  height: 0.9375rem;
  content: "";
  background-color: var(--white);
  transform: translate(2px);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: var(--icon-arrow-circle);
          mask-image: var(--icon-arrow-circle);
}
@media (prefers-reduced-motion: no-preference) {
  .LinkTileProductEn__Link > span::after {
    transition: background-color var(--animation-duration);
  }
}
@media (hover: hover) {
  .LinkTileProductEn__Link > span:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    box-shadow: inset 0 0 0 1.5px var(--red-primary);
  }
  .LinkTileProductEn__Link > span:is(:where(:any-link, :enabled, summary):hover *) {
    box-shadow: inset 0 0 0 1.5px var(--red-primary);
  }
  .LinkTileProductEn__Link > span:is(:where(:-moz-any-link, :enabled, summary):hover *)::after {
    background-color: var(--red-primary);
  }
  .LinkTileProductEn__Link > span:is(:where(:any-link, :enabled, summary):hover *)::after {
    background-color: var(--red-primary);
  }
}

.LinkTileProductEn__Title {
  font-weight: 700;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.04em;
  color: var(--white);
}
@media (prefers-reduced-motion: no-preference) {
  .LinkTileProductEn__Title {
    transition: opacity var(--animation-duration);
  }
}
@media (hover: hover) {
  .LinkTileProductEn__Title:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    opacity: 0;
  }
  .LinkTileProductEn__Title:is(:where(:any-link, :enabled, summary):hover *) {
    opacity: 0;
  }
}

.LinkTileProductEn__Name {
  font-weight: 700;
  line-height: 1.75;
  font-size: 1rem;
  letter-spacing: 0.04em;
  color: var(--white);
}
.LinkTileProductEn__Background {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
}
.LinkTileProductEn__Background::after {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
  background-color: rgba(0, 0, 0, 0.7);
  opacity: 0;
}
@media (prefers-reduced-motion: no-preference) {
  .LinkTileProductEn__Background::after {
    transition: opacity var(--animation-duration);
  }
}
@media (hover: hover) {
  .LinkTileProductEn__Background:is(:where(:-moz-any-link, :enabled, summary):hover *)::after {
    opacity: 1;
  }
  .LinkTileProductEn__Background:is(:where(:any-link, :enabled, summary):hover *)::after {
    opacity: 1;
  }
}
.LinkTileProductEn__Background img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.LinkTileProductEn__Content {
  display: grid;
  align-content: end;
  width: 100%;
  height: 100%;
}

.LinkTileProductEn__LinkListWrapper {
  display: grid;
  grid-template-rows: 0fr;
}
@media (prefers-reduced-motion: no-preference) {
  .LinkTileProductEn__LinkListWrapper {
    transition: grid-template-rows var(--animation-duration);
  }
}
@media (hover: hover) {
  .LinkTileProductEn__LinkListWrapper:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    grid-template-rows: 1fr;
  }
  .LinkTileProductEn__LinkListWrapper:is(:where(:any-link, :enabled, summary):hover *) {
    grid-template-rows: 1fr;
  }
}

.LinkTileProductEn__LinkList {
  display: grid;
  row-gap: 0.125rem;
  overflow: hidden;
}
.LinkTileProductEn__LinkList li {
  font-weight: 400;
  line-height: 1.7;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  display: grid;
  grid-auto-flow: column;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  align-items: baseline;
  justify-content: start;
  color: var(--gray-100);
}
.LinkTileProductEn__LinkList li:first-child {
  margin-top: 0.25rem;
}
.LinkTileProductEn__LinkList li::before {
  display: block;
  width: 0.375rem;
  height: 0.375rem;
  content: "";
  background-color: var(--gray-800);
  border-radius: var(--infinity);
  transform: translateY(-0.1em);
}

.SolutionAccordion {
  display: grid;
  background-color: var(--gray-50);
}
@media screen and (min-width: 60em), print {
  .SolutionAccordion {
    row-gap: 1.75rem;
    padding: 2.25rem 2.5rem;
    margin-top: 3.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .SolutionAccordion {
    row-gap: 1.5rem;
    padding: 1.25rem;
    margin-top: 3rem;
  }
}
.SolutionAccordion + .SolutionAccordion {
  margin-top: 1.25rem;
}

.SolutionAccordion__Inner {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .SolutionAccordion__Inner {
    grid-auto-flow: column;
    -moz-column-gap: 1.75rem;
         column-gap: 1.75rem;
    justify-content: space-between;
  }
}
@media screen and (max-width: 59.99em) {
  .SolutionAccordion__Inner {
    row-gap: 1.25rem;
  }
}

@media screen and (min-width: 60em), print {
  .SolutionAccordion__Image {
    grid-column-start: 2;
    max-width: 18.375rem;
  }
}
.SolutionAccordion__Image img {
  width: 100%;
}

.SolutionAccordion__Title {
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
  display: grid;
}
@media screen and (min-width: 60em), print {
  .SolutionAccordion__Title {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .SolutionAccordion__Title {
    font-size: 1.1875rem;
  }
}
@media screen and (min-width: 60em), print {
  .SolutionAccordion__Title {
    grid-auto-flow: column;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    align-items: center;
    justify-content: start;
  }
}
@media screen and (max-width: 59.99em) {
  .SolutionAccordion__Title {
    row-gap: 0.25rem;
  }
}
.SolutionAccordion__Title > span {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.7;
  color: var(--gray-800);
  letter-spacing: 0.04em;
}

.SolutionAccordion__Details {
  position: relative;
  padding-bottom: 2.5rem;
}
.SolutionAccordion__Details summary {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 2.5rem;
}

.SolutionAccordion__Button {
  position: absolute;
  right: 0;
  left: 0;
  display: grid;
  grid-auto-flow: column;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: center;
  justify-content: start;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  font-size: 1rem;
  opacity: 1;
  transition: opacity 0.5s;
}
.SolutionAccordion__Button span {
  position: relative;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--infinity);
  box-shadow: inset 0 0 0 2.25rem var(--red-primary);
  will-change: box-shadow;
}
.SolutionAccordion__Button span::after {
  display: block;
  width: 0.6875rem;
  height: 0.9375rem;
  content: "";
  background-color: var(--white);
  -webkit-mask-image: var(--icon-arrow-circle);
          mask-image: var(--icon-arrow-circle);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  transform: rotate(90deg) translateX(0.1rem);
}
@media (prefers-reduced-motion: no-preference) {
  .SolutionAccordion__Button span::after {
    transition: background-color var(--animation-duration);
  }
  .SolutionAccordion__Button span {
    transition: box-shadow var(--animation-duration);
  }
}
@media (hover: hover) {
  .SolutionAccordion__Button span:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    box-shadow: inset 0 0 0 1.5px var(--red-primary);
  }
  .SolutionAccordion__Button span:is(:where(:any-link, :enabled, summary):hover *) {
    box-shadow: inset 0 0 0 1.5px var(--red-primary);
  }
  .SolutionAccordion__Button span:is(:where(:-moz-any-link, :enabled, summary):hover *)::after {
    background-color: var(--red-primary);
  }
  .SolutionAccordion__Button span:is(:where(:any-link, :enabled, summary):hover *)::after {
    background-color: var(--red-primary);
  }
}
.SolutionAccordion__Button.SolutionAccordion__Button--open:is(details[open]:not(.is-closing) .SolutionAccordion__Button.SolutionAccordion__Button--open) {
  visibility: hidden;
  opacity: 0;
}
.SolutionAccordion__Button.SolutionAccordion__Button--close:is(details:not([open]) .SolutionAccordion__Button.SolutionAccordion__Button--close), .SolutionAccordion__Button.SolutionAccordion__Button--close:is(details.is-closing .SolutionAccordion__Button.SolutionAccordion__Button--close) {
  visibility: hidden;
  opacity: 0;
}
.SolutionAccordion__Button.SolutionAccordion__Button--close span::after {
  transform: rotate(-90deg) translateX(0.1rem);
}

.SolutionAccordion__LinkList {
  display: flex;
  flex-wrap: wrap;
  row-gap: 0.75rem;
  -moz-column-gap: 1.75rem;
       column-gap: 1.75rem;
  border-top: solid 1px var(--gray-200);
}
@media screen and (min-width: 60em), print {
  .SolutionAccordion__LinkList {
    padding-top: 1.75rem;
    padding-bottom: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .SolutionAccordion__LinkList {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}
.SolutionAccordion__LinkList a {
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  font-size: 1rem;
  position: relative;
  color: var(--gray-900);
}
.SolutionAccordion__LinkList a > span {
  position: relative;
  display: inline-block;
  width: 1.375rem;
  height: 1.375rem;
  margin-block: auto;
  margin-left: 0.25rem;
  vertical-align: sub;
  border-radius: var(--infinity);
}
@media (prefers-reduced-motion: no-preference) {
  .SolutionAccordion__LinkList a > span {
    transition: background-color var(--animation-duration);
  }
}
.SolutionAccordion__LinkList a > span::after {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: var(--icon-arrow-forward);
          mask-image: var(--icon-arrow-forward);
}
@media (prefers-reduced-motion: no-preference) {
  .SolutionAccordion__LinkList a > span::after {
    transition: background-color var(--animation-duration);
  }
}
.SolutionAccordion__LinkList a > span::before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "";
  background-color: var(--red-primary);
  border-radius: var(--infinity);
  transform: scale3d(0, 0, 0);
}
@media (prefers-reduced-motion: no-preference) {
  .SolutionAccordion__LinkList a > span::before {
    transition: transform var(--animation-duration);
  }
}
a[href^="#"] .SolutionAccordion__LinkList a > span::after {
  -webkit-mask-image: var(--icon-anchor);
          mask-image: var(--icon-anchor);
}
a[target=_blank] .SolutionAccordion__LinkList a > span::after {
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}
a[href*=".pdf"] .SolutionAccordion__LinkList a > span::after {
  width: 1rem;
  height: 1rem;
  background-color: transparent;
  background-image: var(--icon-pdf);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-mask: none;
          mask: none;
}
a[href*=".pdf"] .SolutionAccordion__LinkList a > span::before {
  background-color: var(--red-text);
}
a:not([href^="#"]):not([target=_blank]):not([href*=".pdf"]) .SolutionAccordion__LinkList a > span::after {
  transform: translateX(1px);
}
.SolutionAccordion__LinkList a[href^="#"] > span::after {
  -webkit-mask-image: var(--icon-anchor);
          mask-image: var(--icon-anchor);
}
.SolutionAccordion__LinkList a[target=_blank] > span::after {
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}
.SolutionAccordion__LinkList a[href*=".pdf"] > span::after {
  width: 1rem;
  height: 1rem;
  background-color: transparent;
  background-image: var(--icon-pdf);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-mask: none;
          mask: none;
}
.SolutionAccordion__LinkList a[href*=".pdf"] > span::before {
  background-color: var(--red-text);
}
.SolutionAccordion__LinkList a:not([href^="#"]):not([target=_blank]):not([href*=".pdf"]) > span::after {
  transform: translateX(1px);
}
@media (hover: hover) {
  .SolutionAccordion__LinkList a:where(:-moz-any-link, :enabled, summary):hover > span::after {
    background-color: var(--white);
  }
  .SolutionAccordion__LinkList a:where(:any-link, :enabled, summary):hover > span::after {
    background-color: var(--white);
  }
  .SolutionAccordion__LinkList a:where(:-moz-any-link, :enabled, summary):hover > span::before {
    transform: scale3d(1, 1, 1);
  }
  .SolutionAccordion__LinkList a:where(:any-link, :enabled, summary):hover > span::before {
    transform: scale3d(1, 1, 1);
  }
}

.BrandHeading02 {
  position: relative;
  display: grid;
}
@media screen and (min-width: 60em), print {
  .BrandHeading02 {
    align-items: center;
    min-height: 20rem;
  }
}
@media screen and (max-width: 59.99em) {
  .BrandHeading02 {
    align-items: end;
    min-height: 18.75rem;
  }
}

.BrandHeading02__Background {
  position: absolute;
  inset: 0;
  z-index: -1;
}

.BrandHeading02__Image {
  width: 100%;
  height: 100%;
}
.BrandHeading02__Image::before {
  position: absolute;
  inset: 0;
  content: "";
}
@media screen and (min-width: 60em), print {
  .BrandHeading02__Image::before {
    background-image: linear-gradient(90deg, rgba(36, 43, 48, 0.9) 22.04%, rgba(36, 43, 48, 0) 70.12%);
  }
}
@media screen and (max-width: 59.99em) {
  .BrandHeading02__Image::before {
    background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 63.61%);
  }
}
.BrandHeading02__Image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.BrandHeading02__Inner {
  display: grid;
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .BrandHeading02__Inner {
    align-items: center;
    width: var(--container-width);
    height: 100%;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .BrandHeading02__Inner {
    width: 92%;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}

.BrandHeading02__Heading {
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.04em;
  display: flex;
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
  align-items: center;
  color: var(--white);
}
@media screen and (min-width: 60em), print {
  .BrandHeading02__Heading {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .BrandHeading02__Heading {
    font-size: 1.75rem;
  }
}
.BrandHeading02__Heading::before {
  display: inline-block;
  color: var(--red-primary);
  content: "-";
}

.BrandHeading02__Text {
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  font-size: 1rem;
  margin-top: 1.5rem;
  color: var(--white);
}
.BrandHero {
  position: relative;
  grid-template-rows: auto 1fr;
  align-content: space-between;
  -webkit-mask-image: linear-gradient(to bottom, black 0 100%);
          mask-image: linear-gradient(to bottom, black 0 100%);
}
@media screen and (min-width: 60em), print {
  .BrandHero {
    display: grid;
    height: 36.25rem;
    padding-top: 0.9375rem;
  }
}
@media screen and (max-width: 59.99em) {
  .BrandHero {
    display: grid;
    min-height: 16.375rem;
  }
}

.BrandHero__Background {
  position: absolute;
  inset: 0;
  z-index: -1;
}
@media screen and (min-width: 60em), print {
  .BrandHero__Background.is-fixed {
    position: fixed;
    top: var(--header-nav-height);
    height: inherit;
  }
}

.BrandHero__Image {
  position: relative;
  width: 100%;
  height: 100%;
}
.BrandHero__Image::before {
  position: absolute;
  inset: 0;
  content: "";
}
@media screen and (min-width: 60em), print {
  .BrandHero__Image::before {
    background-image: linear-gradient(90deg, rgba(36, 43, 48, 0.9) 22.04%, rgba(36, 43, 48, 0) 70.12%);
  }
}
@media screen and (max-width: 59.99em) {
  .BrandHero__Image::before {
    background-image: linear-gradient(0deg, var(--gray-900) -2.25%, rgba(36, 43, 48, 0.4) 100%);
  }
}
.BrandHero__Image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 59.99em) {
  .BrandHero__Image img {
    -o-object-position: top right;
       object-position: top right;
  }
}

.BrandHero__Inner {
  display: grid;
  align-items: center;
  height: 100%;
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .BrandHero__Inner {
    width: var(--container-width);
    padding-top: 5.5rem;
    padding-bottom: 5.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .BrandHero__Inner {
    width: 92%;
    padding-top: 2.5rem;
    padding-bottom: 3rem;
  }
}

.BrandHero__Heading {
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.04em;
  display: flex;
  flex-direction: column;
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
  color: var(--white);
}
@media screen and (min-width: 60em), print {
  .BrandHero__Heading {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .BrandHero__Heading {
    font-size: 1.75rem;
  }
}
.BrandHero__Heading span {
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  font-size: 1rem;
  margin-top: 1.5rem;
  color: var(--white);
}
.BrandStrong__Texts {
  display: grid;
  justify-content: center;
}
.BrandStrong__Texts strong {
  aspect-ratio: 1058/94;
  margin-inline: auto;
  color: var(--black);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
@media screen and (min-width: 60em), print {
  .BrandStrong__Texts strong {
    width: 83%;
    height: 5.875rem;
    -webkit-mask-image: url(/common/images/text_0002.svg);
            mask-image: url(/common/images/text_0002.svg);
  }
}
@media screen and (max-width: 59.99em) {
  .BrandStrong__Texts strong {
    width: 85%;
    max-width: 20rem;
    height: 9.75rem;
    -webkit-mask-image: url(/common/images/text_0002_3line.svg);
            mask-image: url(/common/images/text_0002_3line.svg);
  }
}

.BrandPurpose {
  text-align: center;
}
@media screen and (min-width: 60em), print {
  .BrandPurpose {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .BrandPurpose {
    width: 85%;
    margin-inline: auto;
    margin-top: 3rem;
  }
}

.BrandPurpose__Heading {
  position: relative;
  font-weight: 700;
  line-height: 1.4;
  color: var(--gray-800);
}
@media screen and (min-width: 60em), print {
  .BrandPurpose__Heading {
    padding-bottom: 1rem;
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .BrandPurpose__Heading {
    padding-bottom: 0.75rem;
    font-size: 1rem;
  }
}
.BrandPurpose__Heading::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  display: inline-block;
  width: 1rem;
  height: 2px;
  content: "";
  background-color: var(--red-primary);
  transform: translateX(-50%);
}

.BrandPurpose__Text {
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 60em), print {
  .BrandPurpose__Text {
    padding-top: 1rem;
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .BrandPurpose__Text {
    padding-top: 0.75rem;
    font-size: 1.25rem;
  }
}

.BrandSlider {
  position: relative;
  cursor: grab;
}
@media screen and (min-width: 60em), print {
  .BrandSlider {
    height: 16.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .BrandSlider {
    height: 10.375rem;
  }
}

.BrandSlider__Toggle {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  display: grid;
  place-items: center;
}
@media screen and (min-width: 60em), print {
  .BrandSlider__Toggle {
    width: 2.5rem;
    height: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .BrandSlider__Toggle {
    width: 2.25rem;
    height: 2.25rem;
  }
}
.BrandSlider__Toggle::before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: rgba(255, 255, 255, 0.8);
}
@media (prefers-reduced-motion: no-preference) {
  .BrandSlider__Toggle::before {
    transition: transform var(--animation-duration);
  }
}
@media (hover: hover) {
  .BrandSlider__Toggle:where(:-moz-any-link, :enabled, summary):hover::before {
    transform: scale3d(1.2, 1.2, 1.2);
  }
  .BrandSlider__Toggle:where(:any-link, :enabled, summary):hover::before {
    transform: scale3d(1.2, 1.2, 1.2);
  }
}

.BrandSlider__TogglePause,
.BrandSlider__TogglePlay {
  width: 0.625rem;
  height: 0.625rem;
  background-color: var(--gray-900);
}

.BrandSlider__TogglePlay {
  -webkit-clip-path: var(--path-triangle);
          clip-path: var(--path-triangle);
  transform: translateX(1px);
}

.BrandSlider__TogglePause {
  -webkit-clip-path: var(--path-stop);
          clip-path: var(--path-stop);
}

@media screen and (min-width: 60em), print {
  .BrandSection {
    margin-top: 6.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .BrandSection {
    margin-top: 5rem;
  }
}

@media screen and (min-width: 60em), print {
  .BrandSection__Width {
    margin-top: 3.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .BrandSection__Width {
    margin-top: 2.5rem;
  }
}

.CircleImageColumn {
  display: flex;
  justify-content: space-between;
  margin: auto;
}
@media screen and (min-width: 60em), print {
  .CircleImageColumn {
    -moz-column-gap: 11.25rem;
         column-gap: 11.25rem;
    max-width: 55.75rem;
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .CircleImageColumn {
    -moz-column-gap: 2.875rem;
         column-gap: 2.875rem;
    max-width: 37.5rem;
    margin-top: 2rem;
  }
}

.CircleImageColumn__Item {
  position: relative;
  flex-basis: 0;
  flex-grow: 1;
  flex-shrink: 0;
}
.CircleImageColumn__Item img {
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 60em), print {
  .CircleImageColumn__Item img {
    width: 10rem;
    height: 10rem;
  }
}
@media screen and (max-width: 59.99em) {
  .CircleImageColumn__Item img {
    aspect-ratio: 1/1;
  }
}
.CircleImageColumn__Item:not(:first-of-type)::after {
  position: absolute;
  content: "";
  background-color: var(--gray-800);
  -webkit-mask-image: var(--icon-close);
          mask-image: var(--icon-close);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media screen and (min-width: 60em), print {
  .CircleImageColumn__Item:not(:first-of-type)::after {
    top: 3.125rem;
    left: -8.4375rem;
    width: 3.75rem;
    height: 3.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .CircleImageColumn__Item:not(:first-of-type)::after {
    top: calc(50% - 1.625rem);
    left: -2.5rem;
    width: 2rem;
    height: 2rem;
  }
}

.CircleImageColumn__Figure {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 60em), print {
  .CircleImageColumn__Figure {
    row-gap: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .CircleImageColumn__Figure {
    row-gap: 0.6875rem;
  }
}

.CircleImageColumn__Caption {
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 60em), print {
  .CircleImageColumn__Caption {
    font-size: 1.25rem;
    line-height: 1.6;
  }
}
@media screen and (max-width: 59.99em) {
  .CircleImageColumn__Caption {
    font-size: 0.6875rem;
    line-height: 1.5;
  }
}

@media screen and (min-width: 60em), print {
  .SitemapSection:not(:last-child) {
    padding-bottom: 3.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .SitemapSection:not(:last-child) {
    padding-bottom: 1.75rem;
  }
}
.SitemapSection + .SitemapSection {
  border-top: 1px solid var(--gray-100);
}
@media screen and (min-width: 60em), print {
  .SitemapSection + .SitemapSection {
    padding-top: 3.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .SitemapSection + .SitemapSection {
    padding-top: 1.75rem;
  }
}

:not([class^=Heading]):not([class*=" Heading"]:not(.ButtonTitle)) + .ButtonTitle {
  margin-top: 1.75rem;
}
.ButtonTitle:not(:last-child) {
  margin-bottom: 1.75rem;
}
.ButtonTitle a {
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  position: relative;
  display: inline-grid;
  grid-auto-flow: column;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: center;
  justify-content: start;
  transition: color var(--animation-duration);
}
@media screen and (min-width: 60em), print {
  .ButtonTitle a {
    font-size: 1.6875rem;
  }
}
@media screen and (max-width: 59.99em) {
  .ButtonTitle a {
    font-size: 1.4375rem;
  }
}

.ButtonTitle__Icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--infinity);
  box-shadow: inset 0 0 0 2.25rem var(--red-primary);
  will-change: box-shadow;
}
@media (prefers-reduced-motion: no-preference) {
  .ButtonTitle__Icon {
    transition: box-shadow var(--animation-duration);
  }
}
.ButtonTitle__Icon::after {
  display: block;
  width: 0.6875rem;
  height: 0.9375rem;
  content: "";
  background-color: var(--white);
  transition: background-color var(--animation-duration);
  transform: translate(2px);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: var(--icon-arrow-circle);
          mask-image: var(--icon-arrow-circle);
}
@media (hover: hover) {
  .ButtonTitle__Icon:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    box-shadow: inset 0 0 0 1.5px var(--red-primary);
  }
  .ButtonTitle__Icon:is(:where(:any-link, :enabled, summary):hover *) {
    box-shadow: inset 0 0 0 1.5px var(--red-primary);
  }
  .ButtonTitle__Icon:is(:where(:-moz-any-link, :enabled, summary):hover *)::after {
    background-color: var(--red-primary);
  }
  .ButtonTitle__Icon:is(:where(:any-link, :enabled, summary):hover *)::after {
    background-color: var(--red-primary);
  }
}

.Search .mf_finder_searchBox_doctype_select {
  width: auto;
  transition: background-color var(--animation-duration), color var(--animation-duration);
}
@media (hover: hover) {
  .Search .mf_finder_searchBox_doctype_select:where(:-moz-any-link, :enabled, summary):hover {
    color: var(--white);
    background-color: var(--gray-800);
  }
  .Search .mf_finder_searchBox_doctype_select:where(:any-link, :enabled, summary):hover {
    color: var(--white);
    background-color: var(--gray-800);
  }
}
.Search .mf_finder_searchBox_submit {
  transition: opacity var(--animation-duration);
}
@media (hover: hover) {
  .Search .mf_finder_searchBox_submit:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
  .Search .mf_finder_searchBox_submit:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
}
@media screen and (min-width: 60em), print {
  .Search .mf_finder_searchBox_doctype {
    background-color: var(--white);
  }
  .Search .mf_finder_searchBox_doctype::after {
    transition: color var(--animation-duration);
  }
  .Search .mf_finder_searchBox_doctype:has(.mf_finder_searchBox_doctype_select:hover) {
    color: var(--white);
  }
}
@media screen and (max-width: 59.99em) {
  .Search .mf_finder_searchBox_doctype {
    display: none;
  }
}
.Search .mf_finder_searchBox_query_wrap {
  background-color: var(--white);
}
@media screen and (max-width: 59.99em) {
  .Search .mf_finder_searchBox_links {
    display: none;
  }
}
.Search .mf_finder_organic_doc {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .Search .mf_finder_organic_doc {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
  .Search .mf_finder_organic_doc:is(.mf_imgsize_1 *) {
    grid-template-columns: 6.125rem 1fr;
  }
  .Search .mf_finder_organic_doc:is(.mf_imgsize_2 *) {
    grid-template-columns: 7.625rem 1fr;
  }
  .Search .mf_finder_organic_doc:is(.mf_imgsize_3 *) {
    grid-template-columns: 12.625rem 1fr;
  }
}
.Search .mf_finder_organic_doc_contents_wrapper:only-child {
  grid-column: 1/3;
}
.Search .mf_finder_organic_doc_body {
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  font-size: 1rem;
}
.Search .mf_finder_link:has(img) {
  display: block;
  overflow: hidden;
}
@media (prefers-reduced-motion: no-preference) {
  .Search .mf_finder_link:has(img) img {
    transition: transform var(--animation-duration);
  }
}
@media (hover: hover) {
  .Search .mf_finder_link:has(img) img:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  .Search .mf_finder_link:has(img) img:is(:where(:any-link, :enabled, summary):hover *) {
    transform: scale3d(1.1, 1.1, 1.1);
  }
}
.Search .mf_finder_organic_doc_img_wrapper {
  margin-right: 0;
}
@media screen and (max-width: 59.99em) {
  .Search .mf_finder_organic_doc_img_wrapper {
    display: none;
  }
}
.Search .mf_finder_organic_doc_img {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  max-height: none !important;
  margin-bottom: 0 !important;
}
.Search a.mf_finder_organic_doc_title_wrapper {
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.04em;
  display: inline;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: 100% 1px;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
}
@media screen and (min-width: 60em), print {
  .Search a.mf_finder_organic_doc_title_wrapper {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Search a.mf_finder_organic_doc_title_wrapper {
    font-size: 1.0625rem;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .Search a.mf_finder_organic_doc_title_wrapper {
    transition: background-size 0.3s ease-out;
  }
}
@media (hover: hover) {
  .Search a.mf_finder_organic_doc_title_wrapper:where(:-moz-any-link, :enabled, summary):hover {
    background-position: bottom right;
    background-size: 0 1px;
  }
  .Search a.mf_finder_organic_doc_title_wrapper:where(:any-link, :enabled, summary):hover {
    background-position: bottom right;
    background-size: 0 1px;
  }
}
.Search a.mf_finder_organic_doc_title_wrapper:link, .Search a.mf_finder_organic_doc_title_wrapper:visited {
  color: black;
  text-decoration: none;
}
.Search .mf_finder_organic_doc_body_wrapper {
  margin-top: 0.5rem;
}
.Search .mf_finder_organic_doc_url {
  font-weight: 400;
  line-height: 1.7;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
}
.Search .mf_finder_organic_doc_url:hover {
  text-decoration: none;
}
.Search .mf_finder_organic_doc_url > span {
  padding-bottom: 0.125rem;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 0 1px;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
}
@media (prefers-reduced-motion: no-preference) {
  .Search .mf_finder_organic_doc_url > span {
    transition: background-size 0.3s ease-out;
  }
}
@media (hover: hover) {
  .Search .mf_finder_organic_doc_url > span:is(:where(:-moz-any-link, :enabled, summary):hover *) {
    background-position: bottom left;
    background-size: 100% 1px;
  }
  .Search .mf_finder_organic_doc_url > span:is(:where(:any-link, :enabled, summary):hover *) {
    background-position: bottom left;
    background-size: 100% 1px;
  }
}
.Search .mf_finder_relatedkeywords {
  padding: 1.25rem;
  background-color: var(--gray-100);
}
.Search .mf_finder_relatedkeywords_head {
  padding: 0;
}
.Search .mf_finder_relatedkeywords_head::before {
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .Search .mf_finder_relatedkeywords_head::before {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Search .mf_finder_relatedkeywords_head::before {
    font-size: 1.1875rem;
  }
}
.Search .mf_finder_relatedkeywords_items {
  margin-top: 0.875rem;
  margin-left: 0;
}
.Search .mf_finder_relatedkeywords_item_link {
  transition: background-color 0.2s;
}
.Search .mf_finder_pager_items > li {
  overflow: visible;
}
.Search .mf_finder_pager_items > li a {
  position: relative;
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.125rem;
  padding: 0;
  background-color: transparent;
  isolation: isolate;
}
.Search .mf_finder_pager_items > li a::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  transform: scale3d(1, 1, 1);
}
@media (prefers-reduced-motion: no-preference) {
  .Search .mf_finder_pager_items > li a::before {
    transition: transform var(--animation-duration);
  }
}
.Search .mf_finder_pager_items > li a:is(.mf_finder_pager_item_prev *)::before, .Search .mf_finder_pager_items > li a:is(.mf_finder_pager_item_next *)::before, .Search .mf_finder_pager_items > li a:is(.mf_finder_pager_item_first *)::before {
  background-color: var(--gray-800);
}
.Search .mf_finder_pager_items > li a:not(:is(.mf_finder_pager_item_prev *)):not(:is(.mf_finder_pager_item_next *)):not(:is(.mf_finder_pager_item_first *))::before {
  background-color: var(--black);
}
.Search .mf_finder_pager_items > li a span {
  display: grid;
  place-items: center;
  height: 1.875rem;
}
@media (hover: hover) {
  .Search .mf_finder_pager_items > li a:where(:-moz-any-link, :enabled, summary):hover::before {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  .Search .mf_finder_pager_items > li a:where(:any-link, :enabled, summary):hover::before {
    transform: scale3d(1.1, 1.1, 1.1);
  }
}

.Search__All__Label {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}

.Search__All__Input {
  display: grid;
  grid-template-columns: 1fr auto;
  width: 100%;
  margin-top: 1.125rem;
  overflow: hidden;
}
.Search__All__Input input {
  padding-right: 1rem;
  padding-left: 1rem;
  background-color: var(--white);
  outline-offset: -2px;
}
.Search__All__Input button {
  color: white;
  text-align: center;
  background-color: #b1000e;
  outline-offset: -4px;
}
@media screen and (min-width: 60em), print {
  .Search__All__Input button {
    width: 12.5rem;
    padding: 0.625rem;
  }
}
@media screen and (max-width: 59.99em) {
  .Search__All__Input button {
    width: -moz-fit-content;
    width: fit-content;
    padding: 0.625rem 1.5rem;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .Search__All__Input button {
    transition: opacity var(--animation-duration);
  }
}
@media (hover: hover) {
  .Search__All__Input button:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.7;
  }
  .Search__All__Input button:where(:any-link, :enabled, summary):hover {
    opacity: 0.7;
  }
}

.PrincipleBox {
  height: 100%;
}

.PrincipleBox__Header {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .PrincipleBox__Header {
    grid-template-columns: 4.5rem 1fr;
    -moz-column-gap: 1.75rem;
         column-gap: 1.75rem;
    align-items: center;
  }
}
@media screen and (max-width: 59.99em) {
  .PrincipleBox__Header {
    row-gap: 0.5rem;
  }
}

.PrincipleBox__Heading {
  font-weight: 700;
  line-height: 1.5;
  color: black;
}
@media screen and (min-width: 60em), print {
  .PrincipleBox__Heading {
    font-size: 1.6875rem;
  }
}
@media screen and (max-width: 59.99em) {
  .PrincipleBox__Heading {
    font-size: 1.4375rem;
  }
}

.PrincipleBox__SubHeading {
  color: var(--gray-800);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 60em), print {
  .PrincipleBox__SubHeading {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .PrincipleBox__SubHeading {
    font-size: 1.0625rem;
  }
}