@charset "UTF-8";
/*
 * style.css
 */
@layer foundation, reset, wordpress, vendor, layout, component, project, utility;
@layer foundation {
  :root {
    --font-family: "M PLUS 2", sans-serif;
    --font-family-serif: "Noto Serif", serif;
    --font-family-en: "avenir-next-lt-pro", sans-serif;
    --accent-color: #FF3D1D;
    --main-color: #003BA8;
    --sub-color: #74CFFF;
    --sub-color-light: #F1F3F4;
    --sub-color-dull: #E2E7EA;
    --alert-color: #D92E2E;
    --c-white: #fff;
    --c-black: #141A21;
    --c-dark: #323232;
    --c-gray: #D8D8D8;
    --c-gray-light: #F8F8F8;
    --c-gray-lighter: #fafafa;
    --c-gray-dark: #9D9D9D;
    --c-optitrack: #00A9ED;
    --c-captury: #862284;
    --c-movin: #E3FE2B;
    --c-moa: #F26132;
    --c-rokoko: #2F82F2;
    --c-manus: #7ADCB5;
    --c-g6-mocap-gloves: #036364;
    --c-bunshin-hmc: #37C1B1;
    --c-yanus-studio: #E8597A;
    --c-3d-facial-scan: #3262BA;
    --c-rigfx: #EE7E1B;
    --c-stretchsense: #014688;
    --c-nansense: #EA2A40;
    --c-virtual-production: #EE7E1B;
    --padding-inline-container: calc(16 / 375 * 100%);
    --max-inline-size-small: 912px;
    --max-inline-size: 1208px;
    --max-inline-size-large: 1608px;
  }
  :root {
    --z-index-header: 100;
    --z-index-spmenu: 90;
    --z-index-megamenu: 90;
    --z-index-overlay: 80;
    --z-index-stickynav: 70;
    --stack-forward: 1;
    --stack-backward: -1;
    --check: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16.299' height='11.549' viewBox='0 0 16.299 11.549'%3E%3Cpath d='M12.139,19.583a1.356,1.356,0,0,1-.965-.4L6.4,14.409a1.358,1.358,0,0,1-.4-.925v-.078a1.363,1.363,0,0,1,2.328-.925l3.81,3.808L19.97,8.435A1.365,1.365,0,0,1,21.9,10.362l-8.8,8.82A1.352,1.352,0,0,1,12.139,19.583Z' transform='translate(-6 -8.034)'/%3E%3C/svg%3E");
  }
}
@layer reset {
  .splide__container {
    box-sizing: border-box;
    position: relative;
  }
  .splide__list {
    display: flex;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
    backface-visibility: hidden;
  }
  .splide.is-initialized:not(.is-active) .splide__list {
    display: block;
  }
  .splide__pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin: 0;
    pointer-events: none;
  }
  .splide__pagination li {
    display: inline-block;
    margin: 0;
    line-height: 1;
    list-style-type: none;
    pointer-events: auto;
  }
  .splide:not(.is-overflow) .splide__pagination {
    display: none;
  }
  .splide__progress__bar {
    width: 0;
  }
  .splide {
    visibility: hidden;
    position: relative;
  }
  .splide.is-initialized, .splide.is-rendered {
    visibility: visible;
  }
  .splide__slide {
    box-sizing: border-box;
    position: relative;
    flex-shrink: 0;
    margin: 0;
    backface-visibility: hidden;
    list-style-type: none !important;
  }
  .splide__slide img {
    vertical-align: bottom;
  }
  .splide__spinner {
    contain: strict;
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 20px;
    height: 20px;
    margin: auto;
    border: 2px solid #999;
    border-radius: 50%;
    border-left-color: transparent;
    animation: splide-loading 1s linear infinite;
  }
  .splide__sr {
    clip: rect(0 0 0 0);
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0;
  }
  .splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
    display: none;
  }
  .splide__toggle.is-active .splide__toggle__pause {
    display: inline;
  }
  .splide__track {
    z-index: 0;
    position: relative;
    overflow: hidden;
  }
  @keyframes splide-loading {
    0% {
      transform: rotate(0);
    }
    to {
      transform: rotate(1turn);
    }
  }
  .splide__track--draggable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
  }
  .splide__track--fade > .splide__list > .splide__slide {
    z-index: 0;
    margin: 0 !important;
    opacity: 0;
  }
  .splide__track--fade > .splide__list > .splide__slide.is-active {
    z-index: 1;
    opacity: 1;
  }
  .splide--rtl {
    direction: rtl;
  }
  .splide__track--ttb > .splide__list {
    display: block;
  }
  .splide__arrow {
    display: flex;
    z-index: 1;
    position: absolute;
    top: 50%;
    align-items: center;
    justify-content: center;
    width: 2em;
    height: 2em;
    padding: 0;
    transform: translateY(-50%);
    border: 0;
    border-radius: 50%;
    background: #ccc;
    cursor: pointer;
    opacity: 0.7;
  }
  .splide__arrow svg {
    width: 1.2em;
    height: 1.2em;
    fill: #000;
  }
  .splide__arrow:hover:not(:disabled) {
    opacity: 0.9;
  }
  .splide__arrow:disabled {
    opacity: 0.3;
  }
  .splide__arrow:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px;
  }
  .splide__arrow--prev {
    left: 1em;
  }
  .splide__arrow--prev svg {
    transform: scaleX(-1);
  }
  .splide__arrow--next {
    right: 1em;
  }
  .splide.is-focus-in .splide__arrow:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px;
  }
  .splide__pagination {
    z-index: 1;
    position: absolute;
    right: 0;
    bottom: 0.5em;
    left: 0;
    padding: 0 1em;
  }
  .splide__pagination__page {
    display: inline-block;
    position: relative;
    width: 8px;
    height: 8px;
    margin: 3px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #ccc;
    opacity: 0.7;
    transition: transform 0.2s linear;
  }
  .splide__pagination__page.is-active {
    z-index: 1;
    transform: scale(1.4);
    background: #fff;
  }
  .splide__pagination__page:hover {
    cursor: pointer;
    opacity: 0.9;
  }
  .splide__pagination__page:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px;
  }
  .splide.is-focus-in .splide__pagination__page:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px;
  }
  .splide__progress__bar {
    height: 3px;
    background: #ccc;
  }
  .splide__slide {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .splide__slide:focus {
    outline: 0;
  }
  @supports (outline-offset: -3px) {
    .splide__slide:focus-visible {
      outline: 3px solid #0bf;
      outline-offset: -3px;
    }
    .splide.is-focus-in .splide__slide:focus {
      outline: 3px solid #0bf;
      outline-offset: -3px;
    }
  }
  .splide__toggle {
    cursor: pointer;
  }
  .splide__toggle:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px;
  }
  .splide.is-focus-in .splide__toggle:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px;
  }
  .splide__track--nav > .splide__list > .splide__slide {
    border: 3px solid transparent;
    cursor: pointer;
  }
  .splide__track--nav > .splide__list > .splide__slide.is-active {
    border: 3px solid #000;
  }
  .splide__arrows--rtl .splide__arrow--prev {
    right: 1em;
    left: auto;
  }
  .splide__arrows--rtl .splide__arrow--prev svg {
    transform: scaleX(1);
  }
  .splide__arrows--rtl .splide__arrow--next {
    right: auto;
    left: 1em;
  }
  .splide__arrows--rtl .splide__arrow--next svg {
    transform: scaleX(-1);
  }
  .splide__arrows--ttb .splide__arrow {
    left: 50%;
    transform: translate(-50%);
  }
  .splide__arrows--ttb .splide__arrow--prev {
    top: 1em;
  }
  .splide__arrows--ttb .splide__arrow--prev svg {
    transform: rotate(-90deg);
  }
  .splide__arrows--ttb .splide__arrow--next {
    top: auto;
    bottom: 1em;
  }
  .splide__arrows--ttb .splide__arrow--next svg {
    transform: rotate(90deg);
  }
  .splide__pagination--ttb {
    display: flex;
    top: 0;
    right: 0.5em;
    bottom: 0;
    left: auto;
    flex-direction: column;
    padding: 1em 0;
  }
  /* ==========================================================
  !HTML5 elements
  ========================================================== */
  header,
  footer,
  nav,
  main,
  section,
  aside,
  article {
    display: block;
  }
  figure,
  figcaption {
    margin: 0;
    padding: 0;
  }
  /* ==========================================================
  !Reseting
  ========================================================== */
  /* 全ての要素のbox-sizingをデフォルトでborder-boxにする */
  :root {
    box-sizing: border-box;
    interpolate-size: allow-keywords;
  }
  *,
  ::before,
  ::after {
    box-sizing: inherit;
    border-width: 0;
    border-style: solid;
    background-repeat: no-repeat;
  }
  body {
    font-size: 0.875rem;
    line-height: 1.5;
    font-family: var(--font-family);
    -moz-text-size-adjust: none;
         text-size-adjust: none;
    -webkit-text-size-adjust: 100%;
    background-color: var(--c-white);
    color: var(--c-black);
  }
  body,
  div,
  pre,
  p,
  blockquote,
  dl,
  dt,
  dd,
  ul,
  ol,
  li,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  form,
  fieldset,
  th,
  td {
    margin: 0;
    padding: 0;
  }
  input,
  textarea {
    margin: 0;
    font-size: 100%;
  }
  label {
    cursor: pointer;
  }
  table {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 100%;
  }
  fieldset,
  img {
    border: 0;
  }
  img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
  }
  address,
  caption,
  cite,
  code,
  dfn,
  em,
  th,
  var {
    font-style: normal;
    font-weight: normal;
  }
  ol,
  ul {
    list-style: none;
  }
  caption,
  th {
    text-align: left;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-weight: normal;
    font-size: 100%;
  }
  q:after,
  q:before {
    content: "";
  }
  abbr,
  acronym {
    border: 0;
  }
  button,
  input,
  select,
  textarea {
    font-size: 100%;
    font-family: inherit;
  }
  button {
    padding: 0;
    background-color: transparent;
    cursor: pointer;
  }
  [lang=en] {
    font-family: var(--font-family-en);
  }
  /* ==========================================================
  !Layout
  ========================================================== */
  html, body {
    overflow-x: hidden;
    overflow-y: auto;
  }
  html {
    overflow-y: scroll;
    scroll-behavior: smooth;
    scroll-padding-block-start: 110px;
  }
  a {
    color: inherit;
    text-decoration: none;
    transition: all 0.3s ease;
  }
  a:focus-visible {
    color: var(--main-color);
  }
  a:not([class]):has(img):focus-visible {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
  p {
    line-height: 1.8;
  }
  sup {
    font-weight: 800;
    font-size: 70%;
  }
  .is-scroll-fixed {
    position: fixed;
    width: 100%;
    height: 100vh;
    overflow: hidden !important;
  }
}
@layer wordpress {
  .wp-block-accordion {
    box-sizing: border-box;
  }
  .wp-block-accordion-item.is-open > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
    transform: rotate(45deg);
  }
  .wp-block-accordion-item {
    /* Add transitions only for users who do not prefer reduced motion */
  }
  .wp-block-accordion-heading__toggle {
    display: flex;
    align-items: center;
    width: 100%;
    padding: var(--wp--preset--spacing--20, 1em) 0;
    overflow: hidden;
    border: none;
    background: none;
    color: inherit;
    font-style: inherit;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    font-family: inherit;
    letter-spacing: inherit;
    text-align: inherit;
    text-decoration: inherit;
    text-transform: inherit;
    word-spacing: inherit;
    cursor: pointer;
  }
  .wp-block-accordion-heading__toggle:not(:focus-visible) {
    outline: none;
  }
  .wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
    text-decoration: underline;
  }
  .wp-block-accordion-heading__toggle-title {
    flex: 1;
  }
  .wp-block-accordion-heading__toggle-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.2em;
    height: 1.2em;
  }
  .wp-block-accordion-panel[inert], .wp-block-accordion-panel[aria-hidden=true] {
    display: none;
    margin-block-start: 0;
  }
  .wp-block-archives {
    box-sizing: border-box;
  }
  .wp-block-archives-dropdown label {
    display: block;
  }
  .wp-block-avatar {
    box-sizing: border-box;
    line-height: 0;
  }
  .wp-block-avatar img {
    box-sizing: border-box;
  }
  .wp-block-avatar.aligncenter {
    text-align: center;
  }
  /**
   * Typography
   */
  /**
   * SCSS Variables.
   *
   * Please use variables from this sheet to ensure consistency across the UI.
   * Don't add to this sheet unless you're pretty sure the value will be reused in many places.
   * For example, don't add rules to this sheet that affect block visuals. It's purely for UI.
   */
  /**
   * Colors
   */
  /**
   * Fonts & basic variables.
   */
  /**
   * Typography
   */
  /**
   * Grid System.
   * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
   */
  /**
   * Radius scale.
   */
  /**
   * Elevation scale.
   */
  /**
   * Dimensions.
   */
  /**
   * Mobile specific styles
   */
  /**
   * Editor styles.
   */
  /**
   * Block & Editor UI.
   */
  /**
   * Block paddings.
   */
  /**
   * React Native specific.
   * These variables do not appear to be used anywhere else.
   */
  /**
   * Breakpoints & Media Queries
   */
  /**
  *  Converts a hex value into the rgb equivalent.
  *
  * @param {string} hex - the hexadecimal value to convert
  * @return {string} comma separated rgb values
  */
  /**
   * Long content fade mixin
   *
   * Creates a fading overlay to signify that the content is longer
   * than the space allows.
   */
  /**
   * Breakpoint mixins
   */
  /**
   * Focus styles.
   */
  /**
   * Applies editor left position to the selector passed as argument
   */
  /**
   * Styles that are reused verbatim in a few places
   */
  /**
   * Allows users to opt-out of animations via OS-level preferences.
   */
  /**
   * Reset default styles for JavaScript UI based pages.
   * This is a WP-admin agnostic reset
   */
  /**
   * Reset the WP Admin page styles for Gutenberg-like pages.
   */
  /**
   * Creates a checkerboard pattern background to indicate transparency.
   * @param {String} $size - The size of the squares in the checkerboard pattern. Default is 12px.
   */
  .wp-block-audio {
    box-sizing: border-box;
  }
  .wp-block-audio :where(figcaption) {
    margin-top: 0.5em;
    margin-bottom: 1em;
  }
  .wp-block-audio audio {
    width: 100%;
    min-width: 300px;
  }
  .wp-block-breadcrumbs {
    box-sizing: border-box;
  }
  .wp-block-breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .wp-block-breadcrumbs li {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
  }
  .wp-block-breadcrumbs li:not(:last-child)::after {
    margin: 0 0.5em;
    content: var(--separator, "/");
    opacity: 0.7;
  }
  .wp-block-breadcrumbs span {
    color: inherit;
  }
  .wp-block-button__link {
    box-sizing: border-box;
    display: inline-block;
    align-content: center;
    height: 100%;
    text-align: center;
    word-break: break-word;
    cursor: pointer;
  }
  .wp-block-button__link.aligncenter {
    text-align: center;
  }
  .wp-block-button__link.alignright {
    /*rtl:ignore*/
    text-align: right;
  }
  :where(.wp-block-button__link) {
    padding: calc(0.667em + 2px) calc(1.333em + 2px);
    border-radius: 9999px;
    box-shadow: none;
    text-decoration: none;
  }
  .wp-block-button[style*=text-decoration] .wp-block-button__link {
    text-decoration: inherit;
  }
  .wp-block-buttons > .wp-block-button.has-custom-width {
    max-width: none;
  }
  .wp-block-buttons > .wp-block-button.has-custom-width .wp-block-button__link {
    width: 100%;
  }
  .wp-block-buttons > .wp-block-button.has-custom-font-size .wp-block-button__link {
    font-size: inherit;
  }
  .wp-block-buttons > .wp-block-button.wp-block-button__width-25 {
    width: calc(25% - var(--wp--style--block-gap, 0.5em) * 0.75);
  }
  .wp-block-buttons > .wp-block-button.wp-block-button__width-50 {
    width: calc(50% - var(--wp--style--block-gap, 0.5em) * 0.5);
  }
  .wp-block-buttons > .wp-block-button.wp-block-button__width-75 {
    width: calc(75% - var(--wp--style--block-gap, 0.5em) * 0.25);
  }
  .wp-block-buttons > .wp-block-button.wp-block-button__width-100 {
    flex-basis: 100%;
    width: 100%;
  }
  .wp-block-buttons.is-vertical > .wp-block-button.wp-block-button__width-25 {
    width: 25%;
  }
  .wp-block-buttons.is-vertical > .wp-block-button.wp-block-button__width-50 {
    width: 50%;
  }
  .wp-block-buttons.is-vertical > .wp-block-button.wp-block-button__width-75 {
    width: 75%;
  }
  .wp-block-button.is-style-squared,
  .wp-block-button__link.wp-block-button.is-style-squared {
    border-radius: 0;
  }
  .wp-block-button.no-border-radius,
  .wp-block-button__link.no-border-radius {
    border-radius: 0 !important;
  }
  :root :where(.wp-block-button.is-style-outline > .wp-block-button__link),
  :root :where(.wp-block-button .wp-block-button__link.is-style-outline) {
    padding: 0.667em 1.333em;
    border: 2px solid currentColor;
  }
  :root :where(.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color)),
  :root :where(.wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color)) {
    color: currentColor;
  }
  :root :where(.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-background)),
  :root :where(.wp-block-button .wp-block-button__link.is-style-outline:not(.has-background)) {
    background-image: none;
    background-color: transparent;
  }
  .wp-block-buttons {
    box-sizing: border-box;
  }
  .wp-block-buttons.is-vertical {
    flex-direction: column;
  }
  .wp-block-buttons.is-vertical > .wp-block-button:last-child {
    margin-bottom: 0;
  }
  .wp-block-buttons > .wp-block-button {
    display: inline-block;
    margin: 0;
  }
  .wp-block-buttons.is-content-justification-left {
    justify-content: flex-start;
  }
  .wp-block-buttons.is-content-justification-left.is-vertical {
    align-items: flex-start;
  }
  .wp-block-buttons.is-content-justification-center {
    justify-content: center;
  }
  .wp-block-buttons.is-content-justification-center.is-vertical {
    align-items: center;
  }
  .wp-block-buttons.is-content-justification-right {
    justify-content: flex-end;
  }
  .wp-block-buttons.is-content-justification-right.is-vertical {
    align-items: flex-end;
  }
  .wp-block-buttons.is-content-justification-space-between {
    justify-content: space-between;
  }
  .wp-block-buttons.aligncenter {
    text-align: center;
  }
  .wp-block-buttons {
    /* stylelint-disable @stylistic/indentation -- Disable the stylelint rule, otherwise this selector is ugly! */
  }
  .wp-block-buttons:not(.is-content-justification-space-between,
  .is-content-justification-right,
  .is-content-justification-left,
  .is-content-justification-center) .wp-block-button.aligncenter {
    width: 100%;
    margin-right: auto;
    /* stylelint-enable @stylistic/indentation */
    margin-left: auto;
  }
  .wp-block-buttons[style*=text-decoration] .wp-block-button,
  .wp-block-buttons[style*=text-decoration] .wp-block-button__link {
    text-decoration: inherit;
  }
  .wp-block-buttons.has-custom-font-size .wp-block-button__link {
    font-size: inherit;
  }
  .wp-block-buttons .wp-block-button__link {
    width: 100%;
  }
  .wp-block-button.aligncenter {
    text-align: center;
  }
  .wp-block-calendar {
    text-align: center;
  }
  .wp-block-calendar th,
  .wp-block-calendar td {
    padding: 0.25em;
    border: 1px solid;
  }
  .wp-block-calendar th {
    font-weight: 400;
  }
  .wp-block-calendar caption {
    background-color: inherit;
  }
  .wp-block-calendar table {
    width: 100%;
    border-collapse: collapse;
  }
  .wp-block-calendar table.has-background th {
    background-color: inherit;
  }
  .wp-block-calendar table.has-text-color th {
    color: inherit;
  }
  .wp-block-calendar :where(table:not(.has-text-color)) {
    color: #40464d;
  }
  .wp-block-calendar :where(table:not(.has-text-color)) th,
  .wp-block-calendar :where(table:not(.has-text-color)) td {
    border-color: #ddd;
  }
  :where(.wp-block-calendar table:not(.has-background) th) {
    background: #ddd;
  }
  .wp-block-categories {
    box-sizing: border-box;
  }
  .wp-block-categories.alignleft {
    /*rtl:ignore*/
    margin-right: 2em;
  }
  .wp-block-categories.alignright {
    /*rtl:ignore*/
    margin-left: 2em;
  }
  .wp-block-categories {
    /* Only apply the text align on dropdowns, not lists. */
  }
  .wp-block-categories.wp-block-categories-dropdown.aligncenter {
    text-align: center;
  }
  .wp-block-categories .wp-block-categories__label:not(.screen-reader-text) {
    display: block;
    width: 100%;
  }
  .wp-block-code {
    box-sizing: border-box;
  }
  .wp-block-code code {
    display: block;
    font-family: inherit;
    /*!rtl:begin:ignore*/
    direction: ltr;
    text-align: initial;
    white-space: pre-wrap;
    overflow-wrap: break-word;
    /*!rtl:end:ignore*/
  }
  .wp-block-columns {
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap !important;
  }
  .wp-block-columns {
    align-items: initial !important;
    /**
    * All Columns Alignment
    */
  }
  .wp-block-columns.are-vertically-aligned-top {
    align-items: flex-start;
  }
  .wp-block-columns.are-vertically-aligned-center {
    align-items: center;
  }
  .wp-block-columns.are-vertically-aligned-bottom {
    align-items: flex-end;
  }
  .wp-block-columns.is-not-stacked-on-mobile {
    flex-wrap: nowrap !important;
  }
  .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
    flex-grow: 1;
    flex-basis: 0;
  }
  .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column[style*=flex-basis] {
    flex-grow: 0;
  }
  :where(.wp-block-columns) {
    margin-bottom: 1.75em;
  }
  :where(.wp-block-columns.has-background) {
    padding: 1.25em 2.375em;
  }
  .wp-block-column {
    flex-grow: 1;
    min-width: 0;
    word-break: break-word;
    overflow-wrap: break-word;
    /**
    * Individual Column Alignment
    */
  }
  .wp-block-column.is-vertically-aligned-top {
    align-self: flex-start;
  }
  .wp-block-column.is-vertically-aligned-center {
    align-self: center;
  }
  .wp-block-column.is-vertically-aligned-bottom {
    align-self: flex-end;
  }
  .wp-block-column.is-vertically-aligned-stretch {
    align-self: stretch;
  }
  .wp-block-column.is-vertically-aligned-top, .wp-block-column.is-vertically-aligned-center, .wp-block-column.is-vertically-aligned-bottom {
    width: 100%;
  }
  /* Styles for backwards compatibility with the legacy `post-comments` block */
  .wp-block-post-comments {
    box-sizing: border-box;
    /* utility classes */
  }
  .wp-block-post-comments .alignleft {
    float: left;
  }
  .wp-block-post-comments .alignright {
    float: right;
  }
  .wp-block-post-comments {
    /* end utility classes */
  }
  .wp-block-post-comments .navigation::after {
    display: table;
    clear: both;
    content: "";
  }
  .wp-block-post-comments .commentlist {
    margin: 0;
    padding: 0;
    clear: both;
    list-style: none;
  }
  .wp-block-post-comments .commentlist .comment {
    min-height: 2.25em;
    padding-left: 3.25em;
  }
  .wp-block-post-comments .commentlist .comment p {
    margin: 1em 0;
    font-size: 1em;
    line-height: 1.8;
  }
  .wp-block-post-comments .commentlist .children {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .wp-block-post-comments .comment-author {
    line-height: 1.5;
  }
  .wp-block-post-comments .comment-author .avatar {
    display: block;
    width: 2.5em;
    height: 2.5em;
    margin-top: 0.5em;
    margin-right: 0.75em;
    float: left;
    border-radius: 1.5em;
  }
  .wp-block-post-comments .comment-author cite {
    font-style: normal;
  }
  .wp-block-post-comments .comment-meta {
    font-size: 0.875em;
    line-height: 1.5;
  }
  .wp-block-post-comments .comment-meta b {
    font-weight: normal;
  }
  .wp-block-post-comments .comment-meta .comment-awaiting-moderation {
    display: block;
    margin-top: 1em;
    margin-bottom: 1em;
  }
  .wp-block-post-comments .comment-body .commentmetadata {
    font-size: 0.875em;
  }
  .wp-block-post-comments .comment-form-comment label,
  .wp-block-post-comments .comment-form-author label,
  .wp-block-post-comments .comment-form-email label,
  .wp-block-post-comments .comment-form-url label {
    display: block;
    margin-bottom: 0.25em;
  }
  .wp-block-post-comments .comment-form textarea,
  .wp-block-post-comments .comment-form input:not([type=submit]):not([type=checkbox]) {
    box-sizing: border-box;
    display: block;
    width: 100%;
  }
  .wp-block-post-comments .comment-form-cookies-consent {
    display: flex;
    gap: 0.25em;
  }
  .wp-block-post-comments .comment-form-cookies-consent #wp-comment-cookies-consent {
    margin-top: 0.35em;
  }
  .wp-block-post-comments .comment-reply-title {
    margin-bottom: 0;
  }
  .wp-block-post-comments .comment-reply-title :where(small) {
    margin-left: 0.5em;
    font-size: var(--wp--preset--font-size--medium, smaller);
  }
  .wp-block-post-comments .reply {
    margin-bottom: 1.4em;
    font-size: 0.875em;
  }
  .wp-block-post-comments textarea,
  .wp-block-post-comments input:not([type=submit]) {
    border: 1px solid #949494;
    font-size: 1em;
    font-family: inherit;
  }
  .wp-block-post-comments textarea,
  .wp-block-post-comments input:not([type=submit]):not([type=checkbox]) {
    padding: calc(0.667em + 2px);
  }
  :where(.wp-block-post-comments input[type=submit]) {
    border: none;
  }
  .wp-block-comments {
    box-sizing: border-box;
  }
  .wp-block-comments-pagination > .wp-block-comments-pagination-next,
  .wp-block-comments-pagination > .wp-block-comments-pagination-previous,
  .wp-block-comments-pagination > .wp-block-comments-pagination-numbers {
    font-size: inherit;
  }
  .wp-block-comments-pagination .wp-block-comments-pagination-previous-arrow {
    display: inline-block;
    margin-right: 1ch;
  }
  .wp-block-comments-pagination .wp-block-comments-pagination-previous-arrow:not(.is-arrow-chevron) {
    transform: scaleX(1);
  }
  .wp-block-comments-pagination .wp-block-comments-pagination-next-arrow {
    display: inline-block;
    margin-left: 1ch;
  }
  .wp-block-comments-pagination .wp-block-comments-pagination-next-arrow:not(.is-arrow-chevron) {
    transform: scaleX(1);
  }
  .wp-block-comments-pagination.aligncenter {
    justify-content: center;
  }
  .wp-block-comment-template {
    box-sizing: border-box;
    max-width: 100%;
    margin-bottom: 0;
    padding: 0;
    list-style: none;
  }
  .wp-block-comment-template li {
    clear: both;
  }
  .wp-block-comment-template ol {
    max-width: 100%;
    margin-bottom: 0;
    padding-left: 2rem;
    list-style: none;
  }
  .wp-block-comment-template.alignleft {
    float: left;
  }
  .wp-block-comment-template.aligncenter {
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
  }
  .wp-block-comment-template.alignright {
    float: right;
  }
  .wp-block-comment-date {
    box-sizing: border-box;
  }
  .comment-awaiting-moderation {
    display: block;
    font-size: 0.875em;
    line-height: 1.5;
  }
  .wp-block-comment-content {
    box-sizing: border-box;
  }
  .wp-block-comment-author-name {
    box-sizing: border-box;
  }
  .wp-block-comment-edit-link {
    box-sizing: border-box;
  }
  .wp-block-comment-reply-link {
    box-sizing: border-box;
  }
  .wp-block-cover-image,
  .wp-block-cover {
    box-sizing: border-box;
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    min-height: 430px;
    padding: 1em;
    overflow: hidden;
    overflow: clip;
    background-position: center center;
    /*rtl:raw: direction: ltr; */
    /**
     * Set a default background color for has-background-dim _unless_ it includes another
     * background-color class (e.g. has-green-background-color). The presence of another
     * background-color class implies that another style will provide the background color
     * for the overlay.
     *
     * See:
     *   - Issue with background color specificity: https://github.com/WordPress/gutenberg/issues/26545
     *   - Issue with alternative fix: https://github.com/WordPress/gutenberg/issues/26545
     */
  }
  .wp-block-cover-image.has-background-dim:not([class*=-background-color]),
  .wp-block-cover-image .has-background-dim:not([class*=-background-color]),
  .wp-block-cover.has-background-dim:not([class*=-background-color]),
  .wp-block-cover .has-background-dim:not([class*=-background-color]) {
    background-color: #000;
  }
  .wp-block-cover-image .has-background-dim.has-background-gradient,
  .wp-block-cover .has-background-dim.has-background-gradient {
    background-color: transparent;
  }
  .wp-block-cover-image.has-background-dim::before,
  .wp-block-cover.has-background-dim::before {
    background-color: inherit;
    content: "";
  }
  .wp-block-cover-image.has-background-dim:not(.has-background-gradient)::before,
  .wp-block-cover-image .wp-block-cover__background,
  .wp-block-cover-image .wp-block-cover__gradient-background,
  .wp-block-cover.has-background-dim:not(.has-background-gradient)::before,
  .wp-block-cover .wp-block-cover__background,
  .wp-block-cover .wp-block-cover__gradient-background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0.5;
  }
  .wp-block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient)::before,
  .wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__background,
  .wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,
  .wp-block-cover.has-background-dim.has-background-dim-10:not(.has-background-gradient)::before,
  .wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__background,
  .wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background {
    opacity: 0.1;
  }
  .wp-block-cover-image.has-background-dim.has-background-dim-20:not(.has-background-gradient)::before,
  .wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__background,
  .wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,
  .wp-block-cover.has-background-dim.has-background-dim-20:not(.has-background-gradient)::before,
  .wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__background,
  .wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background {
    opacity: 0.2;
  }
  .wp-block-cover-image.has-background-dim.has-background-dim-30:not(.has-background-gradient)::before,
  .wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__background,
  .wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,
  .wp-block-cover.has-background-dim.has-background-dim-30:not(.has-background-gradient)::before,
  .wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__background,
  .wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background {
    opacity: 0.3;
  }
  .wp-block-cover-image.has-background-dim.has-background-dim-40:not(.has-background-gradient)::before,
  .wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__background,
  .wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,
  .wp-block-cover.has-background-dim.has-background-dim-40:not(.has-background-gradient)::before,
  .wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__background,
  .wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background {
    opacity: 0.4;
  }
  .wp-block-cover-image.has-background-dim.has-background-dim-50:not(.has-background-gradient)::before,
  .wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__background,
  .wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,
  .wp-block-cover.has-background-dim.has-background-dim-50:not(.has-background-gradient)::before,
  .wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__background,
  .wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background {
    opacity: 0.5;
  }
  .wp-block-cover-image.has-background-dim.has-background-dim-60:not(.has-background-gradient)::before,
  .wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__background,
  .wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,
  .wp-block-cover.has-background-dim.has-background-dim-60:not(.has-background-gradient)::before,
  .wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__background,
  .wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background {
    opacity: 0.6;
  }
  .wp-block-cover-image.has-background-dim.has-background-dim-70:not(.has-background-gradient)::before,
  .wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__background,
  .wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,
  .wp-block-cover.has-background-dim.has-background-dim-70:not(.has-background-gradient)::before,
  .wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__background,
  .wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background {
    opacity: 0.7;
  }
  .wp-block-cover-image.has-background-dim.has-background-dim-80:not(.has-background-gradient)::before,
  .wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__background,
  .wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,
  .wp-block-cover.has-background-dim.has-background-dim-80:not(.has-background-gradient)::before,
  .wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__background,
  .wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background {
    opacity: 0.8;
  }
  .wp-block-cover-image.has-background-dim.has-background-dim-90:not(.has-background-gradient)::before,
  .wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__background,
  .wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,
  .wp-block-cover.has-background-dim.has-background-dim-90:not(.has-background-gradient)::before,
  .wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__background,
  .wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background {
    opacity: 0.9;
  }
  .wp-block-cover-image.has-background-dim.has-background-dim-100:not(.has-background-gradient)::before,
  .wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__background,
  .wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,
  .wp-block-cover.has-background-dim.has-background-dim-100:not(.has-background-gradient)::before,
  .wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__background,
  .wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background {
    opacity: 1;
  }
  .wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0,
  .wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-0,
  .wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0,
  .wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-0 {
    opacity: 0;
  }
  .wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10,
  .wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-10,
  .wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10,
  .wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-10 {
    opacity: 0.1;
  }
  .wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20,
  .wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-20,
  .wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20,
  .wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-20 {
    opacity: 0.2;
  }
  .wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30,
  .wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-30,
  .wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30,
  .wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-30 {
    opacity: 0.3;
  }
  .wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40,
  .wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-40,
  .wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40,
  .wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-40 {
    opacity: 0.4;
  }
  .wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50,
  .wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-50,
  .wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50,
  .wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-50 {
    opacity: 0.5;
  }
  .wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60,
  .wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-60,
  .wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60,
  .wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-60 {
    opacity: 0.6;
  }
  .wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70,
  .wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-70,
  .wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70,
  .wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-70 {
    opacity: 0.7;
  }
  .wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80,
  .wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-80,
  .wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80,
  .wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-80 {
    opacity: 0.8;
  }
  .wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90,
  .wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-90,
  .wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90,
  .wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-90 {
    opacity: 0.9;
  }
  .wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100,
  .wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-100,
  .wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100,
  .wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-100 {
    opacity: 1;
  }
  .wp-block-cover-image.alignleft, .wp-block-cover-image.alignright,
  .wp-block-cover.alignleft,
  .wp-block-cover.alignright {
    width: 100%;
    max-width: 420px;
  }
  .wp-block-cover-image.aligncenter, .wp-block-cover-image.alignleft, .wp-block-cover-image.alignright,
  .wp-block-cover.aligncenter,
  .wp-block-cover.alignleft,
  .wp-block-cover.alignright {
    display: flex;
  }
  .wp-block-cover-image .wp-block-cover__inner-container,
  .wp-block-cover .wp-block-cover__inner-container {
    position: relative;
    width: 100%;
    color: inherit;
    /*rtl:raw: direction: rtl; */
  }
  .wp-block-cover-image.is-position-top-left,
  .wp-block-cover.is-position-top-left {
    align-items: flex-start;
    justify-content: flex-start;
  }
  .wp-block-cover-image.is-position-top-center,
  .wp-block-cover.is-position-top-center {
    align-items: flex-start;
    justify-content: center;
  }
  .wp-block-cover-image.is-position-top-right,
  .wp-block-cover.is-position-top-right {
    align-items: flex-start;
    justify-content: flex-end;
  }
  .wp-block-cover-image.is-position-center-left,
  .wp-block-cover.is-position-center-left {
    align-items: center;
    justify-content: flex-start;
  }
  .wp-block-cover-image.is-position-center-center,
  .wp-block-cover.is-position-center-center {
    align-items: center;
    justify-content: center;
  }
  .wp-block-cover-image.is-position-center-right,
  .wp-block-cover.is-position-center-right {
    align-items: center;
    justify-content: flex-end;
  }
  .wp-block-cover-image.is-position-bottom-left,
  .wp-block-cover.is-position-bottom-left {
    align-items: flex-end;
    justify-content: flex-start;
  }
  .wp-block-cover-image.is-position-bottom-center,
  .wp-block-cover.is-position-bottom-center {
    align-items: flex-end;
    justify-content: center;
  }
  .wp-block-cover-image.is-position-bottom-right,
  .wp-block-cover.is-position-bottom-right {
    align-items: flex-end;
    justify-content: flex-end;
  }
  .wp-block-cover-image.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container,
  .wp-block-cover.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container {
    margin: 0;
  }
  .wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container, .wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container, .wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container, .wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container, .wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container, .wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,
  .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,
  .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container,
  .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,
  .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,
  .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,
  .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container {
    width: auto;
    margin: 0;
  }
  .wp-block-cover-image .wp-block-cover__image-background,
  .wp-block-cover-image video.wp-block-cover__video-background,
  .wp-block-cover .wp-block-cover__image-background,
  .wp-block-cover video.wp-block-cover__video-background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    margin: 0;
    padding: 0;
    object-fit: cover;
    border: none;
    outline: none;
    box-shadow: none;
  }
  .wp-block-cover-image .wp-block-cover__embed-background,
  .wp-block-cover .wp-block-cover__embed-background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
    box-shadow: none;
    pointer-events: none;
  }
  .wp-block-cover-image .wp-block-cover__embed-background .wp-block-embed__wrapper,
  .wp-block-cover .wp-block-cover__embed-background .wp-block-embed__wrapper {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
  }
  .wp-block-cover-image .wp-block-cover__embed-background iframe,
  .wp-block-cover-image .wp-block-cover__embed-background .wp-block-embed__wrapper iframe,
  .wp-block-cover .wp-block-cover__embed-background iframe,
  .wp-block-cover .wp-block-cover__embed-background .wp-block-embed__wrapper iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;
    min-width: 100%;
    height: 100vh;
    min-height: 100%;
    transform: translate(-50%, -50%);
    pointer-events: none;
  }
  .wp-block-cover-image.has-parallax,
  .wp-block-cover.has-parallax,
  .wp-block-cover__image-background.has-parallax,
  video.wp-block-cover__video-background.has-parallax {
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
  }
  @supports (-webkit-touch-callout: inherit) {
    .wp-block-cover-image.has-parallax,
    .wp-block-cover.has-parallax,
    .wp-block-cover__image-background.has-parallax,
    video.wp-block-cover__video-background.has-parallax {
      background-attachment: scroll;
    }
  }
  .wp-block-cover-image.is-repeated,
  .wp-block-cover.is-repeated,
  .wp-block-cover__image-background.is-repeated,
  video.wp-block-cover__video-background.is-repeated {
    background-size: auto;
    background-repeat: repeat;
  }
  section.wp-block-cover-image h2,
  .wp-block-cover-image-text,
  .wp-block-cover-text {
    color: #fff;
  }
  section.wp-block-cover-image h2 a,
  section.wp-block-cover-image h2 a:hover,
  section.wp-block-cover-image h2 a:focus,
  section.wp-block-cover-image h2 a:active,
  .wp-block-cover-image-text a,
  .wp-block-cover-image-text a:hover,
  .wp-block-cover-image-text a:focus,
  .wp-block-cover-image-text a:active,
  .wp-block-cover-text a,
  .wp-block-cover-text a:hover,
  .wp-block-cover-text a:focus,
  .wp-block-cover-text a:active {
    color: #fff;
  }
  .wp-block-cover-image .wp-block-cover.has-left-content {
    justify-content: flex-start;
  }
  .wp-block-cover-image .wp-block-cover.has-right-content {
    justify-content: flex-end;
  }
  section.wp-block-cover-image.has-left-content > h2,
  .wp-block-cover-image.has-left-content .wp-block-cover-image-text,
  .wp-block-cover.has-left-content .wp-block-cover-text {
    margin-left: 0;
    text-align: left;
  }
  section.wp-block-cover-image.has-right-content > h2,
  .wp-block-cover-image.has-right-content .wp-block-cover-image-text,
  .wp-block-cover.has-right-content .wp-block-cover-text {
    margin-right: 0;
    text-align: right;
  }
  section.wp-block-cover-image > h2,
  .wp-block-cover-image .wp-block-cover-image-text,
  .wp-block-cover .wp-block-cover-text {
    z-index: 1;
    max-width: 840px;
    margin-bottom: 0;
    padding: 0.44em;
    font-size: 2em;
    line-height: 1.25;
    text-align: center;
  }
  :where(.wp-block-cover:not(.has-text-color)),
  :where(.wp-block-cover-image:not(.has-text-color)) {
    color: #fff;
  }
  :where(.wp-block-cover.is-light:not(.has-text-color)),
  :where(.wp-block-cover-image.is-light:not(.has-text-color)) {
    color: #000;
  }
  :root :where(.wp-block-cover p:not(.has-text-color)),
  :root :where(.wp-block-cover h1:not(.has-text-color)),
  :root :where(.wp-block-cover h2:not(.has-text-color)),
  :root :where(.wp-block-cover h3:not(.has-text-color)),
  :root :where(.wp-block-cover h4:not(.has-text-color)),
  :root :where(.wp-block-cover h5:not(.has-text-color)),
  :root :where(.wp-block-cover h6:not(.has-text-color)) {
    color: inherit;
  }
  body:not(.editor-styles-wrapper) .wp-block-cover:not(.wp-block-cover:has(.wp-block-cover__background + .wp-block-cover__inner-container)) .wp-block-cover__video-background {
    z-index: 0;
  }
  body:not(.editor-styles-wrapper) .wp-block-cover:not(.wp-block-cover:has(.wp-block-cover__background + .wp-block-cover__inner-container)) .wp-block-cover__embed-background {
    z-index: 0;
  }
  body:not(.editor-styles-wrapper) .wp-block-cover:not(.wp-block-cover:has(.wp-block-cover__background + .wp-block-cover__inner-container)) .wp-block-cover__image-background {
    z-index: 0;
  }
  body:not(.editor-styles-wrapper) .wp-block-cover:not(.wp-block-cover:has(.wp-block-cover__background + .wp-block-cover__inner-container)).has-background-dim:not(.has-background-gradient)::before,
  body:not(.editor-styles-wrapper) .wp-block-cover:not(.wp-block-cover:has(.wp-block-cover__background + .wp-block-cover__inner-container)) .wp-block-cover__background,
  body:not(.editor-styles-wrapper) .wp-block-cover:not(.wp-block-cover:has(.wp-block-cover__background + .wp-block-cover__inner-container)) .wp-block-cover__gradient-background {
    z-index: 1;
  }
  body:not(.editor-styles-wrapper) .wp-block-cover:not(.wp-block-cover:has(.wp-block-cover__background + .wp-block-cover__inner-container)) .wp-block-cover__inner-container {
    z-index: 1;
  }
  .has-modal-open body:not(.editor-styles-wrapper) .wp-block-cover:not(.wp-block-cover:has(.wp-block-cover__background + .wp-block-cover__inner-container)) .wp-block-cover__inner-container {
    z-index: auto;
  }
  .wp-block-details {
    box-sizing: border-box;
  }
  .wp-block-details summary {
    cursor: pointer;
  }
  .wp-block[data-align=left] > [data-type="core/embed"],
  .wp-block[data-align=right] > [data-type="core/embed"],
  .wp-block-embed.alignleft,
  .wp-block-embed.alignright {
    width: 100%;
    max-width: 360px;
  }
  .wp-block[data-align=left] > [data-type="core/embed"] .wp-block-embed__wrapper,
  .wp-block[data-align=right] > [data-type="core/embed"] .wp-block-embed__wrapper,
  .wp-block-embed.alignleft .wp-block-embed__wrapper,
  .wp-block-embed.alignright .wp-block-embed__wrapper {
    min-width: 280px;
  }
  .wp-block-cover .wp-block-embed {
    min-width: 320px;
    min-height: 240px;
  }
  .wp-block-group.is-layout-flex .wp-block-embed {
    flex: 1 1 0%;
    min-width: 0;
  }
  .wp-block-embed {
    overflow-wrap: break-word;
  }
  .wp-block-embed :where(figcaption) {
    margin-top: 0.5em;
    margin-bottom: 1em;
  }
  .wp-block-embed iframe {
    max-width: 100%;
  }
  .wp-block-embed__wrapper {
    position: relative;
  }
  .wp-embed-responsive .wp-has-aspect-ratio .wp-block-embed__wrapper::before {
    display: block;
    padding-top: 50%;
    content: "";
  }
  .wp-embed-responsive .wp-has-aspect-ratio iframe {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .wp-embed-responsive .wp-embed-aspect-21-9 .wp-block-embed__wrapper::before {
    padding-top: 42.85%;
  }
  .wp-embed-responsive .wp-embed-aspect-18-9 .wp-block-embed__wrapper::before {
    padding-top: 50%;
  }
  .wp-embed-responsive .wp-embed-aspect-16-9 .wp-block-embed__wrapper::before {
    padding-top: 56.25%;
  }
  .wp-embed-responsive .wp-embed-aspect-4-3 .wp-block-embed__wrapper::before {
    padding-top: 75%;
  }
  .wp-embed-responsive .wp-embed-aspect-1-1 .wp-block-embed__wrapper::before {
    padding-top: 100%;
  }
  .wp-embed-responsive .wp-embed-aspect-9-16 .wp-block-embed__wrapper::before {
    padding-top: 177.77%;
  }
  .wp-embed-responsive .wp-embed-aspect-1-2 .wp-block-embed__wrapper::before {
    padding-top: 200%;
  }
  .wp-block-file {
    box-sizing: border-box;
  }
  .wp-block-file:not(.wp-element-button) {
    font-size: 0.8em;
  }
  .wp-block-file.aligncenter {
    text-align: center;
  }
  .wp-block-file.alignright {
    /*rtl:ignore*/
    text-align: right;
  }
  .wp-block-file * + .wp-block-file__button {
    margin-left: 0.75em;
  }
  :where(.wp-block-file) {
    margin-bottom: 1.5em;
  }
  .wp-block-file__embed {
    margin-bottom: 1em;
  }
  :where(.wp-block-file__button) {
    display: inline-block;
    padding: 0.5em 1em;
    border-radius: 2em;
  }
  :where(.wp-block-file__button):where(a):hover, :where(.wp-block-file__button):where(a):visited, :where(.wp-block-file__button):where(a):focus, :where(.wp-block-file__button):where(a):active {
    box-shadow: none;
    color: #fff;
    text-decoration: none;
    opacity: 0.85;
  }
  .wp-block-form-input__label {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-bottom: 0.5em;
    gap: 0.25em;
  }
  .wp-block-form-input__label.is-label-inline {
    flex-direction: row;
    align-items: center;
    gap: 0.5em;
  }
  .wp-block-form-input__label.is-label-inline .wp-block-form-input__label-content {
    margin-bottom: 0.5em;
  }
  .wp-block-form-input__label:has(input[type=checkbox]) {
    flex-direction: row;
    width: fit-content;
  }
  .wp-block-form-input__label:has(input[type=checkbox]) .wp-block-form-input__label-content {
    margin: 0;
  }
  .wp-block-form-input__label:has(.wp-block-form-input__label-content + input[type=checkbox]) {
    /* stylelint-disable-next-line declaration-property-value-allowed-list -- This style is required for old markup. */
    flex-direction: row-reverse;
  }
  .wp-block-form-input__label-content {
    width: fit-content;
  }
  :where(.wp-block-form-input__input) {
    margin-bottom: 0.5em;
    padding: 0 0.5em;
    font-size: 1em;
  }
  :where(.wp-block-form-input__input)[type=text], :where(.wp-block-form-input__input)[type=password], :where(.wp-block-form-input__input)[type=date], :where(.wp-block-form-input__input)[type=datetime], :where(.wp-block-form-input__input)[type=datetime-local], :where(.wp-block-form-input__input)[type=email], :where(.wp-block-form-input__input)[type=month], :where(.wp-block-form-input__input)[type=number], :where(.wp-block-form-input__input)[type=search], :where(.wp-block-form-input__input)[type=tel], :where(.wp-block-form-input__input)[type=time], :where(.wp-block-form-input__input)[type=url], :where(.wp-block-form-input__input)[type=week] {
    min-height: 2em;
    border-width: 1px;
    border-style: solid;
    line-height: 2;
  }
  textarea.wp-block-form-input__input {
    min-height: 10em;
  }
  .wp-block-gallery:not(.has-nested-images),
  .blocks-gallery-grid:not(.has-nested-images) {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style-type: none;
  }
  .wp-block-gallery:not(.has-nested-images) .blocks-gallery-image,
  .wp-block-gallery:not(.has-nested-images) .blocks-gallery-item,
  .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image,
  .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item {
    display: flex;
    position: relative;
    flex-grow: 1;
    flex-direction: column;
    justify-content: center;
    width: calc(50% - 1em);
    margin: 0 1em 1em 0;
  }
  .wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:nth-of-type(even),
  .wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:nth-of-type(even),
  .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:nth-of-type(even),
  .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:nth-of-type(even) {
    margin-right: 0;
  }
  .wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figure,
  .wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figure,
  .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figure,
  .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figure {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    height: 100%;
    margin: 0;
  }
  .wp-block-gallery:not(.has-nested-images) .blocks-gallery-image img,
  .wp-block-gallery:not(.has-nested-images) .blocks-gallery-item img,
  .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image img,
  .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
  }
  .wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption,
  .wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption,
  .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption,
  .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption {
    box-sizing: border-box;
    z-index: 2;
    position: absolute;
    bottom: 0;
    width: 100%;
    max-height: 100%;
    margin: 0;
    padding: 3em 0.77em 0.7em;
    overflow: auto;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0, rgba(0, 0, 0, 0.3) 70%, transparent);
    color: #fff;
    font-size: 0.8em;
    text-align: center;
  }
  .wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption img,
  .wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption img,
  .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption img,
  .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption img {
    display: inline;
  }
  .wp-block-gallery:not(.has-nested-images) figcaption,
  .blocks-gallery-grid:not(.has-nested-images) figcaption {
    flex-grow: 1;
  }
  .wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image a,
  .wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image img, .wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item a,
  .wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item img,
  .blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image a,
  .blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image img,
  .blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item a,
  .blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item img {
    flex: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image, .wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item,
  .blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image,
  .blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item {
    width: 100%;
    margin-right: 0;
  }
  .wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:last-child,
  .wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:last-child,
  .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:last-child,
  .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:last-child {
    margin-right: 0;
  }
  .wp-block-gallery:not(.has-nested-images).alignleft, .wp-block-gallery:not(.has-nested-images).alignright,
  .blocks-gallery-grid:not(.has-nested-images).alignleft,
  .blocks-gallery-grid:not(.has-nested-images).alignright {
    width: 100%;
    max-width: 420px;
  }
  .wp-block-gallery:not(.has-nested-images).aligncenter .blocks-gallery-item figure,
  .blocks-gallery-grid:not(.has-nested-images).aligncenter .blocks-gallery-item figure {
    justify-content: center;
  }
  .wp-block-gallery:not(.is-cropped) .blocks-gallery-item {
    align-self: flex-start;
  }
  figure.wp-block-gallery.has-nested-images {
    align-items: normal;
  }
  .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
    width: calc(50% - var(--wp--style--unstable-gallery-gap, 16px) / 2);
    margin: 0;
  }
  .wp-block-gallery.has-nested-images figure.wp-block-image {
    box-sizing: border-box;
    display: flex;
    position: relative;
    flex-grow: 1;
    flex-direction: column;
    justify-content: center;
    max-width: 100%;
  }
  .wp-block-gallery.has-nested-images figure.wp-block-image > div,
  .wp-block-gallery.has-nested-images figure.wp-block-image > a {
    flex-grow: 1;
    flex-direction: column;
    margin: 0;
  }
  .wp-block-gallery.has-nested-images figure.wp-block-image img {
    display: block;
    width: auto;
    max-width: 100% !important;
    height: auto;
  }
  .wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before,
  .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    max-height: 100%;
  }
  .wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before {
    height: 100%;
    max-height: 3em;
    backdrop-filter: blur(3px);
    content: "";
    mask-image: linear-gradient(0deg, #000 20%, transparent 100%);
    pointer-events: none;
  }
  .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    box-sizing: border-box;
    margin: 0;
    padding: 1em;
    overflow: auto;
    color: #fff;
    font-size: 13px;
    text-align: center;
    text-shadow: 0 0 1.5px #000;
  }
  .wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar {
    width: 12px;
    height: 12px;
  }
  .wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-track {
    background-color: transparent;
  }
  .wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-thumb {
    border: 3px solid transparent;
    border-radius: 8px;
    background-clip: padding-box;
    background-color: transparent;
  }
  .wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover::-webkit-scrollbar-thumb, .wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus::-webkit-scrollbar-thumb, .wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within::-webkit-scrollbar-thumb {
    background-color: rgba(255, 255, 255, 0.8);
  }
  .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    scrollbar-color: transparent transparent;
    scrollbar-gutter: stable both-edges;
    scrollbar-width: thin;
  }
  .wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover, .wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus, .wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within {
    scrollbar-color: rgba(255, 255, 255, 0.8) transparent;
  }
  .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    will-change: transform;
  }
  .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.4) 0%, transparent 100%);
  }
  .wp-block-gallery.has-nested-images figure.wp-block-image figcaption img {
    display: inline;
  }
  .wp-block-gallery.has-nested-images figure.wp-block-image figcaption a {
    color: inherit;
  }
  .wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border img {
    box-sizing: border-box;
  }
  .wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded > div,
  .wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded > a, .wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border > div,
  .wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border > a {
    flex: 1 1 auto;
  }
  .wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption, .wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border figcaption {
    position: relative;
    flex: initial;
    margin: 0;
    padding: 10px 10px 9px;
    background: none;
    color: inherit;
    text-shadow: none;
  }
  .wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded::before, .wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border::before {
    content: none;
  }
  .wp-block-gallery.has-nested-images figcaption {
    flex-grow: 1;
    flex-basis: 100%;
    text-align: center;
  }
  .wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) {
    margin-top: 0;
    margin-bottom: auto;
  }
  .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) {
    align-self: inherit;
  }
  .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) > div:not(.components-drop-zone),
  .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) > a {
    display: flex;
  }
  .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a,
  .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img {
    flex: 1 0 0%;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image) {
    width: 100%;
  }
  .wp-block-gallery.has-nested-images.alignleft, .wp-block-gallery.has-nested-images.alignright {
    width: 100%;
    max-width: 420px;
  }
  .wp-block-gallery.has-nested-images.aligncenter {
    justify-content: center;
  }
  .wp-block-group {
    box-sizing: border-box;
  }
  :where(.wp-block-group.wp-block-group-is-layout-constrained) {
    position: relative;
  }
  h1:where(.wp-block-heading).has-background,
  h2:where(.wp-block-heading).has-background,
  h3:where(.wp-block-heading).has-background,
  h4:where(.wp-block-heading).has-background,
  h5:where(.wp-block-heading).has-background,
  h6:where(.wp-block-heading).has-background {
    padding: 1.25em 2.375em;
  }
  h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]), h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),
  h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),
  h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),
  h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),
  h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),
  h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),
  h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),
  h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),
  h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),
  h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),
  h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]) {
    rotate: 180deg;
  }
  /**
   * Editor and frontend styles for the Icon Block.
   */
  /* Icon Block styles. */
  .wp-block-icon {
    line-height: 0;
  }
  .wp-block-icon.aligncenter {
    display: flex;
    justify-content: center;
  }
  .wp-block-icon svg {
    box-sizing: border-box;
    fill: currentColor;
  }
  :where(.wp-block-icon) svg {
    width: 100%;
    height: 100%;
  }
  .wp-block-image > a,
  .wp-block-image > figure > a {
    display: inline-block;
  }
  .wp-block-image img {
    box-sizing: border-box;
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
  }
  .wp-block-image[style*=border-radius] > a,
  .wp-block-image[style*=border-radius] img {
    border-radius: inherit;
  }
  .wp-block-image.has-custom-border img {
    box-sizing: border-box;
  }
  .wp-block-image.aligncenter {
    text-align: center;
  }
  .wp-block-image.alignfull > a, .wp-block-image.alignwide > a {
    width: 100%;
  }
  .wp-block-image.alignfull img, .wp-block-image.alignwide img {
    width: 100%;
    height: auto;
  }
  .wp-block-image.alignleft, .wp-block-image.alignright, .wp-block-image.aligncenter,
  .wp-block-image .alignleft,
  .wp-block-image .alignright,
  .wp-block-image .aligncenter {
    display: table;
  }
  .wp-block-image.alignleft > figcaption, .wp-block-image.alignright > figcaption, .wp-block-image.aligncenter > figcaption,
  .wp-block-image .alignleft > figcaption,
  .wp-block-image .alignright > figcaption,
  .wp-block-image .aligncenter > figcaption {
    display: table-caption;
    caption-side: bottom;
  }
  .wp-block-image .alignleft {
    margin-top: 0.5em;
    /*rtl:ignore*/
    margin-right: 1em;
    margin-bottom: 0.5em;
    /*rtl:ignore*/
    margin-left: 0;
    /*rtl:ignore*/
    float: left;
  }
  .wp-block-image .alignright {
    margin-top: 0.5em;
    /*rtl:ignore*/
    margin-right: 0;
    margin-bottom: 0.5em;
    /*rtl:ignore*/
    margin-left: 1em;
    /*rtl:ignore*/
    float: right;
  }
  .wp-block-image .aligncenter {
    margin-right: auto;
    margin-left: auto;
  }
  .wp-block-image :where(figcaption) {
    margin-top: 0.5em;
    margin-bottom: 1em;
  }
  .wp-block-image.is-style-circle-mask img {
    border-radius: 9999px;
  }
  @supports (mask-image: none) or (-webkit-mask-image: none) {
    .wp-block-image.is-style-circle-mask img {
      border-radius: 0;
      /* stylelint-disable-next-line function-url-quotes -- We need quotes for the data URL to use the SVG inline. */
      mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');
      mask-mode: alpha;
      mask-position: center;
      mask-repeat: no-repeat;
      mask-size: contain;
    }
  }
  :root :where(.wp-block-image.is-style-rounded img, .wp-block-image .is-style-rounded img) {
    border-radius: 9999px;
  }
  .wp-block-image figure {
    margin: 0;
  }
  .wp-lightbox-container {
    display: flex;
    position: relative;
    flex-direction: column;
  }
  .wp-lightbox-container img {
    cursor: zoom-in;
  }
  .wp-lightbox-container img:hover + button {
    opacity: 1;
  }
  .wp-lightbox-container button {
    display: flex;
    z-index: 100;
    position: absolute;
    top: 16px;
    right: 16px;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    padding: 0;
    border: none;
    border-radius: 4px;
    backdrop-filter: blur(16px) saturate(180%);
    background-color: rgba(90, 90, 90, 0.25);
    text-align: center;
    cursor: zoom-in;
    opacity: 0;
  }
  .wp-lightbox-container button:focus-visible {
    outline: 3px auto rgba(90, 90, 90, 0.25);
    outline: 3px auto -webkit-focus-ring-color;
    outline-offset: 3px;
  }
  .wp-lightbox-container button:hover {
    cursor: pointer;
    opacity: 1;
  }
  .wp-lightbox-container button:focus {
    opacity: 1;
  }
  .wp-lightbox-container button:hover, .wp-lightbox-container button:focus, .wp-lightbox-container button:not(:hover):not(:active):not(.has-background) {
    border: none;
    background-color: rgba(90, 90, 90, 0.25);
  }
  .wp-lightbox-overlay {
    box-sizing: border-box;
    visibility: hidden;
    z-index: 100000;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    cursor: zoom-out;
  }
  .wp-lightbox-overlay .wp-lightbox-close-button {
    display: flex;
    z-index: 5000000;
    position: absolute;
    top: calc(env(safe-area-inset-top) + 16px);
    right: calc(env(safe-area-inset-right) + 16px);
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
    padding: 0 4px;
    gap: 8px;
    line-height: 1;
    font-family: inherit;
    cursor: pointer;
  }
  .wp-lightbox-overlay .wp-lightbox-close-button:hover, .wp-lightbox-overlay .wp-lightbox-close-button:focus, .wp-lightbox-overlay .wp-lightbox-close-button:not(:hover):not(:active):not(.has-background) {
    border: none;
    background: none;
  }
  .wp-lightbox-overlay .wp-lightbox-close-button:has(.wp-lightbox-close-text:not([hidden])) .wp-lightbox-close-icon svg {
    width: 1em;
    height: 1em;
  }
  .wp-lightbox-overlay .wp-lightbox-close-icon svg {
    display: block;
  }
  .wp-lightbox-overlay .wp-lightbox-navigation-button-prev,
  .wp-lightbox-overlay .wp-lightbox-navigation-button-next {
    display: flex;
    z-index: 2000002;
    position: absolute;
    bottom: 16px;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
    padding: 0 8px;
    gap: 4px;
    line-height: 1;
    font-family: inherit;
    cursor: pointer;
  }
  .wp-lightbox-overlay .wp-lightbox-navigation-button-prev[hidden],
  .wp-lightbox-overlay .wp-lightbox-navigation-button-next[hidden] {
    display: none;
  }
  .wp-lightbox-overlay .wp-lightbox-navigation-button-prev:hover, .wp-lightbox-overlay .wp-lightbox-navigation-button-prev:focus, .wp-lightbox-overlay .wp-lightbox-navigation-button-prev:not(:hover):not(:active):not(.has-background),
  .wp-lightbox-overlay .wp-lightbox-navigation-button-next:hover,
  .wp-lightbox-overlay .wp-lightbox-navigation-button-next:focus,
  .wp-lightbox-overlay .wp-lightbox-navigation-button-next:not(:hover):not(:active):not(.has-background) {
    padding: 0 8px;
    border: none;
    background: none;
  }
  .wp-lightbox-overlay .wp-lightbox-navigation-button-prev:has(.wp-lightbox-navigation-text:not([hidden])) .wp-lightbox-navigation-icon svg,
  .wp-lightbox-overlay .wp-lightbox-navigation-button-next:has(.wp-lightbox-navigation-text:not([hidden])) .wp-lightbox-navigation-icon svg {
    display: block;
    width: 1.5em;
    height: 1.5em;
  }
  .wp-lightbox-overlay .wp-lightbox-navigation-button-prev {
    left: calc(env(safe-area-inset-left) + 16px);
  }
  .wp-lightbox-overlay .wp-lightbox-navigation-button-next {
    right: calc(env(safe-area-inset-right) + 16px);
  }
  .wp-lightbox-overlay .wp-lightbox-navigation-icon svg {
    vertical-align: middle;
  }
  .wp-lightbox-overlay .lightbox-image-container {
    z-index: 2000001;
    position: absolute;
    top: 50%;
    left: 50%;
    width: var(--wp--lightbox-container-width);
    height: var(--wp--lightbox-container-height);
    overflow: hidden;
    transform: translate(-50%, -50%);
    transform-origin: top left;
  }
  .wp-lightbox-overlay .wp-block-image {
    box-sizing: border-box;
    display: flex;
    z-index: 3000000;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    margin: 0;
    transform-origin: 0 0;
  }
  .wp-lightbox-overlay .wp-block-image img {
    width: var(--wp--lightbox-image-width);
    min-width: var(--wp--lightbox-image-width);
    height: var(--wp--lightbox-image-height);
    min-height: var(--wp--lightbox-image-height);
  }
  .wp-lightbox-overlay .wp-block-image figcaption {
    display: none;
  }
  .wp-lightbox-overlay button {
    border: none;
    background: none;
  }
  .wp-lightbox-overlay .scrim {
    z-index: 2000000;
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgb(255, 255, 255);
    opacity: 0.9;
  }
  .wp-lightbox-overlay.active {
    visibility: visible;
  }
  @keyframes show-content-image {
    0% {
      visibility: hidden;
    }
    99% {
      visibility: hidden;
    }
    100% {
      visibility: visible;
    }
  }
  @keyframes turn-on-visibility {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  @keyframes turn-off-visibility {
    0% {
      visibility: visible;
      opacity: 1;
    }
    99% {
      visibility: visible;
      opacity: 0;
    }
    100% {
      visibility: hidden;
      opacity: 0;
    }
  }
  @keyframes lightbox-zoom-in {
    0% {
      transform: translate(calc((-100vw + var(--wp--lightbox-scrollbar-width)) / 2 + var(--wp--lightbox-initial-left-position)), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));
    }
    100% {
      transform: translate(-50%, -50%) scale(1, 1);
    }
  }
  @keyframes lightbox-zoom-out {
    0% {
      visibility: visible;
      transform: translate(-50%, -50%) scale(1, 1);
    }
    99% {
      visibility: visible;
    }
    100% {
      visibility: hidden;
      transform: translate(calc((-100vw + var(--wp--lightbox-scrollbar-width)) / 2 + var(--wp--lightbox-initial-left-position)), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));
    }
  }
  ol.wp-block-latest-comments {
    box-sizing: border-box;
    margin-left: 0;
  }
  :where(.wp-block-latest-comments:not([style*=line-height] .wp-block-latest-comments__comment)) {
    line-height: 1.1;
  }
  :where(.wp-block-latest-comments:not([style*=line-height] .wp-block-latest-comments__comment-excerpt p)) {
    line-height: 1.8;
  }
  .has-dates :where(.wp-block-latest-comments:not([style*=line-height])),
  .has-excerpts :where(.wp-block-latest-comments:not([style*=line-height])) {
    line-height: 1.5;
  }
  .wp-block-latest-comments .wp-block-latest-comments {
    padding-left: 0;
  }
  .wp-block-latest-comments__comment {
    margin-bottom: 1em;
    list-style: none;
  }
  .has-avatars .wp-block-latest-comments__comment {
    min-height: 2.25em;
    list-style: none;
  }
  .has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-meta,
  .has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-excerpt {
    margin-left: 3.25em;
  }
  .wp-block-latest-comments__comment-excerpt p {
    margin: 0.36em 0 1.4em;
    font-size: 0.875em;
  }
  .wp-block-latest-comments__comment-date {
    display: block;
    font-size: 0.75em;
  }
  .wp-block-latest-comments .avatar,
  .wp-block-latest-comments__comment-avatar {
    display: block;
    width: 2.5em;
    height: 2.5em;
    margin-right: 0.75em;
    float: left;
    border-radius: 1.5em;
  }
  .wp-block-latest-comments[style*=font-size] a,
  .wp-block-latest-comments[class*=-font-size] a {
    font-size: inherit;
  }
  .wp-block-latest-posts {
    box-sizing: border-box;
  }
  .wp-block-latest-posts.alignleft {
    /*rtl:ignore*/
    margin-right: 2em;
  }
  .wp-block-latest-posts.alignright {
    /*rtl:ignore*/
    margin-left: 2em;
  }
  .wp-block-latest-posts.wp-block-latest-posts__list {
    list-style: none;
  }
  .wp-block-latest-posts.wp-block-latest-posts__list li {
    clear: both;
    overflow-wrap: break-word;
  }
  .wp-block-latest-posts.is-grid {
    display: flex;
    flex-wrap: wrap;
  }
  .wp-block-latest-posts.is-grid li {
    width: 100%;
    margin: 0 1.25em 1.25em 0;
  }
  :root :where(.wp-block-latest-posts.is-grid) {
    padding: 0;
  }
  :root :where(.wp-block-latest-posts.wp-block-latest-posts__list) {
    padding-left: 0;
  }
  .wp-block-latest-posts__post-date,
  .wp-block-latest-posts__post-author {
    display: block;
    font-size: 0.8125em;
  }
  .wp-block-latest-posts__post-excerpt,
  .wp-block-latest-posts__post-full-content {
    margin-top: 0.5em;
    margin-bottom: 1em;
  }
  .wp-block-latest-posts__featured-image a {
    display: inline-block;
  }
  .wp-block-latest-posts__featured-image img {
    width: auto;
    max-width: 100%;
    height: auto;
  }
  .wp-block-latest-posts__featured-image.alignleft {
    /*rtl:ignore*/
    margin-right: 1em;
    /*rtl:ignore*/
    float: left;
  }
  .wp-block-latest-posts__featured-image.alignright {
    /*rtl:ignore*/
    margin-left: 1em;
    /*rtl:ignore*/
    float: right;
  }
  .wp-block-latest-posts__featured-image.aligncenter {
    margin-bottom: 1em;
    text-align: center;
  }
  ol,
  ul {
    box-sizing: border-box;
  }
  :root :where(.wp-block-list.has-background) {
    padding: 1.25em 2.375em;
  }
  .wp-block-loginout {
    box-sizing: border-box;
  }
  .wp-block-math {
    overflow-x: auto;
    overflow-y: hidden;
  }
  .wp-block-media-text {
    box-sizing: border-box;
    /*rtl:end:ignore*/
    display: grid;
    grid-template-rows: auto;
    grid-template-columns: 50% 1fr;
    /*rtl:begin:ignore*/
    direction: ltr;
  }
  .wp-block-media-text.has-media-on-the-right {
    grid-template-columns: 1fr 50%;
  }
  .wp-block-media-text.is-vertically-aligned-top > .wp-block-media-text__content,
  .wp-block-media-text.is-vertically-aligned-top > .wp-block-media-text__media {
    align-self: start;
  }
  .wp-block-media-text > .wp-block-media-text__content,
  .wp-block-media-text > .wp-block-media-text__media,
  .wp-block-media-text.is-vertically-aligned-center > .wp-block-media-text__content,
  .wp-block-media-text.is-vertically-aligned-center > .wp-block-media-text__media {
    align-self: center;
  }
  .wp-block-media-text.is-vertically-aligned-bottom > .wp-block-media-text__content,
  .wp-block-media-text.is-vertically-aligned-bottom > .wp-block-media-text__media {
    align-self: end;
  }
  .wp-block-media-text > .wp-block-media-text__media {
    grid-row: 1;
    /*rtl:begin:ignore*/
    grid-column: 1;
    /*rtl:end:ignore*/
    margin: 0;
  }
  .wp-block-media-text > .wp-block-media-text__content {
    grid-row: 1;
    /*rtl:begin:ignore*/
    grid-column: 2;
    /*rtl:end:ignore*/
    padding: 0 8% 0 8%;
    direction: ltr;
    word-break: break-word;
  }
  .wp-block-media-text.has-media-on-the-right > .wp-block-media-text__media {
    grid-row: 1;
    /*rtl:begin:ignore*/
    grid-column: 2;
    /*rtl:end:ignore*/
  }
  .wp-block-media-text.has-media-on-the-right > .wp-block-media-text__content {
    grid-row: 1;
    /*rtl:begin:ignore*/
    grid-column: 1;
    /*rtl:end:ignore*/
  }
  .wp-block-media-text__media a {
    display: block;
  }
  .wp-block-media-text__media img,
  .wp-block-media-text__media video {
    width: 100%;
    max-width: unset;
    height: auto;
    vertical-align: middle;
  }
  /* `is-image-fill` is deprecated and the styles are kept for backwards compatibility. */
  .wp-block-media-text.is-image-fill > .wp-block-media-text__media {
    height: 100%;
    min-height: 250px;
    background-size: cover;
  }
  .wp-block-media-text.is-image-fill > .wp-block-media-text__media > a {
    display: block;
    height: 100%;
  }
  .wp-block-media-text.is-image-fill > .wp-block-media-text__media img {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
  }
  /* Image fill for versions 8 and onwards */
  .wp-block-media-text.is-image-fill-element > .wp-block-media-text__media {
    position: relative;
    height: 100%;
    min-height: 250px;
  }
  .wp-block-media-text.is-image-fill-element > .wp-block-media-text__media > a {
    display: block;
    height: 100%;
  }
  .wp-block-media-text.is-image-fill-element > .wp-block-media-text__media img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  /*
  * Here we here not able to use a mobile first CSS approach.
  * Custom widths are set using inline styles, and on mobile,
  * we need 100% width, so we use important to overwrite the inline style.
  * If the style were set on mobile first, on desktop styles,
  * we would have no way of setting the style again to the inline style.
  */
  .wp-block-navigation {
    position: relative;
  }
  .wp-block-navigation ul {
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 0;
    padding-left: 0;
  }
  .wp-block-navigation ul,
  .wp-block-navigation ul li {
    padding: 0;
    list-style: none;
  }
  .wp-block-navigation .wp-block-navigation-item {
    display: flex;
    position: relative;
    align-items: center;
    background-color: inherit;
  }
  .wp-block-navigation .wp-block-navigation-item .wp-block-navigation__submenu-container:empty {
    display: none;
  }
  .wp-block-navigation .wp-block-navigation-item__content {
    display: block;
    z-index: 1;
  }
  .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content {
    color: inherit;
  }
  .wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content {
    text-decoration: underline;
  }
  .wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content:focus, .wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content:active {
    text-decoration: underline;
  }
  .wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content {
    text-decoration: line-through;
  }
  .wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content:focus, .wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content:active {
    text-decoration: line-through;
  }
  .wp-block-navigation :where(a), .wp-block-navigation :where(a:focus), .wp-block-navigation :where(a:active) {
    text-decoration: none;
  }
  .wp-block-navigation .wp-block-navigation__submenu-icon {
    display: inline-block;
    align-self: center;
    width: 0.6em;
    height: 0.6em;
    margin-left: 0.25em;
    padding: 0;
    border: none;
    background-color: inherit;
    color: currentColor;
    font-size: inherit;
    line-height: 0;
  }
  .wp-block-navigation .wp-block-navigation__submenu-icon svg {
    display: inline-block;
    width: inherit;
    height: inherit;
    margin-top: 0.075em;
    stroke: currentColor;
  }
  .wp-block-navigation {
    --navigation-layout-justification-setting: flex-start;
    --navigation-layout-direction: row;
    --navigation-layout-wrap: wrap;
    --navigation-layout-justify: flex-start;
    --navigation-layout-align: center;
  }
  .wp-block-navigation.is-vertical {
    --navigation-layout-direction: column;
    --navigation-layout-justify: initial;
    --navigation-layout-align: flex-start;
  }
  .wp-block-navigation.no-wrap {
    --navigation-layout-wrap: nowrap;
  }
  .wp-block-navigation.items-justified-center {
    --navigation-layout-justification-setting: center;
    --navigation-layout-justify: center;
  }
  .wp-block-navigation.items-justified-center.is-vertical {
    --navigation-layout-align: center;
  }
  .wp-block-navigation.items-justified-right {
    --navigation-layout-justification-setting: flex-end;
    --navigation-layout-justify: flex-end;
  }
  .wp-block-navigation.items-justified-right.is-vertical {
    --navigation-layout-align: flex-end;
  }
  .wp-block-navigation.items-justified-space-between {
    --navigation-layout-justification-setting: space-between;
    --navigation-layout-justify: space-between;
  }
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
    display: flex;
    z-index: 2;
    position: absolute;
    flex-direction: column;
    align-items: normal;
    background-color: inherit;
    color: inherit;
    opacity: 0;
  }
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
    visibility: hidden;
    width: 0;
    height: 0;
    overflow: hidden;
  }
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
    display: flex;
    flex-grow: 1;
    padding: 0.5em 1em;
  }
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content .wp-block-navigation__submenu-icon {
    margin-right: 0;
    margin-left: auto;
  }
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    margin: 0;
  }
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
    top: 100%;
    left: -1px;
  }
  .wp-block-navigation .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within > .wp-block-navigation__submenu-container,
  .wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true] ~ .wp-block-navigation__submenu-container {
    visibility: visible;
    width: auto;
    min-width: 200px;
    height: auto;
    overflow: visible;
    opacity: 1;
  }
  .wp-block-navigation .has-child.open-always {
    flex-direction: var(--navigation-layout-direction, initial);
    flex-wrap: var(--navigation-layout-wrap, wrap);
    align-items: var(--navigation-layout-align, initial);
    justify-content: var(--navigation-layout-justify, initial);
    gap: var(--wp--style--block-gap, 2em);
  }
  .wp-block-navigation .has-child.open-always .wp-block-navigation-item {
    justify-content: var(--navigation-layout-justify, initial);
  }
  .wp-block-navigation .has-child.open-always.wp-block-navigation-submenu,
  .wp-block-navigation .has-child.open-always .wp-block-navigation__submenu-container {
    gap: var(--wp--style--block-gap, 2em);
  }
  .wp-block-navigation .has-child.open-always.wp-block-navigation-submenu,
  .wp-block-navigation .has-child.open-always .wp-block-navigation__submenu-container,
  .wp-block-navigation .has-child.open-always .wp-block-navigation-item {
    padding-top: 0;
    padding-bottom: 0;
  }
  .wp-block-navigation .has-child.open-always .wp-block-navigation__submenu-container {
    padding-right: var(--wp--style--block-gap, 2em);
    padding-left: var(--wp--style--block-gap, 2em);
  }
  .wp-block-navigation .has-child.open-always .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    padding: 0;
  }
  .wp-block-navigation .has-child.open-always > .wp-block-navigation-item__content,
  .wp-block-navigation .has-child.open-always .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
    flex-grow: 0;
  }
  .wp-block-navigation .has-child.open-always > .wp-block-navigation__submenu-container {
    visibility: visible;
    position: static;
    flex-basis: 100%;
    width: auto;
    height: auto;
    overflow: visible;
    border: none;
    background-color: transparent;
    color: inherit;
    opacity: 1;
  }
  .wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container {
    top: 100%;
    left: 0;
  }
  .wp-block-navigation-submenu {
    display: flex;
    position: relative;
  }
  .wp-block-navigation-submenu .wp-block-navigation__submenu-icon svg {
    stroke: currentColor;
  }
  button.wp-block-navigation-item__content {
    border: none;
    background-color: transparent;
    color: currentColor;
    font-style: inherit;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    font-family: inherit;
    letter-spacing: inherit;
    text-align: left;
    text-transform: inherit;
  }
  .wp-block-navigation-submenu__toggle {
    cursor: pointer;
  }
  .wp-block-navigation-submenu__toggle[aria-expanded=true] + .wp-block-navigation__submenu-icon > svg,
  .wp-block-navigation-submenu__toggle[aria-expanded=true] > svg {
    transform: rotate(180deg);
  }
  .wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle {
    padding-right: 0.85em;
    padding-left: 0;
  }
  .wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle + .wp-block-navigation__submenu-icon {
    margin-left: -0.6em;
    pointer-events: none;
  }
  .wp-block-navigation-item.open-on-click button.wp-block-navigation-item__content:not(.wp-block-navigation-submenu__toggle) {
    padding: 0;
  }
  /**
   * Margins
   */
  .wp-block-navigation__responsive-container,
  .wp-block-navigation__responsive-close,
  .wp-block-navigation__responsive-dialog,
  .wp-block-navigation .wp-block-page-list,
  .wp-block-navigation__container,
  .wp-block-navigation__responsive-container-content {
    gap: inherit;
  }
  /**
   * Paddings
   */
  :where(.wp-block-navigation.has-background .wp-block-navigation-item a:not(.wp-element-button)),
  :where(.wp-block-navigation.has-background .wp-block-navigation-submenu a:not(.wp-element-button)) {
    padding: 0.5em 1em;
  }
  :where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item a:not(.wp-element-button)),
  :where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu a:not(.wp-element-button)),
  :where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu button.wp-block-navigation-item__content),
  :where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-pages-list__item button.wp-block-navigation-item__content) {
    padding: 0.5em 1em;
  }
  /**
   * Justifications.
   */
  .wp-block-navigation.items-justified-space-between .wp-block-page-list > .has-child:last-child .wp-block-navigation__submenu-container,
  .wp-block-navigation.items-justified-space-between > .wp-block-navigation__container > .has-child:last-child .wp-block-navigation__submenu-container,
  .wp-block-navigation.items-justified-right .wp-block-page-list > .has-child .wp-block-navigation__submenu-container,
  .wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container {
    right: 0;
    left: auto;
  }
  .wp-block-navigation.items-justified-space-between .wp-block-page-list > .has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
  .wp-block-navigation.items-justified-space-between > .wp-block-navigation__container > .has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
  .wp-block-navigation.items-justified-right .wp-block-page-list > .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
  .wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
    right: -1px;
    left: -1px;
  }
  .wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
    border: 1px solid rgba(0, 0, 0, 0.15);
    background-color: #fff;
  }
  .wp-block-navigation.has-background .wp-block-navigation__submenu-container {
    background-color: inherit;
  }
  .wp-block-navigation:not(.has-text-color) .wp-block-navigation__submenu-container {
    color: #000;
  }
  .wp-block-navigation__container {
    display: flex;
    flex-direction: var(--navigation-layout-direction, initial);
    flex-wrap: var(--navigation-layout-wrap, wrap);
    align-items: var(--navigation-layout-align, initial);
    justify-content: var(--navigation-layout-justify, initial);
    margin: 0;
    padding-left: 0;
    list-style: none;
  }
  .wp-block-navigation__container .is-responsive {
    display: none;
  }
  .wp-block-navigation__container:only-child,
  .wp-block-page-list:only-child {
    flex-grow: 1;
  }
  /**
   * Mobile menu.
   */
  @keyframes overlay-menu__fade-in-animation {
    from {
      transform: translateY(0.5em);
      opacity: 0;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  .wp-block-navigation__responsive-container {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  .wp-block-navigation__responsive-container :where(.wp-block-navigation-item a) {
    color: inherit;
  }
  .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
    display: flex;
    flex-direction: var(--navigation-layout-direction, initial);
    flex-wrap: var(--navigation-layout-wrap, wrap);
    align-items: var(--navigation-layout-align, initial);
    justify-content: var(--navigation-layout-justify, initial);
  }
  .wp-block-navigation__responsive-container:not(.is-menu-open.is-menu-open) {
    background-color: inherit !important;
    color: inherit !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open {
    display: flex;
    flex-direction: column;
    background-color: inherit;
  }
  .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) {
    padding-top: clamp(1rem, var(--wp--style--root--padding-top), 20rem);
    padding-right: clamp(1rem, var(--wp--style--root--padding-right), 20rem);
    padding-bottom: clamp(1rem, var(--wp--style--root--padding-bottom), 20rem);
    padding-left: clamp(1rem, var(--wp--style--root--padding-left), 20rem);
  }
  .wp-block-navigation__responsive-container.is-menu-open {
    z-index: 100000;
    overflow: auto;
  }
  .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-content {
    padding-top: calc(2rem + 24px);
  }
  .wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: var(--navigation-layout-justification-setting, inherit);
    overflow: visible;
  }
  .wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content,
  .wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content .wp-block-page-list,
  .wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    justify-content: flex-start;
  }
  .wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
    display: none;
  }
  .wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
    visibility: visible;
    position: static;
    width: auto;
    min-width: 200px;
    height: auto;
    padding-right: 2rem;
    padding-left: 2rem;
    overflow: initial;
    border: none;
    opacity: 1;
  }
  .wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container,
  .wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    gap: inherit;
  }
  .wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
    padding-top: var(--wp--style--block-gap, 2em);
  }
  .wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
    padding: 0;
  }
  .wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
  .wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content .wp-block-navigation-item,
  .wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content .wp-block-page-list {
    display: flex;
    flex-direction: column;
    align-items: var(--navigation-layout-justification-setting, initial);
  }
  .wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation-item .wp-block-navigation__submenu-container,
  .wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__container,
  .wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation-item,
  .wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-page-list {
    background: transparent !important;
    color: inherit !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container {
    right: auto;
    left: auto;
  }
  .wp-block-navigation__responsive-container.disable-default-overlay .wp-block-navigation__overlay-container {
    display: none;
    width: 100%;
  }
  .wp-block-navigation__responsive-container.disable-default-overlay .wp-block-navigation__responsive-close {
    max-width: none;
  }
  .wp-block-navigation__responsive-container.disable-default-overlay.is-menu-open .wp-block-navigation__responsive-container-content > *:not(.wp-block-navigation__overlay-container) {
    display: none;
  }
  .wp-block-navigation__responsive-container.disable-default-overlay.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__overlay-container {
    display: block;
  }
  .wp-block-navigation__responsive-container.disable-default-overlay.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__overlay-container .wp-block-navigation__submenu-container {
    right: auto;
    left: 0;
  }
  .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) {
    background-color: #fff;
  }
  .wp-block-navigation:not(.has-text-color) .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) {
    color: #000;
  }
  .wp-block-navigation__toggle_button_label {
    font-weight: bold;
    font-size: 1rem;
  }
  .wp-block-navigation__responsive-container-open,
  .wp-block-navigation__responsive-container-close {
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    color: currentColor;
    text-transform: inherit;
    vertical-align: middle;
    cursor: pointer;
  }
  .wp-block-navigation__responsive-container-open svg,
  .wp-block-navigation__responsive-container-close svg {
    display: block;
    width: 24px;
    height: 24px;
    fill: currentColor;
    pointer-events: none;
  }
  .wp-block-navigation__responsive-container-open {
    display: flex;
  }
  .wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open {
    font-weight: inherit;
    font-size: inherit;
    font-family: inherit;
  }
  .wp-block-navigation__responsive-container-close {
    z-index: 2;
    position: absolute;
    top: 0;
    right: 0;
  }
  .wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close {
    font-weight: inherit;
    font-size: inherit;
    font-family: inherit;
  }
  .disable-default-overlay .wp-block-navigation__responsive-container-close {
    top: clamp(1rem, var(--wp--style--root--padding-left), 20rem);
    right: clamp(1rem, var(--wp--style--root--padding-left), 20rem);
  }
  .wp-block-navigation__responsive-close {
    width: 100%;
  }
  .has-modal-open .wp-block-navigation__responsive-close {
    max-width: var(--wp--style--global--wide-size, 100%);
    margin-right: auto;
    margin-left: auto;
  }
  .wp-block-navigation__responsive-close:focus {
    outline: none;
  }
  .is-menu-open .wp-block-navigation__responsive-close,
  .is-menu-open .wp-block-navigation__responsive-dialog,
  .is-menu-open .wp-block-navigation__responsive-container-content {
    box-sizing: border-box;
  }
  .wp-block-navigation__responsive-dialog {
    position: relative;
  }
  .has-modal-open .admin-bar .is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-dialog {
    margin-top: 46px;
  }
  html.has-modal-open {
    overflow: hidden;
  }
  .wp-block-navigation .wp-block-navigation-item__label {
    overflow-wrap: break-word;
  }
  .wp-block-navigation .wp-block-navigation-item__description {
    display: none;
  }
  .link-ui-tools {
    padding: 8px;
    outline: 1px solid #f0f0f0;
  }
  .link-ui-block-inserter {
    padding-top: 8px;
  }
  .link-ui-block-inserter__back {
    margin-left: 8px;
    text-transform: uppercase;
  }
  .wp-block-navigation-overlay-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    gap: 0.5em;
    border: none;
    background: transparent;
    text-decoration: none;
    cursor: pointer;
  }
  .wp-block-navigation-overlay-close:focus {
    outline-offset: 2px;
  }
  .wp-block-navigation-overlay-close svg {
    display: block;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    fill: currentColor;
  }
  .wp-block-navigation-overlay-close .wp-block-navigation-overlay-close__text {
    display: inline-flex;
    align-items: center;
  }
  .wp-block-navigation .wp-block-page-list {
    display: flex;
    flex-direction: var(--navigation-layout-direction, initial);
    flex-wrap: var(--navigation-layout-wrap, wrap);
    align-items: var(--navigation-layout-align, initial);
    justify-content: var(--navigation-layout-justify, initial);
    background-color: inherit;
  }
  .wp-block-navigation .wp-block-navigation-item {
    background-color: inherit;
  }
  .wp-block-page-list {
    box-sizing: border-box;
  }
  .is-small-text {
    font-size: 0.875em;
  }
  .is-regular-text {
    font-size: 1em;
  }
  .is-large-text {
    font-size: 2.25em;
  }
  .is-larger-text {
    font-size: 3em;
  }
  .has-drop-cap:not(:focus)::first-letter {
    margin: 0.05em 0.1em 0 0;
    float: left;
    font-style: normal;
    font-weight: 100;
    font-size: 8.4em;
    line-height: 0.68;
    text-transform: uppercase;
  }
  body.rtl .has-drop-cap:not(:focus)::first-letter {
    margin-left: 0.1em;
    float: initial;
  }
  p.has-drop-cap.has-background {
    overflow: hidden;
  }
  :root :where(p.has-background) {
    padding: 1.25em 2.375em;
  }
  :where(p.has-text-color:not(.has-link-color)) a {
    color: inherit;
  }
  p.has-text-align-right[style*="writing-mode:vertical-rl"],
  p.has-text-align-left[style*="writing-mode:vertical-lr"] {
    rotate: 180deg;
  }
  .wp-block-playlist .wp-block-playlist__current-item {
    display: flex;
    align-items: center;
    align-self: stretch;
    margin-bottom: var(--wp--preset--spacing--30, 1em);
    padding-bottom: var(--wp--preset--spacing--30, 1em);
    gap: var(--wp--preset--spacing--40, 1.5em);
  }
  .wp-block-playlist .wp-block-playlist__current-item div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--wp--preset--spacing--20, 0.5em);
  }
  .wp-block-playlist .wp-block-playlist__current-item .wp-block-playlist__current-item-artist-album {
    flex-direction: row;
  }
  .wp-block-playlist .wp-block-playlist__current-item .wp-block-playlist__item-title {
    word-break: break-all;
  }
  .wp-block-playlist audio {
    width: 100%;
    margin-top: var(--wp--preset--spacing--20, 0.625em);
  }
  .wp-block-playlist .wp-block-playlist__tracklist {
    margin: 0;
    padding-left: 0;
    list-style: none;
  }
  .wp-block-playlist .wp-block-playlist__tracklist.wp-block-playlist__tracklist-is-hidden {
    display: none;
  }
  .wp-block-playlist .wp-block-playlist__tracklist.wp-block-playlist__tracklist-artist-is-hidden .wp-block-playlist-track__artist {
    display: none;
  }
  .wp-block-playlist .wp-block-playlist__tracklist.wp-block-playlist__tracklist-show-numbers {
    counter-reset: playlist-track;
  }
  .wp-block-playlist li.block-list-appender.block-list-appender {
    position: initial;
    margin-top: var(--wp--preset--spacing--30, 1em);
  }
  .wp-block-playlist-track:has([aria-current=true]) {
    background-color: color-mix(in srgb, currentColor 10%, transparent);
  }
  .wp-block-playlist-track:hover {
    background-color: color-mix(in srgb, currentColor 15%, transparent);
  }
  .wp-block-playlist__tracklist-show-numbers .wp-block-playlist-track {
    counter-increment: playlist-track;
  }
  .wp-block-playlist-track .wp-block-playlist-track__button {
    display: flex;
    align-items: center;
    width: 100%;
    padding: var(--wp--preset--spacing--20, 0.5em);
    border: 0;
    outline-offset: 2px;
    background-color: transparent;
    color: inherit;
    font-size: inherit;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
  }
  .wp-block-playlist__tracklist-show-numbers .wp-block-playlist-track .wp-block-playlist-track__button::before {
    width: 2ch;
    margin-right: var(--wp--preset--spacing--20, 0.5em);
    content: counter(playlist-track);
    font-size: 0.85em;
    opacity: 0.7;
  }
  .wp-block-playlist-track .wp-block-playlist-track__button .wp-block-playlist-track__content {
    flex: 1 1 0;
    min-width: 0;
  }
  .wp-block-playlist-track .wp-block-playlist-track__button .wp-block-playlist-track__title {
    display: block;
  }
  .wp-block-playlist-track .wp-block-playlist-track__button .wp-block-playlist-track__artist {
    display: block;
    margin-top: 0.125em;
    font-size: 0.85em;
    opacity: 0.7;
  }
  .wp-block-playlist-track .wp-block-playlist-track__button .wp-block-playlist-track__length {
    margin-left: auto;
    font-size: 0.85em;
    opacity: 0.7;
  }
  .wp-block-post-author {
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
  }
  .wp-block-post-author__byline {
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    font-size: 0.5em;
  }
  .wp-block-post-author__avatar {
    margin-right: 1em;
  }
  .wp-block-post-author__bio {
    margin-bottom: 0.7em;
    font-size: 0.7em;
  }
  .wp-block-post-author__content {
    flex-grow: 1;
    flex-basis: 0;
  }
  .wp-block-post-author__name {
    margin: 0;
  }
  .wp-block-post-author-biography {
    box-sizing: border-box;
  }
  :where(.wp-block-post-comments-form textarea),
  :where(.wp-block-post-comments-form input:not([type=submit])) {
    border-width: 1px;
    border-style: solid;
    border-color: #949494;
    font-size: 1em;
    font-family: inherit;
  }
  :where(.wp-block-post-comments-form textarea),
  :where(.wp-block-post-comments-form input:where(:not([type=submit]):not([type=checkbox]))) {
    padding: calc(0.667em + 2px);
  }
  .wp-block-post-comments-form {
    box-sizing: border-box;
  }
  .wp-block-post-comments-form[style*=font-weight] :where(.comment-reply-title) {
    font-weight: inherit;
  }
  .wp-block-post-comments-form[style*=font-family] :where(.comment-reply-title) {
    font-family: inherit;
  }
  .wp-block-post-comments-form[class*=-font-size] :where(.comment-reply-title), .wp-block-post-comments-form[style*=font-size] :where(.comment-reply-title) {
    font-size: inherit;
  }
  .wp-block-post-comments-form[style*=line-height] :where(.comment-reply-title) {
    line-height: inherit;
  }
  .wp-block-post-comments-form[style*=font-style] :where(.comment-reply-title) {
    font-style: inherit;
  }
  .wp-block-post-comments-form[style*=letter-spacing] :where(.comment-reply-title) {
    letter-spacing: inherit;
  }
  .wp-block-post-comments-form :where(input[type=submit]) {
    display: inline-block;
    box-shadow: none;
    text-align: center;
    overflow-wrap: break-word;
    cursor: pointer;
  }
  .wp-block-post-comments-form .comment-form textarea,
  .wp-block-post-comments-form .comment-form input:not([type=submit]):not([type=checkbox]):not([type=hidden]) {
    box-sizing: border-box;
    display: block;
    width: 100%;
  }
  .wp-block-post-comments-form .comment-form-author label,
  .wp-block-post-comments-form .comment-form-email label,
  .wp-block-post-comments-form .comment-form-url label {
    display: block;
    margin-bottom: 0.25em;
  }
  .wp-block-post-comments-form .comment-form-cookies-consent {
    display: flex;
    gap: 0.25em;
  }
  .wp-block-post-comments-form .comment-form-cookies-consent #wp-comment-cookies-consent {
    margin-top: 0.35em;
  }
  .wp-block-post-comments-form .comment-reply-title {
    margin-bottom: 0;
  }
  .wp-block-post-comments-form .comment-reply-title :where(small) {
    margin-left: 0.5em;
    font-size: var(--wp--preset--font-size--medium, smaller);
  }
  .wp-block-post-comments-count {
    box-sizing: border-box;
  }
  .wp-block-post-content {
    display: flow-root;
  }
  .wp-block-post-comments-link {
    box-sizing: border-box;
  }
  .wp-block-post-date {
    box-sizing: border-box;
  }
  :where(.wp-block-post-excerpt) {
    box-sizing: border-box;
    margin-top: var(--wp--style--block-gap);
    margin-bottom: var(--wp--style--block-gap);
  }
  .wp-block-post-excerpt__excerpt {
    margin-top: 0;
    margin-bottom: 0;
  }
  .wp-block-post-excerpt__more-text {
    margin-top: var(--wp--style--block-gap);
    margin-bottom: 0;
  }
  .wp-block-post-excerpt__more-link {
    display: inline-block;
  }
  .wp-block-post-featured-image {
    margin-right: 0;
    margin-left: 0;
  }
  .wp-block-post-featured-image a {
    display: block;
    height: 100%;
  }
  .wp-block-post-featured-image :where(img) {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
  }
  .wp-block-post-featured-image.alignwide img, .wp-block-post-featured-image.alignfull img {
    width: 100%;
  }
  .wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim {
    position: absolute;
    inset: 0;
    background-color: #000;
  }
  .wp-block-post-featured-image {
    position: relative;
  }
  .wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-gradient {
    background-color: transparent;
  }
  .wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-0 {
    opacity: 0;
  }
  .wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-10 {
    opacity: 0.1;
  }
  .wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-20 {
    opacity: 0.2;
  }
  .wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-30 {
    opacity: 0.3;
  }
  .wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-40 {
    opacity: 0.4;
  }
  .wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-50 {
    opacity: 0.5;
  }
  .wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-60 {
    opacity: 0.6;
  }
  .wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-70 {
    opacity: 0.7;
  }
  .wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-80 {
    opacity: 0.8;
  }
  .wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-90 {
    opacity: 0.9;
  }
  .wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-100 {
    opacity: 1;
  }
  .wp-block-post-featured-image:where(.alignleft, .alignright) {
    width: 100%;
  }
  .wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-previous {
    display: inline-block;
    margin-right: 1ch;
  }
  .wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-previous:not(.is-arrow-chevron) {
    transform: scaleX(1);
  }
  .wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-next {
    display: inline-block;
    margin-left: 1ch;
  }
  .wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-next:not(.is-arrow-chevron) {
    transform: scaleX(1);
  }
  .wp-block-post-navigation-link.has-text-align-right[style*="writing-mode: vertical-rl"], .wp-block-post-navigation-link.has-text-align-left[style*="writing-mode: vertical-lr"] {
    rotate: 180deg;
  }
  .wp-block-post-terms {
    box-sizing: border-box;
  }
  .wp-block-post-terms .wp-block-post-terms__separator {
    white-space: pre-wrap;
  }
  .wp-block-post-time-to-read {
    box-sizing: border-box;
  }
  .wp-block-post-title {
    box-sizing: border-box;
    word-break: break-word;
  }
  .wp-block-post-title :where(a) {
    display: inline-block;
    font-style: inherit;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    font-family: inherit;
    letter-spacing: inherit;
    text-decoration: inherit;
  }
  .wp-block-post-author-name {
    box-sizing: border-box;
  }
  .wp-block-preformatted {
    box-sizing: border-box;
    white-space: pre-wrap;
  }
  :where(.wp-block-preformatted.has-background) {
    padding: 1.25em 2.375em;
  }
  .wp-block-pullquote {
    box-sizing: border-box;
    margin: 0 0 1em 0;
    padding: 4em 0;
    text-align: center;
    overflow-wrap: break-word;
  }
  .wp-block-pullquote p,
  .wp-block-pullquote blockquote {
    color: inherit;
  }
  .wp-block-pullquote blockquote {
    margin: 0;
  }
  .wp-block-pullquote p {
    margin-top: 0;
  }
  .wp-block-pullquote p:last-child {
    margin-bottom: 0;
  }
  .wp-block-pullquote.alignleft, .wp-block-pullquote.alignright {
    max-width: 420px;
  }
  .wp-block-pullquote cite,
  .wp-block-pullquote footer {
    position: relative;
  }
  .wp-block-pullquote .has-text-color a {
    color: inherit;
  }
  .wp-block-pullquote.has-text-align-left blockquote {
    text-align: left;
  }
  .wp-block-pullquote.has-text-align-right blockquote {
    text-align: right;
  }
  .wp-block-pullquote.has-text-align-center blockquote {
    text-align: center;
  }
  .wp-block-pullquote.is-style-solid-color {
    border: none;
  }
  .wp-block-pullquote.is-style-solid-color blockquote {
    max-width: 60%;
    margin-right: auto;
    margin-left: auto;
  }
  .wp-block-pullquote.is-style-solid-color blockquote p {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 2em;
  }
  .wp-block-pullquote.is-style-solid-color blockquote cite {
    font-style: normal;
    text-transform: none;
  }
  .wp-block-pullquote :where(cite) {
    display: block;
    color: inherit;
  }
  .wp-block-post-template {
    box-sizing: border-box;
    max-width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
    list-style: none;
  }
  .wp-block-post-template.is-flex-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1.25em;
  }
  .wp-block-post-template.is-flex-container > li {
    width: 100%;
    margin: 0;
  }
  .wp-block-post-template-is-layout-constrained > li > .alignright,
  .wp-block-post-template-is-layout-flow > li > .alignright {
    margin-inline-start: 2em;
    margin-inline-end: 0;
    float: right;
  }
  .wp-block-post-template-is-layout-constrained > li > .alignleft,
  .wp-block-post-template-is-layout-flow > li > .alignleft {
    margin-inline-start: 0;
    margin-inline-end: 2em;
    float: left;
  }
  .wp-block-post-template-is-layout-constrained > li > .aligncenter,
  .wp-block-post-template-is-layout-flow > li > .aligncenter {
    margin-inline-start: auto;
    margin-inline-end: auto;
  }
  .wp-block-query-pagination.is-content-justification-space-between > .wp-block-query-pagination-next:last-of-type {
    margin-inline-start: auto;
  }
  .wp-block-query-pagination.is-content-justification-space-between > .wp-block-query-pagination-previous:first-child {
    margin-inline-end: auto;
  }
  .wp-block-query-pagination .wp-block-query-pagination-previous-arrow {
    display: inline-block;
    margin-right: 1ch;
  }
  .wp-block-query-pagination .wp-block-query-pagination-previous-arrow:not(.is-arrow-chevron) {
    transform: scaleX(1);
  }
  .wp-block-query-pagination .wp-block-query-pagination-next-arrow {
    display: inline-block;
    margin-left: 1ch;
  }
  .wp-block-query-pagination .wp-block-query-pagination-next-arrow:not(.is-arrow-chevron) {
    transform: scaleX(1);
  }
  .wp-block-query-pagination.aligncenter {
    justify-content: center;
  }
  .wp-block-query-title {
    box-sizing: border-box;
  }
  .wp-block-query-total {
    box-sizing: border-box;
  }
  .wp-block-quote {
    box-sizing: border-box;
    overflow-wrap: break-word;
  }
  .wp-block-quote.is-style-large:where(:not(.is-style-plain)), .wp-block-quote.is-large:where(:not(.is-style-plain)) {
    margin-bottom: 1em;
    padding: 0 1em;
  }
  .wp-block-quote.is-style-large:where(:not(.is-style-plain)) p, .wp-block-quote.is-large:where(:not(.is-style-plain)) p {
    font-style: italic;
    font-size: 1.5em;
    line-height: 1.6;
  }
  .wp-block-quote.is-style-large:where(:not(.is-style-plain)) cite,
  .wp-block-quote.is-style-large:where(:not(.is-style-plain)) footer, .wp-block-quote.is-large:where(:not(.is-style-plain)) cite,
  .wp-block-quote.is-large:where(:not(.is-style-plain)) footer {
    font-size: 1.125em;
    text-align: right;
  }
  .wp-block-quote > cite {
    display: block;
  }
  .wp-block-read-more {
    display: block;
    width: fit-content;
  }
  .wp-block-read-more:where(:not([style*=text-decoration])) {
    text-decoration: none;
  }
  .wp-block-read-more:where(:not([style*=text-decoration])):focus, .wp-block-read-more:where(:not([style*=text-decoration])):active {
    text-decoration: none;
  }
  ul.wp-block-rss.alignleft {
    /*rtl:ignore*/
    margin-right: 2em;
  }
  ul.wp-block-rss.alignright {
    /*rtl:ignore*/
    margin-left: 2em;
  }
  ul.wp-block-rss.is-grid {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
  }
  ul.wp-block-rss.is-grid li {
    width: 100%;
    margin: 0 1em 1em 0;
  }
  .wp-block-rss__item-publish-date,
  .wp-block-rss__item-author {
    display: block;
    font-size: 0.8125em;
  }
  .wp-block-rss {
    box-sizing: border-box;
    padding: 0;
    list-style: none;
  }
  .wp-block-search__button {
    margin-left: 10px;
    word-break: normal;
  }
  .wp-block-search__button.has-icon {
    line-height: 0;
  }
  .wp-block-search__button svg {
    width: 1.25em;
    min-width: 24px;
    height: 1.25em;
    min-height: 24px;
    fill: currentColor;
    vertical-align: text-bottom;
  }
  :where(.wp-block-search__button) {
    padding: 6px 10px;
    border: 1px solid #ccc;
  }
  .wp-block-search__inside-wrapper {
    display: flex;
    flex: auto;
    flex-wrap: nowrap;
    max-width: 100%;
  }
  .wp-block-search__label {
    width: 100%;
  }
  .wp-block-search.wp-block-search__button-only .wp-block-search__button {
    box-sizing: border-box;
    display: flex;
    flex-shrink: 0;
    justify-content: center;
    max-width: 100%;
    margin-left: 0;
  }
  .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper {
    min-width: 0 !important;
    transition-property: width;
  }
  .wp-block-search.wp-block-search__button-only .wp-block-search__input {
    flex-basis: 100%;
    transition-duration: 300ms;
  }
  .wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden {
    overflow: hidden;
  }
  .wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper {
    overflow: hidden;
  }
  .wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input {
    flex-grow: 0;
    flex-basis: 0;
    width: 0 !important;
    min-width: 0 !important;
    margin: 0;
    padding-right: 0 !important;
    padding-left: 0 !important;
    border-right-width: 0 !important;
    border-left-width: 0 !important;
  }
  :where(.wp-block-search__input) {
    appearance: initial;
    flex-grow: 1;
    min-width: 3rem;
    margin-right: 0;
    margin-left: 0;
    padding: 8px;
    border: 1px solid #949494;
    font-style: inherit;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    font-family: inherit;
    letter-spacing: inherit;
    text-decoration: unset !important;
    text-transform: inherit;
  }
  :where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) {
    box-sizing: border-box;
    padding: 4px;
    border-width: 1px;
    border-style: solid;
    border-color: #949494;
    background-color: #fff;
  }
  :where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input {
    padding: 0 4px;
    border: none;
    border-radius: 0;
  }
  :where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input:focus {
    outline: none;
  }
  :where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button) {
    padding: 4px 8px;
  }
  .wp-block-search.aligncenter .wp-block-search__inside-wrapper {
    margin: auto;
  }
  .wp-block[data-align=right] .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper {
    float: right;
  }
  .wp-block-separator {
    border-top: 2px solid currentColor;
    border-right: none;
    border-bottom: none;
    border-left: none;
  }
  :root :where(.wp-block-separator.is-style-dots) {
    height: auto;
    line-height: 1;
    text-align: center;
  }
  :root :where(.wp-block-separator.is-style-dots)::before {
    /*rtl:ignore*/
    padding-left: 2em;
    content: "···";
    color: currentColor;
    font-size: 1.5em;
    font-family: serif;
    letter-spacing: 2em;
  }
  .wp-block-separator.is-style-dots {
    border: none !important;
    background: none !important;
  }
  .wp-block-site-logo {
    box-sizing: border-box;
    line-height: 0;
  }
  .wp-block-site-logo a {
    display: inline-block;
    line-height: 0;
  }
  .wp-block-site-logo.is-default-size img {
    width: 120px;
    height: auto;
  }
  .wp-block-site-logo img {
    max-width: 100%;
    height: auto;
  }
  .wp-block-site-logo a,
  .wp-block-site-logo img {
    border-radius: inherit;
  }
  .wp-block-site-logo.aligncenter {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
  }
  :root :where(.wp-block-site-logo.is-style-rounded) {
    border-radius: 9999px;
  }
  .wp-block-site-tagline {
    box-sizing: border-box;
  }
  .wp-block-site-title {
    box-sizing: border-box;
  }
  .wp-block-site-title :where(a) {
    color: inherit;
    font-style: inherit;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    font-family: inherit;
    letter-spacing: inherit;
    text-decoration: inherit;
  }
  .wp-block-social-links {
    box-sizing: border-box;
    margin-left: 0;
    padding-right: 0;
    padding-left: 0;
    background: none;
    text-indent: 0;
  }
  .wp-block-social-links .wp-social-link a,
  .wp-block-social-links .wp-social-link a:hover {
    border-bottom: 0;
    box-shadow: none;
    text-decoration: none;
  }
  .wp-block-social-links .wp-social-link svg {
    width: 1em;
    height: 1em;
  }
  .wp-block-social-links .wp-social-link span:not(.screen-reader-text) {
    margin-right: 0.5em;
    margin-left: 0.5em;
    font-size: 0.65em;
  }
  .wp-block-social-links.has-small-icon-size {
    font-size: 16px;
  }
  .wp-block-social-links, .wp-block-social-links.has-normal-icon-size {
    font-size: 24px;
  }
  .wp-block-social-links.has-large-icon-size {
    font-size: 36px;
  }
  .wp-block-social-links.has-huge-icon-size {
    font-size: 48px;
  }
  .wp-block-social-links.aligncenter {
    display: flex;
    justify-content: center;
  }
  .wp-block-social-links.alignright {
    justify-content: flex-end;
  }
  .wp-block-social-link {
    display: block;
    border-radius: 9999px;
  }
  .wp-block-social-link {
    height: auto;
  }
  .wp-block-social-link a {
    display: flex;
    align-items: center;
    line-height: 0;
  }
  .wp-block-social-link:hover {
    transform: scale(1.1);
  }
  .wp-block-social-links .wp-block-social-link.wp-social-link {
    display: inline-block;
    margin: 0;
    padding: 0;
  }
  .wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor, .wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:hover, .wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:active, .wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:visited,
  .wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor svg {
    fill: currentColor;
    color: currentColor;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link {
    background-color: #f0f0f0;
    color: #444;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-amazon {
    background-color: #f90;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-bandcamp {
    background-color: #1ea0c3;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-behance {
    background-color: #0757fe;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-bluesky {
    background-color: #0a7aff;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-codepen {
    background-color: #1e1f26;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-deviantart {
    background-color: #02e49b;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-discord {
    background-color: #5865f2;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-dribbble {
    background-color: #e94c89;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-dropbox {
    background-color: #4280ff;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-etsy {
    background-color: #f45800;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-facebook {
    background-color: #0866ff;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-fivehundredpx {
    background-color: #000;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-flickr {
    background-color: #0461dd;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-foursquare {
    background-color: #e65678;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-github {
    background-color: #24292d;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-goodreads {
    background-color: #eceadd;
    color: #382110;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-google {
    background-color: #ea4434;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-gravatar {
    background-color: #1d4fc4;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-instagram {
    background-color: #f00075;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-lastfm {
    background-color: #e21b24;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-linkedin {
    background-color: #0d66c2;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-mastodon {
    background-color: #3288d4;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-medium {
    background-color: #000;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-meetup {
    background-color: #f6405f;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-patreon {
    background-color: #000;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-pinterest {
    background-color: #e60122;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-pocket {
    background-color: #ef4155;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-reddit {
    background-color: #ff4500;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-skype {
    background-color: #0478d7;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-snapchat {
    background-color: #fefc00;
    stroke: #000;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-soundcloud {
    background-color: #ff5600;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-spotify {
    background-color: #1bd760;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-telegram {
    background-color: #2aabee;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-threads {
    background-color: #000;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-tiktok {
    background-color: #000;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-tumblr {
    background-color: #011835;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-twitch {
    background-color: #6440a4;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-twitter {
    background-color: #1da1f2;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-vimeo {
    background-color: #1eb7ea;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-vk {
    background-color: #4680c2;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-wordpress {
    background-color: #3499cd;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-whatsapp {
    background-color: #25d366;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-x {
    background-color: #000;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-yelp {
    background-color: #d32422;
    color: #fff;
  }
  :where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-youtube {
    background-color: #f00;
    color: #fff;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link {
    background: none;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link svg {
    width: 1.25em;
    height: 1.25em;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-amazon {
    color: #f90;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-bandcamp {
    color: #1ea0c3;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-behance {
    color: #0757fe;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-bluesky {
    color: #0a7aff;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-codepen {
    color: #1e1f26;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-deviantart {
    color: #02e49b;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-discord {
    color: #5865f2;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-dribbble {
    color: #e94c89;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-dropbox {
    color: #4280ff;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-etsy {
    color: #f45800;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-facebook {
    color: #0866ff;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-fivehundredpx {
    color: #000;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-flickr {
    color: #0461dd;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-foursquare {
    color: #e65678;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-github {
    color: #24292d;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-goodreads {
    color: #382110;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-google {
    color: #ea4434;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-gravatar {
    color: #1d4fc4;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-instagram {
    color: #f00075;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-lastfm {
    color: #e21b24;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-linkedin {
    color: #0d66c2;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-mastodon {
    color: #3288d4;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-medium {
    color: #000;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-meetup {
    color: #f6405f;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-patreon {
    color: #000;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-pinterest {
    color: #e60122;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-pocket {
    color: #ef4155;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-reddit {
    color: #ff4500;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-skype {
    color: #0478d7;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-snapchat {
    stroke: #000;
    color: #fff;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-soundcloud {
    color: #ff5600;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-spotify {
    color: #1bd760;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-telegram {
    color: #2aabee;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-threads {
    color: #000;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-tiktok {
    color: #000;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-tumblr {
    color: #011835;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-twitch {
    color: #6440a4;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-twitter {
    color: #1da1f2;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-vimeo {
    color: #1eb7ea;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-vk {
    color: #4680c2;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-whatsapp {
    color: #25d366;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-wordpress {
    color: #3499cd;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-x {
    color: #000;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-yelp {
    color: #d32422;
  }
  :where(.wp-block-social-links.is-style-logos-only) .wp-social-link-youtube {
    color: #f00;
  }
  .wp-block-social-links.is-style-pill-shape .wp-social-link {
    width: auto;
  }
  :root :where(.wp-block-social-links .wp-social-link a) {
    padding: 0.25em;
  }
  :root :where(.wp-block-social-links.is-style-logos-only .wp-social-link a) {
    padding: 0;
  }
  :root :where(.wp-block-social-links.is-style-pill-shape .wp-social-link a) {
    padding-right: 0.6666666667em;
    padding-left: 0.6666666667em;
  }
  .wp-block-social-links:not(.has-icon-color):not(.has-icon-background-color) .wp-social-link-snapchat .wp-block-social-link-label {
    color: #000;
  }
  .wp-block-spacer {
    clear: both;
  }
  .wp-block-tag-cloud {
    box-sizing: border-box;
  }
  .wp-block-tag-cloud.aligncenter {
    justify-content: center;
    text-align: center;
  }
  .wp-block-tag-cloud a {
    display: inline-block;
    margin-right: 5px;
  }
  .wp-block-tag-cloud span {
    display: inline-block;
    margin-left: 5px;
    text-decoration: none;
  }
  :root :where(.wp-block-tag-cloud.is-style-outline) {
    display: flex;
    flex-wrap: wrap;
    gap: 1ch;
  }
  :root :where(.wp-block-tag-cloud.is-style-outline a) {
    margin-right: 0;
    padding: 1ch 2ch;
    border: 1px solid currentColor;
    font-size: unset !important;
    text-decoration: none !important;
  }
  .wp-block-tab {
    box-sizing: border-box;
    flex-grow: 1;
    flex-basis: 100%;
    max-width: 100%;
  }
  .wp-block-tab > *:first-child {
    margin-top: 0;
  }
  .wp-block-tab > *:last-child {
    margin-bottom: 0;
  }
  .wp-block-tab[hidden], .wp-block-tab:empty {
    display: none !important;
  }
  .wp-block-tab.wp-block.has-background,
  .wp-block-tab:not(.wp-block).has-background {
    padding: var(--wp--preset--spacing--30);
  }
  .wp-block-tab-panel {
    flex-grow: 1;
    min-width: 0;
  }
  .wp-block-table {
    overflow-x: auto;
  }
  .wp-block-table table {
    width: 100%;
    border-collapse: collapse;
  }
  .wp-block-table thead {
    border-bottom: 3px solid;
  }
  .wp-block-table tfoot {
    border-top: 3px solid;
  }
  .wp-block-table td,
  .wp-block-table th {
    padding: 0.5em;
    border: 1px solid;
  }
  .wp-block-table .has-fixed-layout {
    width: 100%;
    table-layout: fixed;
  }
  .wp-block-table .has-fixed-layout td,
  .wp-block-table .has-fixed-layout th {
    word-break: break-word;
  }
  .wp-block-table.alignleft, .wp-block-table.aligncenter, .wp-block-table.alignright {
    display: table;
    width: auto;
  }
  .wp-block-table.alignleft td,
  .wp-block-table.alignleft th, .wp-block-table.aligncenter td,
  .wp-block-table.aligncenter th, .wp-block-table.alignright td,
  .wp-block-table.alignright th {
    word-break: break-word;
  }
  .wp-block-table .has-subtle-light-gray-background-color {
    background-color: #f3f4f5;
  }
  .wp-block-table .has-subtle-pale-green-background-color {
    background-color: #e9fbe5;
  }
  .wp-block-table .has-subtle-pale-blue-background-color {
    background-color: #e7f5fe;
  }
  .wp-block-table .has-subtle-pale-pink-background-color {
    background-color: #fcf0ef;
  }
  .wp-block-table.is-style-stripes {
    border-collapse: inherit;
    border-spacing: 0;
    background-color: transparent;
  }
  .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
    background-color: #f0f0f0;
  }
  .wp-block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd) {
    background-color: #f3f4f5;
  }
  .wp-block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd) {
    background-color: #e9fbe5;
  }
  .wp-block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd) {
    background-color: #e7f5fe;
  }
  .wp-block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd) {
    background-color: #fcf0ef;
  }
  .wp-block-table.is-style-stripes th,
  .wp-block-table.is-style-stripes td {
    border-color: transparent;
  }
  .wp-block-table.is-style-stripes {
    border-bottom: 1px solid #f0f0f0;
  }
  .wp-block-table .has-border-color > *,
  .wp-block-table .has-border-color tr,
  .wp-block-table .has-border-color th,
  .wp-block-table .has-border-color td {
    border-color: inherit;
  }
  .wp-block-table table[style*=border-top-color] > *,
  .wp-block-table table[style*=border-top-color] tr:first-child {
    border-top-color: inherit;
  }
  .wp-block-table table[style*=border-top-color] > * th,
  .wp-block-table table[style*=border-top-color] > * td,
  .wp-block-table table[style*=border-top-color] tr:first-child th,
  .wp-block-table table[style*=border-top-color] tr:first-child td {
    border-top-color: inherit;
  }
  .wp-block-table table[style*=border-top-color] tr:not(:first-child) {
    border-top-color: currentColor;
  }
  .wp-block-table table[style*=border-right-color] > *,
  .wp-block-table table[style*=border-right-color] tr,
  .wp-block-table table[style*=border-right-color] th,
  .wp-block-table table[style*=border-right-color] td:last-child {
    border-right-color: inherit;
  }
  .wp-block-table table[style*=border-bottom-color] > *,
  .wp-block-table table[style*=border-bottom-color] tr:last-child {
    border-bottom-color: inherit;
  }
  .wp-block-table table[style*=border-bottom-color] > * th,
  .wp-block-table table[style*=border-bottom-color] > * td,
  .wp-block-table table[style*=border-bottom-color] tr:last-child th,
  .wp-block-table table[style*=border-bottom-color] tr:last-child td {
    border-bottom-color: inherit;
  }
  .wp-block-table table[style*=border-bottom-color] tr:not(:last-child) {
    border-bottom-color: currentColor;
  }
  .wp-block-table table[style*=border-left-color] > *,
  .wp-block-table table[style*=border-left-color] tr,
  .wp-block-table table[style*=border-left-color] th,
  .wp-block-table table[style*=border-left-color] td:first-child {
    border-left-color: inherit;
  }
  .wp-block-table table[style*=border-style] > *,
  .wp-block-table table[style*=border-style] tr,
  .wp-block-table table[style*=border-style] th,
  .wp-block-table table[style*=border-style] td {
    border-style: inherit;
  }
  .wp-block-table table[style*=border-width] > *,
  .wp-block-table table[style*=border-width] tr,
  .wp-block-table table[style*=border-width] th,
  .wp-block-table table[style*=border-width] td {
    border-width: inherit;
    border-style: inherit;
  }
  :root :where(.wp-block-table-of-contents) {
    box-sizing: border-box;
  }
  .wp-block-tabs {
    box-sizing: border-box;
  }
  .wp-block-tabs .wp-block-tabs__title {
    display: none;
  }
  .wp-block-tabs-menu {
    display: flex;
    align-items: flex-end;
    min-width: fit-content;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #000;
  }
  .wp-block-tabs-menu-item {
    box-sizing: border-box;
    display: block;
    appearance: none;
    flex-grow: inherit !important;
    flex-basis: inherit !important;
    width: max-content;
    border: none;
    background: none;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    -webkit-appearance: none;
    margin: 0;
    padding-inline: var(--tab-padding-inline, var(--wp--preset--spacing--30, 1em));
    padding-block: var(--tab-padding-block, var(--wp--preset--spacing--20, 0.5em));
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    font-family: inherit;
    letter-spacing: inherit;
    text-align: inherit;
    text-transform: inherit;
  }
  .wp-block-tabs-menu-item:focus {
    outline: none;
  }
  .wp-block-tabs-menu-item:focus-visible {
    outline: 2px solid var(--tab-border-color-active, #000);
    outline-offset: 2px;
  }
  .wp-block-tabs-menu-item:hover {
    background-color: var(--custom-tab-hover-color, #eaeaea) !important;
    color: var(--custom-tab-hover-text-color, #000) !important;
  }
  .wp-block-tabs-menu-item[aria-selected=true], .wp-block-tabs-menu-item.is-active {
    background-color: var(--custom-tab-active-color, #000) !important;
    color: var(--custom-tab-active-text-color, #fff) !important;
  }
  .wp-block-term-count {
    box-sizing: border-box;
  }
  :where(.wp-block-term-description) {
    box-sizing: border-box;
    margin-top: var(--wp--style--block-gap);
    margin-bottom: var(--wp--style--block-gap);
  }
  .wp-block-term-description p {
    margin-top: 0;
    margin-bottom: 0;
  }
  .wp-block-term-name {
    box-sizing: border-box;
  }
  .wp-block-term-template {
    box-sizing: border-box;
    max-width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
    list-style: none;
  }
  .wp-block-text-columns {
    display: flex;
  }
  .wp-block-text-columns.aligncenter {
    display: flex;
  }
  .wp-block-text-columns .wp-block-column {
    margin: 0 1em;
    padding: 0;
  }
  .wp-block-text-columns .wp-block-column:first-child {
    margin-left: 0;
  }
  .wp-block-text-columns .wp-block-column:last-child {
    margin-right: 0;
  }
  .wp-block-text-columns.columns-2 .wp-block-column {
    width: 50%;
  }
  .wp-block-text-columns.columns-3 .wp-block-column {
    width: 33.3333333333%;
  }
  .wp-block-text-columns.columns-4 .wp-block-column {
    width: 25%;
  }
  pre.wp-block-verse {
    box-sizing: border-box;
    min-width: 1em;
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
  }
  :where(pre.wp-block-verse) {
    font-family: inherit;
  }
  .wp-block-video {
    box-sizing: border-box;
  }
  .wp-block-video video {
    width: 100%;
    height: auto;
    vertical-align: middle;
  }
  @supports (position: sticky) {
    .wp-block-video [poster] {
      object-fit: cover;
    }
  }
  .wp-block-video.aligncenter {
    text-align: center;
  }
  .wp-block-video :where(figcaption) {
    margin-top: 0.5em;
    margin-bottom: 1em;
  }
  .editor-styles-wrapper,
  .entry-content {
    counter-reset: footnotes;
  }
  a[data-fn].fn {
    display: inline-flex;
    font-size: smaller;
    text-decoration: none;
    text-indent: -9999999px;
    vertical-align: super;
    counter-increment: footnotes;
  }
  a[data-fn].fn::after {
    float: left;
    content: "[" counter(footnotes) "]";
    text-indent: 0;
  }
  :root {
    --wp-block-synced-color: #7a00df;
    --wp-block-synced-color--rgb: 122, 0, 223;
    --wp-bound-block-color: var(--wp-block-synced-color);
    --wp-editor-canvas-background: #ddd;
    --wp-admin-theme-color: #007cba;
    --wp-admin-theme-color--rgb: 0, 124, 186;
    --wp-admin-theme-color-darker-10: rgb(0, 107, 160.5);
    --wp-admin-theme-color-darker-10--rgb: 0, 107, 160.5;
    --wp-admin-theme-color-darker-20: #005a87;
    --wp-admin-theme-color-darker-20--rgb: 0, 90, 135;
    --wp-admin-border-width-focus: 2px;
  }
  /**
   * Element styles.
   */
  .wp-element-button {
    cursor: pointer;
  }
  :root .has-very-light-gray-background-color {
    background-color: #eee;
  }
  :root .has-very-dark-gray-background-color {
    background-color: #313131;
  }
  :root .has-very-light-gray-color {
    color: #eee;
  }
  :root .has-very-dark-gray-color {
    color: #313131;
  }
  :root {
    /* stylelint-disable @stylistic/function-comma-space-after -- We can not use spacing because of WP multi site kses rule. */
  }
  :root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background {
    background: linear-gradient(135deg, rgb(0, 208, 132) 0%, rgb(6, 147, 227) 100%);
  }
  :root .has-purple-crush-gradient-background {
    background: linear-gradient(135deg, rgb(52, 226, 228) 0%, rgb(71, 33, 251) 50%, rgb(171, 29, 254) 100%);
  }
  :root .has-hazy-dawn-gradient-background {
    background: linear-gradient(135deg, rgb(250, 172, 168) 0%, rgb(218, 208, 236) 100%);
  }
  :root .has-subdued-olive-gradient-background {
    background: linear-gradient(135deg, rgb(250, 250, 225) 0%, rgb(103, 166, 113) 100%);
  }
  :root .has-atomic-cream-gradient-background {
    background: linear-gradient(135deg, rgb(253, 215, 154) 0%, rgb(0, 74, 89) 100%);
  }
  :root .has-nightshade-gradient-background {
    background: linear-gradient(135deg, rgb(51, 9, 104) 0%, rgb(49, 205, 207) 100%);
  }
  :root .has-midnight-gradient-background {
    background: linear-gradient(135deg, rgb(2, 3, 129) 0%, rgb(40, 116, 252) 100%);
  }
  :root {
    /* stylelint-enable @stylistic/function-comma-space-after */
    --wp--preset--font-size--normal: 16px;
    --wp--preset--font-size--huge: 42px;
  }
  .has-regular-font-size {
    font-size: 1em;
  }
  .has-larger-font-size {
    font-size: 2.625em;
  }
  .has-normal-font-size {
    font-size: var(--wp--preset--font-size--normal);
  }
  .has-huge-font-size {
    font-size: var(--wp--preset--font-size--huge);
  }
  :root .has-text-align-center {
    text-align: center;
  }
  :root .has-text-align-left {
    /*rtl:ignore*/
    text-align: left;
  }
  :root .has-text-align-right {
    /*rtl:ignore*/
    text-align: right;
  }
  .has-fit-text {
    white-space: nowrap !important;
  }
  #end-resizable-editor-section {
    display: none;
  }
  .aligncenter {
    clear: both;
  }
  .items-justified-left {
    justify-content: flex-start;
  }
  .items-justified-center {
    justify-content: center;
  }
  .items-justified-right {
    justify-content: flex-end;
  }
  .items-justified-space-between {
    justify-content: space-between;
  }
  .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0;
    clip-path: inset(50%);
    word-wrap: normal !important;
  }
  .screen-reader-text:focus {
    display: block;
    z-index: 100000;
    top: 5px;
    left: 5px;
    width: auto;
    height: auto;
    padding: 15px 23px 14px;
    background-color: #ddd;
    color: #444;
    font-size: 1em;
    line-height: normal;
    text-decoration: none;
    clip-path: none;
  }
  /**
   * The following provide a simple means of applying a default border style when
   * a user first makes a selection in the border block support panel.
   * This prevents issues such as where the user could set a border width
   * and see no border due there being no border style set.
   *
   * This is intended to be removed once intelligent defaults can be set while
   * making border selections via the block support.
   *
   * See: https://github.com/WordPress/gutenberg/pull/33743
   */
  html :where(.has-border-color) {
    border-style: solid;
  }
  html :where([style*=border-color]) {
    border-style: solid;
  }
  html :where([style*=border-top-color]) {
    border-top-style: solid;
  }
  html :where([style*=border-right-color]) {
    /*rtl:ignore*/
    border-right-style: solid;
  }
  html :where([style*=border-bottom-color]) {
    border-bottom-style: solid;
  }
  html :where([style*=border-left-color]) {
    /*rtl:ignore*/
    border-left-style: solid;
  }
  html :where([style*=border-width]) {
    border-style: solid;
  }
  html :where([style*=border-top-width]) {
    border-top-style: solid;
  }
  html :where([style*=border-right-width]) {
    /*rtl:ignore*/
    border-right-style: solid;
  }
  html :where([style*=border-bottom-width]) {
    border-bottom-style: solid;
  }
  html :where([style*=border-left-width]) {
    /*rtl:ignore*/
    border-left-style: solid;
  }
  /**
   * Provide baseline responsiveness for images.
   */
  html :where(img[class*=wp-image-]) {
    max-width: 100%;
    height: auto;
  }
  /**
   * Reset user agent styles for figure element margins.
   */
  :where(figure) {
    margin: 0 0 1em 0;
  }
  html :where(.is-position-sticky) {
    /* stylelint-disable length-zero-no-unit -- 0px is set explicitly so that it can be used in a calc value. */
    --wp-admin--admin-bar--position-offset: var(--wp-admin--admin-bar--height, 0px);
    /* stylelint-enable length-zero-no-unit */
  }
  /**
   * Typography
   */
  /**
   * SCSS Variables.
   *
   * Please use variables from this sheet to ensure consistency across the UI.
   * Don't add to this sheet unless you're pretty sure the value will be reused in many places.
   * For example, don't add rules to this sheet that affect block visuals. It's purely for UI.
   */
  /**
   * Colors
   */
  /**
   * Fonts & basic variables.
   */
  /**
   * Typography
   */
  /**
   * Grid System.
   * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
   */
  /**
   * Radius scale.
   */
  /**
   * Elevation scale.
   */
  /**
   * Dimensions.
   */
  /**
   * Mobile specific styles
   */
  /**
   * Editor styles.
   */
  /**
   * Block & Editor UI.
   */
  /**
   * Block paddings.
   */
  /**
   * React Native specific.
   * These variables do not appear to be used anywhere else.
   */
  /**
   * Breakpoints & Media Queries
   */
  /**
  *  Converts a hex value into the rgb equivalent.
  *
  * @param {string} hex - the hexadecimal value to convert
  * @return {string} comma separated rgb values
  */
  /**
   * Long content fade mixin
   *
   * Creates a fading overlay to signify that the content is longer
   * than the space allows.
   */
  /**
   * Breakpoint mixins
   */
  /**
   * Focus styles.
   */
  /**
   * Applies editor left position to the selector passed as argument
   */
  /**
   * Styles that are reused verbatim in a few places
   */
  /**
   * Allows users to opt-out of animations via OS-level preferences.
   */
  /**
   * Reset default styles for JavaScript UI based pages.
   * This is a WP-admin agnostic reset
   */
  /**
   * Reset the WP Admin page styles for Gutenberg-like pages.
   */
  /**
   * Creates a checkerboard pattern background to indicate transparency.
   * @param {String} $size - The size of the squares in the checkerboard pattern. Default is 12px.
   */
  .wp-block-audio :where(figcaption) {
    color: #555;
    font-size: 13px;
    text-align: center;
  }
  .is-dark-theme .wp-block-audio :where(figcaption) {
    color: rgba(255, 255, 255, 0.65);
  }
  .wp-block-audio {
    margin: 0 0 1em 0;
  }
  .wp-block-code {
    padding: 0.8em 1em;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-family: Menlo, Consolas, monaco, monospace;
  }
  .wp-block-embed :where(figcaption) {
    color: #555;
    font-size: 13px;
    text-align: center;
  }
  .is-dark-theme .wp-block-embed :where(figcaption) {
    color: rgba(255, 255, 255, 0.65);
  }
  .wp-block-embed {
    margin: 0 0 1em 0;
  }
  .blocks-gallery-caption {
    color: #555;
    font-size: 13px;
    text-align: center;
  }
  .is-dark-theme .blocks-gallery-caption {
    color: rgba(255, 255, 255, 0.65);
  }
  :root :where(.wp-block-image figcaption) {
    color: #555;
    font-size: 13px;
    text-align: center;
  }
  .is-dark-theme :root :where(.wp-block-image figcaption) {
    color: rgba(255, 255, 255, 0.65);
  }
  .wp-block-image {
    margin: 0 0 1em 0;
  }
  .wp-block-pullquote {
    margin-bottom: 1.75em;
    border-top: 4px solid currentColor;
    border-bottom: 4px solid currentColor;
    color: currentColor;
  }
  .wp-block-pullquote :where(cite),
  .wp-block-pullquote :where(footer), .wp-block-pullquote__citation {
    color: currentColor;
    font-style: normal;
    font-size: 0.8125em;
    text-transform: uppercase;
  }
  .wp-block-quote {
    margin: 0 0 1.75em 0;
    padding-left: 1em;
    border-left: 0.25em solid currentColor;
  }
  .wp-block-quote cite,
  .wp-block-quote footer {
    position: relative;
    color: currentColor;
    font-style: normal;
    font-size: 0.8125em;
  }
  .wp-block-quote:where(.has-text-align-right) {
    padding-right: 1em;
    padding-left: 0;
    border-right: 0.25em solid currentColor;
    border-left: none;
  }
  .wp-block-quote:where(.has-text-align-center) {
    padding-left: 0;
    border: none;
  }
  .wp-block-quote:where(.is-style-plain), .wp-block-quote.is-style-large, .wp-block-quote.is-large {
    border: none;
  }
  .wp-block-search .wp-block-search__label {
    font-weight: bold;
  }
  .wp-block-search__button {
    padding: 0.375em 0.625em;
    border: 1px solid #ccc;
  }
  :where(.wp-block-group.has-background) {
    padding: 1.25em 2.375em;
  }
  .wp-block-separator.has-css-opacity {
    opacity: 0.4;
  }
  .wp-block-separator {
    margin-right: auto;
    margin-left: auto;
    border: none;
    border-bottom: 2px solid currentColor;
  }
  .wp-block-separator.has-alpha-channel-opacity {
    opacity: initial;
  }
  .wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
    width: 100px;
  }
  .wp-block-separator.has-background:not(.is-style-dots) {
    height: 1px;
    border-bottom: none;
  }
  .wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots) {
    height: 2px;
  }
  .wp-block-table {
    margin: 0 0 1em 0;
  }
  .wp-block-table td,
  .wp-block-table th {
    word-break: normal;
  }
  .wp-block-table :where(figcaption) {
    color: #555;
    font-size: 13px;
    text-align: center;
  }
  .is-dark-theme .wp-block-table :where(figcaption) {
    color: rgba(255, 255, 255, 0.65);
  }
  .wp-block-video :where(figcaption) {
    color: #555;
    font-size: 13px;
    text-align: center;
  }
  .is-dark-theme .wp-block-video :where(figcaption) {
    color: rgba(255, 255, 255, 0.65);
  }
  .wp-block-video {
    margin: 0 0 1em 0;
  }
  :root :where(.wp-block-template-part.has-background) {
    margin-top: 0;
    margin-bottom: 0;
    padding: 1.25em 2.375em;
  }
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table {
    box-sizing: border-box;
  }
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table.has-fixed-layout {
    table-layout: fixed;
  }
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table.is-sticky-header:not(.is-stacked-on-mobile) thead {
    z-index: 1;
    position: sticky;
    top: 0;
  }
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table.is-sticky-first-column tr > :first-child {
    z-index: 1;
    position: sticky;
    left: 0;
  }
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table td,
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table th {
    box-sizing: border-box;
    min-width: auto;
    word-break: normal;
    overflow-wrap: anywhere;
  }
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table td img,
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table th img {
    max-width: 100%;
  }
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-content-justification-center,
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-content-justification-left,
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-content-justification-right {
    display: flex;
    flex-flow: column;
  }
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-content-justification-center figcaption,
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-content-justification-left figcaption,
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-content-justification-right figcaption {
    align-self: stretch;
  }
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-content-justification-left {
    align-items: flex-start;
  }
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-content-justification-center {
    align-items: center;
  }
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-content-justification-right {
    align-items: flex-end;
  }
  .wp-site-blocks > .alignleft {
    float: left;
  }
  .wp-site-blocks > .alignright {
    float: right;
  }
  .wp-site-blocks > .aligncenter {
    justify-content: center;
    margin-right: auto;
    margin-left: auto;
  }
  :where(.is-layout-flex) {
    gap: 0.5em;
  }
  body .is-layout-flow > .alignleft {
    margin-inline-start: 0;
    margin-inline-end: 2em;
    float: left;
  }
  body .is-layout-flow > .alignright {
    margin-inline-start: 2em;
    margin-inline-end: 0;
    float: right;
  }
  body .is-layout-flow > .aligncenter {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  body .is-layout-constrained > .alignleft {
    margin-inline-start: 0;
    margin-inline-end: 2em;
    float: left;
  }
  body .is-layout-constrained > .alignright {
    margin-inline-start: 2em;
    margin-inline-end: 0;
    float: right;
  }
  body .is-layout-constrained > .aligncenter {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: var(--wp--style--global--content-size);
    margin-right: auto !important;
    margin-left: auto !important;
  }
  body .is-layout-constrained > .alignwide {
    max-width: var(--wp--style--global--wide-size);
  }
  body .is-layout-flex {
    display: flex;
  }
  body .is-layout-flex {
    flex-wrap: wrap;
    align-items: center;
  }
  body .is-layout-flex > * {
    margin: 0;
  }
  body .is-vertical {
    flex-direction: column;
    align-items: flex-start;
  }
  .fsb-style-show-front {
    z-index: 2;
    position: relative;
  }
  .fsb-flexible-spacer + * {
    margin-block-start: 0 !important;
  }
}
@layer layout {
  /* ==========================================================
  !header
  ========================================================== */
  .l-header {
    display: flex;
    z-index: var(--z-index-header);
    position: fixed;
    top: 0;
    left: 50%;
    align-items: center;
    width: 100%;
    max-width: 1300px;
    height: 50px;
    padding-inline: 16px 0;
    padding-block: 5px;
    transform: translateX(-50%);
    border-radius: 0 0 20px 20px;
    background-color: var(--c-white);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
  }
  .l-header__logo {
    width: 60px;
    margin-inline-end: auto;
  }
  .l-header__pc-nav {
    display: none;
  }
  .l-header__toggle {
    display: block;
    width: 50px;
    height: 50px;
  }
  /* simple header */
  /* ヘッダーCTAボタン
  ------------------------------*/
  .l-header__cta {
    display: flex;
    align-self: stretch;
    gap: 4px;
  }
  .l-header__cta .c-button--cta {
    width: 80px;
    padding-inline: 0;
    padding-block: 8px;
    font-size: 0.75rem;
  }
  .l-header__cta .c-button--cta::before {
    width: 15px;
    height: 15px;
  }
  /* ==========================================================
  !gnav (グローバルナビゲーション)
  ========================================================== */
  .l-gnav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
  .l-gnav__link {
    display: block;
    padding-inline: min(2vw, 26px);
    font-weight: bold;
    font-size: 0.875rem;
  }
  .l-gnav__link:focus-visible {
    color: var(--main-color);
  }
  .l-gnav__link.--toggle::after {
    display: inline-block;
    width: 16px;
    height: 16px;
    background-color: currentColor;
    content: "";
    vertical-align: middle;
    mask-image: url(/assets/img/common/ico_chevron_dn.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .l-gnav__search {
    display: grid;
    place-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: var(--c-black);
    color: var(--c-white);
  }
  .l-gnav__search::before {
    display: inline-block;
    width: 16px;
    height: 16px;
    background-color: currentColor;
    content: "";
    vertical-align: middle;
    mask-image: url(/assets/img/common/ico_search.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .l-gnav__search:focus-visible {
    background-color: var(--main-color);
  }
  .l-gnav__search[aria-expanded=true]::before {
    mask-image: url(/assets/img/common/ico_close.svg);
  }
  /* ==========================================================
  !snav (ヘッダー内)
  ========================================================== */
  .l-snav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    font-size: 0.875rem;
  }
  .l-snav__link:focus-visible {
    color: var(--main-color);
  }
  .l-snav__link[target=_blank]::after {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-inline-start: 4px;
    background-color: currentColor;
    content: "";
    mask-image: url(/assets/img/common/ico_external.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .l-snav__link-support {
    padding-inline: 8px;
    padding-block: 4px;
    border-radius: 100vmax;
    background-color: var(--sub-color-dull);
    font-weight: bold;
    font-size: 0.75rem;
  }
  .l-snav__link-support::before {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-inline-end: 4px;
    background-color: currentColor;
    content: "";
    vertical-align: middle;
    mask-image: url(/assets/img/common/ico_support.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .l-snav__link-support:focus-visible {
    background-color: var(--main-color);
    color: var(--c-white);
  }
  /* ==========================================================
  !spmenu
  ========================================================== */
  .l-spmenu {
    visibility: hidden;
    z-index: var(--stack_backwards);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding-block-start: 50px;
    background-color: var(--c-gray-light);
    opacity: 0;
  }
  .l-spmenu[aria-hidden=false] {
    visibility: visible;
    z-index: var(--z-index-spmenu);
    opacity: 1;
  }
  .l-spmenu__inner {
    height: calc(100dvh - 50px);
    padding-inline: var(--padding-inline-container);
    padding-block: 24px;
    overflow-x: hidden;
    overflow-y: auto;
  }
  .l-spmenu__cta {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .l-spmenu__cta .c-button--cta {
    color: var(--c-white);
  }
  .l-spmenu__footer {
    margin-block-start: 24px;
  }
  .l-spmenu__footer .c-button--close {
    margin-inline: auto;
  }
  /* ==========================================================
  !main
  ========================================================== */
  .l-main {
    background-color: var(--c-white);
  }
  .l-main:not(:has(.p-topview, .p-hero)) {
    margin-block-start: 50px;
  }
  /* トップ専用
  ----------------------------------------*/
  body.is-home .l-main {
    background: url(/assets/img/home/bg_blur_logo01.webp) right top/120px 240px no-repeat fixed, url(/assets/img/home/bg_blur_logo02.webp) left 200px/80px 160px no-repeat fixed;
  }
  /* ==========================================================
  !cta
  ========================================================== */
  .l-cta {
    margin-block-start: -20px;
    overflow: hidden;
  }
  .l-cta__item {
    position: relative;
    padding-inline: 32px;
    padding-block: 32px 24px;
    overflow: hidden;
  }
  .l-cta__item-inner {
    height: 100%;
  }
  .l-cta__item-title + * {
    margin-block-start: 8px;
  }
  .l-cta__item-title .sub {
    display: block;
    font-style: italic;
    font-size: 0.875rem;
  }
  .l-cta__item-title .main {
    display: block;
    font-weight: bold;
    font-size: 1.375rem;
  }
  .l-cta__item-illust {
    width: 53.1914893617%;
    max-width: 200px;
    margin-inline: auto;
  }
  .l-cta__item-illust img {
    width: 100%;
  }
  .l-cta__item-tags {
    display: flex;
    flex-wrap: wrap;
    margin-block-start: 16px;
    gap: 12px 8px;
  }
  .l-cta__item-tag {
    padding-inline: 8px;
    padding-block: 4px;
    border-radius: 100vmax;
    background-color: var(--c-black);
    color: var(--c-white);
    font-size: 0.625rem;
  }
  .l-cta__item-btn {
    max-width: 344px;
    margin-inline: auto;
    margin-block: 16px 0;
  }
  .l-cta-catalog {
    border-radius: 20px 20px 0 0;
    background-color: var(--c-black);
    color: var(--c-white);
  }
  .l-cta-contact {
    background-color: var(--accent-color);
    color: var(--c-white);
  }
  /* ==========================================================
  !footer
  ========================================================== */
  .l-footer {
    z-index: var(--stack_forwards);
    position: relative;
    padding-block-start: 40px;
    background-color: var(--c-dark);
    color: var(--c-white);
  }
  /* simple footer */
  .l-footer.l-footer--simple {
    padding-block-start: 0;
  }
  /* 会社情報
  ---------------------------------------------------------- */
  .l-footer-prof {
    padding-inline: var(--padding-inline-container);
    text-align: center;
  }
  .l-footer-prof__logo {
    width: 43.5897435897%;
    max-width: 136px;
    margin-inline: auto;
  }
  .l-footer-prof__text {
    margin-block-start: 20px;
  }
  .l-footer-prof__text > span {
    display: block;
  }
  .l-footer-prof__sns {
    display: flex;
    justify-content: center;
    margin-block-start: 20px;
    gap: 16px;
  }
  /* SPナビゲーション
  ---------------------------------------------------------- */
  .l-footer-sp-nav {
    display: block;
    margin-block-start: 32px;
  }
  /* PCナビゲーション
  ---------------------------------------------------------- */
  .l-footer-pc-nav {
    display: none;
  }
  .l-footer-pc-menu__item {
    max-width: 162px;
  }
  .l-footer-pc-menu__item + .l-footer-pc-menu__item {
    margin-block-start: 32px;
  }
  .l-footer-pc-menu__link {
    display: inline-block;
    position: relative;
    font-weight: bold;
  }
  .l-footer-pc-menu__link::after {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-inline-start: 4px;
    background-color: currentColor;
    content: "";
    vertical-align: middle;
    mask-image: url(/assets/img/common/ico_arrow_r.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .l-footer-pc-menu__link[target=_blank]::after {
    mask-image: url(/assets/img/common/ico_external.svg);
  }
  .l-footer-pc-menu__link::before {
    display: block;
    position: absolute;
    bottom: -4px;
    left: 0;
    width: calc(100% - 1em);
    height: 1px;
    transform: scaleX(0);
    transform-origin: left bottom;
    background-color: currentColor;
    content: "";
    transition: transform 0.3s ease;
  }
  .l-footer-pc-menu__link:focus-visible {
    color: var(--c-white);
  }
  .l-footer-pc-menu__link:focus-visible::before {
    transform: scaleX(1);
  }
  .l-footer-pc-menu__submenu {
    margin-block-start: 24px;
  }
  .l-footer-pc-menu__submenu > li + li {
    margin-block-start: 12px;
  }
  .l-footer-pc-menu__submenu > li a {
    display: inline-block;
    position: relative;
    font-size: 0.875rem;
  }
  .l-footer-pc-menu__submenu > li a::before {
    display: block;
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 1px;
    transform: scaleX(0);
    transform-origin: left bottom;
    background-color: currentColor;
    content: "";
    transition: transform 0.3s ease;
  }
  .l-footer-pc-menu__submenu > li a:focus-visible {
    color: var(--c-white);
  }
  .l-footer-pc-menu__submenu > li a:focus-visible::before {
    transform: scaleX(1);
  }
  /* フッター下部エリア
  ---------------------------------------------------------- */
  .l-footer__bottom {
    padding-block-start: 24px;
    padding-block-end: 24px;
    border-top: 1px solid #545454;
  }
  /* コピーライト
  ---------------------------------------------------------- */
  .l-footer-copyright {
    color: var(--c-white);
    font-size: 0.75rem;
    line-height: 1.5;
    text-align: center;
  }
  .l-footer-copyright small {
    font-size: inherit;
  }
  .l-footer-copyright span {
    display: inline-block;
  }
  /* ==========================================================
  !section
  ========================================================== */
  .l-section {
    padding-block: 64px 84px;
  }
  .l-section + .l-section:not([class*=l-section--c-]), .l-section + .l-section--compression:not([class*=l-section--c-]) {
    padding-block-start: 0;
  }
  .l-section--compression {
    padding-block: 24px 44px;
  }
  .l-section--compression + .l-section:not([class*=l-section--c-]), .l-section--compression + .l-section--compression:not([class*=l-section--c-]) {
    padding-block-start: 0;
  }
  [class*=l-section--c-] {
    margin-block-start: -20px;
    border-radius: 20px 20px 0 0;
  }
  [class*=l-section--c-] + .l-section {
    padding-block: 64px 84px !important;
  }
  [class*=l-section--c-] + .l-section--compression {
    padding-block: 44px !important;
  }
  [class*=l-section--c-].--no-radius {
    margin-block-start: 0;
    border-radius: 0;
  }
  .l-section--c-gray {
    background-color: var(--sub-color-light);
  }
  .l-section--c-white {
    background-color: var(--c-white);
  }
  .l-section--c-bluegray {
    background-color: var(--sub-color-dull);
  }
  .l-section--c-blue {
    background-color: var(--main-color);
    color: var(--c-white);
  }
  [class*=l-section--ornament] {
    position: relative;
  }
  [class*=l-section--ornament]::before {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 70px;
    height: 150px;
    content: "";
    mask-image: url(/assets/img/common/ico_spice.svg);
    mask-position: right top;
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  [class*=l-section--ornament] > [class*=l-container] {
    z-index: var(--stack_forwards);
    position: relative;
  }
  .l-section--ornament-main::before {
    background-color: var(--main-color);
  }
  .l-section--ornament-main--large::before {
    background-color: var(--main-color);
  }
  .l-section--ornament-main--small::before {
    width: 70px;
    height: 150px;
    background-color: var(--main-color);
  }
  .l-section--ornament-sub::before {
    background-color: var(--sub-color);
  }
  .l-section--ornament-white::before {
    background-color: var(--c-white);
  }
  /* ==========================================================
  !container
  ========================================================== */
  .l-container {
    box-sizing: initial;
    max-inline-size: var(--max-inline-size);
    margin-inline: auto;
    padding-inline: var(--padding-inline-container);
  }
  .l-container--small {
    max-inline-size: var(--max-inline-size-small);
  }
  .l-container--large {
    max-inline-size: var(--max-inline-size-large);
  }
  .l-container * {
    box-sizing: border-box;
  }
  .l-container--full {
    margin-inline: calc(50% - 50vw);
    padding-inline: calc(50vw - 50%);
    overflow: hidden;
  }
  .l-container--full-max {
    margin-inline: calc(50% - 50vw);
    padding-inline: 0;
    overflow: hidden;
  }
  /* ==========================================================
  !columns
  ========================================================== */
  /* 右サイドバー（標準）カラム
  ---------------------------------------------------------- */
  .l-columns {
    display: grid;
    gap: 40px;
  }
  /* ==========================================================
  !grid
  ========================================================== */
  .l-grid {
    display: grid;
    gap: 16px;
  }
  .l-grid .l-grid__item {
    container-type: inline-size;
  }
  .l-grid-col2--sm {
    grid-template-columns: repeat(2, 1fr);
  }
  .l-grid-col5 {
    grid-template-columns: repeat(2, 1fr);
  }
  /* ==========================================================
  !article
  ========================================================== */
  .l-article__header {
    margin-block: 40px;
  }
  .l-article__header-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-block-end: 16px;
    gap: 12px;
  }
  .l-article__header-meta-wrapper {
    margin-block-end: 16px;
  }
  .l-article__header-meta-wrapper .l-article__header-meta {
    margin-block-end: 0;
  }
  .l-article__eyecatch {
    margin-block: 40px;
    overflow: hidden;
  }
  .l-article__eyecatch img {
    border-radius: 10px;
  }
  .l-article__title {
    font-weight: bold;
    font-size: 1.5rem;
  }
  .l-article__footer > div {
    display: grid;
    gap: 24px;
  }
  .l-article__footer {
    margin-block: 40px;
  }
  .l-article__share {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px 16px;
    text-align: center;
  }
  .l-article__share dt {
    flex-shrink: 0;
    width: 100%;
    font-weight: bold;
    font-size: 1rem;
  }
  .l-article__share dd {
    width: calc((100% - 32px) / 3);
  }
  .l-article__share a {
    display: grid;
    place-content: center;
    width: 100%;
    padding: 8px;
    border-radius: 4px;
    opacity: 1;
    transition: opacity 0.3s ease;
  }
  .l-article__share a.facebook {
    background-color: #1877F2;
  }
  .l-article__share a.x {
    background-color: #141A21;
  }
  .l-article__share a.line {
    background-color: #3ACE01;
  }
  .l-article__share a:focus-visible {
    opacity: 0.7;
  }
  .l-article__footer-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px 16px;
    text-align: center;
  }
  .l-article__footer-meta dt {
    width: 100%;
    font-weight: bold;
    font-size: 1rem;
  }
  .l-article__share + .l-article__footer-meta {
    margin-block-start: 24px;
  }
  /* ==========================================================
  !l-entry-content
  ========================================================== */
  .l-entry-content > .l-container > p {
    margin-block: 1.5em;
  }
  .l-entry-content p.has-large-font-size {
    font-size: 1rem;
  }
  .l-entry-content p.has-small-font-size {
    font-size: 0.85em;
  }
  .l-entry-content a {
    color: var(--main-color);
    text-decoration: underline;
  }
  .l-entry-content a[target=_blank]::after {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-inline: 4px;
    background-color: currentColor;
    content: "";
    vertical-align: middle;
    mask-image: url(/assets/img/common/ico_external.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .l-entry-content a[href$=".pdf"]::after {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-inline: 4px;
    background-color: currentColor;
    content: "";
    vertical-align: middle;
    mask-image: url(/assets/img/common/ico_pdf.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .l-entry-content a:focus-visible {
    text-decoration: none;
  }
  .l-entry-content a:has(img)[href$=".pdf"]::after, .l-entry-content a:has(img)[target=_blank]::after {
    display: none;
  }
  .l-entry-content .wp-block-image.aligncenter {
    margin-inline: auto;
  }
  .l-entry-content .wp-block-image img {
    border-radius: 10px;
  }
  .l-entry-content .wp-block-embed.aligncenter {
    margin-inline: auto;
  }
  .l-entry-content .wp-block-embed.is-type-video {
    aspect-ratio: 16/9;
    max-width: 70%;
    margin-inline: auto;
  }
  .l-entry-content .wp-block-embed.is-type-video .wp-block-embed__wrapper {
    aspect-ratio: 16/9;
  }
  .l-entry-content .wp-block-embed.is-type-video iframe {
    width: 100%;
    height: 100%;
    border-radius: 10px;
  }
  .l-entry-content .wp-block-video.aligncenter {
    margin-inline: auto;
  }
  .l-entry-content .wp-block-video {
    aspect-ratio: 16/9;
    max-width: 70%;
    margin-inline: auto;
  }
  .l-entry-content .wp-block-video video {
    border-radius: 10px;
    clip-path: inset(0 1px 1px 0);
  }
  .l-entry-content .wp-block-columns .wp-block-embed.is-type-video,
  .l-entry-content .wp-block-columns .wp-block-video {
    max-width: unset;
  }
  .l-entry-content h1.wp-block-heading {
    font-weight: bold;
    font-size: 1.5rem;
  }
  .l-entry-content h2 {
    display: flex;
    margin-block: 64px 20px;
    gap: 8px;
    font-weight: bold;
    font-size: 1.5rem;
  }
  .l-entry-content h2::before {
    display: inline-block;
    flex-shrink: 0;
    width: 0.5em;
    height: 1em;
    margin-block-start: 0.25em;
    background-color: var(--main-color);
    content: "";
    mask-image: url(/assets/img/common/ico_spice.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .l-entry-content h2.has-text-align-center {
    justify-content: center;
    text-align: center;
  }
  .l-entry-content h2.is-line {
    display: block;
  }
  .l-entry-content h2.is-line::before {
    display: none;
  }
  .l-entry-content h2.is-line::after {
    display: block;
    width: 44px;
    height: 3px;
    margin-block-start: 16px;
    border-radius: 5px;
    background: linear-gradient(to right, var(--sub-color) 40px, var(--main-color) 40px);
    content: "";
  }
  .l-entry-content h2.is-line.has-text-align-center::after {
    margin-inline: auto;
  }
  .l-entry-content h2.is-noicon::before {
    display: none;
  }
  .l-entry-content .c-heading-lv2 {
    margin-block: 80px 20px;
    padding: 0;
  }
  .l-entry-content .c-heading-lv2::before {
    position: static;
    background-image: none;
  }
  .l-entry-content .c-heading-lv2--line {
    margin-block: 80px 20px;
    padding: 0;
  }
  .l-entry-content .c-heading-lv2--line::before {
    display: none;
  }
  .l-entry-content h3 {
    position: relative;
    margin-block: 56px 24px;
    padding-inline-start: 16px;
    font-weight: bold;
    font-size: 1.375rem;
  }
  .l-entry-content h3::before {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 3px;
    height: 100%;
    border-radius: 5px;
    background: linear-gradient(to bottom, var(--sub-color) 90%, var(--main-color) 90%);
    content: "";
  }
  .l-entry-content h3.is-noline {
    padding: 0;
  }
  .l-entry-content h3.is-noline::before {
    display: none;
  }
  .l-entry-content .c-heading-lv3 {
    margin-block: 56px 24px;
  }
  .l-entry-content .c-heading-lv3::before {
    margin-block-start: 0;
    mask-image: none;
  }
  .l-entry-content .c-heading-lv3--noline {
    margin-block: 56px 24px;
    padding: 0;
  }
  .l-entry-content .c-heading-lv3--noline::before {
    display: none;
  }
  .l-entry-content h4 {
    margin-block: 40px 16px;
    font-weight: bold;
    font-size: 1.125rem;
  }
  .l-entry-content .l-section--c-blue h2::before {
    background-color: var(--c-white);
  }
  .l-entry-content .wp-block-buttons {
    margin-block: 1.5em;
  }
  .l-entry-content .wp-block-buttons.is-layout-flex {
    gap: 24px;
  }
  .l-entry-content .wp-block-buttons.is-button-wide .wp-block-button {
    flex-grow: 1;
    max-width: 428px;
  }
  .l-entry-content .wp-block-button__link {
    display: block;
    position: relative;
    width: 100%;
    min-width: 288px;
    padding-inline: 40px;
    padding-block: 16px;
    border: 1px solid var(--c-black);
    border-radius: 4px;
    /* 背景を2色に設定（左が隠れ色、右が元色） */
    background-image: linear-gradient(to right, var(--c-white) 50%, var(--c-black) 50%);
    background-position: 100% 0; /* 最初は右半分（元色）を表示 */
    background-size: 200% 100%;
    background-color: var(--c-black);
    color: var(--c-white);
    text-decoration: none;
    transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .l-entry-content .wp-block-button__link::after {
    display: block;
    position: absolute;
    top: 50%;
    right: 16px;
    width: 1em;
    height: 1em;
    transform: translateY(-50%);
    background-color: currentColor;
    content: "";
    mask-image: url(/assets/img/common/ico_arrow_r.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .l-entry-content .wp-block-button__link:hover, .l-entry-content .wp-block-button__link:focus {
    background-position: 0 0;
    background-color: var(--c-white);
    color: var(--c-black);
  }
  .l-entry-content .wp-block-button__link.has-luminous-vivid-orange-background-color {
    background-color: var(--accent-color);
  }
  .l-entry-content .wp-block-button__link[disabled] {
    border: 1px solid var(--c-gray) !important;
    background: var(--c-gray-light) !important;
    color: var(--c-gray) !important;
    cursor: default;
    pointer-events: none;
  }
  .l-entry-content .is-style-outline .wp-block-button__link {
    min-width: 288px;
    border: 1px solid var(--c-gray);
    background-image: linear-gradient(to right, var(--sub-color-light) 50%, var(--c-white) 50%);
    background-color: var(--c-white);
    color: var(--c-black);
  }
  .l-entry-content .is-style-outline .wp-block-button__link:hover, .l-entry-content .is-style-outline .wp-block-button__link:focus {
    background-position: 0 0;
    background-color: var(--sub-color-light);
  }
  .l-entry-content .is-style-orange .wp-block-button__link {
    border: 1px solid var(--accent-color);
    background-image: linear-gradient(to right, var(--c-black) 50%, var(--accent-color) 50%);
    background-color: var(--accent-color);
    color: var(--c-white);
  }
  .l-entry-content .is-style-orange .wp-block-button__link:hover, .l-entry-content .is-style-orange .wp-block-button__link:focus {
    border: 1px solid var(--c-black);
    background-position: 0 0;
    background-color: var(--c-black);
  }
  .l-entry-content .is-back-arrow .wp-block-button__link::after {
    right: auto;
    left: 16px;
    transform: translateY(-50%) scale(-1, 1);
  }
  .l-entry-content ul.wp-block-list {
    margin-block: 1.5em;
    padding-inline-start: 20px;
  }
  .l-entry-content ul.wp-block-list li {
    position: relative;
    margin-block: 0.5em;
  }
  .l-entry-content ul.wp-block-list li::before {
    position: absolute;
    top: 0.75em;
    left: -12px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--main-color);
    content: "";
  }
  .l-entry-content ul.wp-block-list li > ul.wp-block-list {
    margin-block: 0;
  }
  .l-entry-content ul.wp-block-list.c-list-note li::before, .l-entry-content ul.wp-block-list.c-list-note--number li::before, .l-entry-content ul.wp-block-list.c-list-back li::before {
    display: none;
  }
  .l-entry-content ol.wp-block-list {
    margin-block: 1.5em;
    counter-reset: number 0;
  }
  .l-entry-content ol.wp-block-list li {
    position: relative;
    margin-block: 0.5em;
    padding-inline-start: 1.5em;
  }
  .l-entry-content ol.wp-block-list li::before {
    position: absolute;
    top: 0;
    left: 0;
    content: counter(number) ".";
    color: var(--main-color);
    font-weight: bold;
    counter-increment: number 1;
  }
  .l-entry-content .wp-block-image {
    margin-block: 1.5em;
  }
  .l-entry-content .wp-block-quote {
    margin-block: 1.5em;
    padding-inline: 16px;
    padding-block: 24px;
    border: 0;
    border-radius: 10px;
    background-color: var(--c-gray-light);
  }
  .l-entry-content .wp-block-quote > *:first-child {
    margin-block-start: 0;
  }
  .l-entry-content .wp-block-quote h2, .l-entry-content .wp-block-quote h3, .l-entry-content .wp-block-quote h4 {
    margin-block-end: 16px;
    padding: 0;
    border: 0;
    font-size: 1.125rem;
  }
  .l-entry-content .wp-block-quote h2::before, .l-entry-content .wp-block-quote h2::after, .l-entry-content .wp-block-quote h3::before, .l-entry-content .wp-block-quote h3::after, .l-entry-content .wp-block-quote h4::before, .l-entry-content .wp-block-quote h4::after {
    display: none;
  }
  .l-entry-content .wp-block-quote p + p {
    margin-block-start: 1em;
  }
  .l-entry-content .wp-block-media-text {
    margin-block: 1.5em;
    gap: 40px;
  }
  .l-entry-content .wp-block-media-text + .wp-block-media-text {
    margin-block-start: 56px;
  }
  .l-entry-content .wp-block-media-text + .wp-block-columns {
    margin-block-start: 56px;
  }
  .l-entry-content .wp-block-media-text__media img {
    border-radius: 10px;
  }
  .l-entry-content .wp-block-media-text__media video {
    aspect-ratio: 16/9;
    border-radius: 10px;
  }
  .l-entry-content .wp-block-media-text__content {
    padding-inline: 0;
  }
  .l-entry-content .wp-block-media-text__content h2, .l-entry-content .wp-block-media-text__content h3, .l-entry-content .wp-block-media-text__content h4 {
    margin-block-start: 0;
  }
  .l-entry-content .wp-block-media-text__content p + p {
    margin-block-start: 1em;
  }
  .l-entry-content .wp-block-media-text.is-small-media {
    grid-template-columns: 37.5% 1fr;
  }
  .l-entry-content .wp-block-media-text.is-small-media.has-media-on-the-right {
    grid-template-columns: 1fr 37.5%;
  }
  .l-entry-content .wp-block-media-text.is-gray-box {
    padding: 32px;
    border-radius: 10px;
    background-color: var(--c-gray-light);
  }
  .l-entry-content .wp-block-columns {
    margin-block: 1.5em;
  }
  .l-entry-content .wp-block-columns + .wp-block-media-text {
    margin-block-start: 56px;
  }
  .l-entry-content .wp-block-columns + .wp-block-columns {
    margin-block-start: 56px;
  }
  .l-entry-content .wp-block-columns .wp-block-column > :first-child {
    margin-block-start: 0;
  }
  .l-entry-content .wp-block-columns .wp-block-column > :last-child {
    margin-block-end: 0;
  }
  .l-entry-content .wp-block-gallery {
    margin-block: 1.5em;
  }
  .l-entry-content .wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before {
    display: none;
    position: unset;
  }
  .l-entry-content .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    position: unset;
    background: none;
    color: var(--c-black);
    text-shadow: none;
  }
  .l-entry-content .wp-block-separator {
    margin-block: 32px;
    border-bottom: 2px solid var(--sub-color-dull);
  }
  .l-entry-content .wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
    width: 100%;
  }
  .l-entry-content .wp-block-table,
  .l-entry-content .wp-block-flexible-table-block-table {
    margin-block: 24px;
  }
  .l-entry-content .wp-block-table table,
  .l-entry-content .wp-block-flexible-table-block-table table {
    width: 100%;
    border-top: 1px solid var(--c-gray);
  }
  .l-entry-content .wp-block-table tr,
  .l-entry-content .wp-block-flexible-table-block-table tr {
    border-bottom: 1px solid var(--c-gray);
  }
  .l-entry-content .wp-block-table th,
  .l-entry-content .wp-block-flexible-table-block-table th {
    padding-inline: 16px;
    padding-block: 24px;
    border: 0;
    background-color: var(--c-gray-light);
    font-weight: bold;
    vertical-align: top;
  }
  .l-entry-content .wp-block-table td,
  .l-entry-content .wp-block-flexible-table-block-table td {
    padding-inline: 16px;
    padding-block: 24px;
    border: 0;
    background-color: var(--c-white);
  }
  .l-entry-content .wp-block-table.is-style-stripes tr:nth-child(odd) th, .l-entry-content .wp-block-table.is-style-stripes tr:nth-child(odd) td,
  .l-entry-content .wp-block-flexible-table-block-table.is-style-stripes tr:nth-child(odd) th,
  .l-entry-content .wp-block-flexible-table-block-table.is-style-stripes tr:nth-child(odd) td {
    background-color: var(--c-gray-light);
  }
  .l-entry-content .wp-block-group:not([class*=l-section--c-]) {
    margin-block: 1.5em;
  }
  .l-entry-content .wp-block-group.alignfull {
    margin-inline: calc(50% - 50vw);
    padding-inline: calc(50vw - 50%);
    overflow: hidden;
  }
  .l-entry-content .wp-block-group > *:first-child {
    margin-block-start: 0;
  }
  .l-entry-content .wp-block-group > *:last-child {
    margin-block-end: 0;
  }
  .l-entry-content figcaption {
    color: var(--c-gray-dark);
  }
  .l-entry-content mark {
    background-color: transparent;
  }
  /* ==========================================================
  !modal
  ========================================================== */
  .l-modal {
    position: fixed;
    margin: 0;
    inset: 50% auto auto 50%;
    padding: 24px;
    transform: translate(-50%, -50%);
    border-radius: 10px;
    background-color: var(--c-white);
  }
  .l-modal::backdrop {
    background-color: rgba(0, 0, 0, 0.6);
  }
  .l-modal__inner {
    position: relative;
  }
  .l-modal__close {
    display: grid;
    z-index: 1;
    position: absolute;
    top: -8px;
    right: -8px;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 4px;
    background-color: var(--c-black);
    color: var(--c-white);
    cursor: pointer;
  }
  .l-modal__close::before, .l-modal__close::after {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    translate: -50% -50%;
    border-top: 2px solid currentColor;
    content: "";
  }
  .l-modal__close::before {
    rotate: -45deg;
  }
  .l-modal__close::after {
    rotate: 45deg;
  }
  .l-modal--image {
    max-width: min(90vw, 960px);
  }
  .l-modal--image .l-modal__body {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .l-modal--image .l-modal__img {
    display: block;
    max-width: 100%;
    max-height: 90dvh;
    object-fit: contain;
  }
  .l-modal--content {
    max-width: min(90vw, 800px);
  }
  .l-modal--content .l-modal__body {
    max-height: 80dvh;
    padding-inline: 24px;
    padding-block: 56px 24px;
    overflow-y: auto;
    overflow-wrap: anywhere;
  }
  .l-modal--content .l-modal__body > :first-child {
    margin-block-start: 0;
  }
  .l-modal--content .l-modal__body > :last-child {
    margin-block-end: 0;
  }
}
@layer component {
  /* ==========================================================
  !button
  ========================================================== */
  .c-button {
    display: block;
    position: relative;
    width: 100%;
    padding-inline: 40px;
    padding-block: 16px;
    border-radius: 4px;
    text-align: center;
    text-decoration: none;
    transition: all 0.3s ease;
  }
  .c-button::after {
    display: block;
    position: absolute;
    top: 50%;
    right: 16px;
    width: 1em;
    height: 1em;
    transform: translateY(-50%);
    background-color: currentColor;
    content: "";
    mask-image: url(/assets/img/common/ico_arrow_r.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .c-button[target=_blank]::after {
    mask-image: url(/assets/img/common/ico_external.svg);
  }
  .c-button.is-arrow-back::after {
    right: auto;
    left: 16px;
    transform: translateY(-50%) scale(-1, 1);
  }
  .c-button[disabled] {
    border: 1px solid var(--c-gray) !important;
    background: var(--c-gray-light) !important;
    color: var(--c-gray) !important;
    cursor: default;
    pointer-events: none;
  }
  .c-button--primary {
    border: 1px solid var(--c-black);
    /* 背景を2色に設定（左が隠れ色、右が元色） */
    background-image: linear-gradient(to right, var(--c-white) 50%, var(--c-black) 50%);
    background-position: 100% 0; /* 最初は右半分（元色）を表示 */
    background-size: 200% 100%;
    background-color: var(--c-black);
    color: var(--c-white);
  }
  .c-button--primary:focus-visible {
    background-position: 0 0;
    background-color: var(--c-white);
    color: var(--c-black);
  }
  .c-button--secondary {
    border: 1px solid var(--c-gray);
    /* 背景を2色に設定（左が隠れ色、右が元色） */
    background-image: linear-gradient(to right, var(--sub-color-light) 50%, var(--c-white) 50%);
    background-position: 100% 0; /* 最初は右半分（元色）を表示 */
    background-size: 200% 100%;
    background-color: var(--c-white);
    color: var(--c-black);
  }
  .c-button--secondary:focus-visible {
    background-position: 0 0;
    background-color: var(--sub-color-light);
  }
  .c-button--action {
    border: 1px solid var(--accent-color);
    /* 背景を2色に設定（左が隠れ色、右が元色） */
    background-image: linear-gradient(to right, var(--c-black) 50%, var(--accent-color) 50%);
    background-position: 100% 0; /* 最初は右半分（元色）を表示 */
    background-size: 200% 100%;
    background-color: var(--accent-color);
    color: var(--c-white);
  }
  .c-button--action:focus-visible {
    border: 1px solid var(--main-color);
    background-position: 0 0;
    background-color: var(--main-color);
  }
  .c-button--action:has(.wp-block-button__link) {
    width: initial;
    border: initial;
    background: initial;
    color: initial;
  }
  .c-button--action:has(.wp-block-button__link)::after {
    content: none;
  }
  .c-button--action:has(.wp-block-button__link) .wp-block-button__link {
    border: 1px solid var(--accent-color);
    /* 背景を2色に設定（左が隠れ色、右が元色） */
    background-image: linear-gradient(to right, var(--c-black) 50%, var(--accent-color) 50%);
    background-position: 100% 0; /* 最初は右半分（元色）を表示 */
    background-size: 200% 100%;
    background-color: var(--accent-color);
    color: var(--c-white);
    transition: all 0.3s ease;
  }
  .c-button--action:has(.wp-block-button__link) .wp-block-button__link:focus-visible {
    border: 1px solid var(--c-black);
    background-position: 0 0;
    background-color: var(--c-black);
    color: var(--c-white);
  }
  .is-style-manual .wp-block-button__link {
    padding-inline: 16px 12px;
  }
  .is-style-manual .has-inline-block {
    display: inline-block;
    margin-inline-end: 8px;
    padding-inline: 8px;
    padding-block: 4px;
    border-radius: 4px;
    background-color: var(--main-color);
    color: var(--c-white);
    font-style: italic;
    font-weight: bold;
    font-size: 1rem;
    font-family: var(--font-family-en);
  }
  .c-button-center {
    display: flex;
    flex-direction: column;
    margin-block-start: 24px;
    gap: 20px;
  }
  .c-button-center.c-button-wide .c-button {
    flex: 1;
    max-width: 428px;
  }
  .c-button-left {
    display: flex;
    flex-direction: column;
    margin-block-start: 24px;
    gap: 20px;
  }
  /* その他ボタン
  ------------------------------------------*/
  .c-button--hamburger {
    display: grid;
    place-content: center;
    width: 50px;
    height: 50px;
  }
  .c-button--hamburger__line {
    position: relative;
    width: 22px;
    height: 2px;
    border-radius: 1px;
    background-color: var(--c-black);
  }
  .c-button--hamburger__line::before, .c-button--hamburger__line::after {
    display: block;
    position: absolute;
    width: 22px;
    height: 2px;
    border-radius: 1px;
    background-color: var(--c-black);
    content: "";
    transition: all 0.3s ease;
  }
  .c-button--hamburger__line::before {
    top: -6px;
  }
  .c-button--hamburger__line::after {
    top: 6px;
  }
  [aria-expanded=true] .c-button--hamburger__line {
    background-color: transparent;
  }
  [aria-expanded=true] .c-button--hamburger__line::before {
    top: 0;
    transform: rotate(45deg);
  }
  [aria-expanded=true] .c-button--hamburger__line::after {
    top: 0;
    transform: rotate(-45deg);
  }
  .c-button--cta {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-inline: 0;
    padding-block: 12px;
    border-radius: 4px;
    color: var(--c-white);
    text-align: center;
    transition: all 0.3s ease;
  }
  .c-button--cta::before {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-inline-end: 0.2em;
    background-color: currentColor;
    content: "";
    vertical-align: middle;
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .c-button--cta.--catalog {
    /* 背景を2色に設定（左が隠れ色、右が元色） */
    background-image: linear-gradient(to right, var(--accent-color) 50%, var(--c-black) 50%);
    background-position: 100% 0; /* 最初は右半分（元色）を表示 */
    background-size: 200% 100%;
  }
  .c-button--cta.--catalog::before {
    mask-image: url(/assets/img/common/ico_catalog.svg);
  }
  .c-button--cta.--catalog:focus-visible {
    background-position: 0 0;
    background-color: var(--accent-color);
  }
  .c-button--cta.--contact {
    /* 背景を2色に設定（左が隠れ色、右が元色） */
    background-image: linear-gradient(to right, var(--c-black) 50%, var(--accent-color) 50%);
    background-position: 100% 0; /* 最初は右半分（元色）を表示 */
    background-size: 200% 100%;
  }
  .c-button--cta.--contact::before {
    mask-image: url(/assets/img/common/ico_contact.svg);
  }
  .c-button--cta.--contact:focus-visible {
    background-position: 0 0;
    background-color: var(--c-black);
  }
  .c-button--close {
    display: flex;
    align-items: center;
    padding-inline: 16px;
    padding-block: 8px;
    border: 1px solid var(--c-gray);
    border-radius: 100vmax;
    background-color: var(--c-white);
    cursor: pointer;
    transition: all 0.3s ease;
  }
  .c-button--close::before {
    display: inline-block;
    width: 20px;
    height: 20px;
    background-color: currentColor;
    content: "";
    vertical-align: middle;
    mask-image: url(/assets/img/common/ico_close.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .c-button--close:focus-visible {
    color: var(--main-color);
  }
  .c-text-em {
    font-weight: 700;
  }
  .c-text-em--main {
    color: var(--accent-color);
  }
  .c-text-em--sub {
    color: var(--sub-color-darker);
  }
  .c-text-note {
    font-size: 0.75rem;
  }
  .c-text-en {
    font-family: var(--font-family-en);
  }
  .c-text-en--i {
    font-style: italic;
    font-family: var(--font-family-en);
  }
  /* ==========================================================
  !search box
  ========================================================== */
  .c-searchbox {
    display: grid;
    grid-template-columns: 1fr 70px;
  }
  .c-searchbox form {
    display: contents;
  }
  .c-searchbox__input {
    padding: 1em;
    border: 1px solid var(--c-gray);
    border-radius: 4px 0 0 4px;
    background-color: var(--c-white) !important;
    font-size: 1.125rem;
  }
  .c-searchbox__input::placeholder {
    color: var(--c-gray-dark);
  }
  .c-searchbox__btn {
    display: grid;
    place-content: center;
    border-radius: 0 4px 4px 0;
    background-color: var(--c-black);
    color: var(--c-white);
  }
  .c-searchbox__btn::before {
    display: block;
    width: 27px;
    height: 27px;
    background-color: currentColor;
    content: "";
    mask-image: url(/assets/img/common/ico_search.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .c-searchbox.l-spmenu__search {
    grid-template-columns: 1fr 55px;
  }
  .c-searchbox.l-spmenu__search .c-searchbox__input {
    font-size: 0.875rem;
  }
  .c-searchbox.l-spmenu__search .c-searchbox__btn::before {
    width: 20px;
    height: 20px;
  }
  /* ==========================================================
  !heading
  ========================================================== */
  /* h1ページタイトル
  ---------------------------------------------------------- */
  .c-heading-lv1__ja {
    display: flex;
    align-items: center;
    font-weight: bold;
    font-size: 0.875rem;
  }
  .c-heading-lv1__ja::before {
    display: inline-block;
    width: 0.5em;
    height: 1em;
    margin-inline-end: 4px;
    background-color: var(--main-color);
    content: "";
    mask-image: url(/assets/img/common/ico_spice.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .c-heading-lv1__en {
    font-style: italic;
    font-weight: bold;
    font-size: 2.5rem;
    line-height: 1.2;
    letter-spacing: 0.04em;
  }
  /* h2 大見出し
  ---------------------------------------------------------- */
  .c-heading-lv2 {
    display: flex;
    gap: 8px;
    font-weight: bold;
    font-size: 1.5rem;
  }
  .c-heading-lv2::before {
    display: inline-block;
    flex-shrink: 0;
    width: 0.5em;
    height: 1em;
    margin-block-start: 0.25em;
    background-color: var(--main-color);
    content: "";
    mask-image: url(/assets/img/common/ico_spice.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .l-section--c-blue .c-heading-lv2::before {
    background-color: var(--c-white);
  }
  .c-heading-lv2 + * {
    margin-block-start: 24px;
  }
  .c-heading-lv2--line {
    font-weight: bold;
    font-size: 1.5rem;
  }
  .c-heading-lv2--line::after {
    display: block;
    width: 44px;
    height: 3px;
    margin-block-start: 16px;
    border-radius: 5px;
    background: linear-gradient(to right, var(--sub-color) 40px, var(--main-color) 40px);
    content: "";
  }
  .c-heading-lv2--line + * {
    margin-block-start: 32px;
  }
  .c-heading-lv2--line.u-text-align-center::after {
    margin-inline: auto;
  }
  .c-heading-lv2--hgroup--center {
    text-align: center;
  }
  .c-heading-lv2--hgroup__ja {
    font-weight: bold;
    font-size: 0.75rem;
    letter-spacing: 0.1em;
  }
  .c-heading-lv2--hgroup__en {
    font-style: italic;
    font-weight: bold;
    font-size: 1.875rem;
    letter-spacing: 0.04em;
  }
  .c-heading-lv2--hgroup__en::before {
    display: inline-block;
    aspect-ratio: 15/34;
    width: 15px;
    margin-inline-end: 12px;
    translate: 0 4px;
    background-color: var(--main-color);
    content: "";
    mask-image: url(/assets/img/common/ico_spice.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .c-heading-lv2--num::before {
    display: none;
  }
  .c-heading-lv2--num .num {
    display: inline-block;
    position: relative;
    top: -0.15em;
    color: var(--main-color);
    font-style: italic;
    font-size: 1.9375rem;
    font-family: var(--font-family-en);
    vertical-align: middle;
  }
  .c-heading-lv2--num .num::after {
    display: block;
    width: 22px;
    margin-inline: auto;
    border-top: 2px solid var(--sub-color);
    content: "";
  }
  /* h3 小見出し
  ---------------------------------------------------------- */
  .c-heading-lv3 {
    position: relative;
    padding-inline-start: 16px;
    font-weight: bold;
    font-size: 1.375rem;
  }
  .c-heading-lv3 + * {
    margin-block-start: 24px;
  }
  .c-heading-lv3::before {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 3px;
    height: 100%;
    border-radius: 10px;
    background-color: var(--main-color);
    content: "";
  }
  .c-heading-lv3::after {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: calc(100% - 6px);
    border-radius: 10px;
    background-color: var(--sub-color);
    content: "";
  }
  .c-heading-lv3--noline {
    font-weight: bold;
    font-size: 1.375rem;
  }
  .c-heading-lv3--noline + * {
    margin-block-start: 24px;
  }
  .c-heading-lv3--point {
    display: flex;
    align-items: center;
    padding-inline-start: 0;
    gap: 16px;
  }
  .c-heading-lv3--point::before {
    display: none;
  }
  .c-heading-lv3--point .point {
    display: block;
    flex-shrink: 0;
    width: 44px;
    color: var(--brand-color, var(--main-color));
    font-style: italic;
    font-weight: bold;
    font-size: 0.875rem;
    line-height: 1.2;
    font-family: var(--font-family-en);
    letter-spacing: 0.05em;
    text-align: center;
  }
  .c-heading-lv3--point .point-num {
    font-size: 2.125rem;
    letter-spacing: 0;
  }
  /* h4 小見出し
  ---------------------------------------------------------- */
  h4 {
    margin-block-start: 1.5em;
    margin-block-end: 1em;
    font-weight: bold;
    font-size: 1.125rem;
  }
  h5 {
    margin-block-start: 1.5em;
    margin-block-end: 1em;
    font-weight: bold;
    font-size: 1rem;
  }
  h6 {
    margin-block-start: 1.5em;
    margin-block-end: 1em;
    font-weight: bold;
  }
  /* ==========================================================
  !tag / category
  ========================================================== */
  /* タグ
  ---------------------------------------------------------- */
  .c-tag {
    display: inline-block;
    font-size: 0.75rem;
  }
  a.c-tag {
    display: inline-block;
    padding-inline: 10px;
    padding-block: 6px;
    border: 1px solid var(--c-gray-dark);
    border-radius: 100vmax;
    background-color: var(--c-white);
    color: var(--c-black);
    font-size: 1rem;
    line-height: 1.2;
    text-decoration: none;
  }
  a.c-tag.is-current {
    border: 1px solid var(--main-color);
    background-color: var(--main-color);
    color: var(--c-white);
  }
  a.c-tag:focus-visible {
    border: 1px solid var(--main-color);
    background-color: var(--main-color);
    color: var(--c-white);
  }
  a.c-tag-text {
    display: inline-block;
    color: var(--c-black);
  }
  a.c-tag-text:focus-visible {
    color: var(--main-color);
    text-decoration: underline;
  }
  .c-tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 8px;
  }
  .c-category {
    display: inline-block;
    padding-inline: 12px;
    padding-block: 4px;
    border-radius: 20px;
    background-color: #D8F1FF;
    font-size: 0.625rem;
  }
  .c-category--gray {
    display: inline-block;
    padding-inline: 12px;
    padding-block: 4px;
    border-radius: 20px;
    background-color: var(--sub-color-light);
    font-size: 0.625rem;
  }
  .c-category-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  /* ==========================================================
  !ico
  ========================================================== */
  .c-ico::after {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-inline-start: 8px;
    background-color: currentColor;
    content: "";
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .c-ico-before::before {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-inline-end: 8px;
    background-color: currentColor;
    content: "";
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .c-ico--arrow::after {
    mask-image: url(/assets/img/common/ico_arrow_r.svg);
  }
  .c-ico--external::after {
    mask-image: url(/assets/img/common/ico_external.svg);
  }
  .c-ico-square--arrow, .c-ico-square--black, .c-ico-square--gray, .c-ico-square {
    display: block;
    position: relative;
    width: 32px;
    height: 32px;
    overflow: hidden;
    border-radius: 4px;
  }
  .c-ico-square--arrow::before, .c-ico-square--black::before, .c-ico-square--gray::before, .c-ico-square::before, .c-ico-square--arrow::after, .c-ico-square--black::after, .c-ico-square--gray::after, .c-ico-square::after {
    position: absolute;
    width: 14px;
    height: 14px;
    margin: auto;
    inset: 0;
    content: "";
    animation-duration: 0.3s;
    animation-fill-mode: forwards;
    mask-image: url(/assets/img/common/ico_arrow_r.svg);
    mask-repeat: no-repeat;
    mask-size: 14px 14px;
  }
  .c-ico-square--arrow::after, .c-ico-square--black::after, .c-ico-square--gray::after, .c-ico-square::after {
    transform: translateX(-200%);
  }
  .c-ico-square {
    border: 1px solid var(--c-gray);
    background-color: var(--c-white);
  }
  .c-ico-square::before, .c-ico-square::after {
    background-color: var(--c-black);
  }
  .c-ico-square--gray {
    background-color: var(--c-gray-light);
  }
  .c-ico-square--gray::before, .c-ico-square--gray::after {
    background-color: var(--c-black);
  }
  .c-ico-square--black {
    background-color: var(--c-black);
  }
  .c-ico-square--black::before, .c-ico-square--black::after {
    background-color: var(--c-white);
  }
  .c-ico-square--arrow::before, .c-ico-square--arrow::after {
    background-color: var(--c-black);
  }
  a:focus-visible .c-ico-square::before,
  a:focus-visible .c-ico-square--gray::before,
  a:focus-visible .c-ico-square--black::before,
  a:focus-visible .c-ico-square--arrow::before {
    animation-delay: 0s;
    animation-name: transformRightLeft; /* 修正: hover時のアニメーションを指定 */
  }
  a:focus-visible .c-ico-square::after,
  a:focus-visible .c-ico-square--gray::after,
  a:focus-visible .c-ico-square--black::after,
  a:focus-visible .c-ico-square--arrow::after {
    animation-delay: 0.2s;
    animation-name: transformLeftRight; /* 修正: hover時のアニメーションを指定 */
  }
  @keyframes transformLeftRight {
    0% {
      transform: translateX(-200%);
    }
    100% {
      transform: translateX(0);
    }
  }
  @keyframes transformRightLeft {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(200%);
    }
  }
  /* ==========================================================
  !link
  ========================================================== */
  .c-link-line {
    display: inline-block;
    position: relative;
  }
  .c-link-line::before {
    display: block;
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 1px;
    transform: scaleX(0);
    transform-origin: left bottom;
    background-color: currentColor;
    content: "";
    transition: all 0.3s ease;
  }
  .c-link-line:focus-visible::before {
    transform: scaleX(1);
  }
  .c-link-multiline {
    display: inline;
    background: linear-gradient(to top, currentColor 2px, transparent 99%) no-repeat;
    background-position: 0% 100%;
    background-size: 0% 1px;
    color: var(--c-black);
    transition: all 0.5s ease-out;
  }
  .c-link-multiline:focus-visible {
    background-size: 200% 1px;
  }
  .c-link-arrow {
    color: var(--c-black);
    text-decoration: none;
  }
  .c-link-arrow::after {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-inline-start: 8px;
    background-color: currentColor;
    content: "";
    mask-image: url(/assets/img/common/ico_arrow_r.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .c-link-arrow:focus-visible {
    color: var(--main-color);
    text-decoration: underline;
  }
  /* ==========================================================
  !box
  ========================================================== */
  .c-box-paint--gray {
    padding: 16px;
    border-radius: 10px;
    background-color: var(--c-gray-light);
  }
  .c-box-paint--gray > :first-child {
    margin-block-start: 0;
  }
  /* ==========================================================
  !list
  ========================================================== */
  .c-list-horizontal {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 24px;
  }
  .c-list-horizontal:has(.c-tag) {
    gap: 16px 8px;
  }
  .c-list-disc01 li {
    position: relative;
    margin-inline-start: 1em;
    margin-block: 0.5em;
  }
  .c-list-disc01 li::before {
    position: absolute;
    top: 0.75em;
    left: -12px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--main-color);
    content: "";
  }
  .c-list-note {
    padding-inline-start: 0;
  }
  .c-list-note li {
    margin-inline-start: 1.2em;
    font-size: 0.875rem;
    text-indent: -1.2em;
  }
  .c-list-note--number {
    padding-inline-start: 0;
  }
  .c-list-note--number li {
    margin-inline-start: 1.5em;
    font-size: 0.875rem;
    text-indent: -1.9em;
  }
  .c-list-notice {
    padding-inline-start: 0;
  }
  .c-list-notice li {
    position: relative;
    padding-inline-start: 1em;
    font-size: 0.875rem;
    text-indent: -1em;
  }
  .c-list-notice li::before {
    position: static;
    width: auto;
    height: auto;
    inset: initial;
    background: none;
    content: "※"/"";
  }
  .c-list-back {
    display: flex;
    flex-direction: column;
    margin-block: 16px;
    padding-inline-start: 0;
    gap: 8px;
  }
  .c-list-back li a {
    display: inline-flex;
    flex-direction: row-reverse;
    align-items: center;
    color: var(--c-black);
    text-decoration: none;
  }
  .c-list-back li a:focus-visible {
    color: var(--main-color);
    text-decoration: underline;
  }
  .c-list-back li a::after {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-inline-start: 0;
    margin-inline-end: 8px;
    transform: scaleX(-1);
    background-color: currentColor;
    content: "";
    mask-image: url(/assets/img/common/ico_arrow_r.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .c-list-unstyled {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .c-list-unstyled li::before {
    content: none;
  }
  /* ==========================================================
  !table
  ========================================================== */
  /* ==========================================================
  !絞り込みリスト
  ========================================================== */
  .c-filterlist {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 10px;
  }
  .c-filterlist__button {
    display: block;
    padding-inline: 16px;
    padding-block: 4px;
    border: 1px solid var(--c-black);
    border-radius: 100vmax;
    background-color: var(--c-white);
    color: var(--c-black);
    cursor: pointer;
    transition: all 0.3s ease;
  }
  .c-filterlist__button.is-current {
    background-color: var(--main-color);
    color: var(--c-white);
  }
  .c-filterlist__button:focus-visible {
    background-color: var(--main-color);
    color: var(--c-white);
  }
  /* フォーム要素初期化 */
  input,
  textarea,
  select,
  button {
    box-sizing: border-box;
    margin: 0;
    font-size: inherit;
    font-family: inherit;
  }
  /* テキストフィールド */
  input[type=text],
  input[type=email],
  input[type=password],
  input[type=search],
  input[type=tel],
  input[type=url],
  input[type=number],
  textarea {
    box-sizing: border-box !important;
    inline-size: 100%;
    padding: 0.5rem;
    border: 1px solid var(--c-gray);
    border-radius: 4px;
    background-color: var(--c-gray-light);
  }
  input[type=text]::placeholder,
  input[type=email]::placeholder,
  input[type=password]::placeholder,
  input[type=search]::placeholder,
  input[type=tel]::placeholder,
  input[type=url]::placeholder,
  input[type=number],
  textarea::placeholder {
    font-size: 0.875rem;
  }
  input[type=text]:focus-visible,
  input[type=email]:focus-visible,
  input[type=password]:focus-visible,
  input[type=search]:focus-visible,
  input[type=tel]:focus-visible,
  input[type=url]:focus-visible,
  input[type=number]:focus-visible,
  textarea:focus-visible {
    border: 1px solid var(--c-dark);
    outline: 1px solid var(--c-dark);
  }
  input[type=text].wpcf7-not-valid,
  input[type=email].wpcf7-not-valid,
  input[type=password].wpcf7-not-valid,
  input[type=search].wpcf7-not-valid,
  input[type=tel].wpcf7-not-valid,
  input[type=url].wpcf7-not-valid,
  input[type=number].wpcf7-not-valid,
  textarea.wpcf7-not-valid {
    border-color: var(--alert-color);
  }
  /* テキストエリア */
  textarea {
    min-block-size: calc(5em + 1rem);
    resize: vertical;
  }
  /* 数値 */
  input[type=number] {
    max-inline-size: fit-content;
    text-align: right;
  }
  /* セレクトボックス */
  select {
    appearance: none;
    inline-size: 100%;
    max-inline-size: max-content;
    padding-inline: 16px 32px;
    padding-block: 10px;
    overflow-x: hidden;
    border: 1px solid var(--c-gray);
    border-radius: 3px;
    color: var(--c-dark);
    cursor: pointer;
  }
  select[disabled] {
    pointer-events: none;
  }
  select.wpcf7-not-valid {
    border-color: var(--alert-color);
  }
  select:focus-visible {
    border: 1px solid var(--c-dark);
    outline: 1px solid var(--c-dark);
  }
  .select-wrap {
    position: relative;
    max-inline-size: max-content;
  }
  .select-wrap::after {
    position: absolute;
    top: 24px;
    right: 1rem;
    inline-size: 9px;
    block-size: 6px;
    transform: translateY(-50%);
    background-color: var(--main-color);
    content: "";
    mask-image: var(--arrow2);
    mask-repeat: no-repeat;
    mask-size: contain;
    pointer-events: none;
  }
  /* ボタン */
  input[type=submit],
  input[type=reset],
  input[type=button] {
    padding-inline: 1rem;
    padding-block: 0.5rem;
    border-radius: 4px;
    background-color: var(--c-dark);
    cursor: pointer;
  }
  /* submit */
  input[type=submit] {
    padding-inline: 54px;
    padding-block: 19px;
    background-image: linear-gradient(to right, var(--c-dark) 50%, var(--accent-color) 50%);
    background-position: 100% 0;
    background-size: 200% 100%;
    color: var(--c-white);
    text-align: center;
    transition: background-position 0.3s ease;
  }
  input[type=submit]:focus-visible {
    background-position: 0 0;
  }
  .wpcf7-submit-wrap {
    position: relative;
  }
  .wpcf7-submit-wrap::after {
    display: block;
    position: absolute;
    width: 14px;
    height: 14px;
    inset-block-end: 4px;
    inset-inline-end: 16px;
    transform: translateX(-50%);
    background-color: var(--c-white);
    content: "";
    mask-image: url(/assets/img/common/ico_arrow_r.svg);
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  /* スピナー */
  .wpcf7-spinner {
    display: none !important;
  }
  /* フィールド */
  .c-field-title {
    padding-inline: 16px;
    padding-block: 8px;
    background-color: var(--c-dark);
    color: var(--c-white);
    font-size: 1.375rem;
  }
  .c-field-row {
    display: grid;
    grid-auto-flow: row;
  }
  .c-field-label {
    display: grid;
    grid-auto-flow: column;
    column-gap: 8px;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
  }
  .c-fields {
    padding: 16px;
  }
  .c-field {
    display: grid;
    row-gap: 4px;
    align-items: start;
  }
  .c-field:has(.wpcf7-checkbox) {
    row-gap: 16px;
  }
  .c-field--horizontal {
    display: inline-grid;
    grid-auto-flow: column;
    column-gap: 8px;
    align-items: center;
  }
  .c-field-group-wrap {
    display: grid;
    grid-auto-flow: column;
    column-gap: 40px;
  }
  .c-field-group-wrap--horizontal {
    display: grid;
    grid-auto-flow: column;
    column-gap: 40px;
  }
  .c-field-group-wrap--vertical {
    grid-auto-flow: row;
    column-gap: initial;
    row-gap: 12px;
    justify-items: start;
  }
  .c-field-group {
    display: inline-grid;
    grid-auto-flow: column;
    column-gap: 12px;
    align-items: center;
  }
  /* 必須/任意ラベル */
  .c-field-tag {
    block-size: fit-content;
    padding-inline: 12px;
    padding-block: 2px;
    border-radius: 13px;
    color: var(--c-white);
    font-size: 0.75rem;
  }
  .c-field-tag--required {
    background: var(--accent-color);
  }
  .c-field-tag--optional {
    background: var(--c-gray-dark);
  }
  /* 例示テキスト */
  .c-field-eg {
    color: var(--c-black);
    font-size: 0.875rem;
  }
  /* ラジオボタン */
  .wpcf7-radio {
    display: flex;
    row-gap: 24px;
    flex-direction: column;
  }
  .wpcf7-radio--narrow {
    row-gap: 8px;
  }
  .wpcf7-list-item {
    margin: 0 !important;
  }
  .wpcf7-list-item label {
    display: inline-grid;
    grid-template-columns: auto 1fr;
    column-gap: 8px;
    align-items: center;
  }
  /* ラジオボタン */
  input[type=radio] {
    box-sizing: border-box;
    appearance: none;
    position: relative;
    inline-size: 24px;
    block-size: 24px;
    border: 1px solid var(--c-gray);
    border-radius: calc(infinity * 1px);
    background-color: var(--c-gray-lighter);
  }
  input[type=radio]:checked {
    border: 1px solid var(--main-color);
    background-color: var(--c-white);
  }
  input[type=radio]:checked::before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 14px;
    transform: translate(-50%, -50%);
    border-radius: calc(infinity * 1px);
    background-color: var(--main-color);
    content: "";
  }
  /* チェックボックス */
  input[type=checkbox] {
    box-sizing: border-box;
    display: grid;
    appearance: none;
    position: relative;
    place-items: center;
    inline-size: 24px;
    block-size: 24px;
    border: 1px solid var(--c-gray);
    border-radius: 4px;
    background-color: var(--c-gray-lighter);
  }
  input[type=checkbox]:checked {
    border: none;
    background: var(--main-color);
  }
  input[type=checkbox]:checked::after {
    position: absolute;
    inline-size: 16.3px;
    block-size: 11.55px;
    background-color: var(--c-white);
    content: "";
    mask-image: var(--check);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .wpcf7-checkbox {
    display: flex;
  }
  /* エラー表示まわり */
  .wpcf7-not-valid-tip {
    color: var(--alert-color) !important;
  }
  .wpcf7-response-output {
    border-color: var(--alert-color) !important;
    color: var(--alert-color) !important;
  }
  /*----- お問い合わせフォーム -----*/
  .p-form-contact .c-field-row {
    border-block-start: 1px solid var(--c-gray);
  }
  .p-form-contact .c-field-row:last-child {
    border-block-end: 1px solid var(--c-gray);
  }
  .p-form-contact .c-field-label {
    align-items: start;
    padding: 16px;
    border-block-end: 1px solid var(--c-gray);
    background-color: var(--c-gray-light);
  }
  .p-form-contact .c-fields {
    padding-inline: 16px;
    padding-block: 20px;
  }
  .p-form-contact .wpcf7-checkbox {
    display: flex;
    row-gap: 24px;
    flex-direction: column;
    flex-wrap: wrap;
  }
  /*----- カタログダウンロードフォーム -----*/
  .p-form-download input[type=text],
  .p-form-download input[type=email],
  .p-form-download input[type=password],
  .p-form-download input[type=search],
  .p-form-download input[type=tel],
  .p-form-download input[type=url],
  .p-form-download input[type=number] {
    background-color: var(--c-white);
  }
  .p-form-download .c-field-row {
    grid-auto-flow: row;
    row-gap: 8px;
    padding-block: 8px;
  }
  .p-form-download .c-fields {
    display: grid;
    padding: unset;
  }
  .p-form-download .c-field-label {
    justify-content: start;
    padding: unset;
  }
  /* ==========================================================
  !speech-bubble (アバター付き吹き出しコンポーネント)
  ========================================================== */
  .c-speech-bubble__img {
    inline-size: 75px;
    block-size: 75px;
  }
  .c-speech-bubble__body {
    position: relative;
    margin-inline-start: 12px;
    padding: 16px;
    border: 1px solid var(--c-gray);
    border-radius: 10px;
    background-color: var(--c-white);
  }
  .c-speech-bubble__body::before, .c-speech-bubble__body::after {
    display: block;
    position: absolute;
    top: 40px;
    width: 0;
    height: 0;
    transform: translateY(-50%);
    border-style: solid;
    content: "";
  }
  .c-speech-bubble__body::before {
    z-index: 1;
    left: -8px;
    border-width: 8px 8px 8px 0;
    border-color: transparent var(--c-gray) transparent transparent;
  }
  .c-speech-bubble__body::after {
    z-index: 2;
    left: -7px;
    border-width: 8px 8px 8px 0;
    border-color: transparent var(--c-white) transparent transparent;
  }
}
@layer project {
  /* ==========================================================
  !megamenu
  ========================================================== */
  .p-megamenu {
    visibility: hidden;
    z-index: var(--z-index-megamenu);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding-block-start: 100px;
    transform: translateY(-100%);
    border-radius: 0 0 10px 10px;
    background-color: var(--c-gray-light);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s ease;
  }
  .p-megamenu * {
    opacity: 0;
  }
  .p-megamenu[aria-hidden=false] {
    visibility: visible;
    transform: translateY(0);
  }
  .p-megamenu[aria-hidden=false] * {
    opacity: 1;
  }
  .p-megamenu__inner {
    max-width: var(--max-inline-size);
    margin-inline: auto;
    padding-inline: var(--padding-inline-container);
    padding-block: 24px;
  }
  .p-megamenu__body {
    margin-block-start: 32px;
  }
  .p-megamenu__body.--products {
    display: grid;
    grid-template-rows: auto auto;
    grid-template-columns: 350px 1fr;
    gap: 40px 75px;
  }
  .p-megamenu__body.--recording {
    margin-block-end: 32px;
  }
  .p-megamenu__body-item.--search {
    grid-row: 1/3;
    grid-column: 1/2;
  }
  .p-megamenu__body-item.--motion-capture {
    grid-row: 1/2;
    grid-column: 2/3;
  }
  .p-megamenu__body-item.--related {
    grid-row: 2/3;
    grid-column: 2/3;
  }
  .p-megamenu__ttl {
    display: flex;
    align-items: center;
    padding-block: 32px;
    border-bottom: 1px solid var(--c-gray);
    font-weight: bold;
    font-size: 1.375rem;
    line-height: 1.2;
  }
  .p-megamenu__ttl .c-ico-square {
    display: inline-grid;
    margin-inline-start: 12px;
  }
  .p-megamenu__ttl a {
    display: flex;
    align-items: center;
  }
  .p-megamenu__sttl {
    font-weight: bold;
    font-size: 1.125rem;
  }
  .p-megamenu__sttl::before {
    display: inline-block;
    width: 8px;
    height: 17px;
    margin-inline-end: 8px;
    background-color: var(--main-color);
    content: "";
    vertical-align: middle;
    mask-image: url(/assets/img/common/ico_spice.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-megamenu__sttl + * {
    margin-block-start: 20px;
  }
  .p-megamenu__search-menu {
    display: grid;
    gap: 12px;
  }
  .p-megamenu__search-menu a {
    display: block;
    position: relative;
    padding-inline: 32px;
    padding-block: 12px;
    border: 1px solid var(--c-gray);
    border-radius: 4px;
    background-color: var(--c-white);
    text-align: center;
  }
  .p-megamenu__search-menu a::after {
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 12px;
    width: 16px;
    height: 16px;
    transform: translateY(-50%);
    background-color: currentColor;
    content: "";
    vertical-align: middle;
    mask-image: url(/assets/img/common/ico_arrow_r.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-megamenu__link-menu {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
  }
  .p-megamenu__link-menu a {
    display: inline-block;
    position: relative;
  }
  .p-megamenu__link-menu a::after {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-inline-start: 4px;
    background-color: currentColor;
    content: "";
    vertical-align: middle;
    mask-image: url(/assets/img/common/ico_arrow_r.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-megamenu__link-menu a::before {
    display: block;
    position: absolute;
    bottom: -2px;
    left: 0;
    width: calc(100% - 18px);
    height: 1px;
    transform: scaleX(0);
    transform-origin: left bottom;
    background-color: currentColor;
    content: "";
    transition: transform 0.3s ease;
  }
  .p-megamenu__link-menu a:focus-visible::before {
    transform: scaleX(1);
  }
  .p-megamenu__close .c-button--close {
    margin-inline-start: auto;
  }
  /* ==========================================================
  !recording menu
  ========================================================== */
  .p-recording-menu {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
  .p-recording-menu__link {
    display: grid;
    position: relative;
    grid-template-columns: 96px 1fr;
    padding-inline: 16px 48px;
    padding-block: 16px 32px;
    gap: 16px;
    border: 1px solid var(--c-gray);
    border-radius: 4px;
    background-color: var(--c-white);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  }
  .p-recording-menu__link:focus-visible .p-recording-menu__thumb img {
    transform: scale(1.05);
  }
  .p-recording-menu__thumb {
    width: 96px;
    height: 55px;
    overflow: hidden;
    border-radius: 4px;
  }
  .p-recording-menu__thumb img {
    transition: transform 0.3s ease;
  }
  .p-recording-menu__txt {
    font-weight: bold;
  }
  .p-recording-menu .c-ico-square {
    position: absolute;
    right: 0;
    bottom: 0;
    border: 0;
    background-color: var(--c-gray-light);
  }
  /* ==========================================================
  !spmenu（ヘッダー／フッター共通）
  ========================================================== */
  /* アイコン設定
  ----------------------------------------------------------- */
  .p-spmenu__link::after,
  .p-spmenu-second__link::after,
  .p-spmenu-third--search__link::after,
  .p-spmenu-other__link::after {
    display: inline-block;
    width: 14px;
    height: 14px;
    background-color: currentColor;
    content: "";
    mask-image: url(/assets/img/common/ico_arrow_r.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-spmenu__link[target=_blank]::after,
  .p-spmenu-second__link[target=_blank]::after,
  .p-spmenu-third--search__link[target=_blank]::after,
  .p-spmenu-other__link[target=_blank]::after {
    mask-image: url(/assets/img/common/ico_external.svg);
  }
  .l-footer-sp-nav .p-spmenu__link::after,
  .l-footer-sp-nav .p-spmenu-second__link::after,
  .l-footer-sp-nav .p-spmenu-third--search__link::after,
  .l-footer-sp-nav .p-spmenu-other__link::after {
    background-color: var(--c-white);
  }
  /* 第一階層
  ----------------------------------------------------------- */
  .p-spmenu {
    margin-block-start: 20px;
    border-bottom: 1px solid var(--c-gray);
  }
  .l-footer-sp-nav .p-spmenu a {
    color: var(--c-white);
  }
  .l-footer-sp-nav .p-spmenu a:focus-visible {
    color: var(--c-white);
  }
  .p-spmenu__item {
    border-top: 1px solid var(--c-gray);
  }
  .p-spmenu__link {
    display: block;
    position: relative;
    padding-block: 1em;
    font-size: 1rem;
  }
  .p-spmenu__link::after {
    position: absolute;
    top: 50%;
    right: 0;
    translate: 0 -50%;
  }
  .p-spmenu__button {
    display: block;
    position: relative;
    width: 100%;
    padding-block: 1em;
    font-size: 1rem;
    text-align: left;
  }
  .p-spmenu__button::before, .p-spmenu__button::after {
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 12px;
    height: 2px;
    translate: 0 -50%;
    background-color: var(--c-black);
    content: "";
    transition: rotate 0.3s ease;
  }
  .p-spmenu__button::before {
    rotate: -90deg;
  }
  .p-spmenu__button[aria-expanded=true]::before {
    rotate: 0deg;
  }
  .p-spmenu__button:hover {
    color: var(--main-color);
  }
  .l-footer-sp-nav .p-spmenu__button {
    color: var(--c-white);
  }
  .l-footer-sp-nav .p-spmenu__button::before, .l-footer-sp-nav .p-spmenu__button::after {
    background-color: var(--c-white);
  }
  /* 第二階層
  ----------------------------------------------------------- */
  .p-spmenu-second {
    display: grid;
    visibility: hidden;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease;
  }
  .p-spmenu-second[aria-hidden=false] {
    visibility: visible;
    grid-template-rows: 1fr;
  }
  .p-spmenu-second__list {
    overflow: hidden;
  }
  .p-spmenu-second__item {
    border-top: 1px solid var(--c-gray);
  }
  .p-spmenu-second__link {
    display: block;
    position: relative;
    padding: 1em;
  }
  .p-spmenu-second__link::after {
    position: absolute;
    top: 50%;
    right: 0;
    translate: 0 -50%;
  }
  .p-spmenu-second__ttl {
    display: block;
    padding: 1em;
    color: var(--main-color);
  }
  /* 第三階層：製品検索
  ----------------------------------------------------------- */
  .p-spmenu-third--search {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding-block: 12px;
    gap: 12px;
    border-top: 1px solid var(--c-gray);
  }
  .p-spmenu-third--search__link {
    display: grid;
    position: relative;
    align-items: center;
    height: 100%;
    padding-inline: 12px 30px;
    padding-block: 12px;
    border: 1px solid var(--sub-color-dull);
    background-color: var(--c-white);
    font-size: 0.8125rem;
  }
  .p-spmenu-third--search__link::after {
    position: absolute;
    top: 50%;
    right: 12px;
    translate: 0 -50%;
  }
  /* 第三階層：製品リンク
  ----------------------------------------------------------- */
  .p-spmenu-third--product__item {
    border-top: 1px solid var(--c-gray);
  }
  .p-spmenu-third--product__link {
    display: block;
    position: relative;
    padding: 14px;
    font-size: 0.75rem;
  }
  .p-spmenu-third--product__link::before {
    display: inline-block;
    width: 5px;
    height: 2px;
    margin-inline-end: 8px;
    background-color: var(--main-color);
    content: "";
    vertical-align: middle;
  }
  .p-spmenu-third--product__link > span {
    display: inline-block;
    position: relative;
  }
  .p-spmenu-third--product__link > span::after {
    display: block;
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 1px;
    transform: scaleX(0);
    transform-origin: left bottom;
    background-color: currentColor;
    content: "";
    transition: transform 0.3s ease;
  }
  .p-spmenu-third--product__link:focus-visible > span::after {
    transform: scaleX(1);
  }
  /* そのメニューリンク
  ----------------------------------------------------------- */
  .p-spmenu-other {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-block: 24px;
    gap: 12px;
  }
  .l-footer__bottom .p-spmenu-other {
    display: flex;
    justify-content: center;
    margin-block-end: 0;
    gap: 20px;
  }
  .p-spmenu-other__link {
    display: inline-block;
    position: relative;
  }
  .p-spmenu-other__link::after {
    margin-inline-start: 4px;
  }
  .p-spmenu-other__link::before {
    display: block;
    position: absolute;
    bottom: -2px;
    left: 0;
    width: calc(100% - 18px);
    height: 1px;
    transform: scaleX(0);
    transform-origin: left bottom;
    background-color: currentColor;
    content: "";
    transition: transform 0.3s ease;
  }
  .p-spmenu-other__link:focus-visible::before {
    transform: scaleX(1);
  }
  .l-footer .p-spmenu-other__link {
    color: var(--c-white);
  }
  .l-footer .p-spmenu-other__link:focus-visible {
    color: var(--c-whtie);
  }
  /* ==========================================================
  !search
  ========================================================== */
  .p-search {
    display: grid;
    width: 100%;
    max-width: 850px;
    margin-inline: auto;
    gap: 16px;
  }
  .p-search__ttl {
    font-weight: bold;
    font-size: 1.125rem;
  }
  .p-search.p-search--full {
    max-width: none;
  }
  /* ==========================================================
  !topview
  ========================================================== */
  .p-topview {
    z-index: var(--stack-forward);
    position: relative;
    padding-block-start: 50px;
    border-radius: 0 0 20px 20px;
    background-color: var(--sub-color-light);
  }
  .p-topview::before {
    display: block;
    position: absolute;
    top: 50px;
    right: 0;
    width: 54px;
    height: 116px;
    background-color: var(--main-color);
    content: "";
    mask-image: url(/assets/img/common/ico_spice.svg);
    mask-position: right top;
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-topview.--no-icon::before {
    display: none;
  }
  body.is-home .p-topview {
    padding-block-end: 24px;
  }
  body.is-home .p-topview::before {
    display: none;
  }
  .p-topview__upper {
    padding-block-start: 40px;
    padding-block-end: 20px;
  }
  .p-topview__upper .l-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .p-topview__bottom {
    border-top: 1px solid var(--sub-color-dull);
  }
  /* ==========================================================
  !breadcrumbs
  ========================================================== */
  .p-breadcrumbs__list {
    display: flex;
    margin-inline-end: -16px;
    padding-block: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 8px;
    font-size: 0.875rem;
  }
  .p-breadcrumbs__list-item {
    flex-shrink: 0;
  }
  .p-breadcrumbs a {
    font-weight: bold;
  }
  .p-breadcrumbs a::after {
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-inline-start: 4px;
    rotate: 45deg;
    border-top: 2px solid var(--main-color);
    border-right: 2px solid var(--main-color);
    content: "";
    vertical-align: middle;
  }
  .p-breadcrumbs a:focus-visible {
    color: var(--main-color);
  }
  /* トップニュース
  ---------------------------------------------------------- */
  .p-newsticker {
    padding-inline: 16px;
    border: 1px solid var(--c-gray);
    border-radius: 12px;
    background-color: var(--c-white);
  }
  .p-newsticker__header {
    padding-block: 16px 8px;
    border-bottom: 1px solid var(--c-gray);
  }
  .p-newsticker__body {
    position: relative;
    padding-block: 16px;
  }
  .p-newsticker__ttl {
    font-style: italic;
    font-weight: bold;
    font-size: 1rem;
  }
  .p-newsticker__date {
    font-size: 0.75rem;
    font-family: var(--font-family-en);
  }
  .p-newsticker__list-item {
    display: grid;
    gap: 8px;
  }
  .p-newsticker__list-txt {
    font-size: 0.75rem;
  }
  .p-newsticker__list-txt a {
    text-decoration: none;
  }
  .p-newsticker__body {
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .p-newsticker__list-wrapper {
    flex: 1;
    min-width: 0;
    overflow: hidden;
  }
  .p-newsticker__list {
    display: flex;
    width: calc(100% * var(--total, 1));
  }
  .p-newsticker__list-item {
    flex-shrink: 0;
    width: calc(100% / var(--total, 1));
    min-width: 0;
  }
  .p-newsticker__list-txt {
    overflow-wrap: break-word;
  }
  .p-newsticker__nav {
    display: flex;
    flex-shrink: 0;
    gap: 4px;
  }
  .p-newsticker__nav[hidden] {
    display: none;
  }
  .p-newsticker__nav-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid var(--c-gray);
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    transition: background 0.2s;
  }
  .p-newsticker__nav-btn:hover {
    background: #f0f0f0;
  }
  /*ブロックエディタ本文で利用された場合*/
  .l-entry-content .p-newsticker__ttl {
    margin-block: 0;
  }
  /* ==========================================================
  !newslist
  ========================================================== */
  .p-newslist {
    border-bottom: 1px solid var(--c-gray);
    background: var(--c-white);
  }
  .p-newslist__item {
    border-top: 1px solid var(--c-gray);
  }
  .p-newslist__card {
    display: flex;
    position: relative;
    flex-direction: column;
    padding-block-start: 16px;
    padding-block-end: 16px;
    gap: 16px;
    color: var(--c-black);
  }
  .p-newslist__card-thumb {
    aspect-ratio: 344/193;
    overflow: hidden;
    border-radius: 4px;
    background-color: var(--c-gray-light);
  }
  .p-newslist__card-thumb img {
    width: auto;
    height: 100%;
    transition: transform 0.3s ease;
  }
  .p-newslist__card-body {
    display: grid;
    gap: 14px;
  }
  .p-newslist__card-body .c-ico-square {
    margin-inline-start: auto;
  }
  .p-newslist__card-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 16px;
  }
  .p-newslist__card-ttl {
    font-weight: bold;
    font-size: 1rem;
  }
  .p-newslist__card-publish {
    color: var(--c-gray-dark);
    font-weight: 500;
    font-size: 0.875rem;
    font-family: var(--font-family-en);
  }
  .p-newslist__card:focus-visible .p-newslist__card-ttl {
    text-decoration: underline;
  }
  .p-newslist__card:focus-visible .p-newslist__card-thumb img {
    transform: scale(1.1);
  }
  /* ==========================================================
  !sidenav
  ========================================================== */
  .p-sidenav + .p-sidenav {
    margin-block-start: 24px;
  }
  .p-sidenav__ttl {
    padding-inline: 20px;
    padding-block: 16px;
    border-radius: 4px 4px 0 0;
    background-color: var(--main-color);
    color: var(--c-white);
    font-weight: bold;
    font-size: 1rem;
  }
  .p-sidenav__ttl.--type02 {
    background-color: var(--sub-color);
    color: var(--c-black);
  }
  .p-sidenav__body {
    padding: 16px;
    border-radius: 0 0 4px 4px;
    background-color: var(--c-gray-light);
  }
  .p-sidenav__body:has(.p-sidenav__menu) {
    padding-inline: 16px;
    padding-block: 0;
  }
  .p-sidenav__menu > li:not(:first-child) {
    border-top: 1px solid var(--c-gray);
  }
  .p-sidenav__menu > li > a {
    display: block;
    position: relative;
    padding-inline: 0;
    padding-block: 16px;
    font-size: 0.875rem;
  }
  .p-sidenav__menu > li > a.is-current {
    color: var(--main-color);
    font-weight: bold;
  }
  .p-sidenav__menu > li > a::after {
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 14px;
    height: 14px;
    transform: translateY(-50%);
    background-color: currentColor;
    content: "";
    mask-image: url(/assets/img/common/ico_arrow_r.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-sidenav__menu > li > ul li {
    padding-inline-start: 16px;
    border-top: 1px solid var(--c-gray);
  }
  .p-sidenav__menu > li > ul li a {
    display: block;
    position: relative;
    padding-inline-start: 8px;
    padding-block: 8px;
    font-size: 0.75rem;
  }
  .p-sidenav__menu > li > ul li a::before {
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 4px;
    transform: translateY(-50%);
    border-top: 1px solid;
    content: "";
  }
  .p-sidenav__menu .p-sidenav__pd {
    display: grid;
    grid-template-columns: 59px 1fr;
    align-items: center;
    padding-inline-end: 16px;
    gap: 8px;
  }
  .p-sidenav__menu .thumb img {
    border-radius: 4px;
  }
  .p-sidenav__menu .ttl {
    display: block;
    font-size: 0.875rem;
  }
  .p-sidenav__menu .txt {
    display: block;
    font-size: 0.75rem;
  }
  .p-sidenav__menu .p-sidenav__pickup {
    display: grid;
    grid-template-columns: 105px 1fr;
    align-items: center;
    padding-inline-end: 16px;
    gap: 8px;
  }
  .p-sidenav__menu .thumb img {
    border-radius: 4px;
  }
  .p-sidenav__menu .ttl {
    font-size: 0.75rem;
  }
  /* ==========================================================
  !pagenav
  ========================================================== */
  .p-pagenav__menu {
    display: grid;
    gap: 20px;
  }
  .p-pagenav__item a {
    color: inherit;
    text-decoration: none;
  }
  .p-pagenav__item a:focus-visible {
    color: var(--main-color);
  }
  .p-pagenav__item.--prev {
    grid-column: 1/2;
  }
  .p-pagenav__item.--prev a {
    display: flex;
    align-items: center;
    align-items: center;
    gap: 8px;
  }
  .p-pagenav__item.--prev a::before {
    display: block;
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    transform: scale(-1, 1);
    background-color: var(--c-black);
    content: "";
    mask-image: url(/assets/img/common/ico_arrow_r.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-pagenav__item.--next {
    grid-column: 2/3;
  }
  .p-pagenav__item.--next a {
    display: flex;
    align-items: center;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
  }
  .p-pagenav__item.--next a::after {
    display: block;
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    background-color: var(--c-black);
    content: "";
    mask-image: url(/assets/img/common/ico_arrow_r.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  /* ==========================================================
  !pagination
  ========================================================== */
  .p-pagination {
    display: flex;
    justify-content: center;
    margin-block-start: 40px;
    gap: 10px;
  }
  .p-pagination__item {
    display: grid;
    place-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--c-gray);
    border-radius: 50%;
    background-color: var(--c-white);
    color: var(--c-black);
  }
  .p-pagination__item.is-current {
    border: 1px solid var(--main-color);
    background-color: var(--main-color);
    color: var(--c-white);
  }
  .p-pagination__item:focus-visible {
    border-color: var(--c-black);
    background-color: var(--c-black);
    color: var(--c-white);
  }
  .p-pagination__prev, .p-pagination__next {
    display: block;
    position: relative;
    width: 40px;
    height: 0;
    padding-block-start: 40px;
    overflow: hidden;
    border: 0;
  }
  .p-pagination__prev::before, .p-pagination__next::before {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 14px;
    translate: -50%, -50%;
    background-color: var(--c-black);
    content: "";
    mask-image: url(/assets/img/common/ico_arrow_r.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-pagination__prev:focus-visible, .p-pagination__next:focus-visible {
    border-color: transparent;
    background-color: transparent;
  }
  .p-pagination__prev:focus-visible::before, .p-pagination__next:focus-visible::before {
    background-color: var(--main-color);
  }
  .p-pagination__prev::before {
    transform: scale(-1, 1);
  }
  .p-pagination__skip {
    display: grid;
    place-content: center;
  }
  /* カード（デフォルト・事例/コラム）
  ---------------------------------------------------------- */
  .p-card {
    display: block;
    position: relative;
    border-radius: 4px;
    background-color: var(--c-white);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    color: var(--c-black);
    text-decoration: none;
    transition: all 0.3s ease;
  }
  .l-grid .p-card {
    height: 100%;
  }
  .p-card__thumb {
    aspect-ratio: 16/9;
    overflow: hidden;
    border-radius: 4px 4px 0 0;
    background-color: var(--c-gray-light);
    text-align: center;
  }
  .p-card__thumb img {
    width: auto;
    height: 100%;
    transition: transform 0.3s ease;
  }
  .p-card__body {
    padding: 16px;
  }
  .p-card.--has-icon {
    container-type: inline-size;
  }
  .p-card.--has-icon .p-card__body {
    position: static;
  }
  .p-card.--has-icon .p-card__body::before {
    display: block;
    position: absolute;
    top: 56.25cqw;
    right: 0;
    width: 24px;
    height: 53px;
    background-color: var(--sub-color);
    content: "";
    mask-image: url(/assets/img/common/ico_spice.svg);
    mask-position: right top;
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
  }
  .p-card__meta.--between {
    justify-content: space-between;
  }
  .p-card__publish {
    color: var(--c-gray-dark);
    font-size: 0.625rem;
  }
  .p-card__ttl {
    margin-block-start: 12px;
    font-weight: bold;
    font-size: 1rem;
  }
  .p-card__txt {
    margin-block-start: 16px;
    font-size: 0.875rem;
  }
  .p-card__tags {
    display: flex;
    flex-wrap: wrap;
    margin-block-start: 8px;
    gap: 8px;
  }
  .p-card:focus-visible {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  }
  .p-card:focus-visible .p-card__thumb img {
    transform: scale(1.05);
  }
  .p-card:has(a):focus-within .p-card__thumb img {
    transform: scale(1.05);
  }
  .p-card:has(a) a {
    color: inherit;
    text-decoration: none;
  }
  .p-card:has(a) a::before {
    z-index: 10;
    position: absolute;
    inset: 0;
    content: "";
  }
  /* カード（メディア型）
  ---------------------------------------------------------- */
  .p-card--media {
    display: grid;
    padding: 16px;
    gap: 24px;
  }
  .p-card--media .p-card__body {
    padding: 0;
  }
  /* 製品カテゴリ カード
  ---------------------------------------------------------- */
  .p-card-lineup {
    display: grid;
    position: relative;
    grid-template-columns: 128px 1fr;
    align-items: center;
    padding-inline: 8px 40px;
    padding-block: 8px;
    gap: 16px;
    border-radius: 4px;
    background-color: var(--c-white);
    color: var(--c-black);
  }
  .p-card-lineup__thumb {
    overflow: hidden;
    border-radius: 4px;
  }
  .p-card-lineup__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
    transition: transform 0.3s ease;
  }
  .p-card-lineup__ttl {
    font-weight: bold;
    font-size: 0.875rem;
  }
  .p-card-lineup .c-ico-square--gray {
    position: absolute;
    right: 0;
    bottom: 0;
  }
  .p-card-lineup:focus-visible .p-card-lineup__thumb img {
    transform: scale(1.05);
  }
  /* 製品 カード
  ---------------------------------------------------------- */
  .p-card-pd {
    display: grid;
    position: relative;
    grid-template-columns: min(46.15%, 174px) 1fr;
    padding: 16px;
    gap: 16px 8px;
    border-radius: 4px;
    background-color: var(--c-white);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    color: var(--c-black);
    text-decoration: none;
  }
  .l-grid .p-card-pd {
    height: 100%;
  }
  .p-card-pd:focus-visible {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  }
  .p-card-pd:focus-visible .p-card-pd__thumb img {
    transform: scale(1.05);
  }
  .p-card-pd__inner {
    display: contents;
  }
  .p-card-pd__inner::before {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 24px;
    height: 53px;
    background-color: var(--main-color);
    content: "";
    mask-image: url(/assets/img/common/ico_spice.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-card-pd__body {
    grid-column: 1/3;
    padding-block-end: 24px;
  }
  .p-card-pd__thumb {
    overflow: hidden;
    border-radius: 4px;
  }
  .p-card-pd__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
    transition: transform 0.3s ease;
  }
  .p-card-pd__logo {
    display: block;
    width: 112px;
    height: 38px;
  }
  .p-card-pd__logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .p-card-pd__ttl {
    margin: 0;
    padding: 0;
    color: var(--main-color);
    font-weight: bold;
    font-size: 1rem;
  }
  .p-card-pd__ttl::before {
    display: none;
  }
  .p-card-pd__name {
    display: block;
    margin-block: 7px 0;
    color: var(--c-black);
    font-weight: bold;
    font-size: 0.8125rem;
  }
  .p-card-pd__name::after {
    display: block;
    width: 28px;
    height: 2px;
    margin-block-start: 4px;
    background-color: var(--main-color);
    content: "";
  }
  .p-card-pd__txt {
    font-size: 0.875rem;
    line-height: 1.5;
  }
  .p-card-pd__meta {
    display: flex;
    flex-wrap: wrap;
    margin-block-start: 16px;
    gap: 8px;
  }
  .p-card-pd .c-ico-square--gray {
    position: absolute;
    right: 0;
    bottom: 0;
  }
  .p-card-pd.--no-pd-color .p-card-pd__inner::before {
    display: none;
  }
  .p-card-pd.--no-pd-color .p-card-pd__name::after {
    display: none;
  }
  .p-card-pd.--optitrack .p-card-pd__inner::before {
    background-color: color-mix(in srgb, var(--c-optitrack) 60%, transparent);
  }
  .p-card-pd.--optitrack .p-card-pd__name::after {
    background-color: var(--c-optitrack);
  }
  .p-card-pd.--captury .p-card-pd__inner::before {
    background-color: color-mix(in srgb, var(--c-captury) 60%, transparent);
  }
  .p-card-pd.--captury .p-card-pd__name::after {
    background-color: var(--c-captury);
  }
  .p-card-pd.--movin .p-card-pd__inner::before {
    background-color: color-mix(in srgb, var(--c-movin) 60%, transparent);
  }
  .p-card-pd.--movin .p-card-pd__name::after {
    background-color: var(--c-movin);
  }
  .p-card-pd.--moa .p-card-pd__inner::before {
    background-color: color-mix(in srgb, var(--c-moa) 60%, transparent);
  }
  .p-card-pd.--moa .p-card-pd__name::after {
    background-color: var(--c-moa);
  }
  .p-card-pd.--rokoko .p-card-pd__inner::before {
    background-color: color-mix(in srgb, var(--c-rokoko) 60%, transparent);
  }
  .p-card-pd.--rokoko .p-card-pd__name::after {
    background-color: var(--c-rokoko);
  }
  .p-card-pd.--manus .p-card-pd__inner::before {
    background-color: color-mix(in srgb, var(--c-manus) 60%, transparent);
  }
  .p-card-pd.--manus .p-card-pd__name::after {
    background-color: var(--c-manus);
  }
  .p-card-pd.--g6-mocap-gloves .p-card-pd__inner::before {
    background-color: color-mix(in srgb, var(--c-g6-mocap-gloves) 60%, transparent);
  }
  .p-card-pd.--g6-mocap-gloves .p-card-pd__name::after {
    background-color: var(--c-g6-mocap-gloves);
  }
  .p-card-pd.--bunshin-hmc .p-card-pd__inner::before {
    background-color: color-mix(in srgb, var(--c-bunshin-hmc) 60%, transparent);
  }
  .p-card-pd.--bunshin-hmc .p-card-pd__name::after {
    background-color: var(--c-bunshin-hmc);
  }
  .p-card-pd.--3d-facial-scan .p-card-pd__inner::before {
    background-color: color-mix(in srgb, var(--c-3d-facial-scan) 60%, transparent);
  }
  .p-card-pd.--3d-facial-scan .p-card-pd__name::after {
    background-color: var(--c-3d-facial-scan);
  }
  .p-card-pd.--virtual-production .p-card-pd__inner::before {
    background-color: color-mix(in srgb, var(--c-virtual-production) 60%, transparent);
  }
  .p-card-pd.--virtual-production .p-card-pd__name::after {
    background-color: var(--c-virtual-production);
  }
  .p-card-pd.--nansense .p-card-pd__inner::before {
    background-color: color-mix(in srgb, var(--c-nansense) 60%, transparent);
  }
  .p-card-pd.--nansense .p-card-pd__name::after {
    background-color: var(--c-nansense);
  }
  .p-card-pd.--yanus-studio .p-card-pd__inner::before {
    background-color: color-mix(in srgb, var(--c-yanus-studio) 60%, transparent);
  }
  .p-card-pd.--yanus-studio .p-card-pd__name::after {
    background-color: var(--c-yanus-studio);
  }
  .p-card-pd.--stretchsense .p-card-pd__inner::before {
    background-color: color-mix(in srgb, var(--c-stretchsense) 60%, transparent);
  }
  .p-card-pd.--stretchsense .p-card-pd__name::after {
    background-color: var(--c-stretchsense);
  }
  .p-card-pd.--service .p-card-pd__ttl {
    color: var(--main-color);
  }
  .p-card-pd.--service .p-card-pd__inner::before {
    background-color: var(--sub-color);
  }
  /* 製品 カード02（常に横型・その他のモーションキャプチャ製品一覧で使用）
  ---------------------------------------------------------- */
  .p-card-pd02 {
    display: grid;
    position: relative;
    grid-template-columns: 100px 1fr;
    padding-inline: 16px;
    padding-block: 16px 32px;
    gap: 10px 8px;
    border-radius: 4px;
    background-color: var(--c-white);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    color: var(--c-black);
    text-decoration: none;
  }
  .p-card-pd02::before {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 11px;
    height: 25px;
    background-color: var(--main-color);
    content: "";
    mask-image: url(/assets/img/common/ico_spice.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .l-grid .p-card-pd02 {
    height: 100%;
  }
  .p-card-pd02:focus-visible {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  }
  .p-card-pd02:focus-visible .p-card-pd02__thumb img {
    transform: scale(1.05);
  }
  .p-card-pd02__thumb {
    align-self: start;
    overflow: hidden;
    border-radius: 4px;
  }
  .p-card-pd02__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
    transition: transform 0.3s ease;
  }
  .p-card-pd02__logo {
    display: block;
    width: 95px;
    height: 30px;
  }
  .p-card-pd02__logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .p-card-pd02__ttl {
    margin: 0;
    padding: 0;
    font-weight: bold;
  }
  .p-card-pd02__ttl::before {
    display: none;
  }
  .p-card-pd02__name {
    display: block;
    font-weight: bold;
    font-size: 0.8125rem;
  }
  .p-card-pd02__txt {
    grid-column: 1/3;
    font-size: 0.875rem;
    line-height: 1.5;
  }
  .p-card-pd02 .c-ico-square--gray {
    position: absolute;
    right: 0;
    bottom: 0;
  }
  @container (min-width: 584px) {
    .p-card-pd02 {
      padding-inline: 8px;
      padding-block: 16px;
      gap: 0 10px;
    }
    .p-card-pd02__ttl {
      display: flex;
      align-items: center;
    }
    .p-card-pd02__thumb {
      grid-row: 1/3;
    }
    .p-card-pd02__txt {
      grid-column: 2/3;
    }
  }
  .p-card-pd02.--optitrack::before {
    background-color: color-mix(in srgb, var(--c-optitrack) 60%, transparent);
  }
  .p-card-pd02.--captury::before {
    background-color: color-mix(in srgb, var(--c-captury) 60%, transparent);
  }
  .p-card-pd02.--movin::before {
    background-color: color-mix(in srgb, var(--c-movin) 60%, transparent);
  }
  .p-card-pd02.--moa::before {
    background-color: color-mix(in srgb, var(--c-moa) 60%, transparent);
  }
  .p-card-pd02.--manus::before {
    background-color: color-mix(in srgb, var(--c-manus) 60%, transparent);
  }
  .p-card-pd02.--g6-mocap-gloves::before {
    background-color: color-mix(in srgb, var(--c-g6-mocap-gloves) 60%, transparent);
  }
  .p-card-pd02.--bunshin-hmc::before {
    background-color: color-mix(in srgb, var(--c-bunshin-hmc) 60%, transparent);
  }
  .p-card-pd02.--3d-facial-scan::before {
    background-color: color-mix(in srgb, var(--c-3d-facial-scan) 60%, transparent);
  }
  .p-card-pd02.--virtual-production::before {
    background-color: color-mix(in srgb, var(--c-virtual-production) 60%, transparent);
  }
  .p-card-pd02.--nansense::before {
    background-color: color-mix(in srgb, var(--c-nansense) 60%, transparent);
  }
  .p-card-pd02.--yanus-studio::before {
    background-color: color-mix(in srgb, var(--c-yanus-studio) 60%, transparent);
  }
  .p-card-pd02.--stretchsense::before {
    background-color: color-mix(in srgb, var(--c-stretchsense) 60%, transparent);
  }
  /*----- 製品 カード02 を拡張、サポートページ配下で使用 -----*/
  .p-card-pd02.--support {
    row-gap: 4px;
  }
  .p-card-pd02.--support .p-card-pd02__ttl {
    align-items: start;
  }
  .p-card-pd02.--support .p-card-pd02__ttl :where(ruby, rp, rt) {
    display: contents;
    font-size: unset;
  }
  /* ==========================================================
  !card
  ========================================================== */
  /* PICKUP カード
  ---------------------------------------------------------- */
  .p-card-pickup {
    display: grid;
    gap: 14px;
    color: var(--c-black);
  }
  .p-card-pickup:focus-visible .p-card-pickup__thumb img {
    transform: scale(1.05);
  }
  .p-card-pickup:focus-visible .p-card-pickup__ttl {
    text-decoration: underline;
  }
  .p-card-pickup__thumb {
    aspect-ratio: 16/9;
    overflow: hidden;
    border-radius: 10px;
  }
  .p-card-pickup__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
  }
  .p-card-pickup__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
  }
  .p-card-pickup__ttl {
    margin-block-start: 16px;
    font-weight: bold;
    font-size: 1rem;
  }
  .p-card-pickup__txt {
    margin-block-start: 8px;
    font-size: 0.875rem;
  }
  /* 収録サービス カード
  ---------------------------------------------------------- */
  .p-card-service {
    display: grid;
    padding: 16px;
    gap: 20px;
    border-radius: 10px;
    background-color: var(--c-white);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    color: var(--c-black);
    text-decoration: none;
  }
  .p-card-service:focus-visible .p-card-service__thumb img {
    transform: scale(1.05);
  }
  .p-card-service:focus-visible .p-card-service__txt {
    text-decoration: underline;
  }
  .p-card-service__thumb {
    aspect-ratio: 16/9;
    overflow: hidden;
    border-radius: 4px;
  }
  .p-card-service__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
  }
  .p-card-service__txt p + p {
    margin-block-start: 1em;
  }
  .p-card-service__data {
    display: grid;
    margin-block-start: 24px;
    gap: 8px 0;
    font-size: 1rem;
  }
  .p-card-service__data-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .p-card-service__data-item::before {
    display: block;
    width: 6px;
    height: 6px;
    margin-inline-end: 8px;
    border-radius: 50%;
    background-color: var(--main-color);
    content: "";
  }
  .p-card-service__data-item dt {
    font-weight: bold;
  }
  .p-card-service__link {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    font-weight: bold;
  }
  /* カード（製品スペック）
  ---------------------------------------------------------- */
  .p-card-spec {
    display: block;
    position: relative;
    border-radius: 10px;
    background-color: var(--c-white);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
    color: var(--c-black);
    text-decoration: none;
  }
  .l-grid__item .p-card-spec {
    height: 100%;
  }
  .p-card-spec__thumb {
    aspect-ratio: 16/9;
    overflow: hidden;
    border-radius: 10px 10px 0 0;
    background-color: var(--c-gray-light);
  }
  .p-card-spec__thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: all 0.3s ease;
  }
  .p-card-spec__body {
    padding-inline: 16px;
    padding-block: 24px 32px;
  }
  .p-card-spec__ttl {
    font-weight: bold;
    font-size: 1.375rem;
  }
  .p-card-spec__data {
    margin-block-start: 16px;
    border-bottom: 1px solid var(--c-gray);
    font-size: 0.875rem;
  }
  .p-card-spec__data tr {
    border-top: 1px solid var(--c-gray);
  }
  .p-card-spec__data th {
    width: 35%;
    padding-block: 12px;
  }
  .p-card-spec__data td {
    padding: 12px;
    font-weight: bold;
  }
  .p-card-spec__price {
    margin-block-start: 12px;
    font-weight: bold;
    font-size: 0.875rem;
    line-height: 1.5;
  }
  .p-card-spec__price .ttl {
    display: block;
    font-weight: normal;
  }
  .p-card-spec__price .num {
    color: var(--main-color);
    font-size: 1.25rem;
    font-family: var(--font-family-en);
  }
  .p-card-spec__price .note {
    display: block;
    color: var(--c-gray-dark);
    font-size: 0.75rem;
  }
  .p-card-spec .c-ico-square--gray {
    position: absolute;
    right: 0;
    bottom: 0;
  }
  .p-card-spec:focus-visible .p-card-spec__thumb img {
    transform: scale(1.05);
  }
  /* ==========================================================
  !価格表card
  ========================================================== */
  /* PRICE カード
  ---------------------------------------------------------- */
  .p-card-price {
    display: grid;
    position: relative;
    grid-template-columns: 31.6% 1fr;
    border-radius: 4px;
    background-color: var(--c-white);
    color: var(--c-black);
    font-weight: bold;
    text-decoration: none;
  }
  .p-card-price::before {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 16px;
    height: 34px;
    background-color: var(--main-color);
    content: "";
    mask-image: url(/assets/img/common/ico_spice.svg);
    mask-position: right top;
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-card-price__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px 0 0 4px;
  }
  .p-card-price__body {
    display: grid;
    position: relative;
    place-content: center;
    padding: 15%;
    text-align: center;
  }
  .p-card-price__ttl {
    font-size: 0.75rem;
  }
  .p-card-price__ttl img {
    margin-block-end: 0.8em;
  }
  @container (min-width: 400px) {
    .p-card-price__ttl {
      font-size: 0.875rem;
    }
  }
  .p-card-price .c-ico-square--gray {
    position: absolute;
    right: 0;
    bottom: 0;
  }
  .p-card-price-text {
    margin-block-start: 12px;
    font-size: 1rem;
    text-align: center;
  }
  .p-card-price.--optitrack::before {
    background-color: color-mix(in srgb, var(--c-optitrack) 60%, transparent);
  }
  .p-card-price.--captury::before {
    background-color: color-mix(in srgb, var(--c-captury) 60%, transparent);
  }
  .p-card-price.--movin::before {
    background-color: color-mix(in srgb, var(--c-movin) 60%, transparent);
  }
  .p-card-price.--moa::before {
    background-color: color-mix(in srgb, var(--c-moa) 60%, transparent);
  }
  .p-card-price.--rokoko::before {
    background-color: color-mix(in srgb, var(--c-rokoko) 60%, transparent);
  }
  .p-card-price.--manus::before {
    background-color: color-mix(in srgb, var(--c-manus) 60%, transparent);
  }
  .p-card-price.--g6-mocap-gloves::before {
    background-color: color-mix(in srgb, var(--c-g6-mocap-gloves) 60%, transparent);
  }
  .p-card-price.--bunshin-hmc::before {
    background-color: color-mix(in srgb, var(--c-bunshin-hmc) 60%, transparent);
  }
  .p-card-price.--3d-facial-scan::before {
    background-color: color-mix(in srgb, var(--c-3d-facial-scan) 60%, transparent);
  }
  .p-card-price.--virtual-production::before {
    background-color: color-mix(in srgb, var(--c-virtual-production) 60%, transparent);
  }
  .p-card-price.--nansense::before {
    background-color: color-mix(in srgb, var(--c-nansense) 60%, transparent);
  }
  .p-card-price.--yanus-studio::before {
    background-color: color-mix(in srgb, var(--c-yanus-studio) 60%, transparent);
  }
  .p-card-price.--stretchsense::before {
    background-color: color-mix(in srgb, var(--c-stretchsense) 60%, transparent);
  }
  /* カード（カタログダウンロード一覧）
  ---------------------------------------------------------- */
  .p-card-download {
    display: grid;
    grid-template-rows: auto 1fr auto;
    border-radius: 4px;
    background-color: var(--c-white);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    color: var(--c-black);
    text-decoration: none;
    transition: all 0.3s ease;
  }
  .l-grid .p-card-download {
    height: 100%;
  }
  .p-card-download__thumb {
    aspect-ratio: 16/9;
    overflow: hidden;
    border-radius: 4px 4px 0 0;
    background-color: var(--c-gray-light);
    text-align: center;
  }
  .p-card-download__thumb img {
    width: auto;
    height: 100%;
    transition: transform 0.3s ease;
  }
  .p-card-download__body {
    padding-inline: 20px;
    padding-block: 20px 0;
  }
  .p-card-download__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
  }
  .p-card-download__ttl {
    font-weight: bold;
    font-size: 1rem;
    line-height: 1.22;
  }
  .p-card-download__sub-ttl, .p-card-download__client {
    margin-block-start: 8px;
  }
  .p-card-download__txt {
    margin-block-start: 16px;
    font-size: 0.875rem;
  }
  .p-card-download__description, .p-card-download__profile {
    margin-block-start: 12px;
    font-size: 0.75rem;
  }
  .p-card-download__button {
    margin-block-start: auto;
    padding: 20px;
  }
  .p-card-download .c-button {
    padding-inline: 32px;
    padding-block: 9px 12px;
  }
  .p-card-download:focus-visible {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  }
  .p-card-download:focus-visible .p-card-download__thumb img {
    transform: scale(1.05);
  }
  .p-card-download:focus-visible .c-button {
    background-position: 0 0;
    background-color: var(--c-white);
    color: var(--c-black);
  }
  /* カード（WPダウンロード詳細用）
  ---------------------------------------------------------- */
  .wp-block-group.p-card-download {
    position: relative;
    max-inline-size: 272px;
    margin-inline: auto;
    margin-block: 0;
  }
  .wp-block-group.p-card-download .wp-block-image {
    margin: 0;
    overflow: hidden;
    border-radius: 4px 4px 0 0;
  }
  .wp-block-group.p-card-download .wp-block-image img {
    transition: transform 0.3s ease;
  }
  .wp-block-group.p-card-download:hover .wp-block-image img {
    transform: scale(1.05);
  }
  .wp-block-group.p-card-download .p-card-download__body {
    margin: 0;
  }
  .wp-block-group.p-card-download .wp-block-button__link {
    display: flex;
    position: static;
    align-items: center;
    min-inline-size: 232px;
    padding-inline: 48px 16px;
    padding-block: 16px;
  }
  .wp-block-group.p-card-download .wp-block-button__link::before {
    position: absolute;
    inset: 0;
    content: "";
  }
  .wp-block-group.p-card-download .wp-block-button__link::after {
    position: static;
    margin-inline-start: auto;
    transform: none;
  }
  /* カード（画像テキスト）
  ---------------------------------------------------------- */
  .p-card-media {
    display: grid;
    position: relative;
    row-gap: 16px;
    padding-inline: 16px;
    padding-block: 24px;
    overflow: hidden;
    background-color: var(--c-gray-light);
  }
  .p-card-media::before {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 54px;
    height: 116px;
    background-color: #D8F1FF;
    content: "";
    mask-image: url(/assets/img/common/ico_spice.svg);
    mask-position: right top;
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-card-media > * {
    z-index: 0;
  }
  /* カード（カタログダウンロード一覧）
  ---------------------------------------------------------- */
  .p-card-support {
    display: grid;
    position: relative;
    grid-template-columns: 144px 1fr;
    padding: 16px;
    gap: 16px 8px;
    border-radius: 4px;
    background-color: var(--c-white);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    color: var(--c-black);
    text-decoration: none;
    transition: all 0.3s ease;
  }
  .p-card-support::before {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 24px;
    height: 53px;
    background-color: var(--main-color);
    content: "";
    mask-image: url(/assets/img/common/ico_spice.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .l-grid .p-card-support {
    height: 100%;
  }
  .p-card-support__thumb {
    aspect-ratio: 16/9;
    overflow: hidden;
    border-radius: 4px 4px 0 0;
    background-color: var(--c-gray-light);
  }
  .p-card-support__thumb img {
    width: auto;
    height: 100%;
    transition: transform 0.3s ease;
  }
  .p-card-support__ttl {
    display: grid;
    align-items: center;
    font-weight: bold;
    font-size: 1rem;
    line-height: 1.22;
  }
  .p-card-support__txt {
    grid-column: span 2;
    font-size: 0.875rem;
  }
  .p-card-support .c-ico-square--gray {
    position: absolute;
    right: 0;
    bottom: 0;
  }
  .p-card-support:focus-visible {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  }
  .p-card-support:focus-visible .p-card__thumb img {
    transform: scale(1.05);
  }
  /* ==========================================================
  !Pick up
  ========================================================== */
  .p-pickup {
    display: grid;
    gap: 32px;
  }
  .p-pickup__sub {
    display: flex;
    margin-inline-end: calc(50% - 50vw);
    padding-block-end: 32px;
    overflow-x: scroll;
    overflow-y: hidden;
    gap: 24px;
  }
  .p-pickup__sub > * {
    flex-shrink: 0;
    width: 60vw;
    max-width: 300px;
  }
  .p-pickup__sub::-webkit-scrollbar {
    width: 100%;
    height: 8px;
    border-radius: 10px;
    background-color: var(--c-gray);
  }
  .p-pickup__sub::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background-color: var(--c-dark);
  }
  /* ==========================================================
  !Pick up columns
  ========================================================== */
  .p-pickup-columns {
    display: flex;
    margin-inline-end: calc(50% - 50vw);
    padding-block-end: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 24px;
  }
  .p-pickup-columns__item {
    flex-shrink: 0;
    width: 230px;
  }
  .p-pickup-columns .p-card {
    box-shadow: none;
  }
  .p-pickup-columns .p-card:focus-visible {
    box-shadow: none;
  }
  .p-pickup-columns::-webkit-scrollbar {
    width: 100%;
    height: 8px;
    border-radius: 10px;
    background-color: var(--c-gray);
  }
  .p-pickup-columns::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background-color: var(--c-dark);
  }
  /* 重要なお知らせ
  ---------------------------------------------------------- */
  .p-important-info {
    margin-inline: 0;
    margin-block: 35px 30px;
  }
  .p-important-info__ttl {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--accent-color);
    font-weight: bold;
    font-size: 0.875rem;
  }
  .p-important-info__ttl::before {
    display: block;
    width: 16px;
    height: 16px;
    background: url(/assets/img/common/ico_important.svg) center center/contain no-repeat;
    content: "";
  }
  .p-important-info__txt {
    margin-block-start: 4px;
    font-size: 0.75rem;
  }
  .p-important-info__txt a {
    display: inline;
    background: linear-gradient(to top, currentColor 2px, transparent 99%) no-repeat;
    background-position: 0% 100%;
    background-size: 0% 1px;
    color: var(--c-black);
    text-decoration: none;
    transition: all 0.5s ease-out;
  }
  .p-important-info__txt a:focus-visible {
    background-size: 200% 1px;
  }
  .p-important-info__txt .c-ico {
    vertical-align: middle;
  }
  .p-important-info.--has-frame {
    padding: 16px;
    border: 1px solid var(--accent-color);
    border-radius: 4px;
  }
  /* ==========================================================
  !導入実績
  ========================================================== */
  .p-introduction-record {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 16px;
    background-color: var(--c-gray-light);
  }
  .p-introduction-record__item {
    display: flex;
    justify-content: center;
    text-align: center;
  }
  .p-introduction-record__item:first-child {
    border-right: 1px dashed var(--c-gray-dark);
  }
  .p-introduction-record__item::before, .p-introduction-record__item::after {
    display: block;
    aspect-ratio: 30/100;
    width: 17px;
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
  }
  .p-introduction-record__item::before {
    background-image: url(/assets/img/common/bg_leaf_l.svg);
  }
  .p-introduction-record__item::after {
    background-image: url(/assets/img/common/bg_leaf_r.svg);
  }
  .p-introduction-record__inner {
    display: grid;
    place-content: center;
    min-width: 110px;
  }
  .p-introduction-record__ttl {
    font-weight: bold;
    font-size: 0.5rem;
  }
  .p-introduction-record__ttl::after {
    display: block;
    width: 32px;
    height: 3px;
    margin-inline: auto;
    margin-block-start: 4px;
    background-color: var(--main-color);
    content: "";
  }
  .p-introduction-record__data-num {
    font-style: italic;
    font-weight: bold;
    font-size: 1.875rem;
    font-family: var(--font-family-en);
  }
  .p-introduction-record__data-txt {
    font-weight: bold;
    font-size: 0.5625rem;
  }
  /* ==========================================================
  !ループスライダー
  ========================================================== */
  .p-loop-wrapper {
    padding-block: 16px;
  }
  /* ==========================================================
  !タブ
  ========================================================== */
  .p-tab {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 8px 4px;
  }
  .p-tab > li:first-child {
    width: 100%;
    font-size: 1rem;
  }
  .p-tab > li {
    width: calc(50% - 2px);
  }
  .p-tab__button {
    display: grid;
    place-content: center;
    width: 100%;
    padding: 12px;
    border: 1px solid var(--main-color);
    border-radius: 4px;
    background-color: var(--main-color);
    color: var(--c-white);
    cursor: pointer;
    transition: all 0.3s ease;
  }
  .p-tab__button:focus-visible {
    opacity: 0.7;
  }
  .p-tab__button[aria-selected=true] {
    border: 1px solid var(--main-color);
    background-color: var(--c-white);
    color: var(--main-color);
  }
  .p-tab-panel {
    display: none;
    margin-block-start: 10px;
    padding: 16px;
    border: 1px solid var(--main-color);
    border-radius: 4px;
    background-color: var(--c-white);
  }
  .p-tab-panel[aria-hidden=false] {
    display: block;
  }
  /* ==========================================================
  !タブ
  ========================================================== */
  .p-tab02 {
    display: grid;
    gap: 4px;
  }
  .p-tab02.--col2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .p-tab02.--col3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .p-tab02__button {
    display: grid;
    place-content: center;
    width: 100%;
    height: 100%;
    padding: 12px;
    border: 1px solid var(--c-black);
    border-bottom: 0;
    border-radius: 4px 4px 0 0;
    background-color: var(--c-black);
    color: var(--c-white);
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s ease;
  }
  .p-tab02__button[aria-selected=true] {
    background-color: var(--c-white);
    color: var(--c-black);
  }
  .p-tab02-panel {
    display: none;
    margin-block-start: -1px;
    padding: 16px;
    border: 1px solid var(--c-black);
    border-radius: 0 0 4px 4px;
    background-color: var(--c-white);
  }
  .p-tab02-panel[aria-hidden=false] {
    display: block;
  }
  /* ==========================================================
  !banner
  ========================================================== */
  .p-banner {
    margin-inline: auto;
    margin-block: 20px;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 0 3 6px rgba(0, 0, 0, 0.16);
  }
  .p-banner__link {
    display: block;
    position: relative;
    padding: 16px;
  }
  .p-banner__link::before {
    position: absolute;
    inset: 0;
    background: url(/assets/img/common/bnr_motion_capture_price_bg.webp) center center/cover;
    content: "";
    transition: transform 0.3s ease;
  }
  .p-banner__link::after {
    position: absolute;
    top: 0;
    right: 0;
    aspect-ratio: 1.2/1;
    height: 100%;
    background: url(/assets/img/common/bnr_motion_capture_price_img.webp) center center/cover no-repeat;
    content: "";
  }
  .p-banner__ttl {
    z-index: var(--stack_forward);
    position: relative;
    color: var(--c-white);
    font-weight: bold;
    font-size: 1.125rem;
  }
  /* モーションキャプチャシステム導入をご検討の方へバナー
  -------------------------------------------------------------*/
  .p-banner-motion-capture {
    display: block;
    position: relative;
    padding-inline: 20px;
    padding-block: 16px 70px;
    overflow: hidden;
    border-radius: 4px;
    background-color: var(--main-color);
    color: var(--c-white);
    transition: all 0.3s ease;
  }
  .p-banner-motion-capture__ttl {
    z-index: var(--stack_forward);
    position: relative;
    font-weight: bold;
    font-size: 1.25rem;
  }
  .p-banner-motion-capture__ttl > span {
    display: inline-block;
  }
  .p-banner-motion-capture__txt {
    z-index: var(--stack_forward);
    position: relative;
    margin-block-start: 1em;
  }
  .p-banner-motion-capture__img {
    position: absolute;
    bottom: -30px;
    left: 0;
    aspect-ratio: 357/170;
    width: 220px;
  }
  .p-banner-motion-capture .c-ico-square--black {
    position: absolute;
    right: 0;
    bottom: 0;
  }
  .p-banner-motion-capture::before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 56px;
    height: 120px;
    background-color: #3362B9;
    content: "";
    mask-image: url(/assets/img/common/ico_spice.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-banner-motion-capture:focus-visible {
    background-color: rgba(0, 59, 168, 0.9);
  }
  /* Motiveバナー
  -------------------------------------------------------------*/
  .p-banner-motive {
    border-radius: 10px;
  }
  .p-banner-motive__link {
    display: block;
    padding-inline: 24px;
    padding-block: 16px;
    border-radius: 10px;
    background: url(/assets/img/common/bg_motive.webp) 0 0/cover;
    color: var(--c-white);
    text-align: center;
    text-decoration: none;
  }
  .p-banner-motive__ttl {
    font-weight: bold;
    font-size: 1rem;
    letter-spacing: 0.05em;
  }
  .p-banner-motive__ttl img {
    display: block;
    max-width: 180px;
    margin-inline: auto;
  }
  .p-banner-motive__link:focus-visible .c-button--secondary {
    background-position: 0 0;
    background-color: var(--sub-color-light);
  }
  /* ==========================================================
  !list-filter
  ========================================================== */
  .p-list-filter {
    display: flex;
    position: relative;
    flex-wrap: wrap;
    gap: 40px;
    opacity: 0;
    transition: opacity 0.6s;
  }
  .p-list-filter.muuri {
    opacity: 1;
  }
  .p-list-filter {
    /* Item Styles */
  }
  .p-list-filter li.list__item {
    box-sizing: border-box;
    display: flex;
    position: absolute;
    flex-wrap: wrap;
    margin-inline: 0;
    margin-block: 0 20px;
  }
  /* ==========================================================
  !list-pdlogo
  ========================================================== */
  .p-list-pdlogo {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  .p-list-pdlogo__link {
    display: grid;
    position: relative;
    align-items: center;
    height: 64px;
    padding: 16px;
    background-color: var(--c-white);
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
    color: var(--c-black);
    font-weight: bold;
    transition: all 0.3s ease;
  }
  .p-list-pdlogo__img {
    display: block;
    width: 84px;
    height: 30px;
  }
  .p-list-pdlogo__img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: left center;
  }
  .p-list-pdlogo .c-ico-square--arrow {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
  }
  .p-list-pdlogo:focus-visible {
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
  }
  /* ==========================================================
  !こんな方におすすめブロック
  ========================================================== */
  .p-block-recommend {
    position: relative;
    margin-block: 24px;
    padding-inline: 16px;
    padding-block: 32px;
    overflow: hidden;
    border-radius: 10px;
    background-color: var(--c-gray-light);
  }
  .p-block-recommend::before {
    position: absolute;
    top: 0;
    right: 0;
    width: 43px;
    height: 95px;
    background-color: var(--sub-color);
    content: "";
    mask-image: url(/assets/img/common/ico_spice.svg);
    mask-position: left top;
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-block-recommend__ttl {
    margin: 0;
    margin-block-end: 0.5em;
    padding: 0;
    font-size: 1.25rem;
    text-align: center;
  }
  .p-block-recommend__ttl::before, .p-block-recommend__ttl::after {
    display: none;
  }
  .p-block-recommend__list {
    display: grid;
    z-index: var(--stack_forwards);
    position: relative;
    padding: 16px;
    gap: 0.5em;
    border-radius: 10px;
    background-color: var(--c-white);
  }
  .p-block-recommend__list li {
    position: relative;
    padding-inline-start: 1.5em;
    font-weight: bold;
  }
  .p-block-recommend__list li::before {
    display: block;
    position: absolute;
    top: 0.25em;
    left: 0;
    width: 1.14em;
    height: 1.14em;
    border-radius: 50%;
    background-color: var(--sub-color);
    content: "";
  }
  .p-block-recommend__list li::after {
    display: block;
    position: absolute;
    top: 0.6em;
    left: 0.25em;
    width: 0.64em;
    height: 0.64em;
    background-color: var(--c-white);
    content: "";
    mask-image: url(/assets/img/common/ico_check.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-block-recommend__txt {
    margin-block-start: 1em;
    padding-block-start: 1em;
    border-top: 1px solid var(--c-gray);
  }
  .p-block-recommend--blue {
    background-color: var(--main-color);
    color: var(--c-white);
  }
  .p-block-recommend--blue::before {
    width: 85px;
    height: 186px;
    background-color: #0C4AB1;
  }
  .p-block-recommend--blue .p-block-recommend__ttl {
    text-align: left;
  }
  .p-block-recommend--blue .p-block-recommend__list {
    padding: 0;
    background-color: transparent;
  }
  .p-block-recommend--blue .p-block-recommend__list li {
    font-weight: normal;
  }
  .p-block-recommend--blue .p-block-recommend__list li::before {
    background-color: var(--c-white);
  }
  .p-block-recommend--blue .p-block-recommend__list li::after {
    background-color: var(--main-color);
  }
  .p-block-recommend--blue .p-block-recommend__txt {
    border-color: #3262BA;
  }
  /* ==========================================================
  !SPICEの製品・サービス紹介
  ========================================================== */
  .p-block-spice {
    position: relative;
    margin-block: 24px;
    padding-inline: 16px;
    padding-block: 32px;
    overflow: hidden;
    border-radius: 10px;
    background-color: var(--c-gray-light);
  }
  .p-block-spice::before {
    position: absolute;
    top: 0;
    right: 0;
    width: 43px;
    height: 95px;
    background-color: var(--sub-color);
    content: "";
    mask-image: url(/assets/img/common/ico_spice.svg);
    mask-position: left top;
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-block-spice__ttl {
    margin: 0;
    margin-block-end: 24px;
    padding: 0;
    text-align: center;
  }
  .p-block-spice__ttl::before, .p-block-spice__ttl::after {
    display: none;
  }
  .p-block-spice__ttl img {
    width: 189px;
    margin-inline: auto;
  }
  .p-block-spice--blue {
    background-color: var(--main-color);
    color: var(--c-white);
  }
  .p-block-spice--blue::before {
    background-color: #3262B9;
  }
  /* ==========================================================
  !お問い合わせ
  ========================================================== */
  .p-block-contact {
    margin-block: 24px;
    padding-inline: 16px;
    padding-block: 24px 20px;
    border-radius: 10px;
    background-color: var(--accent-color);
    color: var(--c-white);
    text-align: center;
  }
  .p-block-contact__ttl {
    margin: 0;
    padding: 0;
    border: 0;
  }
  .p-block-contact__ttl::before, .p-block-contact__ttl::after {
    display: none;
  }
  .p-block-contact__ttl {
    display: grid;
    justify-content: center;
  }
  .p-block-contact__ttl .sub {
    font-style: italic;
    font-size: 0.875rem;
  }
  .p-block-contact__ttl .main {
    font-size: 1.5rem;
  }
  .p-block-contact__txt {
    margin-block-start: 1em;
    line-height: 1.5;
  }
  .p-block-contact__tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-block-start: 16px;
    gap: 12px 8px;
  }
  .p-block-contact__tag {
    padding-inline: 8px;
    padding-block: 4px;
    border-radius: 100vmax;
    background-color: var(--c-black);
    color: var(--c-white);
    font-size: 0.625rem;
  }
  .p-block-contact__btn {
    max-width: 288px;
    margin-inline: auto;
    margin-block-start: 24px;
  }
  .p-block-contact__btn .c-button {
    text-decoration: none;
  }
  /* ==========================================================
  !ステップ表示ブロック
  ========================================================== */
  .p-block-step {
    padding-inline: 0;
    padding-block: 16px;
    border-radius: 10px;
    background-color: var(--c-gray-light);
  }
  .p-block-step__item {
    padding-inline: 16px;
  }
  .p-block-step__item:not(:last-child) {
    position: relative;
    margin-block-end: 32px;
    padding-block-end: 20px;
    border-bottom: 2px dashed var(--c-gray);
  }
  .p-block-step__item:not(:last-child)::after {
    display: block;
    position: absolute;
    bottom: -12px;
    left: 50%;
    width: 24px;
    height: 24px;
    transform: translateX(-50%);
    background-color: var(--main-color);
    content: "";
    mask-image: url(/assets/img/common/ico_chevron_dn.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-block-step__ttl {
    display: grid;
    margin-block: 0 12px;
    gap: 8px;
    font-weight: bold;
    font-size: 1.25rem;
    line-height: 1.2;
    text-align: center;
  }
  .p-block-step__ttl > span {
    color: var(--main-color);
    font-style: italic;
    font-size: 1.9375rem;
    font-family: var(--font-family-en);
  }
  .p-block-step__ttl > span::after {
    display: block;
    width: 22px;
    margin-inline: auto;
    border-top: 2px solid var(--sub-color);
    content: "";
  }
  .p-block-step figure {
    text-align: center;
  }
  .p-block-step figure img {
    border-radius: 4px;
  }
  /* ==========================================================
  !塗りつぶしボックス
  ========================================================== */
  .p-block-paintbox,
  .p-block-paintbox--ornament {
    margin-block: 40px;
    padding-inline: 24px !important;
    padding-block: 40px !important;
    border-radius: 10px;
    background-color: var(--sub-color-light);
  }
  .p-block-paintbox > *:first-child,
  .p-block-paintbox--ornament > *:first-child {
    margin-block-start: 0;
  }
  .p-block-paintbox > *:last-child,
  .p-block-paintbox--ornament > *:last-child {
    margin-block-end: 0;
  }
  .p-block-paintbox h2, .p-block-paintbox h3, .p-block-paintbox h4,
  .p-block-paintbox--ornament h2,
  .p-block-paintbox--ornament h3,
  .p-block-paintbox--ornament h4 {
    padding-inline-start: 0;
    font-weight: bold;
    font-size: 1.25rem;
  }
  .p-block-paintbox h2::before, .p-block-paintbox h3::before, .p-block-paintbox h4::before,
  .p-block-paintbox--ornament h2::before,
  .p-block-paintbox--ornament h3::before,
  .p-block-paintbox--ornament h4::before {
    display: none;
  }
  .p-block-paintbox p + p,
  .p-block-paintbox--ornament p + p {
    margin-block-start: 1em;
  }
  .p-block-paintbox.is-small,
  .p-block-paintbox--ornament.is-small {
    padding-inline: 16px !important;
    padding-block: 24px !important;
  }
  .p-block-paintbox.is-small h2, .p-block-paintbox.is-small h3, .p-block-paintbox.is-small h4,
  .p-block-paintbox--ornament.is-small h2,
  .p-block-paintbox--ornament.is-small h3,
  .p-block-paintbox--ornament.is-small h4 {
    margin-block-end: 16px;
    font-size: 1.125rem;
  }
  .p-block-paintbox.is-gray,
  .p-block-paintbox--ornament.is-gray {
    background-color: var(--c-gray-light);
  }
  .p-block-paintbox--ornament {
    position: relative;
  }
  .p-block-paintbox--ornament::before {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 82px;
    height: 178px;
    background-color: #D6E8F2;
    content: "";
    mask-image: url(/assets/img/common/ico_spice.svg);
    mask-position: right top;
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-block-paintbox--ornament > * {
    z-index: var(--stack-forward);
    position: relative;
  }
  /* ==========================================================
  !汎用カード
  ========================================================== */
  .p-block-cards .wp-block-column {
    padding-inline: 20px;
    padding-block: 32px;
    border-radius: 10px;
    background-color: var(--c-gray-light);
  }
  .p-block-cards .wp-block-column h2, .p-block-cards .wp-block-column h3, .p-block-cards .wp-block-column h4 {
    display: block;
    margin-block: 0 16px;
    font-weight: bold;
    font-size: 1.25rem;
    text-align: center;
  }
  .p-block-cards .wp-block-column h2::before, .p-block-cards .wp-block-column h3::before, .p-block-cards .wp-block-column h4::before {
    display: none;
  }
  .p-block-cards .wp-block-column p + p {
    margin-block-start: 16px;
  }
  .p-block-cards__num {
    margin-block-end: 16px;
    color: var(--main-color);
    font-style: italic;
    font-size: 1.9375rem;
    line-height: 1.2;
    font-family: var(--font-family-en);
    text-align: center;
  }
  .p-block-cards__num::after {
    display: block;
    width: 22px;
    margin-inline: auto;
    border-top: 2px solid var(--sub-color);
    content: "";
  }
  /* ==========================================================
  !カード型アンカーブロック
  ========================================================== */
  .p-block-cards-anchor {
    display: grid;
    gap: 20px;
  }
  .p-block-cards-anchor__item {
    display: block;
    position: relative;
    padding: 16px;
    border-radius: 10px;
    background-color: var(--c-white);
    box-shadow: 0 0 10px rgba(29, 29, 29, 0.1);
    color: var(--c-black);
    text-decoration: none;
  }
  .p-block-cards-anchor__item::after {
    display: inline-block;
    position: absolute;
    bottom: 12px;
    left: 50%;
    width: 8px;
    height: 8px;
    transform: translateX(-50%);
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid var(--main-color);
    border-bottom: 2px solid var(--main-color);
    content: "";
  }
  .p-block-cards-anchor__item:focus-visible {
    box-shadow: 0 0 10px rgba(29, 29, 29, 0.15);
  }
  .p-block-cards-anchor__item:focus-visible figure img {
    scale: 1.05;
  }
  .p-block-cards-anchor__ttl {
    display: grid;
    margin-block: 0 12px;
    gap: 8px;
    font-weight: bold;
    font-size: 1.25rem;
    line-height: 1.2;
    text-align: center;
  }
  .p-block-cards-anchor__ttl > span {
    color: var(--main-color);
    font-style: italic;
    font-size: 1.9375rem;
    font-family: var(--font-family-en);
  }
  .p-block-cards-anchor__ttl > span::after {
    display: block;
    width: 22px;
    margin-inline: auto;
    border-top: 2px solid var(--sub-color);
    content: "";
  }
  .p-block-cards-anchor figure {
    overflow: hidden;
    border-radius: 4px;
    text-align: center;
  }
  .p-block-cards-anchor figure img {
    border-radius: 4px;
    transition: scale 0.3s ease;
  }
  /* ==========================================================
  !製品ページはこちら
  ========================================================== */
  .p-block-pdlink {
    position: relative;
    margin-block-start: 80px;
    padding-block: 80px 24px;
    background-color: var(--main-color);
    color: var(--c-white);
  }
  .p-block-pdlink::before {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 33px;
    height: 72px;
    background-color: rgba(255, 255, 255, 0.2);
    content: "";
    mask-image: url(/assets/img/common/ico_spice.svg);
    mask-position: right top;
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-block-pdlink::after {
    display: block;
    display: block;
    position: absolute;
    top: -2px;
    left: 50%;
    width: 300px;
    height: 50px;
    transform: translateX(-50%);
    background-color: var(--c-white);
    content: "";
    clip-path: polygon(50% 100%, 0 0, 100% 0);
  }
  .p-block-pdlink__ttl {
    display: block;
    margin-block-end: 24px;
    font-size: 1.5rem;
    text-align: center;
  }
  .p-block-pdlink__ttl::before {
    display: none;
  }
  .p-block-pdlink__banner {
    container-type: inline-size;
    max-width: 834px;
    margin-inline: auto;
  }
  /* ==========================================================
  !製品一覧カテゴリヘッダー
  ========================================================== */
  .p-block-pdheader {
    padding-inline: 16px !important;
    padding-block: 24px !important;
    border-radius: 10px;
    background-color: var(--c-gray-light);
  }
  .p-block-pdheader > *:first-child {
    margin-block-start: 0;
  }
  .p-block-pdheader > *:last-child {
    margin-block-end: 0;
  }
  .p-block-pdheader h2, .p-block-pdheader h3, .p-block-pdheader h4 {
    display: block;
    margin-block-end: 16px;
    font-weight: bold;
    font-size: 1.25rem;
  }
  .p-block-pdheader h2::before, .p-block-pdheader h3::before, .p-block-pdheader h4::before {
    display: none;
  }
  .p-block-pdheader .label {
    display: block;
    width: fit-content;
    margin-block-start: 8px;
    padding-inline: 8px;
    padding-block: 4px;
    border-radius: 4px;
    background-color: var(--main-color);
    color: var(--c-white);
    font-size: 0.875rem;
    line-height: 1.2;
  }
  .p-block-pdheader figure {
    text-align: center;
  }
  /* カテゴリリンクブロック
  ---------------------------------------------------------- */
  .p-category-link__ttl {
    padding: 16px;
    border-radius: 10px 10px 0 0;
    background-color: var(--main-color);
    color: var(--c-white);
    font-weight: bold;
    font-size: 1.25rem;
  }
  .p-category-link__body {
    padding: 16px;
    border-radius: 0 0 10px 10px;
    background-color: var(--c-gray-light);
  }
  .p-category-link__sttl {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: bold;
    font-size: 1rem;
  }
  .p-category-link__sttl::before {
    display: block;
    flex-shrink: 0;
    width: 8px;
    height: 16px;
    background-color: var(--main-color);
    content: "";
    mask-image: url(/assets/img/common/ico_spice.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-category-link__sttl + * {
    margin-block-start: 20px;
  }
  .p-category-link__inner + .p-category-link__inner {
    margin-block-start: 24px;
    padding-block-start: 24px;
    border-top: 1px solid var(--c-gray);
  }
  .p-category-link.--no-title__body {
    border-radius: 10px;
  }
  /* ==========================================================
  !accordion
  ========================================================== */
  .p-accordion {
    background-color: var(--c-white);
  }
  .p-accordion__item {
    margin-inline: 16px;
    border-bottom: 1px solid var(--sub-color-dull);
  }
  .p-accordion__item:last-child {
    border-bottom: 0;
  }
  .p-accordion__inner {
    overflow: hidden;
  }
  .p-accordion .c-filterlist {
    margin-block-end: 16px;
  }
  .p-accordion__button {
    display: block;
    position: relative;
    width: 100%;
    padding-inline-end: 16px;
    padding-block: 1em;
    font-weight: bold;
    font-size: 1rem;
    text-align: left;
  }
  .p-accordion__button::before, .p-accordion__button::after {
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 12px;
    height: 2px;
    translate: 0 -50%;
    background-color: var(--c-black);
    content: "";
    transition: rotate 0.3s ease;
  }
  .p-accordion__button::before {
    rotate: -90deg;
  }
  .p-accordion__button[aria-expanded=true]::before {
    rotate: 0deg;
  }
  .p-accordion__body {
    display: grid;
    visibility: hidden;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease;
  }
  .p-accordion__body[aria-hidden=false] {
    visibility: visible;
    grid-template-rows: 1fr;
  }
  /* accordion type02 (FAQなどの質問と回答がセットになっているパターン) 
  -------------------------------------------*/
  .p-accordion.p-accordion--type02 {
    display: grid;
    padding: 0;
    gap: 16px;
  }
  .p-accordion.p-accordion--type02 .p-accordion__item {
    margin-inline: 0;
    padding-inline: 16px 12px;
    border: 1px solid var(--c-gray);
    border-radius: 4px;
  }
  .p-accordion.p-accordion--type02 .p-accordion__button {
    display: flex;
    align-items: flex-start;
    gap: 8px;
  }
  .p-accordion.p-accordion--type02 .p-accordion__button[aria-expanded=true] + .p-accordion__body {
    padding-block: 16px;
    border-top: 1px solid var(--c-gray);
  }
  .p-accordion__label {
    display: inline-block;
    flex-shrink: 0;
    padding-inline: 8px;
    padding-block: 4px;
    border-radius: 4px;
    background-color: var(--main-color);
    color: var(--c-white);
    font-style: italic;
    font-weight: bold;
    font-size: 1rem;
    font-family: var(--font-family-en);
  }
  /* ==========================================================
  !目次プラグイン
  ========================================================== */
  #toc_container {
    width: 100% !important;
    padding-inline: 16px;
    padding-block: 24px;
    border: 1px solid var(--c-gray);
    border-radius: 10px;
  }
  #toc_container a {
    color: inherit;
    text-decoration: none;
  }
  #toc_container a:focus-visible:hover {
    text-decoration: underline;
  }
  #toc_container .toc_title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: bold;
    font-size: 1.25rem;
  }
  #toc_container .toc_toggle {
    display: grid;
    position: relative;
    place-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: var(--main-color);
    color: var(--c-white);
    font-size: 0;
  }
  #toc_container .toc_toggle::before, #toc_container .toc_toggle::after {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    translate: -50% -50%;
    border-top: 1px solid;
    content: "";
  }
  #toc_container .toc_toggle a {
    display: block;
    width: 32px;
    height: 32px;
  }
  #toc_container .toc_list {
    display: grid;
    margin-block-start: 16px;
    gap: 24px;
    counter-reset: number 0;
  }
  #toc_container .toc_list > li {
    position: relative;
    padding-inline-start: 24px;
    font-size: 1rem;
  }
  #toc_container .toc_list > li::before {
    position: absolute;
    top: 0;
    left: 0;
    content: counter(number, decimal-leading-zero) " ";
    color: var(--main-color);
    font-style: italic;
    font-weight: normal;
    font-family: var(--font-family-en);
    counter-increment: number 1;
  }
  #toc_container .toc_list > li > ul {
    display: grid;
    margin-block-start: 12px;
    gap: 8px;
    font-size: 0.875rem;
  }
  #toc_container .toc_list > li > ul > li {
    position: relative;
    padding-inline-start: 12px;
  }
  #toc_container .toc_list > li > ul > li::before {
    display: block;
    position: absolute;
    top: 0.7em;
    left: 0;
    width: 8px;
    height: 2px;
    border-radius: 2px;
    background-color: var(--main-color);
    content: "";
  }
  #toc_container.contracted .toc_toggle::after {
    rotate: -90deg;
  }
  #toc_container.contracted .toc_list {
    display: none;
  }
  /* ==========================================================
  !豆知識
  ========================================================== */
  .p-trivia {
    position: relative;
    margin-block: 40px;
    padding-inline: 16px;
    padding-block: 24px;
    overflow: hidden;
    border-radius: 10px;
    background-color: var(--c-gray-light);
  }
  .p-trivia::before {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 29px;
    height: 64px;
    background-color: var(--sub-color);
    content: "";
    mask-image: url(/assets/img/common/ico_spice.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-trivia__ttl {
    display: flex;
    align-items: center;
    margin: 0;
    margin-block-end: 1em;
    padding: 0;
    gap: 8px;
    font-size: 1.125rem;
  }
  .p-trivia__ttl::before {
    display: block;
    position: static;
    width: 24px;
    height: 24px;
    background-color: var(--sub-color);
    content: "";
    mask-image: url(/assets/img/common/ico_hint.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  /* ==========================================================
  !サムネイルスライダー（標準）
  ========================================================== */
  .p-thumbnail-slider {
    margin-block-start: 16px;
  }
  .p-thumbnail-slider .splide {
    visibility: visible;
  }
  .p-thumbnail-slider .splide__slide {
    width: 100%;
  }
  .p-thumbnail-slider__main {
    margin-block-end: 20px;
  }
  .p-thumbnail-slider__slide {
    display: flex;
    flex-direction: column-reverse;
    gap: 20px;
  }
  .p-thumbnail-slider__slide-media {
    aspect-ratio: 344/163;
    overflow: hidden;
    border-radius: 10px;
  }
  .p-thumbnail-slider__slide-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
  }
  .p-thumbnail-slider__slide-title a {
    text-decoration: underline;
  }
  .p-thumbnail-slider-thumbs .splide__slide {
    aspect-ratio: 16/9;
    border: 0;
  }
  .p-thumbnail-slider-thumbs .splide__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 4px solid transparent;
    border-radius: 4px;
    transition: all 0.3s ease;
  }
  .p-thumbnail-slider-thumbs .splide__slide.is-active {
    border: 0;
  }
  .p-thumbnail-slider-thumbs .splide__slide.is-active img {
    border: 4px solid var(--main-color);
  }
  /* ==========================================================
  !サムネイルスライダー（PCのみサムネイル縦型）
  ========================================================== */
  .p-thumbnail-slider02 {
    position: relative;
    margin-block-start: 16px;
  }
  .p-thumbnail-slider02 .splide {
    visibility: visible;
  }
  .p-thumbnail-slider02 .splide__slide {
    width: 100%;
  }
  .p-thumbnail-slider02__main {
    margin-block-end: 20px;
  }
  .p-thumbnail-slider02__slide {
    display: flex;
    flex-direction: column-reverse;
    gap: 20px;
  }
  .p-thumbnail-slider02__slide-media {
    aspect-ratio: 344/163;
    overflow: hidden;
    border-radius: 10px;
  }
  .p-thumbnail-slider02__slide-media img, .p-thumbnail-slider02__slide-media video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
  }
  .p-thumbnail-slider02__slide-title a {
    text-decoration: underline;
  }
  .p-thumbnail-slider02-thumbs .splide__slide {
    border: 0;
  }
  .p-thumbnail-slider02-thumbs .splide__slide img {
    border: 4px solid transparent;
    border-radius: 4px;
    transition: all 0.3s ease;
  }
  .p-thumbnail-slider02-thumbs .splide__slide.is-active {
    border: 0;
  }
  .p-thumbnail-slider02-thumbs .splide__slide.is-active img {
    border: 4px solid var(--main-color);
  }
  /* ==========================================================
  !recording menu
  ========================================================== */
  /* ==========================================================
  !spec carousel
  ========================================================== */
  .p-spec-carousel {
    margin-inline-end: calc(50% - 50vw);
  }
  .p-spec-carousel .splide__track {
    padding-block-end: 8px;
  }
  .p-spec-carousel .p-splide__controles {
    margin-block-start: 16px;
  }
  /* ==========================================================
  !Price Table
  ========================================================== */
  .p-price-table.is-scroll-on-mobile {
    margin-inline-end: calc(50% - 50vw);
  }
  .p-price-table.is-scroll-on-mobile table {
    width: 600px;
  }
  .p-price-table thead th {
    padding-inline: 8px;
    padding-block: 16px;
    border: 1px solid var(--c-white);
    background-color: var(--main-color);
    color: var(--c-white);
    text-align: center;
    vertical-align: middle;
  }
  .p-price-table thead th:first-child {
    border-top-left-radius: 10px;
  }
  .p-price-table thead th:last-child {
    border-right: 0;
    border-top-right-radius: 10px;
  }
  .p-price-table tbody td {
    padding: 8px;
    border-right: 1px solid var(--c-gray);
    font-size: 0.75rem;
    vertical-align: top;
  }
  .p-price-table tbody td > * {
    margin: 0;
  }
  .p-price-table tbody td:last-of-type {
    border-right: 0;
  }
  .p-price-table .pd-image {
    width: 15%;
    text-align: center;
  }
  .p-price-table .pd-image img {
    width: 100px !important;
  }
  .p-price-table .pd-name {
    width: 20%;
    font-weight: bold;
    font-size: 1rem;
  }
  .p-price-table .pd-name .c-category {
    font-weight: normal;
  }
  .p-price-table .pd-price {
    width: 20%;
    text-align: center;
  }
  .p-price-table .pd-price .ttl {
    font-weight: normal;
  }
  .p-price-table .pd-price .num {
    color: var(--main-color);
    font-weight: bold;
    font-size: 1.0625rem;
    font-family: var(--font-family-en);
  }
  .p-price-table .pd-price .note {
    display: block;
    color: var(--c-gray-dark);
    font-size: 0.75rem;
  }
  .p-price-table .pd-note {
    color: var(--c-gray-dark);
  }
  .p-price-table .pd-link {
    width: 15%;
  }
  .p-price-table .pd-link a {
    display: block;
    position: relative;
    width: 100%;
    padding-inline: 8px 32px;
    padding-block: 16px;
    border: 1px solid var(--c-black);
    border-radius: 4px;
    /* 背景を2色に設定（左が隠れ色、右が元色） */
    background-image: linear-gradient(to right, var(--c-white) 50%, var(--c-black) 50%);
    background-position: 100% 0; /* 最初は右半分（元色）を表示 */
    background-size: 200% 100%;
    background-color: var(--c-black);
    color: var(--c-white);
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.3s ease;
  }
  .p-price-table .pd-link a::after {
    display: block;
    position: absolute;
    top: 50%;
    right: 16px;
    width: 1em;
    height: 1em;
    transform: translateY(-50%);
    background-color: currentColor;
    content: "";
    mask-image: url(/assets/img/common/ico_arrow_r.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-price-table .pd-link a:focus-visible {
    background-position: 0 0;
    background-color: var(--c-white);
    color: var(--c-black);
  }
  /* ==========================================================
  !Price Nav
  ========================================================== */
  .p-price-nav-ttl {
    display: block;
    font-size: 1.125rem;
    text-align: center;
  }
  .p-price-nav-ttl::before {
    display: none;
  }
  .p-price-nav {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(70px, 1fr));
    gap: 16px;
  }
  .p-price-nav__link {
    display: grid;
    position: relative;
    align-content: start;
    height: 100%;
    padding-inline: 4px;
    padding-block: 8px 20px;
    border: 1px solid currentColor;
    border-radius: 4px;
    background-color: var(--main-color);
    color: var(--c-white);
    font-weight: bold;
    font-size: 0.75rem;
    text-align: center;
    text-decoration: none;
  }
  .p-price-nav__link:focus-visible {
    background-color: var(--c-black);
  }
  .p-price-nav__link::before {
    display: block;
    width: 50px;
    height: 50px;
    margin-inline: auto;
    background-color: currentColor;
    content: "";
    mask-image: url(/assets/img/common/ico_price_all.svg);
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-price-nav__link::after {
    display: block;
    position: absolute;
    bottom: 4px;
    left: 50%;
    width: 14px;
    height: 14px;
    transform: translateX(-50%);
    background-color: currentColor;
    content: "";
    mask-image: url(/assets/img/common/ico_arrow_r.svg);
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-price-nav__link[aria-current=page] {
    background-color: var(--c-white);
    color: var(--main-color);
    pointer-events: none;
  }
  .p-price-nav__link.--system::before {
    mask-image: url(/assets/img/common/ico_price_system.svg);
  }
  .p-price-nav__link.--camera::before {
    mask-image: url(/assets/img/common/ico_price_camera.svg);
  }
  .p-price-nav__link.--software::before {
    mask-image: url(/assets/img/common/ico_price_software.svg);
  }
  .p-price-nav__link.--gloves::before {
    mask-image: url(/assets/img/common/ico_price_gloves.svg);
  }
  .p-price-nav__link.--markers::before {
    mask-image: url(/assets/img/common/ico_price_markers.svg);
  }
  .p-price-nav__link.--suits::before {
    mask-image: url(/assets/img/common/ico_price_suits.svg);
  }
  .p-price-nav__link.--calibration::before {
    mask-image: url(/assets/img/common/ico_price_calibration.svg);
  }
  .p-price-nav__link.--active-lighting::before {
    mask-image: url(/assets/img/common/ico_price_active-lighting.svg);
  }
  .p-price-nav__link.--sync-hub::before {
    mask-image: url(/assets/img/common/ico_price_sync-hub.svg);
  }
  .p-price-nav__link.--mounting::before {
    mask-image: url(/assets/img/common/ico_price_mounting.svg);
  }
  .p-price-nav__link.--cables::before {
    mask-image: url(/assets/img/common/ico_price_cables.svg);
  }
  .p-price-nav__link.--support::before {
    mask-image: url(/assets/img/common/ico_price_support.svg);
  }
  /* ==========================================================
  !subcategory
  ========================================================== */
  .p-subcategory {
    padding: 16px;
    border-radius: 4px;
    background-color: var(--c-gray-light);
    font-size: 1rem;
  }
  .p-subcategory__ttl {
    font-weight: bold;
  }
  .p-subcategory__list {
    display: grid;
    margin-block-start: 16px;
    gap: 16px;
    color: var(--main-color);
  }
  .p-subcategory__list a:focus-visible {
    text-decoration: underline;
  }
  /* ==========================================================
  !manual
  ========================================================== */
  .p-manual {
    display: grid;
    margin-block-start: 64px;
  }
  .p-manual__main {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
  .p-manual__sub {
    margin-block-start: 40px;
  }
  .p-manual__nav {
    margin-block-start: 16px;
    padding: 20px;
    background-color: var(--c-gray-light);
  }
  .p-manual__nav-title {
    margin-block: 0 12px;
    padding-block-end: 12px;
    border-bottom: 1px solid var(--c-gray);
    font-size: 1rem;
  }
  .p-manual__nav-title::before {
    content: none;
  }
  .p-manual__nav-title a {
    display: block;
    position: relative;
    width: 100%;
    color: currentColor;
    text-decoration: none;
  }
  .p-manual__nav-title a::after {
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 1em;
    height: 1em;
    transform: translateY(-50%);
    background-color: currentColor;
    content: "";
    mask-image: url(/assets/img/common/ico_arrow_r.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-manual__nav-list li {
    position: relative;
    margin-block-start: 10px;
    padding-inline-start: 9px;
  }
  .p-manual__nav-list li::before {
    position: absolute;
    width: 5px;
    height: 2px;
    inset-block-start: calc((1lh - 2px) / 2);
    inset-inline-start: 0;
    border-radius: 2px;
    background-color: var(--main-color);
    content: "";
  }
  .p-manual__nav-list li a {
    color: currentColor;
    text-decoration: none;
  }
  .p-manual__nav-list li a:focus-visible {
    color: var(--main-color);
    text-decoration: underline;
  }
  /*
   *記事フィードバック
   */
  .article-feedback {
    margin-inline: calc(50% - 50vw);
    margin-block-start: 40px;
    padding-inline: 16px;
    padding-block: 40px;
    border-radius: 10px;
    background-color: var(--c-gray-light);
  }
  .article-feedback__title {
    font-weight: bold;
    font-size: 1.125rem;
    text-align: center;
  }
  .article-feedback__buttons {
    display: grid;
    margin-block-start: 32px;
    gap: 16px;
  }
  /* ==========================================================
  !splide
  ========================================================== */
  .splide {
    position: relative;
  }
  .p-splide__controles {
    display: flex;
    position: relative;
    align-items: flex-end;
    justify-content: flex-end;
    margin-inline-end: 16px;
    margin-block-start: -24px;
  }
  .p-splide__controles .splide__arrows {
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .p-splide__controles .splide__arrow {
    display: grid;
    position: static;
    place-content: center;
    width: 48px;
    height: 48px;
    transform: translate(0, 0);
    border: 1px solid var(--c-black);
    border-radius: 4px;
    background-color: var(--c-black);
    color: var(--c-white);
    opacity: 1;
    transition: all 0.3s ease;
  }
  .p-splide__controles .splide__arrow::before {
    display: block;
    width: 14px;
    height: 14px;
    background-color: currentColor;
    content: "";
    mask-image: url(/assets/img/common/ico_arrow_r.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-splide__controles .splide__arrow:focus-visible {
    background-color: var(--c-white);
    color: var(--c-black);
  }
  .p-splide__controles .splide__arrow--prev::before {
    transform: rotate(180deg);
  }
  .p-splide__controles .splide__pagination {
    display: flex;
    position: static;
    padding-inline: 0 8px;
    padding-block: 0 8px;
    gap: 12px;
  }
  .p-splide__controles .splide__pagination__page {
    width: 8px;
    height: 8px;
    background-color: var(--c-black);
    opacity: 1;
  }
  .p-splide__controles .splide__pagination__page.is-active {
    background-color: var(--main-color);
    box-shadow: 0 0 0 4px var(--sub-color-light), 0 0 0 6px var(--main-color);
    opacity: 1;
  }
  .p-splide__controles .splide__toggle {
    display: grid;
    appearance: none;
    place-content: center;
    width: 26px;
    height: 26px;
    margin-inline: 12px 24px;
    border-radius: 4px;
    background-color: var(--c-black);
    color: var(--c-white);
    opacity: 1;
  }
  .p-splide__controles .splide__toggle__play {
    width: 12px;
    height: 12px;
    background-color: currentColor;
    mask-image: url(/assets/img/common/ico_mov_play.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-splide__controles .splide__toggle__pause {
    width: 12px;
    height: 12px;
    background-color: currentColor;
    mask-image: url(/assets/img/common/ico_mov_pause.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  /* ==========================================================
  !トップページ
  ========================================================== */
  /* トップMV
  ---------------------------------------------------------- */
  .p-mv {
    position: relative;
  }
  /* 見出し
  ---------------------------------------------------------- */
  .p-tp-heading--center {
    text-align: center;
  }
  .p-tp-heading__ja {
    font-weight: bold;
    font-size: 0.75rem;
  }
  .p-tp-heading__en {
    font-style: italic;
    font-weight: bold;
    font-size: 1.875rem;
    letter-spacing: 0.04em;
  }
  .p-tp-heading__en::before {
    display: inline-block;
    aspect-ratio: 15/34;
    width: 15px;
    margin-inline-end: 12px;
    translate: 0 4px;
    background-color: var(--main-color);
    content: "";
    mask-image: url(/assets/img/common/ico_spice.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-tp-heading--with-search {
    display: flex;
    align-items: center;
    gap: 80px;
  }
  .p-tp-heading--with-search__ttl {
    flex-shrink: 0;
  }
  .p-tp-heading--with-search__search {
    flex-grow: 1;
  }
  /* SPICEについて
  ---------------------------------------------------------- */
  .p-tp-about {
    padding-block-start: 64px;
  }
  .p-tp-about__body {
    font-size: 1rem;
    text-align: center;
  }
  .p-tp-about__body p + p {
    margin-block-start: 1em;
  }
  .p-tp-about__catch {
    margin-block: 32px;
    font-weight: bold;
    font-size: 1.5rem;
  }
  @keyframes catch-txt-in {
    from {
      background-position: 100% 0;
    }
    to {
      background-position: 0 0;
    }
  }
  @keyframes catch-txt-out {
    from {
      background-position: 0 0;
    }
    to {
      background-position: 100% 0;
    }
  }
  .p-tp-about__catch-txt {
    display: inline-block;
    -webkit-text-fill-color: transparent;
    background-image: linear-gradient(to right, var(--c-black) 50%, var(--sub-color-dull) 50%);
    background-position: 100% 0;
    background-size: 200% 100%;
    background-clip: text;
    transition: none; /* グローバルの transition: all を無効化 */
  }
  .p-tp-about__catch.is-animation .p-tp-about__catch-txt {
    animation: catch-txt-in 1s ease forwards;
  }
  .p-tp-about__catch.is-animation .p-tp-about__catch-txt:last-of-type {
    animation-delay: 0.5s;
  }
  .p-tp-about__catch-txt {
    /* both: delay中はfromキーフレーム（黒）を維持し、1要素目が途切れないようにする */
  }
  .p-tp-about__catch.is-leaving .p-tp-about__catch-txt {
    animation: catch-txt-out 1s ease both;
  }
  .p-tp-about__catch.is-leaving .p-tp-about__catch-txt:first-of-type {
    animation-delay: 0.5s;
  }
  /* Our Features
  ---------------------------------------------------------- */
  .p-tp-features {
    position: relative;
    margin-inline: calc(50% - 50vw);
    margin-block-start: 64px;
    padding-block-start: 16px;
    overflow: hidden;
  }
  .p-tp-features__inner {
    z-index: var(--stack_forwards);
    position: relative;
    aspect-ratio: 350/584;
    max-inline-size: var(--max-inline-size);
    margin-inline: auto;
    padding-inline: var(--padding-inline-container);
    overflow: hidden;
  }
  .p-tp-features__contents {
    z-index: var(--stack_forwards);
    position: relative;
  }
  .p-tp-features__ttl {
    z-index: var(--stack_backwards);
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    color: var(--sub-color-dull);
    font-style: italic;
    font-weight: bold;
    font-size: 16.2666666667vw;
    line-height: 1;
    white-space: nowrap;
  }
  .p-tp-features__circle {
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    aspect-ratio: 1/1;
    width: 144vw;
    border: 3px dashed var(--c-black);
    border-radius: 50%;
  }
  .p-tp-features__item {
    display: grid;
    position: absolute;
    place-content: center;
    aspect-ratio: 1/1;
    width: 51.7333333333vw;
    padding: 10px;
    border: 5px solid var(--sub-color);
    border-radius: 50%;
    background-color: var(--main-color);
    color: var(--c-white);
    font-weight: bold;
    text-align: center;
  }
  .p-tp-features__item:nth-child(1) {
    top: 8vw;
    right: 6.4vw;
  }
  .p-tp-features__item:nth-child(2) {
    top: 56vw;
    right: 39.4666666667vw;
  }
  .p-tp-features__item:nth-child(3) {
    top: 104vw;
    right: 6.4vw;
  }
  .p-tp-features__num {
    font-style: italic;
    font-size: 6.1333333333vw;
    font-family: var(--font-family-en);
  }
  .p-tp-features__num::after {
    display: block;
    width: 0.5em;
    margin-inline: auto;
    border-top: 2px solid;
    content: "";
  }
  .p-tp-features__txt {
    margin-block-start: 1em;
    font-size: 3.7333333333vw;
    line-height: 1.6;
  }
  .p-tp-features__btn {
    padding-inline: var(--padding-inline-container);
  }
  /* Animation
  ---------------------------------------------------------- */
  .p-tp-features__ttl,
  .p-tp-features__circle,
  .p-tp-features__list-item,
  .p-tp-features__btn {
    translate: 0 20px;
    opacity: 0;
    transition: opacity 0.6s ease, translate 0.6s ease;
  }
  .p-tp-features.is-animation .p-tp-features__ttl,
  .p-tp-features.is-animation .p-tp-features__circle,
  .p-tp-features.is-animation .p-tp-features__list-item,
  .p-tp-features.is-animation .p-tp-features__btn {
    translate: 0 0;
    opacity: 1;
  }
  /* トップニュース一覧
  ---------------------------------------------------------- */
  .p-tp-newstab {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .p-tp-newstab__button {
    display: block;
    width: 100%;
    padding: 12px;
    border-radius: 100px;
    background-color: var(--main-color);
    color: var(--c-white);
    text-align: center;
    transition: all 0.3s ease;
  }
  .p-tp-newstab__button[aria-selected=true] {
    border: 1px solid var(--c-gray);
    background-color: var(--c-white);
    color: var(--c-black);
  }
  .p-tp-newstab__button:focus-visible {
    background-color: #0C4AB1;
    color: var(--c-white);
  }
  .p-tp-newstabpanel {
    display: none;
  }
  .p-tp-newstabpanel[aria-hidden=false] {
    display: block;
  }
  /* ==========================================================
  !事例詳細
  ========================================================== */
  /* 事例サマリー
  ---------------------------------------------------------- */
  .p-user-summary {
    margin-block: 40px;
    padding-block: 20px;
  }
  .p-user-summary__ttl {
    margin-block-end: 24px;
    font-weight: bold;
    font-size: 1.5rem;
  }
  .p-user-summary__thumb {
    margin-inline: 16px;
    margin-block-start: -50px;
  }
  .p-user-summary__thumb img {
    border-radius: 10px;
  }
  .p-user-summary__thumb figcaption {
    color: var(--c-gray-dark);
  }
  .p-user-summary__data {
    display: grid;
    padding-inline: 16px;
    padding-block: 16px 60px;
    gap: 16px;
    border-radius: 10px;
    background-color: var(--c-white);
  }
  .p-user-summary__user {
    display: grid;
    gap: 16px;
  }
  .p-user-summary__user .user-logo {
    display: block;
    max-width: 300px;
    max-height: 50px;
  }
  .p-user-summary__user .user-logo img {
    object-fit: contain;
  }
  .p-user-summary__user .user-name {
    font-size: 1rem;
  }
  .p-user-summary__pd {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
  }
  .p-user-summary__pd dt {
    font-weight: bold;
  }
  .p-user-summary__tag {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 0.875rem;
  }
  .p-user-summary__tag a {
    color: var(--main-color);
  }
  .p-user-summary__tag a:focus-visible {
    text-decoration: underline;
  }
  .p-user-summary__txt {
    font-size: 1rem;
  }
  .p-user-summary__date {
    color: var(--c-gray-dark);
    font-size: 0.875rem;
  }
  /* 導入の目的・課題・成果
  ---------------------------------------------------------- */
  .--purpose {
    --key-color: var(--main-color);
  }
  .--issue {
    --key-color: var(--c-black);
  }
  .--results {
    --key-color: var(--accent-color);
  }
  .p-user-introduction {
    margin-block: 40px;
    padding: 16px;
    border-radius: 10px;
    background-color: var(--sub-color-light);
  }
  .p-user-introduction__item.--purpose .p-user-introduction__ttl .icon::before {
    mask-image: url(/assets/img/common/ico_check.svg);
  }
  .p-user-introduction__item.--issue {
    margin-block-start: 24px;
    border: 1px solid var(--c-gray);
  }
  .p-user-introduction__item.--issue .p-user-introduction__ttl .icon::before {
    mask-image: url(/assets/img/common/ico_flag.svg);
  }
  .p-user-introduction__item.--results {
    position: relative;
    margin-block-start: 32px;
  }
  .p-user-introduction__item.--results::before {
    display: block;
    position: absolute;
    top: -30px;
    left: 50%;
    width: 23px;
    height: 23px;
    transform: translateX(-50%);
    background-color: var(--key-color);
    content: "";
    mask-image: url(/assets/img/common/ico_chevron_dn.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-user-introduction__item.--results .p-user-introduction__ttl .icon::before {
    mask-image: url(/assets/img/common/ico_flower.svg);
  }
  .p-user-introduction__item.--results .c-list-disc01 li::before {
    background-color: var(--key-color);
  }
  .p-user-introduction__item.--results:nth-child(2) {
    margin-block-start: 16px;
  }
  .p-user-introduction__item.--results:nth-child(2)::before {
    display: none;
  }
  .p-user-introduction__item {
    padding-inline: 16px;
    padding-block: 20px;
    border: 1px solid var(--key-color);
    border-radius: 10px;
    background-color: var(--c-white);
  }
  .p-user-introduction__ttl {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    gap: 8px;
  }
  .p-user-introduction__ttl::before {
    display: none;
  }
  .p-user-introduction__ttl {
    color: var(--key-color);
    font-size: 1rem;
  }
  .p-user-introduction__ttl .icon {
    display: inline-grid;
    flex-shrink: 0;
    place-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: var(--key-color);
  }
  .p-user-introduction__ttl .icon::before {
    display: block;
    width: 10px;
    height: 10px;
    background-color: var(--c-white);
    content: "";
    mask-position: center center;
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  /* 導入システム
  ---------------------------------------------------------- */
  .p-user-system {
    position: relative;
    margin-block: 40px;
    padding: 16px;
    overflow: hidden;
    border-radius: 10px;
    background-color: var(--main-color);
  }
  .p-user-system__ttl {
    display: block;
    margin-inline: 0;
    margin-block: 0 20px;
    padding: 0;
  }
  .p-user-system__ttl::before {
    display: none;
  }
  .p-user-system__ttl {
    color: var(--c-white);
    font-size: 1.25rem;
    font-size: 1.5rem;
    text-align: center;
  }
  .p-user-system__list {
    display: grid;
    padding: 16px;
    gap: 16px;
    border-radius: 4px;
    background-color: var(--c-white);
  }
  .p-user-system__list .heading {
    font-weight: bold;
    font-size: 1.125rem;
  }
  .p-user-system__list ul {
    margin: 0;
  }
  /* インタビュー
  ---------------------------------------------------------- */
  .p-user-interview-q {
    position: relative;
    padding-inline-start: 24px;
    font-weight: bold;
    font-size: 1.125rem;
  }
  .p-user-interview-q::before {
    display: block;
    position: absolute;
    top: 0.75em;
    left: 0;
    width: 16px;
    height: 3px;
    background-color: var(--sub-color);
    content: "";
  }
  .p-user-interview-a {
    display: grid;
    gap: 16px;
  }
  .p-user-interview-a__name {
    color: var(--main-color);
    font-weight: bold;
    font-size: 1rem;
  }
  /* プロフィール
  ---------------------------------------------------------- */
  .p-user-profile {
    padding-inline: 16px;
    padding-block: 24px;
    border-radius: 10px;
    background-color: var(--c-gray-light);
  }
  .p-user-profile__ttl {
    margin-block: 0 16px;
    font-size: 1.375rem;
  }
  .p-user-profile__ttl::before {
    display: none;
  }
  .p-user-profile__body {
    display: grid;
    gap: 16px;
  }
  .p-user-profile__buttons {
    display: flex;
    flex-direction: column;
    margin-block-start: 24px;
    gap: 12px;
  }
  /* ==========================================================
  !ブランド各製品ページ
  ========================================================== */
  /* 製品ページ共通
  ---------------------------------------------------------- */
  body.products .l-main {
    background-position: right -35px top -15px;
    background-size: 120px 184px;
    background-repeat: no-repeat;
    background-attachment: fixed;
  }
  body.is-optitrack {
    --brand-color: var(--c-optitrack);
    --brand-mv-text-color: var(--c-white);
    --brand-header-text-color: var(--c-white);
    --brand-header-sp: url(/assets/img/brand/bg_optitrack_sp.webp);
    --brand-header-pc: url(/assets/img/brand/bg_optitrack_pc.webp);
  }
  body.is-optitrack .l-main {
    background-image: url(/assets/img/brand/bg_blur_optitrack.webp);
  }
  body.is-captury {
    --brand-color: var(--c-captury);
    --brand-mv-text-color: var(--c-white);
    --brand-header-text-color: var(--c-white);
    --brand-header-sp: url(/assets/img/brand/bg_captury_sp.webp);
    --brand-header-pc: url(/assets/img/brand/bg_captury_pc.webp);
  }
  body.is-captury .l-main {
    background-image: url(/assets/img/brand/bg_blur_captury.webp);
  }
  body.is-movin {
    --brand-color: #CBE800;
    --brand-mv-text-color: var(--c-white);
    --brand-header-text-color: var(--c-black);
    --brand-header-sp: url(/assets/img/brand/bg_movin_sp.webp);
    --brand-header-pc: url(/assets/img/brand/bg_movin_pc.webp);
  }
  body.is-movin .l-main {
    background-image: url(/assets/img/brand/bg_blur_movin.webp);
  }
  body.is-movin .p-bd-nav {
    color: var(--c-black);
  }
  body.is-moa {
    --brand-color: var(--c-moa);
    --brand-mv-text-color: var(--c-black);
    --brand-header-text-color: var(--c-white);
    --brand-header-sp: url(/assets/img/brand/bg_moa_sp.webp);
    --brand-header-pc: url(/assets/img/brand/bg_moa_pc.webp);
  }
  body.is-moa .l-main {
    background-image: url(/assets/img/brand/bg_blur_moa.webp);
  }
  body.is-rokoko {
    --brand-color: var(--c-rokoko);
    --brand-mv-text-color: var(--c-black);
    --brand-header-text-color: var(--c-black);
    --brand-header-sp: url(../img/brand/bg_rokoko_sp.webp);
    --brand-header-pc: url(../img/brand/bg_rokoko_pc.webp);
  }
  body.is-rokoko .l-main {
    background-image: url(/assets/img/brand/bg_blur_rokoko.webp);
  }
  body.is-manus {
    --brand-color: var(--c-manus);
    --brand-mv-text-color: var(--c-white);
    --brand-header-text-color: var(--c-black);
    --brand-header-sp: url(/assets/img/brand/bg_manus_sp.webp);
    --brand-header-pc: url(/assets/img/brand/bg_manus_pc.webp);
  }
  body.is-manus .l-main {
    background-image: url(/assets/img/brand/bg_blur_manus.webp);
  }
  body.is-g6-mocap-gloves {
    --brand-color: var(--c-g6-mocap-gloves);
    --brand-mv-text-color: var(--c-white);
    --brand-header-text-color: var(--c-white);
    --brand-header-sp: url(/assets/img/brand/bg_mocap-gloves_sp.webp);
    --brand-header-pc: url(/assets/img/brand/bg_mocap-gloves_pc.webp);
  }
  body.is-g6-mocap-gloves .l-main {
    background-image: url(/assets/img/brand/bg_blur_mocap-gloves.webp);
  }
  body.is-bunshin-hmc {
    --brand-color: var(--c-bunshin-hmc);
    --brand-mv-text-color: var(--c-black);
    --brand-header-text-color: var(--c-white);
    --brand-header-sp: url(/assets/img/brand/bg_bunshin-hmc_sp.webp);
    --brand-header-pc: url(/assets/img/brand/bg_bunshin-hmc_pc.webp);
  }
  body.is-bunshin-hmc .l-main {
    background-image: url(/assets/img/brand/bg_blur_bunshin-hmc.webp);
  }
  body.is-yanus-studio {
    --brand-color: var(--c-yanus-studio);
    --brand-mv-text-color: var(--c-white);
    --brand-header-text-color: var(--c-white);
    --brand-header-sp: url(../img/brand/bg_yanus-studio_sp.webp);
    --brand-header-pc: url(/assets/img/brand/bg_yanus-studio_pc.webp);
  }
  body.is-yanus-studio .l-main {
    background-image: url(/assets/img/brand/bg_blur_yanus-studio.webp);
  }
  body.is-3d-facial-scan {
    --brand-color: var(--c-3d-facial-scan);
    --brand-mv-text-color: var(--c-white);
    --brand-header-text-color: var(--c-white);
    --brand-header-sp: url(/assets/img/brand/bg_3d-facial-scan_sp.webp);
    --brand-header-pc: url(/assets/img/brand/bg_3d-facial-scan_pc.webp);
  }
  body.is-3d-facial-scan .l-main {
    background-image: url(/assets/img/brand/bg_blur_3d-facial-scan.webp);
  }
  body.is-virtual-production {
    --brand-color: var(--c-virtual-production);
    --brand-mv-text-color: var(--c-white);
    --brand-header-text-color: var(--c-white);
    --brand-header-sp: url(/assets/img/brand/bg_virtual-production_sp.webp);
    --brand-header-pc: url(/assets/img/brand/bg_virtual-production_pc.webp);
  }
  body.is-virtual-production .l-main {
    background-image: url(/assets/img/brand/bg_blur_virtual-production.webp);
  }
  body.is-stretchsense {
    --brand-color: var(--c-stretchsense);
    --brand-mv-text-color: var(--c-white);
    --brand-header-text-color: var(--c-white);
    --brand-header-sp: url(/assets/img/brand/bg_stretchsense_sp.webp);
    --brand-header-pc: url(/assets/img/brand/bg_stretchsense_pc.webp);
  }
  body.is-stretchsense .l-main {
    background-image: url(/assets/img/brand/bg_blur_strechsense.webp);
  }
  body.is-nansense {
    --brand-color: var(--c-nansense);
    --brand-mv-text-color: var(--c-white);
    --brand-header-text-color: var(--c-white);
    --brand-header-sp: url(/assets/img/brand/bg_nansense_sp.webp);
    --brand-header-pc: url(/assets/img/brand/bg_nansense_pc.webp);
  }
  body.is-nansense .l-main {
    background-image: url(/assets/img/brand/bg_blur_nansense.webp);
  }
  /* 各種コンテナブロック
  ---------------------------------------------------------- */
  .p-bd-container--oneside-flow {
    margin-inline-start: calc(50% - 50vw);
    margin-block-start: -48px;
    padding-inline-start: calc(50vw - 50%);
    padding-inline-end: 16px;
    padding-block: 32px;
    overflow: hidden;
    border-radius: 0 10px 0 0;
    background-color: var(--c-white);
  }
  .p-bd-container--oneside-flow > * {
    padding-inline-start: 16px;
  }
  .p-bd-container--overlap {
    margin-block-start: -48px;
  }
  /* このような方におすすめです
  ---------------------------------------------------------- */
  .p-bd-target {
    margin-block-start: 20px;
  }
  .p-bd-target h2 {
    margin-block-start: 0;
  }
  .p-bd-target h2::before {
    display: none;
  }
  .p-bd-target ul {
    display: grid;
    padding-inline-start: 0;
    gap: 16px;
  }
  .p-bd-target li {
    position: relative;
    margin: 0;
    padding-inline: 44px 16px;
    padding-block: 16px;
    border-radius: 4px;
    background-color: var(--c-white);
    font-weight: bold;
  }
  .p-bd-target li::before {
    top: 16px;
    left: 16px;
    width: 20px;
    height: 20px;
    background-color: var(--brand-color);
    content: "";
  }
  .p-bd-target li::after {
    display: block;
    position: absolute;
    top: 22px;
    left: 20px;
    width: 12px;
    height: 12px;
    background-color: var(--c-white);
    content: "";
    mask-image: url(/assets/img/common/ico_check.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  /* 製品セクションヘッダー
  ---------------------------------------------------------- */
  .p-bd-header {
    height: 130px;
    margin-block-start: -20px;
    padding-block: 24px 0;
    border-radius: 10px 10px 0 0;
    background-image: var(--brand-header-sp);
    background-position: center center;
    background-size: cover;
    color: var(--brand-header-text-color);
  }
  .p-bd-header h2 {
    margin-block: 0;
    font-weight: bold;
    font-size: 0.75rem;
  }
  .p-bd-header h2::before {
    display: none;
  }
  .p-bd-header .c-heading-lv2--hgroup__en::before {
    background-color: currentColor;
  }
  .p-bd-cta + .p-bd-header {
    margin-block-start: 0;
  }
  /* MVエリア
  ---------------------------------------------------------- */
  .p-bd-mv {
    position: relative;
    height: 580px;
    margin-block-start: -20px;
    color: var(--brand-mv-text-color);
  }
  .p-bd-mv__bg {
    position: absolute;
    inset: 0;
  }
  .p-bd-mv__bg img, .p-bd-mv__bg video {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .p-bd-mv .l-container {
    display: grid;
    z-index: var(--stack-forward);
    position: relative;
    align-items: end;
    height: calc(100% - 64px);
    padding-block: 32px;
  }
  .p-bd-mv__inner {
    display: grid;
    gap: 24px;
  }
  .p-bd-mv__ttl-logo {
    display: block;
    width: 300px;
  }
  .p-bd-mv__ttl-txt {
    display: block;
    margin-block-start: 8px;
    font-weight: bold;
    font-size: 0.75rem;
  }
  .p-bd-mv__catch {
    font-weight: bold;
    font-size: 1.25rem;
  }
  .p-bd-mv__buttons {
    display: grid;
    gap: 20px;
  }
  .p-bd-mv__control {
    display: flex;
    z-index: calc(var(--stack-forward) + 1);
    position: absolute;
    top: 32px;
    right: 16px;
    align-items: center;
    justify-content: center;
    width: 80px;
    padding-inline: 16px;
    padding-block: 8px;
    gap: 4px;
    border-radius: 4px;
    background-color: var(--c-black);
    color: var(--c-white);
    font-size: 0.875rem;
    font-family: var(--font-family-en);
  }
  .p-bd-mv__control::after {
    display: block;
    width: 10px;
    height: 10px;
    background-image: url(/assets/img/common/ico_mov_pause.svg);
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
  }
  .p-bd-mv__control.is-paused::after {
    background-image: url(/assets/img/common/ico_mov_play.svg);
  }
  /* 製品ローカルナビ
  ---------------------------------------------------------- */
  .p-bd-nav {
    padding-block: 20px;
    background-color: var(--brand-color);
    color: var(--c-white);
  }
  .p-bd-nav .l-container {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .p-bd-nav__ttl {
    font-weight: bold;
    font-size: 1.4rem;
  }
  .p-bd-nav__list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
  }
  .p-bd-nav a {
    display: flex;
    align-items: center;
    gap: 4px;
  }
  .p-bd-nav a::after {
    display: inline-block;
    width: 1em;
    height: 1em;
    transform: rotate(-90deg);
    background-color: currentColor;
    content: "";
    mask-image: url(/assets/img/common/ico_chevron_dn.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-bd-nav a[href^="#"]::after {
    display: none;
  }
  /* 製品ローカルナビ（追従PC）
  ---------------------------------------------------------- */
  .p-bd-navPc {
    display: none;
  }
  /* 製品ローカルナビ（追従SP）
  ---------------------------------------------------------- */
  .p-bd-navSp {
    display: block;
    visibility: hidden;
    z-index: var(--z-index-stickynav);
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    box-shadow: 0 3px -6px rgba(0, 0, 0, 0.15);
    opacity: 0;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  .p-bd-navSp.is-visible {
    visibility: visible;
    opacity: 1;
  }
  .p-bd-navSp__panel {
    padding-inline: 8px;
    padding-block: 16px;
    transform: translateY(100%);
    border: 1px solid var(--c-gray);
    border-bottom: 0;
    border-radius: 10px 10px 0 0;
    background-color: var(--c-white);
    transition: transform 0.3s ease;
  }
  .p-bd-navSp__panel[aria-hidden=false] {
    transform: translateY(0);
  }
  .p-bd-navSp__ttl {
    margin-block-end: 8px;
    padding-block-end: 8px;
    border-bottom: 1px solid var(--c-gray);
    font-weight: bold;
  }
  .p-bd-navSp__menu {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 10px;
    font-size: 0.875rem;
  }
  .p-bd-navSp__menu a {
    display: block;
    position: relative;
    padding-inline-start: 10px;
  }
  .p-bd-navSp__menu a::before {
    display: block;
    position: absolute;
    top: 10px;
    left: 0;
    width: 5px;
    height: 2px;
    border-radius: 5px;
    background-color: var(--main-color);
    content: "";
  }
  .p-bd-navSp__menu02 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-block-start: 16px;
    gap: 10px;
  }
  .p-bd-navSp__menu02 a {
    display: block;
    padding-inline: 8px;
    padding-block: 6px;
    border: 1px solid var(--c-gray);
    border-radius: 4px;
    /* 背景を2色に設定（左が隠れ色、右が元色） */
    background-image: linear-gradient(to right, var(--sub-color-light) 50%, var(--c-white) 50%);
    background-position: 100% 0; /* 最初は右半分（元色）を表示 */
    background-size: 200% 100%;
    color: var(--c-black);
    font-size: 0.875rem;
    text-align: center;
    transition: all 0.3s ease;
  }
  .p-bd-navSp__menu02 a:focus-visible {
    background-position: 0 0;
    background-color: var(--sub-color-light);
  }
  .p-bd-navSp__inner {
    display: flex;
    z-index: var(--stack-forward);
    position: relative;
    align-items: center;
    justify-content: space-between;
    padding-inline: 12px 4px;
    padding-block: 4px;
    gap: 12px;
    background-color: var(--c-gray-light);
  }
  .p-bd-navSp__toggle {
    position: relative;
    flex-grow: 1;
    padding: 8px;
    border: 1px solid var(--c-gray);
    border-radius: 4px;
    background-color: var(--c-white);
    font-size: 1rem;
  }
  .p-bd-navSp__toggle::before, .p-bd-navSp__toggle::after {
    display: block;
    position: absolute;
    top: 50%;
    right: 12px;
    width: 14px;
    border-top: 2px solid var(--c-black);
    content: "";
    transition: rotate 0.3s ease;
  }
  .p-bd-navSp__toggle::after {
    rotate: 90deg;
  }
  .p-bd-navSp__toggle[aria-expanded=true]::before {
    rotate: 45deg;
  }
  .p-bd-navSp__toggle[aria-expanded=true]::after {
    rotate: 135deg;
  }
  .p-bd-navSp__cta {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    width: 44%;
    gap: 4px;
    font-size: 0.75rem;
  }
  .p-bd-navSp__cta .c-button--cta {
    flex-direction: column;
    padding-inline: 0;
    padding-block: 4px;
    gap: 4px;
  }
  .p-bd-navSp__cta .c-button--cta::before {
    width: 20px;
    height: 20px;
  }
  /* 製品ラインナップ
  ---------------------------------------------------------- */
  .p-bd-lineup {
    margin-block: 16px;
  }
  .p-bd-lineup__inner {
    display: grid;
    padding: 16px;
    gap: 20px;
    border-radius: 10px;
    background-color: var(--c-white);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    color: var(--c-black);
    text-decoration: none;
    transition: all 0.3s ease;
  }
  .p-bd-lineup__inner:focus-visible {
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.26);
  }
  .p-bd-lineup__inner:focus-visible .p-bd-lineup__thumb img {
    transform: scale(1.05);
  }
  .p-bd-lineup__body {
    display: grid;
    gap: 16px;
  }
  .p-bd-lineup__thumb {
    overflow: hidden;
    border-radius: 10px;
  }
  .p-bd-lineup__thumb img {
    transform: scale(1);
    border-radius: 10px;
    transition: transform 0.3s ease;
  }
  .p-bd-lineup__ttl {
    margin: 0;
    padding: 0;
    font-size: 1.125rem;
  }
  .p-bd-lineup__ttl::before {
    display: none;
  }
  .p-bd-lineup__txt {
    line-height: 1.5;
  }
  .p-bd-lineup__list li::before {
    background-color: var(--brand-color);
  }
  .p-bd-lineup__link {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    font-weight: bold;
  }
  /* 製品CTAエリア
  ---------------------------------------------------------- */
  .p-bd-cta {
    margin-inline: calc(50% - 50vw);
    margin-block-start: 40px;
    overflow: hidden;
    text-align: center;
  }
  .p-bd-cta:last-child {
    margin-block-end: 0;
  }
  .p-bd-cta__buttons {
    display: grid;
    padding: 16px;
    gap: 8px;
    border-radius: 10px 10px 0 0;
    background-color: var(--c-black);
  }
  .p-bd-cta__link {
    display: grid;
    position: relative;
    place-content: center;
    padding-inline: 8px;
    padding-block: 20px;
    /* 背景を2色に設定（左が隠れ色、右が元色） */
    background-image: linear-gradient(to right, var(--c-black) 50%, var(--accent-color) 50%);
    background-position: 100% 0; /* 最初は右半分（元色）を表示 */
    background-size: 200% 100%;
    color: var(--c-white);
    text-decoration: none;
    transition: all 0.3s ease;
  }
  .p-bd-cta__link.--catalog {
    /* 背景を2色に設定（左が隠れ色、右が元色） */
    background-image: linear-gradient(to right, var(--accent-color) 50%, var(--c-black) 50%);
    background-position: 100% 0; /* 最初は右半分（元色）を表示 */
    background-size: 200% 100%;
  }
  .p-bd-cta__link:focus-visible {
    background-position: 0 0;
  }
  .p-bd-cta__link::after {
    display: block;
    position: absolute;
    top: 50%;
    right: 16px;
    width: 14px;
    height: 14px;
    margin-inline-start: 8px;
    transform: translateY(-50%);
    background-color: currentColor;
    content: "";
    mask-image: url(/assets/img/common/ico_arrow_r.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-bd-cta__link-ttl {
    display: block;
    font-weight: bold;
    font-size: 1.25rem;
  }
  .p-bd-cta__link-txt {
    display: block;
    font-size: 0.875rem;
  }
  /* About Us
  ---------------------------------------------------------- */
  .p-bd-aboutus {
    display: grid;
    position: relative;
    place-content: center;
    height: 80px;
    text-align: center;
  }
  .p-bd-aboutus__logo {
    z-index: var(--stack-forward);
    position: relative;
    width: 147px;
  }
  .p-bd-aboutus__txt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #EDEFF1;
    font-style: italic;
    font-weight: bold;
    font-size: 5.5625rem;
    line-height: 0;
    font-family: var(--font-family-en);
    letter-spacing: 0.04em;
    white-space: nowrap;
  }
  /* サポート
  ---------------------------------------------------------- */
  .p-bd-support {
    position: relative;
    background-color: var(--c-white);
  }
  .p-bd-support > * {
    z-index: var(--stack-forward);
    position: relative;
  }
  /* サポート詳細
  ---------------------------------------------------------- */
  .p-bd-support-details > div {
    display: grid;
    gap: 16px;
  }
  .p-bd-support-details__ttl {
    display: flex;
    align-items: center;
    margin-block: 0;
    gap: 20px;
    color: var(--main-color);
    font-size: 1.5rem;
  }
  .p-bd-support-details__point {
    padding: 16px;
    border: 1px solid var(--accent-color);
    border-radius: 10px;
    background-color: var(--c-white);
  }
  .p-bd-support-details__point-ttl {
    margin-block-start: 0;
    margin-block-end: 0.25em;
    color: var(--accent-color);
  }
  .p-bd-support-details__point-ttl::before {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-inline-end: 8px;
    border-radius: 50%;
    background: url(/assets/img/common/ico_flower.svg) center center no-repeat;
    background-color: var(--accent-color);
    content: "";
    vertical-align: middle;
  }
  /* この製品のカテゴリー・タグ
  ---------------------------------------------------------- */
  .p-bd-meta {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .p-bd-meta__ttl {
    flex-shrink: 0;
    font-weight: bold;
    font-size: 1.125rem;
  }
  /* 下層製品MVエリア
  ---------------------------------------------------------- */
  .p-bd-mv-under {
    display: grid;
    margin-block-start: 55px;
  }
  .p-bd-mv-under__inner {
    display: contents;
  }
  .p-bd-mv-under__ttl {
    order: 1;
    font-weight: bold;
    font-size: 1.5rem;
  }
  .p-bd-mv-under__catch {
    order: 2;
    margin-block-start: 16px;
    font-size: 1rem;
  }
  .p-bd-mv-under__img {
    order: 3;
    aspect-ratio: 16/9;
    margin-block-start: 20px;
    overflow: hidden;
    border-radius: 4px;
    background-color: var(--c-gray-light);
  }
  .p-bd-mv-under__img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .p-bd-mv-under__buttons {
    display: grid;
    order: 4;
    margin-block-start: 20px;
    gap: 16px;
  }
  .p-bd-mv-under__buttons .c-button {
    padding-inline-start: 16px;
  }
  /* この製品の強みボックス
  ---------------------------------------------------------- */
  .p-bd-advantage-box {
    padding-inline: 16px;
    padding-block: 24px;
    border-radius: 10px;
    background-color: var(--sub-color-light);
  }
  .p-bd-advantage-box > :first-child {
    margin-block-start: 0;
  }
  .p-bd-advantage-box > :last-child {
    margin-block-end: 0;
  }
  .p-bd-advantage-box h2 {
    margin-block: 1em;
    font-size: 1.25rem;
  }
  .p-bd-advantage-box h2::before {
    display: none;
  }
  /* OptiTrackカメラの選び方
  ---------------------------------------------------------- */
  .p-bd-howtoselect {
    position: relative;
    margin-inline: calc(50% - 50vw);
    margin-block: 40px;
    padding-inline: 16px;
    padding-block: 24px;
    border-radius: 10px;
    background-color: var(--sub-color-light);
  }
  .p-bd-howtoselect > :first-child {
    margin-block-start: 0;
  }
  .p-bd-howtoselect > :last-child {
    margin-block-end: 0;
  }
  .p-bd-howtoselect::before {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 82px;
    height: 178px;
    background-color: #D6E8F2;
    content: "";
    mask-image: url(/assets/img/common/ico_spice.svg);
    mask-position: right top;
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-bd-howtoselect > * {
    z-index: var(--stack-forward);
    position: relative;
  }
  .p-bd-howtoselect h2 {
    margin-block: 1em;
    font-size: 1.25rem;
  }
  .p-bd-howtoselect h2::before {
    display: none;
  }
  .p-bd-howtoselect .wp-block-image {
    margin-block-end: 16px;
  }
  .p-bd-howtoselect .wp-block-buttons {
    margin-block-start: 16px;
    gap: 16px;
  }
  .p-bd-howtoselect .wp-block-buttons .wp-block-button {
    flex-grow: 1;
    max-width: 428px;
  }
  .p-bd-howtoselect .wp-block-image {
    max-width: 612px;
    margin-inline: auto;
  }
  /* アンカーナビ
  ---------------------------------------------------------- */
  .p-bd-anchor {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    padding-inline: 16px;
    padding-block: 20px;
    gap: 16px 24px;
    border: 1px solid var(--c-gray);
    border-radius: 10px;
  }
  .p-bd-anchor li {
    position: relative;
    padding-inline-start: 1.25em;
  }
  .p-bd-anchor li::before {
    position: absolute;
    top: 0.5em;
    left: 0;
    width: 1em;
    height: 1em;
    rotate: 90deg;
    background-color: var(--main-color);
    content: "";
    mask-image: url(/assets/img/common/ico_arrow_r.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-bd-anchor a {
    color: var(--c-black);
    font-weight: bold;
    text-decoration: none;
  }
  .p-bd-anchor a:focus-visible {
    color: var(--main-color);
    text-decoration: underline;
  }
  /* Primex120 業界トップの精度
  ---------------------------------------------------------- */
  .p-bd-primex120 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .p-bd-primex120__item {
    padding: 10px;
    border-radius: 4px;
    background-color: var(--c-white);
    text-align: center;
  }
  .p-bd-primex120__ttl {
    color: var(--main-color);
    font-weight: bold;
    font-size: 0.75rem;
  }
  .p-bd-primex120__data {
    font-weight: bold;
    font-size: 0.75rem;
  }
  .p-bd-primex120__data .num {
    font-style: italic;
    font-size: 1.875rem;
    font-family: var(--font-family-en);
  }
  /* 製品比較表
  ---------------------------------------------------------- */
  .p-bd-compare-table {
    padding-block-end: 16px;
    font-size: 0.75rem;
  }
  .p-bd-compare-table table {
    border: 0;
  }
  .p-bd-compare-table tr {
    border: 0;
  }
  .p-bd-compare-table tr:nth-child(odd) th, .p-bd-compare-table tr:nth-child(odd) td {
    background: var(--c-gray-light);
  }
  .p-bd-compare-table tr:nth-child(even) th, .p-bd-compare-table tr:nth-child(even) td {
    background: var(--c-white);
  }
  .p-bd-compare-table th {
    width: 148px;
    padding: 8px;
    background: transparent;
  }
  .p-bd-compare-table td {
    width: 90px;
    padding: 8px;
  }
  .p-bd-compare-table::-webkit-scrollbar {
    height: 8px;
  }
  .p-bd-compare-table::-webkit-scrollbar-thumb {
    border-radius: 20px;
    background: var(--c-black);
  }
  .p-bd-compare-table::-webkit-scrollbar-track {
    border-radius: 20px;
    background: var(--c-gray);
  }
  .p-bd-compare-table a {
    color: currentColor;
    text-decoration: none;
  }
  .p-bd-compare-table a::after {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-inline-start: 0.2em;
    background-color: currentColor;
    content: "";
    vertical-align: middle;
    mask-image: url(/assets/img/common/ico_arrow_r.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-bd-compare-table a:focus-visible {
    text-decoration: underline;
  }
  /* 下吹き出しパーツ
  ---------------------------------------------------------- */
  .p-bd-bubble {
    aspect-ratio: 767/70;
    width: 100%;
    height: auto;
    border: 0;
    background-color: var(--brand-color, var(--main-color));
    mask-image: url(/assets/img/brand/bg_bubble_sp.svg);
    mask-position: center center;
    mask-repeat: no-repeat;
    mask-size: contain;
  }
  .p-bd-bubble.is-white {
    background-color: var(--c-white);
  }
  /* ==========================================================
  !カタログダウンロードフォーム
  ========================================================== */
  /* カタログダウンロードフォーム
  ---------------------------------------------------------- */
  .p-download {
    display: grid;
  }
  .p-download__content .wp-block-image {
    padding: 16px;
    background-color: var(--c-gray-light);
    text-align: center;
  }
  .p-download__content .wp-block-image img {
    inline-size: auto;
    max-block-size: 254px;
  }
  .p-download__sub-ttl {
    font-weight: bold;
    font-size: 1.375rem;
    line-height: 1.2727272727;
  }
  .p-download__description {
    margin-block-start: 16px;
  }
  .p-download__form {
    margin-inline: calc(50% - 50vw);
    padding-inline: 24px;
    padding-block: 40px;
    border-radius: 10px;
    background-color: var(--c-gray-light);
  }
  .p-download .c-field-rows {
    max-width: 600px;
    margin-inline: auto;
  }
  /* ==========================================================
  !モーキャプメディア
  ========================================================== */
  /* 著者プロフィール
  ---------------------------------------------------------- */
  .p-media-profile {
    padding-inline: 16px;
    padding-block: 20px;
    border: 1px solid var(--c-gray);
    border-radius: 10px;
  }
  .p-media-profile__ttl {
    margin: 0;
    padding: 0;
    font-size: 1.125rem;
  }
  .p-media-profile__ttl::before {
    display: none;
  }
  .p-media-profile__author {
    display: flex;
    align-items: center;
    margin-block-start: 16px;
    gap: 16px;
  }
  .p-media-profile__author-img {
    width: 70px;
  }
  .p-media-profile__author-name .main {
    display: block;
    font-weight: bold;
    font-size: 1.125rem;
  }
  .p-media-profile__author-name .sub {
    font-size: 1rem;
  }
  .p-media-profile__txt {
    margin-block-start: 16px;
  }
  .p-media-profile__note {
    margin-block-start: 16px;
    font-size: 0.75rem;
  }
  /* ==========================================================
  !収録サービス
  ========================================================== */
  /* 収録スタジオシステム一覧
  ---------------------------------------------------------- */
  .p-studio-system strong a {
    color: var(--c-black);
  }
  .p-studio-system img {
    width: 100%;
    max-width: none;
  }
  /* ソフトウェア一覧
  ---------------------------------------------------------- */
  .p-studio-software {
    display: flex;
    flex-wrap: wrap;
    padding-inline-start: 0;
    gap: 40px;
  }
  .p-studio-software li {
    width: 80px;
    text-align: center;
  }
  .p-studio-software li::before {
    display: none;
  }
  .p-studio-software li.captury {
    width: 160px;
  }
  /* 収録サービス用CTA
  ---------------------------------------------------------- */
  .p-studio-cta {
    margin-inline: calc(50% - 50vw);
    overflow: hidden;
    background-color: var(--accent-color);
    text-align: center;
  }
  .p-studio-cta__link {
    display: flex;
    position: relative;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding-inline: 8px;
    padding-block: 24px;
    gap: 0 16px;
    /* 背景を2色に設定（左が隠れ色、右が元色） */
    background-image: linear-gradient(to right, var(--c-black) 50%, var(--accent-color) 50%);
    background-position: 100% 0; /* 最初は右半分（元色）を表示 */
    background-size: 200% 100%;
    color: var(--c-white);
    text-decoration: none;
    transition: all 0.3s ease;
  }
  .p-studio-cta__link:focus-visible {
    background-position: 0 0;
  }
  .p-studio-cta__link-ttl {
    display: inline-block;
    font-weight: bold;
    font-size: 1.25rem;
  }
  .p-studio-cta__link-txt {
    display: inline-block;
    font-size: 0.875rem;
  }
  .p-studio-cta__link-txt::after {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-inline-start: 8px;
    background-color: currentColor;
    content: "";
    vertical-align: middle;
    mask-image: url(/assets/img/common/ico_arrow_r.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
  }
}
@layer utility {
  .u-container-root {
    container-type: inline-size;
  }
  /* ==========================================================
  !Visually Hidden
  ========================================================== */
  .u-visually-hidden {
    clip: rect(0 0 0 0);
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    white-space: nowrap;
    clip-path: inset(50%);
  }
  /* ==========================================================
  !Font Family
  ========================================================== */
  .u-font-serif {
    font-family: var(--font-family-serif);
  }
  .u-font-en {
    font-family: var(--font-family-en);
  }
  /* ==========================================================
  !Font Size
  ========================================================== */
  .u-fz-12 {
    font-size: 0.75rem;
  }
  .u-fz-14 {
    font-size: 0.875rem;
  }
  .u-fz-16 {
    font-size: 1rem;
  }
  .u-fz-18 {
    font-size: 1.125rem;
  }
  .u-fz-20 {
    font-size: 1.25rem;
  }
  .u-fz-24 {
    font-size: 1.5rem;
  }
  .u-fz-28 {
    font-size: 1.75rem;
  }
  .u-fz-32 {
    font-size: 2rem;
  }
  .u-fz-64 {
    font-size: 4rem;
  }
  .u-fz-128 {
    font-size: 8rem;
  }
  /* ==========================================================
  !Font Weight
  ========================================================== */
  .u-fw-normal {
    font-weight: 400;
  }
  .u-fw-medium {
    font-weight: 500;
  }
  .u-fw-bold {
    font-weight: 700;
  }
  /* ==========================================================
  !Text Decoration
  ========================================================== */
  .u-text-decoration-underline {
    text-decoration: underline;
  }
  .u-text-decoration-overline {
    text-decoration: overline;
  }
  .u-text-decoration-line-through {
    text-decoration: line-through;
  }
  .u-text-decoration-no-underline {
    text-decoration: none;
  }
  /* ==========================================================
  !Text Color
  ========================================================== */
  .u-text-color-accent {
    color: var(--accent-color);
  }
  .u-text-color-main {
    color: var(--main-color);
  }
  .u-text-color-sub {
    color: var(--sub-color);
  }
  .u-text-color-sub-light {
    color: var(--sub-color-light);
  }
  .u-text-color-sub-dull {
    color: var(--sub-color-dull);
  }
  .u-text-color-white {
    color: var(--c-white);
  }
  .u-text-color-black {
    color: var(--c-black);
  }
  .u-text-color-gray {
    color: var(--c-gray);
  }
  .u-text-color-gray-light {
    color: var(--c-gray-light);
  }
  .u-text-color-gray-lighter {
    color: var(--c-gray-lighter);
  }
  .u-text-color-gray-dark {
    color: var(--c-gray-dark);
  }
  .u-text-color-optitrack {
    color: var(--c-optitrack);
  }
  .u-text-color-captury {
    color: var(--c-captury);
  }
  .u-text-color-movin {
    color: var(--c-movin);
  }
  .u-text-color-moa {
    color: var(--c-moa);
  }
  .u-text-color-rokoko {
    color: var(--c-rokoko);
  }
  .u-text-color-manus {
    color: var(--c-manus);
  }
  .u-text-color-mocap-gloves {
    color: var(--c-g6-mocap-gloves);
  }
  .u-text-color-bunshin-hmc {
    color: var(--c-bunshin-hmc);
  }
  .u-text-color-yanus-studio {
    color: var(--c-yanus-studio);
  }
  .u-text-color-3d-facial-scan {
    color: var(--c-3d-facial-scan);
  }
  .u-text-color-rigfx {
    color: var(--c-rigfx);
  }
  .u-text-color-stretchsense {
    color: var(--c-stretchsense);
  }
  .u-text-color-nansense {
    color: var(--c-nansense);
  }
  .u-text-color-virtual-production {
    color: var(--c-virtual-production);
  }
  /* ==========================================================
  !Text Align
  ========================================================== */
  .u-text-align-left {
    text-align: left;
  }
  .u-text-align-center {
    text-align: center;
  }
  .u-text-align-right {
    text-align: right;
  }
  /* ==========================================================
  !Text Wrap
  ========================================================== */
  .u-text-wrap-balance {
    text-wrap: balance;
  }
  /* ==========================================================
  !Display
  ========================================================== */
  .u-display-none {
    display: none;
  }
  .u-display-inline-block {
    display: inline-block;
  }
  .u-display-block {
    display: block;
  }
  /* ==========================================================
  !Width / Height
  ========================================================== */
  .u-width-auto {
    width: auto;
  }
  .u-min-width-auto {
    min-width: auto;
  }
  .u-max-width-auto {
    max-width: auto;
  }
  .u-height-auto {
    height: auto;
  }
  .u-min-height-auto {
    min-height: auto;
  }
  .u-max-height-auto {
    max-height: auto;
  }
  .u-width-full {
    width: 100%;
  }
  .u-min-width-full {
    min-width: 100%;
  }
  .u-max-width-full {
    max-width: 100%;
  }
  .u-height-full {
    height: 100%;
  }
  .u-min-height-full {
    min-height: 100%;
  }
  .u-max-height-full {
    max-height: 100%;
  }
  .u-width-min {
    width: min-content;
  }
  .u-min-width-min {
    min-width: min-content;
  }
  .u-max-width-min {
    max-width: min-content;
  }
  .u-height-min {
    height: min-content;
  }
  .u-min-height-min {
    min-height: min-content;
  }
  .u-max-height-min {
    max-height: min-content;
  }
  .u-width-max {
    width: max-content;
  }
  .u-min-width-max {
    min-width: max-content;
  }
  .u-max-width-max {
    max-width: max-content;
  }
  .u-height-max {
    height: max-content;
  }
  .u-min-height-max {
    min-height: max-content;
  }
  .u-max-height-max {
    max-height: max-content;
  }
  .u-width-fit {
    width: fit-content;
  }
  .u-min-width-fit {
    min-width: fit-content;
  }
  .u-max-width-fit {
    max-width: fit-content;
  }
  .u-height-fit {
    height: fit-content;
  }
  .u-min-height-fit {
    min-height: fit-content;
  }
  .u-max-height-fit {
    max-height: fit-content;
  }
  .u-width-10per {
    width: 10%;
  }
  .u-min-width-10per {
    min-width: 10%;
  }
  .u-max-width-10per {
    max-width: 10%;
  }
  .u-height-10per {
    height: 10%;
  }
  .u-min-height-10per {
    min-height: 10%;
  }
  .u-max-height-10per {
    max-height: 10%;
  }
  .u-width-15per {
    width: 15%;
  }
  .u-min-width-15per {
    min-width: 15%;
  }
  .u-max-width-15per {
    max-width: 15%;
  }
  .u-height-15per {
    height: 15%;
  }
  .u-min-height-15per {
    min-height: 15%;
  }
  .u-max-height-15per {
    max-height: 15%;
  }
  .u-width-20per {
    width: 20%;
  }
  .u-min-width-20per {
    min-width: 20%;
  }
  .u-max-width-20per {
    max-width: 20%;
  }
  .u-height-20per {
    height: 20%;
  }
  .u-min-height-20per {
    min-height: 20%;
  }
  .u-max-height-20per {
    max-height: 20%;
  }
  .u-width-25per {
    width: 25%;
  }
  .u-min-width-25per {
    min-width: 25%;
  }
  .u-max-width-25per {
    max-width: 25%;
  }
  .u-height-25per {
    height: 25%;
  }
  .u-min-height-25per {
    min-height: 25%;
  }
  .u-max-height-25per {
    max-height: 25%;
  }
  .u-width-30per {
    width: 30%;
  }
  .u-min-width-30per {
    min-width: 30%;
  }
  .u-max-width-30per {
    max-width: 30%;
  }
  .u-height-30per {
    height: 30%;
  }
  .u-min-height-30per {
    min-height: 30%;
  }
  .u-max-height-30per {
    max-height: 30%;
  }
  .u-width-40per {
    width: 40%;
  }
  .u-min-width-40per {
    min-width: 40%;
  }
  .u-max-width-40per {
    max-width: 40%;
  }
  .u-height-40per {
    height: 40%;
  }
  .u-min-height-40per {
    min-height: 40%;
  }
  .u-max-height-40per {
    max-height: 40%;
  }
  .u-width-50per {
    width: 50%;
  }
  .u-min-width-50per {
    min-width: 50%;
  }
  .u-max-width-50per {
    max-width: 50%;
  }
  .u-height-50per {
    height: 50%;
  }
  .u-min-height-50per {
    min-height: 50%;
  }
  .u-max-height-50per {
    max-height: 50%;
  }
  .u-width-60per {
    width: 60%;
  }
  .u-min-width-60per {
    min-width: 60%;
  }
  .u-max-width-60per {
    max-width: 60%;
  }
  .u-height-60per {
    height: 60%;
  }
  .u-min-height-60per {
    min-height: 60%;
  }
  .u-max-height-60per {
    max-height: 60%;
  }
  .u-width-70per {
    width: 70%;
  }
  .u-min-width-70per {
    min-width: 70%;
  }
  .u-max-width-70per {
    max-width: 70%;
  }
  .u-height-70per {
    height: 70%;
  }
  .u-min-height-70per {
    min-height: 70%;
  }
  .u-max-height-70per {
    max-height: 70%;
  }
  .u-width-80per {
    width: 80%;
  }
  .u-min-width-80per {
    min-width: 80%;
  }
  .u-max-width-80per {
    max-width: 80%;
  }
  .u-height-80per {
    height: 80%;
  }
  .u-min-height-80per {
    min-height: 80%;
  }
  .u-max-height-80per {
    max-height: 80%;
  }
  .u-width-90per {
    width: 90%;
  }
  .u-min-width-90per {
    min-width: 90%;
  }
  .u-max-width-90per {
    max-width: 90%;
  }
  .u-height-90per {
    height: 90%;
  }
  .u-min-height-90per {
    min-height: 90%;
  }
  .u-max-height-90per {
    max-height: 90%;
  }
  .u-width-100 {
    width: 100px;
  }
  .u-min-width-100 {
    min-width: 100px;
  }
  .u-max-width-100 {
    max-width: 100px;
  }
  .u-height-100 {
    height: 100px;
  }
  .u-min-height-100 {
    min-height: 100px;
  }
  .u-max-height-100 {
    max-height: 100px;
  }
  .u-width-200 {
    width: 200px;
  }
  .u-min-width-200 {
    min-width: 200px;
  }
  .u-max-width-200 {
    max-width: 200px;
  }
  .u-height-200 {
    height: 200px;
  }
  .u-min-height-200 {
    min-height: 200px;
  }
  .u-max-height-200 {
    max-height: 200px;
  }
  .u-width-300 {
    width: 300px;
  }
  .u-min-width-300 {
    min-width: 300px;
  }
  .u-max-width-300 {
    max-width: 300px;
  }
  .u-height-300 {
    height: 300px;
  }
  .u-min-height-300 {
    min-height: 300px;
  }
  .u-max-height-300 {
    max-height: 300px;
  }
  .u-width-400 {
    width: 400px;
  }
  .u-min-width-400 {
    min-width: 400px;
  }
  .u-max-width-400 {
    max-width: 400px;
  }
  .u-height-400 {
    height: 400px;
  }
  .u-min-height-400 {
    min-height: 400px;
  }
  .u-max-height-400 {
    max-height: 400px;
  }
  .u-width-500 {
    width: 500px;
  }
  .u-min-width-500 {
    min-width: 500px;
  }
  .u-max-width-500 {
    max-width: 500px;
  }
  .u-height-500 {
    height: 500px;
  }
  .u-min-height-500 {
    min-height: 500px;
  }
  .u-max-height-500 {
    max-height: 500px;
  }
  .u-width-600 {
    width: 600px;
  }
  .u-min-width-600 {
    min-width: 600px;
  }
  .u-max-width-600 {
    max-width: 600px;
  }
  .u-height-600 {
    height: 600px;
  }
  .u-min-height-600 {
    min-height: 600px;
  }
  .u-max-height-600 {
    max-height: 600px;
  }
  .u-width-700 {
    width: 700px;
  }
  .u-min-width-700 {
    min-width: 700px;
  }
  .u-max-width-700 {
    max-width: 700px;
  }
  .u-height-700 {
    height: 700px;
  }
  .u-min-height-700 {
    min-height: 700px;
  }
  .u-max-height-700 {
    max-height: 700px;
  }
  .u-width-800 {
    width: 800px;
  }
  .u-min-width-800 {
    min-width: 800px;
  }
  .u-max-width-800 {
    max-width: 800px;
  }
  .u-height-800 {
    height: 800px;
  }
  .u-min-height-800 {
    min-height: 800px;
  }
  .u-max-height-800 {
    max-height: 800px;
  }
  .u-width-900 {
    width: 900px;
  }
  .u-min-width-900 {
    min-width: 900px;
  }
  .u-max-width-900 {
    max-width: 900px;
  }
  .u-height-900 {
    height: 900px;
  }
  .u-min-height-900 {
    min-height: 900px;
  }
  .u-max-height-900 {
    max-height: 900px;
  }
  .u-width-1000 {
    width: 1000px;
  }
  .u-min-width-1000 {
    min-width: 1000px;
  }
  .u-max-width-1000 {
    max-width: 1000px;
  }
  .u-height-1000 {
    height: 1000px;
  }
  .u-min-height-1000 {
    min-height: 1000px;
  }
  .u-max-height-1000 {
    max-height: 1000px;
  }
  /* ==========================================================
  !Margin / Padding
  ========================================================== */
  .u-m-0 {
    margin: 0;
  }
  .u-mt-0 {
    margin-block-start: 0;
  }
  .u-mr-0 {
    margin-inline-end: 0;
  }
  .u-mb-0 {
    margin-block-end: 0;
  }
  .u-ml-0 {
    margin-inline-start: 0;
  }
  .u-mx-0 {
    margin-inline: 0;
  }
  .u-my-0 {
    margin-block: 0;
  }
  .u-m-4 {
    margin: 4px;
  }
  .u-mt-4 {
    margin-block-start: 4px;
  }
  .u-mr-4 {
    margin-inline-end: 4px;
  }
  .u-mb-4 {
    margin-block-end: 4px;
  }
  .u-ml-4 {
    margin-inline-start: 4px;
  }
  .u-mx-4 {
    margin-inline: 4px;
  }
  .u-my-4 {
    margin-block: 4px;
  }
  .u-m-8 {
    margin: 8px;
  }
  .u-mt-8 {
    margin-block-start: 8px;
  }
  .u-mr-8 {
    margin-inline-end: 8px;
  }
  .u-mb-8 {
    margin-block-end: 8px;
  }
  .u-ml-8 {
    margin-inline-start: 8px;
  }
  .u-mx-8 {
    margin-inline: 8px;
  }
  .u-my-8 {
    margin-block: 8px;
  }
  .u-m-12 {
    margin: 12px;
  }
  .u-mt-12 {
    margin-block-start: 12px;
  }
  .u-mr-12 {
    margin-inline-end: 12px;
  }
  .u-mb-12 {
    margin-block-end: 12px;
  }
  .u-ml-12 {
    margin-inline-start: 12px;
  }
  .u-mx-12 {
    margin-inline: 12px;
  }
  .u-my-12 {
    margin-block: 12px;
  }
  .u-m-16 {
    margin: 16px;
  }
  .u-mt-16 {
    margin-block-start: 16px;
  }
  .u-mr-16 {
    margin-inline-end: 16px;
  }
  .u-mb-16 {
    margin-block-end: 16px;
  }
  .u-ml-16 {
    margin-inline-start: 16px;
  }
  .u-mx-16 {
    margin-inline: 16px;
  }
  .u-my-16 {
    margin-block: 16px;
  }
  .u-m-20 {
    margin: 20px;
  }
  .u-mt-20 {
    margin-block-start: 20px;
  }
  .u-mr-20 {
    margin-inline-end: 20px;
  }
  .u-mb-20 {
    margin-block-end: 20px;
  }
  .u-ml-20 {
    margin-inline-start: 20px;
  }
  .u-mx-20 {
    margin-inline: 20px;
  }
  .u-my-20 {
    margin-block: 20px;
  }
  .u-m-24 {
    margin: 24px;
  }
  .u-mt-24 {
    margin-block-start: 24px;
  }
  .u-mr-24 {
    margin-inline-end: 24px;
  }
  .u-mb-24 {
    margin-block-end: 24px;
  }
  .u-ml-24 {
    margin-inline-start: 24px;
  }
  .u-mx-24 {
    margin-inline: 24px;
  }
  .u-my-24 {
    margin-block: 24px;
  }
  .u-m-32 {
    margin: 32px;
  }
  .u-mt-32 {
    margin-block-start: 32px;
  }
  .u-mr-32 {
    margin-inline-end: 32px;
  }
  .u-mb-32 {
    margin-block-end: 32px;
  }
  .u-ml-32 {
    margin-inline-start: 32px;
  }
  .u-mx-32 {
    margin-inline: 32px;
  }
  .u-my-32 {
    margin-block: 32px;
  }
  .u-m-40 {
    margin: 40px;
  }
  .u-mt-40 {
    margin-block-start: 40px;
  }
  .u-mr-40 {
    margin-inline-end: 40px;
  }
  .u-mb-40 {
    margin-block-end: 40px;
  }
  .u-ml-40 {
    margin-inline-start: 40px;
  }
  .u-mx-40 {
    margin-inline: 40px;
  }
  .u-my-40 {
    margin-block: 40px;
  }
  .u-m-48 {
    margin: 48px;
  }
  .u-mt-48 {
    margin-block-start: 48px;
  }
  .u-mr-48 {
    margin-inline-end: 48px;
  }
  .u-mb-48 {
    margin-block-end: 48px;
  }
  .u-ml-48 {
    margin-inline-start: 48px;
  }
  .u-mx-48 {
    margin-inline: 48px;
  }
  .u-my-48 {
    margin-block: 48px;
  }
  .u-m-56 {
    margin: 56px;
  }
  .u-mt-56 {
    margin-block-start: 56px;
  }
  .u-mr-56 {
    margin-inline-end: 56px;
  }
  .u-mb-56 {
    margin-block-end: 56px;
  }
  .u-ml-56 {
    margin-inline-start: 56px;
  }
  .u-mx-56 {
    margin-inline: 56px;
  }
  .u-my-56 {
    margin-block: 56px;
  }
  .u-m-64 {
    margin: 64px;
  }
  .u-mt-64 {
    margin-block-start: 64px;
  }
  .u-mr-64 {
    margin-inline-end: 64px;
  }
  .u-mb-64 {
    margin-block-end: 64px;
  }
  .u-ml-64 {
    margin-inline-start: 64px;
  }
  .u-mx-64 {
    margin-inline: 64px;
  }
  .u-my-64 {
    margin-block: 64px;
  }
  .u-m-72 {
    margin: 72px;
  }
  .u-mt-72 {
    margin-block-start: 72px;
  }
  .u-mr-72 {
    margin-inline-end: 72px;
  }
  .u-mb-72 {
    margin-block-end: 72px;
  }
  .u-ml-72 {
    margin-inline-start: 72px;
  }
  .u-mx-72 {
    margin-inline: 72px;
  }
  .u-my-72 {
    margin-block: 72px;
  }
  .u-m-80 {
    margin: 80px;
  }
  .u-mt-80 {
    margin-block-start: 80px;
  }
  .u-mr-80 {
    margin-inline-end: 80px;
  }
  .u-mb-80 {
    margin-block-end: 80px;
  }
  .u-ml-80 {
    margin-inline-start: 80px;
  }
  .u-mx-80 {
    margin-inline: 80px;
  }
  .u-my-80 {
    margin-block: 80px;
  }
  .u-m-160 {
    margin: 160px;
  }
  .u-mt-160 {
    margin-block-start: 160px;
  }
  .u-mr-160 {
    margin-inline-end: 160px;
  }
  .u-mb-160 {
    margin-block-end: 160px;
  }
  .u-ml-160 {
    margin-inline-start: 160px;
  }
  .u-mx-160 {
    margin-inline: 160px;
  }
  .u-my-160 {
    margin-block: 160px;
  }
  .u-mr-auto {
    margin-inline-end: auto;
  }
  .u-ml-auto {
    margin-inline-start: auto;
  }
  .u-mx-auto {
    margin-inline: auto;
  }
  .u-p-0 {
    padding: 0;
  }
  .u-pt-0 {
    padding-block-start: 0;
  }
  .u-pr-0 {
    padding-inline-end: 0;
  }
  .u-pb-0 {
    padding-block-end: 0;
  }
  .u-pl-0 {
    padding-inline-start: 0;
  }
  .u-px-0 {
    padding-inline: 0;
  }
  .u-py-0 {
    padding-block: 0;
  }
  .u-p-4 {
    padding: 4px;
  }
  .u-pt-4 {
    padding-block-start: 4px;
  }
  .u-pr-4 {
    padding-inline-end: 4px;
  }
  .u-pb-4 {
    padding-block-end: 4px;
  }
  .u-pl-4 {
    padding-inline-start: 4px;
  }
  .u-px-4 {
    padding-inline: 4px;
  }
  .u-py-4 {
    padding-block: 4px;
  }
  .u-p-8 {
    padding: 8px;
  }
  .u-pt-8 {
    padding-block-start: 8px;
  }
  .u-pr-8 {
    padding-inline-end: 8px;
  }
  .u-pb-8 {
    padding-block-end: 8px;
  }
  .u-pl-8 {
    padding-inline-start: 8px;
  }
  .u-px-8 {
    padding-inline: 8px;
  }
  .u-py-8 {
    padding-block: 8px;
  }
  .u-p-12 {
    padding: 12px;
  }
  .u-pt-12 {
    padding-block-start: 12px;
  }
  .u-pr-12 {
    padding-inline-end: 12px;
  }
  .u-pb-12 {
    padding-block-end: 12px;
  }
  .u-pl-12 {
    padding-inline-start: 12px;
  }
  .u-px-12 {
    padding-inline: 12px;
  }
  .u-py-12 {
    padding-block: 12px;
  }
  .u-p-16 {
    padding: 16px;
  }
  .u-pt-16 {
    padding-block-start: 16px;
  }
  .u-pr-16 {
    padding-inline-end: 16px;
  }
  .u-pb-16 {
    padding-block-end: 16px;
  }
  .u-pl-16 {
    padding-inline-start: 16px;
  }
  .u-px-16 {
    padding-inline: 16px;
  }
  .u-py-16 {
    padding-block: 16px;
  }
  .u-p-20 {
    padding: 20px;
  }
  .u-pt-20 {
    padding-block-start: 20px;
  }
  .u-pr-20 {
    padding-inline-end: 20px;
  }
  .u-pb-20 {
    padding-block-end: 20px;
  }
  .u-pl-20 {
    padding-inline-start: 20px;
  }
  .u-px-20 {
    padding-inline: 20px;
  }
  .u-py-20 {
    padding-block: 20px;
  }
  .u-p-24 {
    padding: 24px;
  }
  .u-pt-24 {
    padding-block-start: 24px;
  }
  .u-pr-24 {
    padding-inline-end: 24px;
  }
  .u-pb-24 {
    padding-block-end: 24px;
  }
  .u-pl-24 {
    padding-inline-start: 24px;
  }
  .u-px-24 {
    padding-inline: 24px;
  }
  .u-py-24 {
    padding-block: 24px;
  }
  .u-p-32 {
    padding: 32px;
  }
  .u-pt-32 {
    padding-block-start: 32px;
  }
  .u-pr-32 {
    padding-inline-end: 32px;
  }
  .u-pb-32 {
    padding-block-end: 32px;
  }
  .u-pl-32 {
    padding-inline-start: 32px;
  }
  .u-px-32 {
    padding-inline: 32px;
  }
  .u-py-32 {
    padding-block: 32px;
  }
  .u-p-40 {
    padding: 40px;
  }
  .u-pt-40 {
    padding-block-start: 40px;
  }
  .u-pr-40 {
    padding-inline-end: 40px;
  }
  .u-pb-40 {
    padding-block-end: 40px;
  }
  .u-pl-40 {
    padding-inline-start: 40px;
  }
  .u-px-40 {
    padding-inline: 40px;
  }
  .u-py-40 {
    padding-block: 40px;
  }
  .u-p-48 {
    padding: 48px;
  }
  .u-pt-48 {
    padding-block-start: 48px;
  }
  .u-pr-48 {
    padding-inline-end: 48px;
  }
  .u-pb-48 {
    padding-block-end: 48px;
  }
  .u-pl-48 {
    padding-inline-start: 48px;
  }
  .u-px-48 {
    padding-inline: 48px;
  }
  .u-py-48 {
    padding-block: 48px;
  }
  .u-p-56 {
    padding: 56px;
  }
  .u-pt-56 {
    padding-block-start: 56px;
  }
  .u-pr-56 {
    padding-inline-end: 56px;
  }
  .u-pb-56 {
    padding-block-end: 56px;
  }
  .u-pl-56 {
    padding-inline-start: 56px;
  }
  .u-px-56 {
    padding-inline: 56px;
  }
  .u-py-56 {
    padding-block: 56px;
  }
  .u-p-64 {
    padding: 64px;
  }
  .u-pt-64 {
    padding-block-start: 64px;
  }
  .u-pr-64 {
    padding-inline-end: 64px;
  }
  .u-pb-64 {
    padding-block-end: 64px;
  }
  .u-pl-64 {
    padding-inline-start: 64px;
  }
  .u-px-64 {
    padding-inline: 64px;
  }
  .u-py-64 {
    padding-block: 64px;
  }
  .u-p-72 {
    padding: 72px;
  }
  .u-pt-72 {
    padding-block-start: 72px;
  }
  .u-pr-72 {
    padding-inline-end: 72px;
  }
  .u-pb-72 {
    padding-block-end: 72px;
  }
  .u-pl-72 {
    padding-inline-start: 72px;
  }
  .u-px-72 {
    padding-inline: 72px;
  }
  .u-py-72 {
    padding-block: 72px;
  }
  .u-p-80 {
    padding: 80px;
  }
  .u-pt-80 {
    padding-block-start: 80px;
  }
  .u-pr-80 {
    padding-inline-end: 80px;
  }
  .u-pb-80 {
    padding-block-end: 80px;
  }
  .u-pl-80 {
    padding-inline-start: 80px;
  }
  .u-px-80 {
    padding-inline: 80px;
  }
  .u-py-80 {
    padding-block: 80px;
  }
  .u-p-160 {
    padding: 160px;
  }
  .u-pt-160 {
    padding-block-start: 160px;
  }
  .u-pr-160 {
    padding-inline-end: 160px;
  }
  .u-pb-160 {
    padding-block-end: 160px;
  }
  .u-pl-160 {
    padding-inline-start: 160px;
  }
  .u-px-160 {
    padding-inline: 160px;
  }
  .u-py-160 {
    padding-block: 160px;
  }
  /* ==========================================================
  !Radius
  ========================================================== */
  .u-radius-4 {
    border-radius: 4px;
  }
  .u-radius-10 {
    border-radius: 10px;
  }
  .u-radius-20 {
    border-radius: 20px;
  }
  /* ==========================================================
  !Grid
  ========================================================== */
  .u-grid {
    display: grid;
  }
  .u-grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .u-grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .u-grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .u-grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .u-grid-cols-none {
    grid-template-columns: none;
  }
  .u-grid-cols-subgrid {
    grid-template-columns: subgrid;
  }
  .u-grid-rows-1 {
    grid-template-rows: repeat(1, minmax(0, 1fr));
  }
  .u-grid-rows-2 {
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }
  .u-grid-rows-3 {
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }
  .u-grid-rows-4 {
    grid-template-rows: repeat(4, minmax(0, 1fr));
  }
  .u-grid-rows-none {
    grid-template-rows: none;
  }
  .u-grid-rows-subgrid {
    grid-template-rows: subgrid;
  }
  .u-grid-flow-row {
    grid-auto-flow: row;
  }
  .u-grid-flow-column {
    grid-auto-flow: column;
  }
  .u-auto-cols-auto {
    grid-auto-columns: auto;
  }
  .u-auto-cols-min {
    grid-auto-columns: min-content;
  }
  .u-auto-cols-max {
    grid-auto-columns: max-content;
  }
  .u-auto-cols-fr {
    grid-auto-columns: minmax(0, 1fr);
  }
  .u-auto-rows-auto {
    grid-auto-rows: auto;
  }
  .u-auto-rows-min {
    grid-auto-rows: min-content;
  }
  .u-auto-rows-max {
    grid-auto-rows: max-content;
  }
  .u-auto-rows-fr {
    grid-auto-rows: minmax(0, 1fr);
  }
  .u-col-span-1 {
    grid-column: span 1/span 1;
  }
  .u-col-start-1 {
    grid-column-start: 1;
  }
  .u-col-span-2 {
    grid-column: span 2/span 2;
  }
  .u-col-start-2 {
    grid-column-start: 2;
  }
  .u-col-span-3 {
    grid-column: span 3/span 3;
  }
  .u-col-start-3 {
    grid-column-start: 3;
  }
  .u-col-span-4 {
    grid-column: span 4/span 4;
  }
  .u-col-start-4 {
    grid-column-start: 4;
  }
  .u-col-span-auto {
    grid-column: auto;
  }
  .u-col-span-full {
    grid-column: 1/-1;
  }
  .u-row-span-1 {
    grid-row: span 1/span 1;
  }
  .u-row-start-1 {
    grid-row-start: 1;
  }
  .u-row-span-2 {
    grid-row: span 2/span 2;
  }
  .u-row-start-2 {
    grid-row-start: 2;
  }
  .u-row-span-3 {
    grid-row: span 3/span 3;
  }
  .u-row-start-3 {
    grid-row-start: 3;
  }
  .u-row-span-4 {
    grid-row: span 4/span 4;
  }
  .u-row-start-4 {
    grid-row-start: 4;
  }
  .u-row-span-5 {
    grid-row: span 5/span 5;
  }
  .u-row-start-5 {
    grid-row-start: 5;
  }
  .u-row-span-6 {
    grid-row: span 6/span 6;
  }
  .u-row-start-6 {
    grid-row-start: 6;
  }
  .u-row-span-auto {
    grid-row: auto;
  }
  .u-row-span-full {
    grid-row: 1/-1;
  }
  .u-gap-0 {
    gap: 0;
  }
  .u-gap-x-0 {
    column-gap: 0;
  }
  .u-gap-y-0 {
    row-gap: 0;
  }
  .u-gap-4 {
    gap: 4px;
  }
  .u-gap-x-4 {
    column-gap: 4px;
  }
  .u-gap-y-4 {
    row-gap: 4px;
  }
  .u-gap-8 {
    gap: 8px;
  }
  .u-gap-x-8 {
    column-gap: 8px;
  }
  .u-gap-y-8 {
    row-gap: 8px;
  }
  .u-gap-12 {
    gap: 12px;
  }
  .u-gap-x-12 {
    column-gap: 12px;
  }
  .u-gap-y-12 {
    row-gap: 12px;
  }
  .u-gap-16 {
    gap: 16px;
  }
  .u-gap-x-16 {
    column-gap: 16px;
  }
  .u-gap-y-16 {
    row-gap: 16px;
  }
  .u-gap-24 {
    gap: 24px;
  }
  .u-gap-x-24 {
    column-gap: 24px;
  }
  .u-gap-y-24 {
    row-gap: 24px;
  }
  .u-gap-32 {
    gap: 32px;
  }
  .u-gap-x-32 {
    column-gap: 32px;
  }
  .u-gap-y-32 {
    row-gap: 32px;
  }
  .u-gap-40 {
    gap: 40px;
  }
  .u-gap-x-40 {
    column-gap: 40px;
  }
  .u-gap-y-40 {
    row-gap: 40px;
  }
  .u-gap-48 {
    gap: 48px;
  }
  .u-gap-x-48 {
    column-gap: 48px;
  }
  .u-gap-y-48 {
    row-gap: 48px;
  }
  .u-gap-56 {
    gap: 56px;
  }
  .u-gap-x-56 {
    column-gap: 56px;
  }
  .u-gap-y-56 {
    row-gap: 56px;
  }
  .u-gap-80 {
    gap: 80px;
  }
  .u-gap-x-80 {
    column-gap: 80px;
  }
  .u-gap-y-80 {
    row-gap: 80px;
  }
  .u-gap-112 {
    gap: 112px;
  }
  .u-gap-x-112 {
    column-gap: 112px;
  }
  .u-gap-y-112 {
    row-gap: 112px;
  }
  /* Flexbox Utilities */
  .u-justify-content-normal {
    justify-content: normal;
  }
  .u-justify-content-start {
    justify-content: flex-start;
  }
  .u-justify-content-end {
    justify-content: flex-end;
  }
  .u-justify-content-center {
    justify-content: center;
  }
  .u-justify-content-between {
    justify-content: space-between;
  }
  .u-justify-content-around {
    justify-content: space-around;
  }
  .u-justify-content-evenly {
    justify-content: space-evenly;
  }
  .u-justify-content-stretch {
    justify-content: stretch;
  }
  .u-justify-items-start {
    justify-items: start;
  }
  .u-justify-items-end {
    justify-items: end;
  }
  .u-justify-items-center {
    justify-items: center;
  }
  .u-justify-items-stretch {
    justify-items: stretch;
  }
  .u-align-content-normal {
    align-content: normal;
  }
  .u-align-content-center {
    align-content: center;
  }
  .u-align-content-start {
    align-content: flex-start;
  }
  .u-align-content-between {
    align-content: space-between;
  }
  .u-align-content-around {
    align-content: space-around;
  }
  .u-align-content-evenly {
    align-content: space-evenly;
  }
  .u-align-content-baseline {
    align-content: baseline;
  }
  .u-align-content-stretch {
    align-content: stretch;
  }
  .u-align-items-start {
    align-items: flex-start;
  }
  .u-align-items-end {
    align-items: flex-end;
  }
  .u-align-items-center {
    align-items: center;
  }
  .u-align-items-baseline {
    align-items: baseline;
  }
  .u-align-items-stretch {
    align-items: stretch;
  }
  /* ==========================================================
  !Flex
  ========================================================== */
  .u-flex {
    display: flex;
  }
  .u-inline-flex {
    display: inline-flex;
  }
  .u-flex-row {
    flex-direction: row;
  }
  .u-flex-row-reverse {
    flex-direction: row-reverse;
  }
  .u-flex-col {
    flex-direction: column;
  }
  .u-flex-col-reverse {
    flex-direction: column-reverse;
  }
  .u-flex-wrap {
    flex-wrap: wrap;
  }
  .u-flex-wrap-reverse {
    flex-wrap: wrap-reverse;
  }
  .u-flex-nowrap {
    flex-wrap: nowrap;
  }
  .u-flex-1 {
    flex: 1 1 0%;
  }
  .u-flex-auto {
    flex: 1 1 auto;
  }
  .u-flex-initial {
    flex: 0 1 auto;
  }
  .u-flex-none {
    flex: none;
  }
  .u-grow {
    flex-grow: 1;
  }
  .u-grow-0 {
    flex-grow: 0;
  }
  .u-shrink {
    flex-shrink: 1;
  }
  .u-shrink-0 {
    flex-shrink: 0;
  }
  /* ==========================================================
  !Backgroud Color
  ========================================================== */
  .u-bg-color-accent {
    background-color: var(--accent-color);
  }
  .u-bg-color-main {
    background-color: var(--main-color);
  }
  .u-bg-color-sub {
    background-color: var(--sub-color);
  }
  .u-bg-color-sub-light {
    background-color: var(--sub-color-light);
  }
  .u-bg-color-sub-dull {
    background-color: var(--sub-color-dull);
  }
  .u-bg-color-white {
    background-color: var(--c-white);
  }
  .u-bg-color-black {
    background-color: var(--c-black);
  }
  .u-bg-color-gray {
    background-color: var(--c-gray);
  }
  .u-bg-color-gray-light {
    background-color: var(--c-gray-light);
  }
  .u-bg-color-gray-lighter {
    background-color: var(--c-gray-lighter);
  }
  .u-bg-color-gray-dark {
    background-color: var(--c-gray-dark);
  }
  .u-bg-color-optitrack {
    background-color: var(--c-optitrack);
  }
  .u-bg-color-captury {
    background-color: var(--c-captury);
  }
  .u-bg-color-movin {
    background-color: var(--c-movin);
  }
  .u-bg-color-moa {
    background-color: var(--c-moa);
  }
  .u-bg-color-rokoko {
    background-color: var(--c-rokoko);
  }
  .u-bg-color-manus {
    background-color: var(--c-manus);
  }
  .u-bg-color-mocap-gloves {
    background-color: var(--c-g6-mocap-gloves);
  }
  .u-bg-color-bunshin-hmc {
    background-color: var(--c-bunshin-hmc);
  }
  .u-bg-color-yanus-studio {
    background-color: var(--c-yanus-studio);
  }
  .u-bg-color-3d-facial-scan {
    background-color: var(--c-3d-facial-scan);
  }
  .u-bg-color-rigfx {
    background-color: var(--c-rigfx);
  }
  .u-bg-color-stretchsense {
    background-color: var(--c-stretchsense);
  }
  .u-bg-color-nansense {
    background-color: var(--c-nansense);
  }
  .u-bg-color-virtual-production {
    background-color: var(--c-virtual-production);
  }
  /* ==========================================================
  !Border Color
  ========================================================== */
  .u-border-color-accent {
    border-color: var(--accent-color);
  }
  .u-border-color-main {
    border-color: var(--main-color);
  }
  .u-border-color-sub {
    border-color: var(--sub-color);
  }
  .u-border-color-sub-light {
    border-color: var(--sub-color-light);
  }
  .u-border-color-sub-dull {
    border-color: var(--sub-color-dull);
  }
  .u-border-color-white {
    border-color: var(--c-white);
  }
  .u-border-color-black {
    border-color: var(--c-black);
  }
  .u-border-color-gray {
    border-color: var(--c-gray);
  }
  .u-border-color-gray-light {
    border-color: var(--c-gray-light);
  }
  .u-border-color-gray-lighter {
    border-color: var(--c-gray-lighter);
  }
  .u-border-color-gray-dark {
    border-color: var(--c-gray-dark);
  }
  .u-border-color-optitrack {
    border-color: var(--c-optitrack);
  }
  .u-border-color-captury {
    border-color: var(--c-captury);
  }
  .u-border-color-movin {
    border-color: var(--c-movin);
  }
  .u-border-color-moa {
    border-color: var(--c-moa);
  }
  .u-border-color-rokoko {
    border-color: var(--c-rokoko);
  }
  .u-border-color-manus {
    border-color: var(--c-manus);
  }
  .u-border-color-mocap-gloves {
    border-color: var(--c-g6-mocap-gloves);
  }
  .u-border-color-bunshin-hmc {
    border-color: var(--c-bunshin-hmc);
  }
  .u-border-color-yanus-studio {
    border-color: var(--c-yanus-studio);
  }
  .u-border-color-3d-facial-scan {
    border-color: var(--c-3d-facial-scan);
  }
  .u-border-color-rigfx {
    border-color: var(--c-rigfx);
  }
  .u-border-color-stretchsense {
    border-color: var(--c-stretchsense);
  }
  .u-border-color-nansense {
    border-color: var(--c-nansense);
  }
  .u-border-color-virtual-production {
    border-color: var(--c-virtual-production);
  }
  /* ==========================================================
  !Line Height
  ========================================================== */
  .u-line-height-sm {
    line-height: 1.2;
  }
  .u-line-height-md {
    line-height: 1.5;
  }
  .u-line-height-lg {
    line-height: 1.8;
  }
}
@layer vendor {}
@media (min-width: 600px){
  @layer wordpress{
    .wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image, .wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item,
    .blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image,
    .blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item {
      width: calc(33.3333333333% - 0.6666666667em);
      margin-right: 1em;
    }
    .wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image, .wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item,
    .blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image,
    .blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item {
      width: calc(25% - 0.75em);
      margin-right: 1em;
    }
    .wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image, .wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item,
    .blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image,
    .blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item {
      width: calc(20% - 0.8em);
      margin-right: 1em;
    }
    .wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image, .wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item,
    .blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image,
    .blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item {
      width: calc(16.6666666667% - 0.8333333333em);
      margin-right: 1em;
    }
    .wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image, .wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item,
    .blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image,
    .blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item {
      width: calc(14.2857142857% - 0.8571428571em);
      margin-right: 1em;
    }
    .wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image, .wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item,
    .blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image,
    .blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item {
      width: calc(12.5% - 0.875em);
      margin-right: 1em;
    }
    .wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n), .wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),
    .blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),
    .blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n) {
      margin-right: 0;
    }
    .wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n), .wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),
    .blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),
    .blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n) {
      margin-right: 0;
    }
    .wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n), .wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),
    .blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),
    .blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n) {
      margin-right: 0;
    }
    .wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n), .wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),
    .blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),
    .blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n) {
      margin-right: 0;
    }
    .wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n), .wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),
    .blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),
    .blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n) {
      margin-right: 0;
    }
    .wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n), .wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),
    .blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),
    .blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n) {
      margin-right: 0;
    }
    .wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n), .wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),
    .blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),
    .blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n) {
      margin-right: 0;
    }
    .wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n), .wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n),
    .blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),
    .blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n) {
      margin-right: 0;
    }
    .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image) {
      width: calc(33.3333333333% - var(--wp--style--unstable-gallery-gap, 16px) * 0.6666666667);
    }
    .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image) {
      width: calc(25% - var(--wp--style--unstable-gallery-gap, 16px) * 0.75);
    }
    .wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image) {
      width: calc(20% - var(--wp--style--unstable-gallery-gap, 16px) * 0.8);
    }
    .wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image) {
      width: calc(16.6666666667% - var(--wp--style--unstable-gallery-gap, 16px) * 0.8333333333);
    }
    .wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image) {
      width: calc(14.2857142857% - var(--wp--style--unstable-gallery-gap, 16px) * 0.8571428571);
    }
    .wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image) {
      width: calc(12.5% - var(--wp--style--unstable-gallery-gap, 16px) * 0.875);
    }
    .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image) {
      width: calc(33.33% - var(--wp--style--unstable-gallery-gap, 16px) * 0.6666666667);
    }
    .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2),
    .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2) ~ figure.wp-block-image:not(#individual-image) {
      width: calc(50% - var(--wp--style--unstable-gallery-gap, 16px) * 0.5);
    }
    .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(1) {
      width: 100%;
    }
    .wp-block-latest-posts.columns-2 li {
      width: calc(50% - 1.25em + 0.625em);
    }
    .wp-block-latest-posts.columns-2 li:nth-child(2n) {
      margin-right: 0;
    }
    .wp-block-latest-posts.columns-3 li {
      width: calc(33.3333333333% - 1.25em + 0.4166666667em);
    }
    .wp-block-latest-posts.columns-3 li:nth-child(3n) {
      margin-right: 0;
    }
    .wp-block-latest-posts.columns-4 li {
      width: calc(25% - 1.25em + 0.3125em);
    }
    .wp-block-latest-posts.columns-4 li:nth-child(4n) {
      margin-right: 0;
    }
    .wp-block-latest-posts.columns-5 li {
      width: calc(20% - 1.25em + 0.25em);
    }
    .wp-block-latest-posts.columns-5 li:nth-child(5n) {
      margin-right: 0;
    }
    .wp-block-latest-posts.columns-6 li {
      width: calc(16.6666666667% - 1.25em + 0.2083333333em);
    }
    .wp-block-latest-posts.columns-6 li:nth-child(6n) {
      margin-right: 0;
    }
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
      display: block;
      z-index: auto;
      position: relative;
      width: 100%;
      background-color: inherit;
    }
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-close {
      display: none;
    }
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container {
      left: 0;
    }
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
      display: none;
    }
    .wp-block-post-template.is-flex-container.is-flex-container.columns-2 > li {
      width: calc(50% - 1.25em + 0.625em);
    }
    .wp-block-post-template.is-flex-container.is-flex-container.columns-3 > li {
      width: calc(33.3333333333% - 1.25em + 0.4166666667em);
    }
    .wp-block-post-template.is-flex-container.is-flex-container.columns-4 > li {
      width: calc(25% - 1.25em + 0.3125em);
    }
    .wp-block-post-template.is-flex-container.is-flex-container.columns-5 > li {
      width: calc(20% - 1.25em + 0.25em);
    }
    .wp-block-post-template.is-flex-container.is-flex-container.columns-6 > li {
      width: calc(16.6666666667% - 1.25em + 0.2083333333em);
    }
    ul.wp-block-rss.columns-2 li {
      width: calc(50% - 1em);
    }
    ul.wp-block-rss.columns-3 li {
      width: calc(33.3333333333% - 1em);
    }
    ul.wp-block-rss.columns-4 li {
      width: calc(25% - 1em);
    }
    ul.wp-block-rss.columns-5 li {
      width: calc(20% - 1em);
    }
    ul.wp-block-rss.columns-6 li {
      width: calc(16.6666666667% - 1em);
    }
  }
  @layer project{
    .p-price-table.is-scroll-on-mobile {
      margin-inline-end: 0;
    }
    .p-price-table.is-scroll-on-mobile table {
      width: 100%;
    }
  }
}
@media (min-width: 768px){
  @layer wordpress{
    .wp-block-flexible-table-block-table.is-scroll-on-pc {
      overflow-x: scroll;
    }
    .wp-block-flexible-table-block-table.is-scroll-on-pc table {
      align-self: self-start;
      max-width: none;
    }
  }
@media (max-width: 1023px){
    @layer wordpress{
    .fsb-flexible-spacer__device--lg,
    .fsb-flexible-spacer__device--sm {
      display: none;
    }
    }
  }
}
@media (width >= 768px){
  @layer foundation{
    :root {
      --padding-inline-container: 16px;
    }
  }
  @layer layout{
    .l-header__logo {
      width: 126px;
    }
    .l-grid {
      gap: 40px;
    }
    .l-grid.l-grid--harf-gap {
      gap: 20px;
    }
    .l-grid-col2 {
      grid-template-columns: repeat(2, 1fr);
    }
    .l-grid-col2--only-tab {
      grid-template-columns: repeat(2, 1fr);
    }
    .l-grid-col3 {
      grid-template-columns: repeat(2, 1fr);
    }
    .l-grid-col4 {
      grid-template-columns: repeat(3, 1fr);
    }
    .l-grid-col5 {
      grid-template-columns: repeat(3, 1fr);
    }
    .l-article__header-meta-wrapper {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
    }
    .l-article__footer > div {
      gap: 40px;
    }
    .l-article__header-share .l-article__share {
      flex-shrink: 0;
      flex-wrap: nowrap;
      width: 376px;
    }
    .l-article__header-share .l-article__share dt {
      width: auto;
    }
    .l-article__header-share .l-article__share dd {
      width: 70px;
    }
    .l-article__footer-share .l-article__share dt {
      width: auto;
    }
    .l-article__footer-share .l-article__share dd {
      width: 145px;
    }
    .l-article__footer-meta dt {
      width: auto;
    }
    .l-entry-content .wp-block-columns {
      gap: 40px;
    }
  }
  @layer component{
    .c-text-note {
      font-size: 0.875rem;
    }
    .c-field-row {
      grid-template-columns: 22.5165562914% 1fr;
      grid-auto-flow: column;
    }
    .wpcf7-radio {
      column-gap: 40px;
      flex-direction: row;
    }
    .p-form-contact .c-field-label {
      padding-inline: 16px;
      padding-block: 24px;
      border-block-end: none;
    }
    .p-form-contact .c-fields {
      padding-inline: 16px;
      padding-block: 24px;
    }
    .p-form-contact .wpcf7-checkbox {
      column-gap: 32px;
      row-gap: 16px;
      flex-direction: row;
    }
    .p-form-download .c-field-row {
      grid-template-columns: 1fr;
    }
    .c-speech-bubble__img {
      inline-size: 125px;
      block-size: 125px;
    }
    .c-speech-bubble__body {
      margin-inline-start: 0;
      padding: 24px;
    }
    .c-speech-bubble__body::before, .c-speech-bubble__body::after {
      top: 50%;
    }
  }
  @layer project{
    .p-search {
      grid-template-columns: 145px 1fr;
      align-items: center;
    }
    .p-newslist__card {
      flex-direction: row;
      align-items: flex-start;
      padding-block-start: 24px;
      padding-block-end: 24px;
      gap: 24px;
    }
    .p-newslist__card-thumb {
      flex-shrink: 0;
      width: 170px;
    }
    .p-newslist__card-thumb img {
      transition: transform 0.3s ease;
    }
    .p-newslist__card-body {
      position: relative;
      flex-grow: 1;
      padding-inline-end: 40px;
    }
    .p-newslist__card-body .c-ico-square {
      position: absolute;
      top: 50%;
      right: 0;
      transform: translateY(-50%);
    }
    .p-newslist__card-ttl {
      font-size: 1.0625rem;
    }
    .p-card--media {
      grid-template-columns: 32.89% 1fr;
      align-items: start;
      padding: 20px;
      gap: 16px;
    }
    .p-card-pd {
      display: flex;
      position: static;
      flex-direction: column;
      padding: 0;
      gap: 0;
    }
    .p-card-pd__inner {
      display: block;
      position: relative;
      flex-grow: 1;
      padding: 20px;
    }
    .p-card-pd__thumb {
      border-radius: 4px 4px 0 0;
    }
    .p-card-pd__thumb img {
      border-radius: 4px 4px 0 0;
    }
    .p-card-pd__body {
      margin-block-start: 16px;
    }
    @container (min-width: 584px) {
      .p-card-pd {
        display: grid;
        position: relative;
        grid-template-columns: clamp(174px, 21.375%, 247px) 1fr;
        align-items: center;
        padding: max(1%, 8px);
        gap: 16px;
      }
      .p-card-pd__inner {
        position: static;
        padding-inline: 0;
        padding-block: 8px 24px;
      }
      .p-card-pd__body {
        margin-block-start: 8px;
        padding-block-end: 0;
      }
      .p-card-pd__thumb {
        aspect-ratio: 16/9;
        border-radius: 4px;
      }
      .p-card-pd__thumb img {
        border-radius: 4px;
      }
      .p-card-pd__ttl {
        display: flex;
        align-items: center;
        gap: 16px;
        font-size: 1.125rem;
      }
    }
    .p-pickup-columns {
      gap: 40px;
    }
    .p-pickup-columns__item {
      width: 376px;
    }
    .p-banner-motion-capture {
      display: grid;
      align-content: center;
      height: 170px;
      padding-inline: 270px 32px;
      padding-block: 0;
    }
    .p-banner-motion-capture__ttl {
      font-size: 1.75rem;
    }
    .p-banner-motion-capture__img {
      bottom: 0;
      left: 0;
      width: 250px;
    }
    .p-banner-motive {
      max-width: 800px;
      margin-inline: auto;
    }
    .p-banner-motive__link {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 20px;
    }
    .p-banner-motive__button .c-button {
      width: 288px;
    }
    .p-list-filter {
      margin-inline: -20px;
    }
    .p-list-filter li.list__item {
      width: calc((100% - 120px) / 3);
      margin-inline: 20px;
      margin-block: 0 40px;
    }
    .p-list-pdlogo {
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
    }
    .p-list-pdlogo__img {
      width: 112px;
      height: 38px;
    }
    .p-block-recommend::before {
      width: 62px;
      height: 136px;
    }
    .p-block-recommend__ttl {
      font-size: 1.375rem;
    }
    .p-block-recommend__list {
      padding-inline: 32px;
      padding-block: 24px;
    }
    .p-block-recommend--blue::before {
      width: 94px;
      height: 208px;
    }
    .p-block-spice {
      padding-inline: 32px;
      padding-block: 64px 56px;
    }
    .p-block-spice::before {
      width: 68px;
      height: 147px;
    }
    .p-block-spice__ttl {
      margin-block-end: 40px;
    }
    .p-block-spice__lead {
      text-align: center;
    }
    .p-block-contact {
      padding: 32px;
    }
    .p-block-contact__ttl .main {
      font-size: 1.75rem;
    }
    .p-block-pdheader .label {
      display: inline-block;
      margin-inline-start: 24px;
      margin-block-start: 0;
    }
    .p-price-table tbody td {
      padding-inline: 8px;
      padding-block: 16px;
    }
    .p-price-table .pd-name {
      font-size: 1.125rem;
    }
    .p-price-table .pd-price .num {
      font-size: 1.25rem;
    }
    .p-price-table .pd-link a {
      padding-inline: 40px;
      padding-block: 16px;
    }
    .p-price-nav-ttl {
      font-size: 1.5rem;
    }
    .p-subcategory {
      display: grid;
      grid-template-columns: 9em 1fr;
    }
    .p-subcategory__list {
      display: flex;
      flex-wrap: wrap;
      margin-block-start: 0;
      gap: 16px 24px;
    }
    .p-tp-features {
      margin-block-start: 100px;
      padding-block-end: 100px;
    }
    .p-tp-features__inner {
      aspect-ratio: 1208/640;
    }
    .p-tp-features__circle {
      top: 20%;
      left: 0;
      width: 100%;
      max-width: 1255px;
    }
    .p-tp-features__item {
      width: 27.8973509934vw;
      max-width: 337px;
      border: 10px solid var(--sub-color);
    }
    .p-tp-features__item:nth-child(1) {
      top: min(19.0397350993vw, 230px);
      right: auto;
      left: 0;
    }
    .p-tp-features__item:nth-child(2) {
      top: 0;
      right: auto;
      left: 50%;
      transform: translateX(-50%);
    }
    .p-tp-features__item:nth-child(3) {
      top: min(19.0397350993vw, 230px);
      right: 0;
    }
    .p-tp-features__num {
      font-size: min(4.6357615894vw, 56px);
    }
    .p-tp-features__txt {
      font-size: min(1.821192053vw, 22px);
    }
    .p-tp-features__btn {
      max-width: 288px;
      margin-inline: auto;
      margin-block-start: max(-16.5562913907vw, -200px);
    }
    .p-tp-newstab {
      grid-template-columns: repeat(3, 1fr);
    }
    .p-user-profile {
      padding: 40px;
    }
    .p-user-profile__body {
      grid-template-columns: repeat(2, 1fr);
      gap: 40px;
    }
    .p-user-profile__buttons {
      flex-direction: row;
      align-items: center;
      justify-content: center;
      margin-block-start: 44px;
    }
    .p-user-profile__buttons .c-button {
      min-width: 256px;
      padding-inline: 16px 40px;
    }
    .p-bd-lineup {
      margin-block: 24px;
    }
    .p-bd-lineup__inner {
      grid-template-columns: repeat(2, 1fr);
      padding: 24px;
      gap: 24px;
    }
    .p-bd-lineup__link {
      justify-content: flex-start;
    }
    .p-bd-bubble {
      aspect-ratio: 1208/30;
      mask-image: url(/assets/img/brand/bg_bubble_pc.svg);
    }
  }
  @layer utility{
    .tab\:u-fz-12 {
      font-size: 0.75rem;
    }
    .tab\:u-fz-14 {
      font-size: 0.875rem;
    }
    .tab\:u-fz-16 {
      font-size: 1rem;
    }
    .tab\:u-fz-18 {
      font-size: 1.125rem;
    }
    .tab\:u-fz-20 {
      font-size: 1.25rem;
    }
    .tab\:u-fz-24 {
      font-size: 1.5rem;
    }
    .tab\:u-fz-28 {
      font-size: 1.75rem;
    }
    .tab\:u-fz-32 {
      font-size: 2rem;
    }
    .tab\:u-fz-64 {
      font-size: 4rem;
    }
    .tab\:u-fz-128 {
      font-size: 8rem;
    }
    .tab\:u-text-align-left {
      text-align: left;
    }
    .tab\:u-text-align-center {
      text-align: center;
    }
    .tab\:u-text-align-right {
      text-align: right;
    }
    .tab\:u-display-none {
      display: none;
    }
    .tab\:u-display-inline-block {
      display: inline-block;
    }
    .tab\:u-display-block {
      display: block;
    }
    .tab\:u-width-auto {
      width: auto;
    }
    .tab\:u-min-width-auto {
      min-width: auto;
    }
    .tab\:u-max-width-auto {
      max-width: auto;
    }
    .tab\:u-height-auto {
      height: auto;
    }
    .tab\:u-min-height-auto {
      min-height: auto;
    }
    .tab\:u-max-height-auto {
      max-height: auto;
    }
    .tab\:u-width-full {
      width: 100%;
    }
    .tab\:u-min-width-full {
      min-width: 100%;
    }
    .tab\:u-max-width-full {
      max-width: 100%;
    }
    .tab\:u-height-full {
      height: 100%;
    }
    .tab\:u-min-height-full {
      min-height: 100%;
    }
    .tab\:u-max-height-full {
      max-height: 100%;
    }
    .tab\:u-width-min {
      width: min-content;
    }
    .tab\:u-min-width-min {
      min-width: min-content;
    }
    .tab\:u-max-width-min {
      max-width: min-content;
    }
    .tab\:u-height-min {
      height: min-content;
    }
    .tab\:u-min-height-min {
      min-height: min-content;
    }
    .tab\:u-max-height-min {
      max-height: min-content;
    }
    .tab\:u-width-max {
      width: max-content;
    }
    .tab\:u-min-width-max {
      min-width: max-content;
    }
    .tab\:u-max-width-max {
      max-width: max-content;
    }
    .tab\:u-height-max {
      height: max-content;
    }
    .tab\:u-min-height-max {
      min-height: max-content;
    }
    .tab\:u-max-height-max {
      max-height: max-content;
    }
    .tab\:u-width-fit {
      width: fit-content;
    }
    .tab\:u-min-width-fit {
      min-width: fit-content;
    }
    .tab\:u-max-width-fit {
      max-width: fit-content;
    }
    .tab\:u-height-fit {
      height: fit-content;
    }
    .tab\:u-min-height-fit {
      min-height: fit-content;
    }
    .tab\:u-max-height-fit {
      max-height: fit-content;
    }
    .tab\:u-width-10per {
      width: 10%;
    }
    .tab\:u-min-width-10per {
      min-width: 10%;
    }
    .tab\:u-max-width-10per {
      max-width: 10%;
    }
    .tab\:u-height-10per {
      height: 10%;
    }
    .tab\:u-min-height-10per {
      min-height: 10%;
    }
    .tab\:u-max-height-10per {
      max-height: 10%;
    }
    .tab\:u-width-15per {
      width: 15%;
    }
    .tab\:u-min-width-15per {
      min-width: 15%;
    }
    .tab\:u-max-width-15per {
      max-width: 15%;
    }
    .tab\:u-height-15per {
      height: 15%;
    }
    .tab\:u-min-height-15per {
      min-height: 15%;
    }
    .tab\:u-max-height-15per {
      max-height: 15%;
    }
    .tab\:u-width-20per {
      width: 20%;
    }
    .tab\:u-min-width-20per {
      min-width: 20%;
    }
    .tab\:u-max-width-20per {
      max-width: 20%;
    }
    .tab\:u-height-20per {
      height: 20%;
    }
    .tab\:u-min-height-20per {
      min-height: 20%;
    }
    .tab\:u-max-height-20per {
      max-height: 20%;
    }
    .tab\:u-width-25per {
      width: 25%;
    }
    .tab\:u-min-width-25per {
      min-width: 25%;
    }
    .tab\:u-max-width-25per {
      max-width: 25%;
    }
    .tab\:u-height-25per {
      height: 25%;
    }
    .tab\:u-min-height-25per {
      min-height: 25%;
    }
    .tab\:u-max-height-25per {
      max-height: 25%;
    }
    .tab\:u-width-30per {
      width: 30%;
    }
    .tab\:u-min-width-30per {
      min-width: 30%;
    }
    .tab\:u-max-width-30per {
      max-width: 30%;
    }
    .tab\:u-height-30per {
      height: 30%;
    }
    .tab\:u-min-height-30per {
      min-height: 30%;
    }
    .tab\:u-max-height-30per {
      max-height: 30%;
    }
    .tab\:u-width-40per {
      width: 40%;
    }
    .tab\:u-min-width-40per {
      min-width: 40%;
    }
    .tab\:u-max-width-40per {
      max-width: 40%;
    }
    .tab\:u-height-40per {
      height: 40%;
    }
    .tab\:u-min-height-40per {
      min-height: 40%;
    }
    .tab\:u-max-height-40per {
      max-height: 40%;
    }
    .tab\:u-width-50per {
      width: 50%;
    }
    .tab\:u-min-width-50per {
      min-width: 50%;
    }
    .tab\:u-max-width-50per {
      max-width: 50%;
    }
    .tab\:u-height-50per {
      height: 50%;
    }
    .tab\:u-min-height-50per {
      min-height: 50%;
    }
    .tab\:u-max-height-50per {
      max-height: 50%;
    }
    .tab\:u-width-60per {
      width: 60%;
    }
    .tab\:u-min-width-60per {
      min-width: 60%;
    }
    .tab\:u-max-width-60per {
      max-width: 60%;
    }
    .tab\:u-height-60per {
      height: 60%;
    }
    .tab\:u-min-height-60per {
      min-height: 60%;
    }
    .tab\:u-max-height-60per {
      max-height: 60%;
    }
    .tab\:u-width-70per {
      width: 70%;
    }
    .tab\:u-min-width-70per {
      min-width: 70%;
    }
    .tab\:u-max-width-70per {
      max-width: 70%;
    }
    .tab\:u-height-70per {
      height: 70%;
    }
    .tab\:u-min-height-70per {
      min-height: 70%;
    }
    .tab\:u-max-height-70per {
      max-height: 70%;
    }
    .tab\:u-width-80per {
      width: 80%;
    }
    .tab\:u-min-width-80per {
      min-width: 80%;
    }
    .tab\:u-max-width-80per {
      max-width: 80%;
    }
    .tab\:u-height-80per {
      height: 80%;
    }
    .tab\:u-min-height-80per {
      min-height: 80%;
    }
    .tab\:u-max-height-80per {
      max-height: 80%;
    }
    .tab\:u-width-90per {
      width: 90%;
    }
    .tab\:u-min-width-90per {
      min-width: 90%;
    }
    .tab\:u-max-width-90per {
      max-width: 90%;
    }
    .tab\:u-height-90per {
      height: 90%;
    }
    .tab\:u-min-height-90per {
      min-height: 90%;
    }
    .tab\:u-max-height-90per {
      max-height: 90%;
    }
    .tab\:u-width-100 {
      width: 100px;
    }
    .tab\:u-min-width-100 {
      min-width: 100px;
    }
    .tab\:u-max-width-100 {
      max-width: 100px;
    }
    .tab\:u-height-100 {
      height: 100px;
    }
    .tab\:u-min-height-100 {
      min-height: 100px;
    }
    .tab\:u-max-height-100 {
      max-height: 100px;
    }
    .tab\:u-width-200 {
      width: 200px;
    }
    .tab\:u-min-width-200 {
      min-width: 200px;
    }
    .tab\:u-max-width-200 {
      max-width: 200px;
    }
    .tab\:u-height-200 {
      height: 200px;
    }
    .tab\:u-min-height-200 {
      min-height: 200px;
    }
    .tab\:u-max-height-200 {
      max-height: 200px;
    }
    .tab\:u-width-300 {
      width: 300px;
    }
    .tab\:u-min-width-300 {
      min-width: 300px;
    }
    .tab\:u-max-width-300 {
      max-width: 300px;
    }
    .tab\:u-height-300 {
      height: 300px;
    }
    .tab\:u-min-height-300 {
      min-height: 300px;
    }
    .tab\:u-max-height-300 {
      max-height: 300px;
    }
    .tab\:u-width-400 {
      width: 400px;
    }
    .tab\:u-min-width-400 {
      min-width: 400px;
    }
    .tab\:u-max-width-400 {
      max-width: 400px;
    }
    .tab\:u-height-400 {
      height: 400px;
    }
    .tab\:u-min-height-400 {
      min-height: 400px;
    }
    .tab\:u-max-height-400 {
      max-height: 400px;
    }
    .tab\:u-width-500 {
      width: 500px;
    }
    .tab\:u-min-width-500 {
      min-width: 500px;
    }
    .tab\:u-max-width-500 {
      max-width: 500px;
    }
    .tab\:u-height-500 {
      height: 500px;
    }
    .tab\:u-min-height-500 {
      min-height: 500px;
    }
    .tab\:u-max-height-500 {
      max-height: 500px;
    }
    .tab\:u-width-600 {
      width: 600px;
    }
    .tab\:u-min-width-600 {
      min-width: 600px;
    }
    .tab\:u-max-width-600 {
      max-width: 600px;
    }
    .tab\:u-height-600 {
      height: 600px;
    }
    .tab\:u-min-height-600 {
      min-height: 600px;
    }
    .tab\:u-max-height-600 {
      max-height: 600px;
    }
    .tab\:u-width-700 {
      width: 700px;
    }
    .tab\:u-min-width-700 {
      min-width: 700px;
    }
    .tab\:u-max-width-700 {
      max-width: 700px;
    }
    .tab\:u-height-700 {
      height: 700px;
    }
    .tab\:u-min-height-700 {
      min-height: 700px;
    }
    .tab\:u-max-height-700 {
      max-height: 700px;
    }
    .tab\:u-width-800 {
      width: 800px;
    }
    .tab\:u-min-width-800 {
      min-width: 800px;
    }
    .tab\:u-max-width-800 {
      max-width: 800px;
    }
    .tab\:u-height-800 {
      height: 800px;
    }
    .tab\:u-min-height-800 {
      min-height: 800px;
    }
    .tab\:u-max-height-800 {
      max-height: 800px;
    }
    .tab\:u-width-900 {
      width: 900px;
    }
    .tab\:u-min-width-900 {
      min-width: 900px;
    }
    .tab\:u-max-width-900 {
      max-width: 900px;
    }
    .tab\:u-height-900 {
      height: 900px;
    }
    .tab\:u-min-height-900 {
      min-height: 900px;
    }
    .tab\:u-max-height-900 {
      max-height: 900px;
    }
    .tab\:u-width-1000 {
      width: 1000px;
    }
    .tab\:u-min-width-1000 {
      min-width: 1000px;
    }
    .tab\:u-max-width-1000 {
      max-width: 1000px;
    }
    .tab\:u-height-1000 {
      height: 1000px;
    }
    .tab\:u-min-height-1000 {
      min-height: 1000px;
    }
    .tab\:u-max-height-1000 {
      max-height: 1000px;
    }
    .tab\:u-m-0 {
      margin: 0;
    }
    .tab\:u-mt-0 {
      margin-block-start: 0;
    }
    .tab\:u-mr-0 {
      margin-inline-end: 0;
    }
    .tab\:u-mb-0 {
      margin-block-end: 0;
    }
    .tab\:u-ml-0 {
      margin-inline-start: 0;
    }
    .tab\:u-mx-0 {
      margin-inline: 0;
    }
    .tab\:u-my-0 {
      margin-block: 0;
    }
    .tab\:u-m-4 {
      margin: 4px;
    }
    .tab\:u-mt-4 {
      margin-block-start: 4px;
    }
    .tab\:u-mr-4 {
      margin-inline-end: 4px;
    }
    .tab\:u-mb-4 {
      margin-block-end: 4px;
    }
    .tab\:u-ml-4 {
      margin-inline-start: 4px;
    }
    .tab\:u-mx-4 {
      margin-inline: 4px;
    }
    .tab\:u-my-4 {
      margin-block: 4px;
    }
    .tab\:u-m-8 {
      margin: 8px;
    }
    .tab\:u-mt-8 {
      margin-block-start: 8px;
    }
    .tab\:u-mr-8 {
      margin-inline-end: 8px;
    }
    .tab\:u-mb-8 {
      margin-block-end: 8px;
    }
    .tab\:u-ml-8 {
      margin-inline-start: 8px;
    }
    .tab\:u-mx-8 {
      margin-inline: 8px;
    }
    .tab\:u-my-8 {
      margin-block: 8px;
    }
    .tab\:u-m-12 {
      margin: 12px;
    }
    .tab\:u-mt-12 {
      margin-block-start: 12px;
    }
    .tab\:u-mr-12 {
      margin-inline-end: 12px;
    }
    .tab\:u-mb-12 {
      margin-block-end: 12px;
    }
    .tab\:u-ml-12 {
      margin-inline-start: 12px;
    }
    .tab\:u-mx-12 {
      margin-inline: 12px;
    }
    .tab\:u-my-12 {
      margin-block: 12px;
    }
    .tab\:u-m-16 {
      margin: 16px;
    }
    .tab\:u-mt-16 {
      margin-block-start: 16px;
    }
    .tab\:u-mr-16 {
      margin-inline-end: 16px;
    }
    .tab\:u-mb-16 {
      margin-block-end: 16px;
    }
    .tab\:u-ml-16 {
      margin-inline-start: 16px;
    }
    .tab\:u-mx-16 {
      margin-inline: 16px;
    }
    .tab\:u-my-16 {
      margin-block: 16px;
    }
    .tab\:u-m-20 {
      margin: 20px;
    }
    .tab\:u-mt-20 {
      margin-block-start: 20px;
    }
    .tab\:u-mr-20 {
      margin-inline-end: 20px;
    }
    .tab\:u-mb-20 {
      margin-block-end: 20px;
    }
    .tab\:u-ml-20 {
      margin-inline-start: 20px;
    }
    .tab\:u-mx-20 {
      margin-inline: 20px;
    }
    .tab\:u-my-20 {
      margin-block: 20px;
    }
    .tab\:u-m-24 {
      margin: 24px;
    }
    .tab\:u-mt-24 {
      margin-block-start: 24px;
    }
    .tab\:u-mr-24 {
      margin-inline-end: 24px;
    }
    .tab\:u-mb-24 {
      margin-block-end: 24px;
    }
    .tab\:u-ml-24 {
      margin-inline-start: 24px;
    }
    .tab\:u-mx-24 {
      margin-inline: 24px;
    }
    .tab\:u-my-24 {
      margin-block: 24px;
    }
    .tab\:u-m-32 {
      margin: 32px;
    }
    .tab\:u-mt-32 {
      margin-block-start: 32px;
    }
    .tab\:u-mr-32 {
      margin-inline-end: 32px;
    }
    .tab\:u-mb-32 {
      margin-block-end: 32px;
    }
    .tab\:u-ml-32 {
      margin-inline-start: 32px;
    }
    .tab\:u-mx-32 {
      margin-inline: 32px;
    }
    .tab\:u-my-32 {
      margin-block: 32px;
    }
    .tab\:u-m-40 {
      margin: 40px;
    }
    .tab\:u-mt-40 {
      margin-block-start: 40px;
    }
    .tab\:u-mr-40 {
      margin-inline-end: 40px;
    }
    .tab\:u-mb-40 {
      margin-block-end: 40px;
    }
    .tab\:u-ml-40 {
      margin-inline-start: 40px;
    }
    .tab\:u-mx-40 {
      margin-inline: 40px;
    }
    .tab\:u-my-40 {
      margin-block: 40px;
    }
    .tab\:u-m-48 {
      margin: 48px;
    }
    .tab\:u-mt-48 {
      margin-block-start: 48px;
    }
    .tab\:u-mr-48 {
      margin-inline-end: 48px;
    }
    .tab\:u-mb-48 {
      margin-block-end: 48px;
    }
    .tab\:u-ml-48 {
      margin-inline-start: 48px;
    }
    .tab\:u-mx-48 {
      margin-inline: 48px;
    }
    .tab\:u-my-48 {
      margin-block: 48px;
    }
    .tab\:u-m-56 {
      margin: 56px;
    }
    .tab\:u-mt-56 {
      margin-block-start: 56px;
    }
    .tab\:u-mr-56 {
      margin-inline-end: 56px;
    }
    .tab\:u-mb-56 {
      margin-block-end: 56px;
    }
    .tab\:u-ml-56 {
      margin-inline-start: 56px;
    }
    .tab\:u-mx-56 {
      margin-inline: 56px;
    }
    .tab\:u-my-56 {
      margin-block: 56px;
    }
    .tab\:u-m-64 {
      margin: 64px;
    }
    .tab\:u-mt-64 {
      margin-block-start: 64px;
    }
    .tab\:u-mr-64 {
      margin-inline-end: 64px;
    }
    .tab\:u-mb-64 {
      margin-block-end: 64px;
    }
    .tab\:u-ml-64 {
      margin-inline-start: 64px;
    }
    .tab\:u-mx-64 {
      margin-inline: 64px;
    }
    .tab\:u-my-64 {
      margin-block: 64px;
    }
    .tab\:u-m-72 {
      margin: 72px;
    }
    .tab\:u-mt-72 {
      margin-block-start: 72px;
    }
    .tab\:u-mr-72 {
      margin-inline-end: 72px;
    }
    .tab\:u-mb-72 {
      margin-block-end: 72px;
    }
    .tab\:u-ml-72 {
      margin-inline-start: 72px;
    }
    .tab\:u-mx-72 {
      margin-inline: 72px;
    }
    .tab\:u-my-72 {
      margin-block: 72px;
    }
    .tab\:u-m-80 {
      margin: 80px;
    }
    .tab\:u-mt-80 {
      margin-block-start: 80px;
    }
    .tab\:u-mr-80 {
      margin-inline-end: 80px;
    }
    .tab\:u-mb-80 {
      margin-block-end: 80px;
    }
    .tab\:u-ml-80 {
      margin-inline-start: 80px;
    }
    .tab\:u-mx-80 {
      margin-inline: 80px;
    }
    .tab\:u-my-80 {
      margin-block: 80px;
    }
    .tab\:u-m-160 {
      margin: 160px;
    }
    .tab\:u-mt-160 {
      margin-block-start: 160px;
    }
    .tab\:u-mr-160 {
      margin-inline-end: 160px;
    }
    .tab\:u-mb-160 {
      margin-block-end: 160px;
    }
    .tab\:u-ml-160 {
      margin-inline-start: 160px;
    }
    .tab\:u-mx-160 {
      margin-inline: 160px;
    }
    .tab\:u-my-160 {
      margin-block: 160px;
    }
    .tab\:u-mr-auto {
      margin-inline-end: auto;
    }
    .tab\:u-ml-auto {
      margin-inline-start: auto;
    }
    .tab\:u-mx-auto {
      margin-inline: auto;
    }
    .tab\:u-p-0 {
      padding: 0;
    }
    .tab\:u-pt-0 {
      padding-block-start: 0;
    }
    .tab\:u-pr-0 {
      padding-inline-end: 0;
    }
    .tab\:u-pb-0 {
      padding-block-end: 0;
    }
    .tab\:u-pl-0 {
      padding-inline-start: 0;
    }
    .tab\:u-px-0 {
      padding-inline: 0;
    }
    .tab\:u-py-0 {
      padding-block: 0;
    }
    .tab\:u-p-4 {
      padding: 4px;
    }
    .tab\:u-pt-4 {
      padding-block-start: 4px;
    }
    .tab\:u-pr-4 {
      padding-inline-end: 4px;
    }
    .tab\:u-pb-4 {
      padding-block-end: 4px;
    }
    .tab\:u-pl-4 {
      padding-inline-start: 4px;
    }
    .tab\:u-px-4 {
      padding-inline: 4px;
    }
    .tab\:u-py-4 {
      padding-block: 4px;
    }
    .tab\:u-p-8 {
      padding: 8px;
    }
    .tab\:u-pt-8 {
      padding-block-start: 8px;
    }
    .tab\:u-pr-8 {
      padding-inline-end: 8px;
    }
    .tab\:u-pb-8 {
      padding-block-end: 8px;
    }
    .tab\:u-pl-8 {
      padding-inline-start: 8px;
    }
    .tab\:u-px-8 {
      padding-inline: 8px;
    }
    .tab\:u-py-8 {
      padding-block: 8px;
    }
    .tab\:u-p-12 {
      padding: 12px;
    }
    .tab\:u-pt-12 {
      padding-block-start: 12px;
    }
    .tab\:u-pr-12 {
      padding-inline-end: 12px;
    }
    .tab\:u-pb-12 {
      padding-block-end: 12px;
    }
    .tab\:u-pl-12 {
      padding-inline-start: 12px;
    }
    .tab\:u-px-12 {
      padding-inline: 12px;
    }
    .tab\:u-py-12 {
      padding-block: 12px;
    }
    .tab\:u-p-16 {
      padding: 16px;
    }
    .tab\:u-pt-16 {
      padding-block-start: 16px;
    }
    .tab\:u-pr-16 {
      padding-inline-end: 16px;
    }
    .tab\:u-pb-16 {
      padding-block-end: 16px;
    }
    .tab\:u-pl-16 {
      padding-inline-start: 16px;
    }
    .tab\:u-px-16 {
      padding-inline: 16px;
    }
    .tab\:u-py-16 {
      padding-block: 16px;
    }
    .tab\:u-p-20 {
      padding: 20px;
    }
    .tab\:u-pt-20 {
      padding-block-start: 20px;
    }
    .tab\:u-pr-20 {
      padding-inline-end: 20px;
    }
    .tab\:u-pb-20 {
      padding-block-end: 20px;
    }
    .tab\:u-pl-20 {
      padding-inline-start: 20px;
    }
    .tab\:u-px-20 {
      padding-inline: 20px;
    }
    .tab\:u-py-20 {
      padding-block: 20px;
    }
    .tab\:u-p-24 {
      padding: 24px;
    }
    .tab\:u-pt-24 {
      padding-block-start: 24px;
    }
    .tab\:u-pr-24 {
      padding-inline-end: 24px;
    }
    .tab\:u-pb-24 {
      padding-block-end: 24px;
    }
    .tab\:u-pl-24 {
      padding-inline-start: 24px;
    }
    .tab\:u-px-24 {
      padding-inline: 24px;
    }
    .tab\:u-py-24 {
      padding-block: 24px;
    }
    .tab\:u-p-32 {
      padding: 32px;
    }
    .tab\:u-pt-32 {
      padding-block-start: 32px;
    }
    .tab\:u-pr-32 {
      padding-inline-end: 32px;
    }
    .tab\:u-pb-32 {
      padding-block-end: 32px;
    }
    .tab\:u-pl-32 {
      padding-inline-start: 32px;
    }
    .tab\:u-px-32 {
      padding-inline: 32px;
    }
    .tab\:u-py-32 {
      padding-block: 32px;
    }
    .tab\:u-p-40 {
      padding: 40px;
    }
    .tab\:u-pt-40 {
      padding-block-start: 40px;
    }
    .tab\:u-pr-40 {
      padding-inline-end: 40px;
    }
    .tab\:u-pb-40 {
      padding-block-end: 40px;
    }
    .tab\:u-pl-40 {
      padding-inline-start: 40px;
    }
    .tab\:u-px-40 {
      padding-inline: 40px;
    }
    .tab\:u-py-40 {
      padding-block: 40px;
    }
    .tab\:u-p-48 {
      padding: 48px;
    }
    .tab\:u-pt-48 {
      padding-block-start: 48px;
    }
    .tab\:u-pr-48 {
      padding-inline-end: 48px;
    }
    .tab\:u-pb-48 {
      padding-block-end: 48px;
    }
    .tab\:u-pl-48 {
      padding-inline-start: 48px;
    }
    .tab\:u-px-48 {
      padding-inline: 48px;
    }
    .tab\:u-py-48 {
      padding-block: 48px;
    }
    .tab\:u-p-56 {
      padding: 56px;
    }
    .tab\:u-pt-56 {
      padding-block-start: 56px;
    }
    .tab\:u-pr-56 {
      padding-inline-end: 56px;
    }
    .tab\:u-pb-56 {
      padding-block-end: 56px;
    }
    .tab\:u-pl-56 {
      padding-inline-start: 56px;
    }
    .tab\:u-px-56 {
      padding-inline: 56px;
    }
    .tab\:u-py-56 {
      padding-block: 56px;
    }
    .tab\:u-p-64 {
      padding: 64px;
    }
    .tab\:u-pt-64 {
      padding-block-start: 64px;
    }
    .tab\:u-pr-64 {
      padding-inline-end: 64px;
    }
    .tab\:u-pb-64 {
      padding-block-end: 64px;
    }
    .tab\:u-pl-64 {
      padding-inline-start: 64px;
    }
    .tab\:u-px-64 {
      padding-inline: 64px;
    }
    .tab\:u-py-64 {
      padding-block: 64px;
    }
    .tab\:u-p-72 {
      padding: 72px;
    }
    .tab\:u-pt-72 {
      padding-block-start: 72px;
    }
    .tab\:u-pr-72 {
      padding-inline-end: 72px;
    }
    .tab\:u-pb-72 {
      padding-block-end: 72px;
    }
    .tab\:u-pl-72 {
      padding-inline-start: 72px;
    }
    .tab\:u-px-72 {
      padding-inline: 72px;
    }
    .tab\:u-py-72 {
      padding-block: 72px;
    }
    .tab\:u-p-80 {
      padding: 80px;
    }
    .tab\:u-pt-80 {
      padding-block-start: 80px;
    }
    .tab\:u-pr-80 {
      padding-inline-end: 80px;
    }
    .tab\:u-pb-80 {
      padding-block-end: 80px;
    }
    .tab\:u-pl-80 {
      padding-inline-start: 80px;
    }
    .tab\:u-px-80 {
      padding-inline: 80px;
    }
    .tab\:u-py-80 {
      padding-block: 80px;
    }
    .tab\:u-p-160 {
      padding: 160px;
    }
    .tab\:u-pt-160 {
      padding-block-start: 160px;
    }
    .tab\:u-pr-160 {
      padding-inline-end: 160px;
    }
    .tab\:u-pb-160 {
      padding-block-end: 160px;
    }
    .tab\:u-pl-160 {
      padding-inline-start: 160px;
    }
    .tab\:u-px-160 {
      padding-inline: 160px;
    }
    .tab\:u-py-160 {
      padding-block: 160px;
    }
    .tab\:u-grid {
      display: grid;
    }
    .tab\:u-grid-cols-1 {
      grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    .tab\:u-grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .tab\:u-grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .tab\:u-grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .tab\:u-grid-cols-none {
      grid-template-columns: none;
    }
    .tab\:u-grid-cols-subgrid {
      grid-template-columns: subgrid;
    }
    .tab\:u-grid-rows-1 {
      grid-template-rows: repeat(1, minmax(0, 1fr));
    }
    .tab\:u-grid-rows-2 {
      grid-template-rows: repeat(2, minmax(0, 1fr));
    }
    .tab\:u-grid-rows-3 {
      grid-template-rows: repeat(3, minmax(0, 1fr));
    }
    .tab\:u-grid-rows-4 {
      grid-template-rows: repeat(4, minmax(0, 1fr));
    }
    .tab\:u-grid-rows-none {
      grid-template-rows: none;
    }
    .tab\:u-grid-rows-subgrid {
      grid-template-rows: subgrid;
    }
    .tab\:u-grid-flow-row {
      grid-auto-flow: row;
    }
    .tab\:u-grid-flow-column {
      grid-auto-flow: column;
    }
    .tab\:u-auto-cols-auto {
      grid-auto-columns: auto;
    }
    .tab\:u-auto-cols-min {
      grid-auto-columns: min-content;
    }
    .tab\:u-auto-cols-max {
      grid-auto-columns: max-content;
    }
    .tab\:u-auto-cols-fr {
      grid-auto-columns: minmax(0, 1fr);
    }
    .tab\:u-auto-rows-auto {
      grid-auto-rows: auto;
    }
    .tab\:u-auto-rows-min {
      grid-auto-rows: min-content;
    }
    .tab\:u-auto-rows-max {
      grid-auto-rows: max-content;
    }
    .tab\:u-auto-rows-fr {
      grid-auto-rows: minmax(0, 1fr);
    }
    .tab\:u-col-span-1 {
      grid-column: span 1/span 1;
    }
    .tab\:u-col-start-1 {
      grid-column-start: 1;
    }
    .tab\:u-col-span-2 {
      grid-column: span 2/span 2;
    }
    .tab\:u-col-start-2 {
      grid-column-start: 2;
    }
    .tab\:u-col-span-3 {
      grid-column: span 3/span 3;
    }
    .tab\:u-col-start-3 {
      grid-column-start: 3;
    }
    .tab\:u-col-span-4 {
      grid-column: span 4/span 4;
    }
    .tab\:u-col-start-4 {
      grid-column-start: 4;
    }
    .tab\:u-col-span-auto {
      grid-column: auto;
    }
    .tab\:u-col-span-full {
      grid-column: 1/-1;
    }
    .tab\:u-row-span-1 {
      grid-row: span 1/span 1;
    }
    .tab\:u-row-start-1 {
      grid-row-start: 1;
    }
    .tab\:u-row-span-2 {
      grid-row: span 2/span 2;
    }
    .tab\:u-row-start-2 {
      grid-row-start: 2;
    }
    .tab\:u-row-span-3 {
      grid-row: span 3/span 3;
    }
    .tab\:u-row-start-3 {
      grid-row-start: 3;
    }
    .tab\:u-row-span-4 {
      grid-row: span 4/span 4;
    }
    .tab\:u-row-start-4 {
      grid-row-start: 4;
    }
    .tab\:u-row-span-5 {
      grid-row: span 5/span 5;
    }
    .tab\:u-row-start-5 {
      grid-row-start: 5;
    }
    .tab\:u-row-span-6 {
      grid-row: span 6/span 6;
    }
    .tab\:u-row-start-6 {
      grid-row-start: 6;
    }
    .tab\:u-row-span-auto {
      grid-row: auto;
    }
    .tab\:u-row-span-full {
      grid-row: 1/-1;
    }
    .tab\:u-gap-0 {
      gap: 0;
    }
    .tab\:u-gap-x-0 {
      column-gap: 0;
    }
    .tab\:u-gap-y-0 {
      row-gap: 0;
    }
    .tab\:u-gap-4 {
      gap: 4px;
    }
    .tab\:u-gap-x-4 {
      column-gap: 4px;
    }
    .tab\:u-gap-y-4 {
      row-gap: 4px;
    }
    .tab\:u-gap-8 {
      gap: 8px;
    }
    .tab\:u-gap-x-8 {
      column-gap: 8px;
    }
    .tab\:u-gap-y-8 {
      row-gap: 8px;
    }
    .tab\:u-gap-12 {
      gap: 12px;
    }
    .tab\:u-gap-x-12 {
      column-gap: 12px;
    }
    .tab\:u-gap-y-12 {
      row-gap: 12px;
    }
    .tab\:u-gap-16 {
      gap: 16px;
    }
    .tab\:u-gap-x-16 {
      column-gap: 16px;
    }
    .tab\:u-gap-y-16 {
      row-gap: 16px;
    }
    .tab\:u-gap-24 {
      gap: 24px;
    }
    .tab\:u-gap-x-24 {
      column-gap: 24px;
    }
    .tab\:u-gap-y-24 {
      row-gap: 24px;
    }
    .tab\:u-gap-32 {
      gap: 32px;
    }
    .tab\:u-gap-x-32 {
      column-gap: 32px;
    }
    .tab\:u-gap-y-32 {
      row-gap: 32px;
    }
    .tab\:u-gap-40 {
      gap: 40px;
    }
    .tab\:u-gap-x-40 {
      column-gap: 40px;
    }
    .tab\:u-gap-y-40 {
      row-gap: 40px;
    }
    .tab\:u-gap-48 {
      gap: 48px;
    }
    .tab\:u-gap-x-48 {
      column-gap: 48px;
    }
    .tab\:u-gap-y-48 {
      row-gap: 48px;
    }
    .tab\:u-gap-56 {
      gap: 56px;
    }
    .tab\:u-gap-x-56 {
      column-gap: 56px;
    }
    .tab\:u-gap-y-56 {
      row-gap: 56px;
    }
    .tab\:u-gap-80 {
      gap: 80px;
    }
    .tab\:u-gap-x-80 {
      column-gap: 80px;
    }
    .tab\:u-gap-y-80 {
      row-gap: 80px;
    }
    .tab\:u-gap-112 {
      gap: 112px;
    }
    .tab\:u-gap-x-112 {
      column-gap: 112px;
    }
    .tab\:u-gap-y-112 {
      row-gap: 112px;
    }
    .tab\:u-justify-content-normal {
      justify-content: normal;
    }
    .tab\:u-justify-content-start {
      justify-content: flex-start;
    }
    .tab\:u-justify-content-end {
      justify-content: flex-end;
    }
    .tab\:u-justify-content-center {
      justify-content: center;
    }
    .tab\:u-justify-content-between {
      justify-content: space-between;
    }
    .tab\:u-justify-content-around {
      justify-content: space-around;
    }
    .tab\:u-justify-content-evenly {
      justify-content: space-evenly;
    }
    .tab\:u-justify-content-stretch {
      justify-content: stretch;
    }
    .tab\:u-justify-items-start {
      justify-items: start;
    }
    .tab\:u-justify-items-end {
      justify-items: end;
    }
    .tab\:u-justify-items-center {
      justify-items: center;
    }
    .tab\:u-justify-items-stretch {
      justify-items: stretch;
    }
    .tab\:u-align-content-normal {
      align-content: normal;
    }
    .tab\:u-align-content-center {
      align-content: center;
    }
    .tab\:u-align-content-start {
      align-content: flex-start;
    }
    .tab\:u-align-content-between {
      align-content: space-between;
    }
    .tab\:u-align-content-around {
      align-content: space-around;
    }
    .tab\:u-align-content-evenly {
      align-content: space-evenly;
    }
    .tab\:u-align-content-baseline {
      align-content: baseline;
    }
    .tab\:u-align-content-stretch {
      align-content: stretch;
    }
    .tab\:u-align-items-start {
      align-items: flex-start;
    }
    .tab\:u-align-items-end {
      align-items: flex-end;
    }
    .tab\:u-align-items-center {
      align-items: center;
    }
    .tab\:u-align-items-baseline {
      align-items: baseline;
    }
    .tab\:u-align-items-stretch {
      align-items: stretch;
    }
    .tab\:u-flex {
      display: flex;
    }
    .tab\:u-inline-flex {
      display: inline-flex;
    }
    .tab\:u-flex-row {
      flex-direction: row;
    }
    .tab\:u-flex-row-reverse {
      flex-direction: row-reverse;
    }
    .tab\:u-flex-col {
      flex-direction: column;
    }
    .tab\:u-flex-col-reverse {
      flex-direction: column-reverse;
    }
    .tab\:u-flex-wrap {
      flex-wrap: wrap;
    }
    .tab\:u-flex-wrap-reverse {
      flex-wrap: wrap-reverse;
    }
    .tab\:u-flex-nowrap {
      flex-wrap: nowrap;
    }
    .tab\:u-flex-1 {
      flex: 1 1 0%;
    }
    .tab\:u-flex-auto {
      flex: 1 1 auto;
    }
    .tab\:u-flex-initial {
      flex: 0 1 auto;
    }
    .tab\:u-flex-none {
      flex: none;
    }
    .tab\:u-grow {
      flex-grow: 1;
    }
    .tab\:u-grow-0 {
      flex-grow: 0;
    }
    .tab\:u-shrink {
      flex-shrink: 1;
    }
    .tab\:u-shrink-0 {
      flex-shrink: 0;
    }
    .tab\:u-line-height-sm {
      line-height: 1.2;
    }
    .tab\:u-line-height-md {
      line-height: 1.5;
    }
    .tab\:u-line-height-lg {
      line-height: 1.8;
    }
  }
}
@media (min-width: 782px){
  @layer wordpress{
    .wp-block-columns {
      flex-wrap: nowrap !important;
    }
    .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
      flex-grow: 1;
      flex-basis: 0;
    }
    .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column[style*=flex-basis] {
      flex-grow: 0;
    }
    .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
      top: -1px;
      left: 100%;
    }
    .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container::before {
      display: block;
      position: absolute;
      right: 100%;
      width: 0.5em;
      height: 100%;
      background: transparent;
      content: "";
    }
    .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon {
      margin-right: 0.25em;
    }
    .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon svg {
      transform: rotate(-90deg);
    }
    .wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
      top: 0;
      left: 100%;
    }
    .wp-block-navigation.items-justified-space-between .wp-block-page-list > .has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
    .wp-block-navigation.items-justified-space-between > .wp-block-navigation__container > .has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
    .wp-block-navigation.items-justified-right .wp-block-page-list > .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
    .wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
      right: 100%;
      left: auto;
    }
    .has-modal-open .admin-bar .is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-dialog {
      margin-top: 32px;
    }
  }
}
@media (min-width: 960px){
  @layer wordpress{
    .wp-lightbox-overlay .wp-lightbox-navigation-button-prev,
    .wp-lightbox-overlay .wp-lightbox-navigation-button-next {
      bottom: 50%;
      transform: translateY(-50%);
    }
  }
  @layer project{
    .p-bd-mv {
      aspect-ratio: 1608/580;
      height: auto;
    }
    .p-bd-mv .l-container {
      align-items: center;
      justify-content: end;
    }
    .p-bd-mv__inner {
      width: 618px;
    }
    .p-bd-mv__ttl-logo {
      width: 418px;
    }
    .p-bd-mv__buttons {
      grid-template-columns: repeat(2, 1fr);
    }
    .p-bd-mv__control {
      top: auto;
      right: 32px;
      bottom: 24px;
    }
  }
}
@media (any-hover: hover) and (width >= 1024px){
  @layer project{
    .p-banner__link:where(:any-link, :enabled, summary):hover::before {
      transform: scale(1.05);
    }
    .p-bd-navPc__menu02 a:where(:any-link, :enabled, summary):hover {
      background-position: 0 0;
      background-color: var(--sub-color-light);
    }
  }
}
@media (min-width: 1024px){
  @layer wordpress{
    .fsb-flexible-spacer__device--md,
    .fsb-flexible-spacer__device--sm {
      display: none;
    }
  }
}
@media (width >= 1024px){
  @layer reset{
    body {
      font-size: 1rem;
    }
    html {
      scroll-padding-block-start: 160px;
    }
  }
  @layer layout{
    .l-header {
      height: 100px;
      padding-inline: 24px;
      padding-block: 16px;
      gap: 24px;
    }
    body.is-scroll .l-header {
      height: 72px;
    }
    body.is-scroll .l-header .l-snav {
      display: none;
    }
    .l-header__pc-nav {
      display: grid;
      align-items: center;
      gap: 16px;
    }
    .l-header__toggle {
      display: none;
    }
    .l-header.l-header--simple {
      height: 72px;
    }
    .l-header__cta {
      gap: 8px;
    }
    .l-header__cta .c-button--cta {
      width: 110px;
      border-radius: 10px;
      font-size: 0.875rem;
    }
    .l-header__cta .c-button--cta::before {
      width: 20px;
      height: 20px;
    }
    .l-main:not(:has(.p-topview, .p-hero)) {
      margin-block-start: 100px;
    }
    body.is-home .l-main {
      background: url(/assets/img/home/bg_blur_logo01.webp) right top/auto auto no-repeat fixed, url(/assets/img/home/bg_blur_logo02.webp) left 400px/auto auto no-repeat fixed;
    }
    .l-cta {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
    }
    .l-cta__item-inner {
      max-width: 450px;
    }
    .l-cta__item-illust {
      position: absolute;
    }
    .l-cta__item-btn {
      max-width: 288px;
    }
    .l-cta-catalog {
      border-radius: 20px 0 0 0;
    }
    .l-cta-catalog .l-cta__item-inner {
      margin-inline-start: auto;
      text-align: right;
    }
    .l-cta-catalog .l-cta__item-title,
    .l-cta-catalog .l-cta__item-text {
      max-width: 238px;
      margin-inline-start: auto;
    }
    .l-cta-catalog .l-cta__item-text {
      text-align: left;
    }
    .l-cta-catalog .l-cta__item-illust {
      top: 50%;
      right: 450px;
      transform: translateY(-50%);
    }
    .l-cta-catalog .l-cta__item-btn {
      margin-inline-end: 0;
      margin-block-start: 106px;
    }
    .l-cta-contact {
      border-radius: 0 20px 0 0;
    }
    .l-cta-contact .l-cta__item-title,
    .l-cta-contact .l-cta__item-text {
      max-width: 244px;
    }
    .l-cta-contact .l-cta__item-tags {
      max-width: 274px;
    }
    .l-cta-contact .l-cta__item-illust {
      top: 50%;
      left: 450px;
      transform: translateY(-50%);
    }
    .l-cta-contact .l-cta__item-btn {
      margin-inline-start: 0;
      margin-block-start: 32px;
    }
    .l-footer {
      padding-block-start: 80px;
    }
    .l-footer__inner {
      display: grid;
      grid-template-columns: min(31.4569536424%, 380px) 1fr;
      gap: 16px;
    }
    .l-footer-prof {
      padding-inline: 0;
    }
    .l-footer-prof__logo {
      width: 100%;
      max-width: none;
      margin-inline: 0;
      text-align: left;
    }
    .l-footer-prof__text {
      text-align: left;
    }
    .l-footer-prof__sns {
      justify-content: flex-start;
    }
    .l-footer-sp-nav {
      display: none;
    }
    .l-footer-pc-nav {
      display: grid;
      grid-template-columns: 1fr 0.8fr 1fr 0.7fr;
      gap: 16px;
    }
    .l-footer__bottom {
      margin-block-start: 24px;
    }
    .l-footer__bottom .l-container {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .l-section {
      padding-block: 100px 120px;
    }
    .l-section--compression {
      padding-block: 80px 100px;
    }
    [class*=l-section--c-] + .l-section {
      padding-block: 100px 120px !important;
    }
    [class*=l-section--c-] + .l-section--compression {
      padding-block: 100px !important;
    }
    [class*=l-section--ornament]::before {
      width: 133px;
      height: 285px;
    }
    .l-section--ornament-main--large::before {
      width: 264px;
      height: 580px;
    }
    .l-section--ornament-main--small::before {
      width: 70px;
      height: 150px;
    }
    .l-columns {
      grid-template-columns: 1fr 377px;
    }
    .l-columns.l-columns--reverse {
      grid-template-columns: 377px 1fr;
    }
    .l-grid-col2--only-tab {
      grid-template-columns: 100%;
    }
    .l-grid-col3 {
      grid-template-columns: repeat(3, 1fr);
    }
    .l-grid-col4 {
      grid-template-columns: repeat(4, 1fr);
    }
    .l-grid-col5 {
      grid-template-columns: repeat(5, 1fr);
    }
    .l-article__title {
      font-size: 2.5rem;
    }
    .l-entry-content p.has-large-font-size {
      font-size: 1.25rem;
    }
    .l-entry-content h1.wp-block-heading {
      font-size: 2.5rem;
    }
    .l-entry-content h2 {
      margin-block: 100px 40px;
      font-size: 2.25rem;
    }
    .l-entry-content h3 {
      margin-block: 72px 32px;
      font-size: 1.625rem;
    }
    .l-entry-content h4 {
      font-size: 1.25rem;
    }
    .l-entry-content .wp-block-quote {
      padding: 40px;
    }
    .l-entry-content .wp-block-separator {
      margin-block: 64px;
    }
  }
  @layer component{
    .is-style-manual .has-inline-block {
      font-size: 1.125rem;
    }
    .c-button-center {
      flex-direction: row;
      justify-content: center;
      margin-block-start: 64px;
    }
    .c-button-center .c-button {
      width: fit-content;
      min-width: 288px;
    }
    .c-button-left {
      flex-direction: row;
      margin-block-start: 64px;
    }
    .c-button-left .c-button {
      max-width: 288px;
    }
    .c-heading-lv1__ja {
      font-size: 1.125rem;
    }
    .c-heading-lv1__en {
      font-size: 5rem;
    }
    .c-heading-lv2 {
      font-size: 2.25rem;
    }
    .c-heading-lv2 + * {
      margin-block-start: 40px;
    }
    .c-heading-lv2--line {
      font-size: 2.25rem;
    }
    .c-heading-lv2--hgroup__ja {
      font-size: 1rem;
    }
    .c-heading-lv2--hgroup__en {
      font-size: 3.75rem;
    }
    .c-heading-lv2--hgroup__en::before {
      width: 25px;
    }
    .c-heading-lv2--num .num {
      font-size: 3.125rem;
    }
    .c-heading-lv2--num .num::after {
      width: 32px;
    }
    .c-heading-lv3 {
      font-size: 1.625rem;
    }
    .c-heading-lv3--noline {
      font-size: 1.625rem;
    }
    .c-heading-lv3--point .point {
      width: 64px;
      font-size: 1.3125rem;
    }
    .c-heading-lv3--point .point-num {
      font-size: 3.125rem;
    }
    h4 {
      font-size: 1.25rem;
    }
    h5 {
      font-size: 1.125rem;
    }
    .c-box-paint--gray {
      padding: 40px;
    }
    .c-list-horizontal {
      gap: 24px 40px;
    }
    .c-list-horizontal:has(.c-tag) {
      gap: 24px 16px;
    }
    .c-list-back {
      flex-direction: row;
      gap: 24px;
    }
    .c-filterlist {
      gap: 20px 16px;
    }
    .c-filterlist__button {
      padding-inline: 16px;
      padding-block: 8px;
    }
    .p-form-download .c-field-row {
      grid-template-columns: 200px 1fr;
      column-gap: 32px;
      row-gap: unset;
    }
    .p-form-download .c-fields {
      display: inline-grid;
    }
  }
  @layer project{
    .p-spmenu-other {
      margin-block-start: 0;
    }
    .p-topview {
      padding-block-start: 100px;
    }
    .p-topview::before {
      top: 0;
      width: 82px;
      height: 176px;
    }
    .p-topview__upper {
      padding-block-start: 64px;
      padding-block-end: 40px;
    }
    .p-topview__upper .l-container {
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
    }
    .p-topview__text {
      max-width: 400px;
      padding-inline-end: 20px;
    }
    .p-newsticker {
      display: grid;
      grid-template-columns: auto 1fr;
      align-items: center;
      padding-inline: 40px;
      padding-block: 24px;
      gap: 20px;
      border-radius: 100vmax;
    }
    .p-newsticker__header {
      padding-inline: 0 20px;
      padding-block: 0;
      border: 0;
    }
    .p-newsticker__body {
      padding: 0;
    }
    .p-newsticker__date {
      padding-inline-end: 16px;
      border-right: 1px solid var(--c-gray);
      font-size: 0.875rem;
    }
    .p-newsticker__meta {
      display: flex;
      flex-direction: row-reverse;
      align-items: center;
      gap: 16px;
    }
    .p-newsticker__list-item {
      grid-template-columns: auto 1fr;
      align-items: center;
      gap: 16px;
    }
    .p-newsticker__list-txt {
      font-size: 0.875rem;
    }
    .p-newsticker__body {
      overflow: hidden;
    }
    .p-newsticker__list-item {
      min-width: 0;
    }
    .p-newsticker__list-txt {
      overflow-wrap: break-word;
    }
    .p-pagenav__menu {
      grid-template-columns: repeat(2, 1fr);
      align-items: center;
      gap: 40px;
    }
    .p-pickup--type01 .p-pickup__sub .p-card-pickup {
      grid-template-columns: repeat(2, 1fr);
    }
    .p-card-service {
      display: flex;
      flex-direction: row-reverse;
      flex-wrap: wrap;
      padding: 56px;
      gap: 40px;
    }
    .p-card-service__thumb {
      width: calc((100% - 40px) / 2);
      border-radius: 10px;
    }
    .p-card-service__body {
      width: calc((100% - 40px) / 2);
    }
    .p-card-service__link {
      width: 100%;
    }
    .p-card-media {
      grid-template-columns: 44.7747747748% 51.6216216216%;
      column-gap: 40px;
      row-gap: 0;
      padding: 40px;
    }
    .p-card-media::before {
      width: 148px;
      height: 320px;
    }
    .p-pickup--type01 {
      grid-template-columns: repeat(2, 1fr);
      max-height: 460px;
    }
    .p-pickup--type01 .p-pickup__sub {
      flex-direction: column;
      max-height: 460px;
      margin-inline-end: 0;
      padding-inline-end: 32px;
      padding-block-end: 0;
      overflow-x: hidden;
      overflow-y: scroll;
    }
    .p-pickup--type01 .p-pickup__sub > * {
      width: 100%;
      max-width: none;
    }
    .p-pickup--type01 .p-pickup__sub::-webkit-scrollbar {
      width: 8px;
      height: 100%;
    }
    .p-pickup--type02 {
      display: flex;
      padding-block-end: 32px;
      overflow-x: scroll;
      overflow-y: hidden;
    }
    .p-pickup--type02::-webkit-scrollbar {
      width: 100%;
      height: 8px;
      border-radius: 10px;
      background-color: var(--c-gray);
    }
    .p-pickup--type02::-webkit-scrollbar-thumb {
      border-radius: 10px;
      background-color: var(--c-dark);
    }
    .p-pickup--type02 .p-pickup__main,
    .p-pickup--type02 .p-pickup__sub {
      display: contents;
    }
    .p-pickup--type02 .p-pickup__main > *,
    .p-pickup--type02 .p-pickup__sub > * {
      flex-shrink: 0;
      width: 585px;
      max-width: none;
    }
    .p-important-info__ttl {
      margin-inline-end: 14px;
      padding-inline-end: 14px;
      border-right: 1px solid var(--c-gray-dark);
    }
    .p-important-info__txt {
      font-size: 0.875rem;
    }
    .p-important-info__item {
      display: flex;
      align-items: center;
    }
    .p-important-info.--has-frame {
      padding-inline: 24px;
      border-radius: 100vmax;
    }
    .p-introduction-record {
      padding: 24px;
    }
    .p-introduction-record__item {
      gap: 16px;
    }
    .p-introduction-record__item::before, .p-introduction-record__item::after {
      width: 30px;
    }
    .p-introduction-record__inner {
      min-width: 200px;
    }
    .p-introduction-record__ttl {
      font-size: 1.0625rem;
    }
    .p-introduction-record__data-num {
      font-size: 3.5rem;
    }
    .p-introduction-record__data-txt {
      font-size: 1.25rem;
    }
    .p-loop-wrapper {
      padding-block: 40px;
    }
    .p-tab {
      flex-wrap: nowrap;
    }
    .p-tab > li:first-child {
      width: calc((100% - 8px) / 5);
    }
    .p-tab > li {
      width: calc((100% - 8px) / 5);
    }
    .p-tab__button {
      border-bottom: 0;
      border-radius: 4px 4px 0 0;
    }
    .p-tab__button[aria-selected=true] {
      padding-inline: 12px;
      padding-block: 14px;
      border: 1px solid var(--main-color);
      border-bottom: 0;
      background-color: var(--c-white);
      color: var(--main-color);
    }
    .p-tab-panel {
      margin-block-start: 0;
      padding: 40px;
      border-top: 0;
      border-radius: 0 0 10px 10px;
    }
    .p-tab02 {
      gap: 16px;
    }
    .p-tab02__button[aria-selected=true] {
      padding-inline: 12px;
      padding-block: 14px;
    }
    .p-tab02-panel {
      padding: 40px;
      border-radius: 0 0 10px 10px;
    }
    .p-banner {
      max-width: 800px;
      margin-inline: auto;
      margin-block: 64px;
    }
    .p-banner__link {
      padding: 40px;
    }
    .p-banner__link:focus-visible::before {
      transform: scale(1.05);
    }
    .p-banner__ttl {
      font-size: 1.75rem;
      text-align: center;
    }
    .p-banner-motion-capture {
      height: 170px;
      padding-inline: 357px 32px;
    }
    .p-banner-motion-capture__img {
      width: 357px;
    }
    .p-list-filter li.list__item {
      width: calc((100% - 160px) / 4);
    }
    .p-list-pdlogo {
      grid-template-columns: repeat(4, 1fr);
      gap: 16px 12px;
    }
    .p-block-recommend {
      padding: 40px;
    }
    .p-block-step {
      display: grid;
      padding-inline: 0;
      padding-block: 30px;
    }
    .p-block-step.--col3 {
      grid-template-columns: repeat(3, 1fr);
    }
    .p-block-step.--col4 {
      grid-template-columns: repeat(4, 1fr);
    }
    .p-block-step__item {
      padding-inline: 20px;
    }
    .p-block-step__item:not(:last-child) {
      margin-block-end: 0;
      padding-block-end: 0;
      border-right: 2px dashed var(--c-gray);
      border-bottom: 0;
    }
    .p-block-step__item:not(:last-child)::after {
      top: 50%;
      right: -12px;
      bottom: auto;
      left: auto;
      transform: translate(0, -50%) rotate(-90deg);
    }
    .p-block-paintbox,
    .p-block-paintbox--ornament {
      padding: 64px !important;
    }
    .p-block-paintbox h2, .p-block-paintbox h3, .p-block-paintbox h4,
    .p-block-paintbox--ornament h2,
    .p-block-paintbox--ornament h3,
    .p-block-paintbox--ornament h4 {
      font-size: 1.75rem;
    }
    .p-block-paintbox.is-small,
    .p-block-paintbox--ornament.is-small {
      padding: 40px !important;
    }
    .p-block-paintbox--ornament::before {
      width: 148px;
      height: 320px;
    }
    .p-block-cards-anchor {
      grid-template-columns: repeat(3, 1fr);
      gap: 40px;
    }
    .p-block-cards-anchor__item {
      height: 100%;
    }
    .p-block-pdlink::before {
      width: 70px;
      height: 150px;
    }
    .p-block-pdheader {
      padding: 32px !important;
    }
    .p-block-pdheader h2, .p-block-pdheader h3, .p-block-pdheader h4 {
      font-size: 1.75rem;
    }
    .p-category-link__ttl {
      padding-inline: 40px;
      padding-block: 24px;
    }
    .p-category-link__body {
      padding: 40px;
    }
    .p-accordion {
      padding-block: 16px;
    }
    .p-accordion__item {
      margin-inline: 40px;
    }
    .p-accordion__button {
      font-size: 1.125rem;
    }
    .p-accordion__label {
      font-size: 1.125rem;
    }
    #toc_container {
      padding: 40px;
    }
    #toc_container .toc_title {
      font-size: 1.5rem;
    }
    #toc_container .toc_list {
      margin-block-start: 24px;
    }
    .p-trivia {
      padding: 40px;
    }
    .p-trivia::before {
      width: 40px;
      height: 88px;
    }
    .p-thumbnail-slider .p-splide__controles {
      margin-block-start: -50px;
    }
    .p-thumbnail-slider .splide-thumb {
      max-width: 580px;
      margin-inline: auto;
    }
    .p-thumbnail-slider__slide {
      flex-direction: column;
    }
    .p-thumbnail-slider02 {
      display: grid;
      grid-template-columns: 1fr 150px;
      gap: 32px;
    }
    .p-thumbnail-slider02 .p-splide__controles {
      position: absolute;
      top: min(36.0099337748vw, 450px);
      right: 0;
      margin-inline-end: 24px;
      margin-block-start: 0;
    }
    .p-thumbnail-slider02__slide {
      flex-direction: column;
    }
    .p-spec-carousel {
      position: relative;
      margin-inline: calc(50% - 50vw);
    }
    .p-spec-carousel .p-splide__controles {
      position: absolute;
      top: -124px;
      right: 16px;
    }
    .p-manual {
      grid-template-columns: 1fr 22.5165562914%;
      margin-block-start: 100px;
      gap: 40px;
    }
    .p-manual__sub {
      margin-block-start: 0;
    }
    .article-feedback {
      margin-inline: unset;
      padding: 40px;
    }
    .article-feedback__title {
      font-size: 1.375rem;
    }
    .article-feedback__buttons {
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
    }
    .article-feedback__button {
      padding: 16px;
    }
    .p-splide__controles .splide__arrow {
      width: 78px;
      height: 78px;
      border-radius: 10px;
    }
    .p-splide__controles .splide__arrow::before {
      width: 20px;
      height: 20px;
    }
    .p-splide__controles .splide__pagination {
      gap: 24px;
    }
    .p-splide__controles .splide__toggle {
      margin-linline-end: 45px;
    }
    .p-mv::before {
      display: block;
      position: absolute;
      bottom: 65px;
      left: -77px;
      width: 105px;
      height: 230px;
      background-color: var(--main-color);
      content: "";
      mask-image: url(/assets/img/common/ico_spice.svg);
      mask-repeat: no-repeat;
      mask-size: contain;
    }
    .p-tp-heading__ja {
      font-size: 1rem;
    }
    .p-tp-heading__en {
      font-size: 3.75rem;
    }
    .p-tp-heading__en::before {
      width: 25px;
    }
    .p-tp-about {
      padding-block-start: 100px;
    }
    .p-tp-about__body {
      margin-block: 88px 64px;
      font-size: 1.25rem;
    }
    .p-tp-about__catch {
      font-size: 2rem;
    }
    .p-tp-newstab {
      grid-template-columns: auto;
      max-width: 196px;
      margin-block-start: 40px;
      gap: 24px;
    }
    .p-user-summary {
      padding-block: 40px;
    }
    .p-user-summary__ttl {
      font-size: 1.75rem;
    }
    .p-user-summary__body {
      display: flex;
      align-items: center;
    }
    .p-user-summary__thumb {
      flex-grow: 1;
      margin-inline-start: -70px;
      margin-block-start: 0;
    }
    .p-user-summary__thumb figcaption {
      text-align: right;
    }
    .p-user-summary__data {
      flex-shrink: 0;
      width: 46%;
      padding-inline: 40px 107px;
      padding-block: 40px;
    }
    .p-user-introduction {
      display: grid;
      grid-template-rows: auto auto;
      grid-template-columns: repeat(2, 1fr);
      padding: 40px;
      gap: 27px 48px;
    }
    .p-user-introduction__item {
      padding: 24px;
    }
    .p-user-introduction__item.--purpose {
      grid-column: 1/3;
    }
    .p-user-introduction__item.--issue {
      margin-block-start: 0;
    }
    .p-user-introduction__item.--results {
      margin-block-start: 0;
    }
    .p-user-introduction__item.--results::before {
      top: 50%;
      left: -36px;
      transform: rotate(-90deg);
    }
    .p-user-introduction__item.--results:nth-child(2) {
      grid-column: span 2;
      margin-block-start: -8px;
    }
    .p-user-system {
      padding: 40px;
    }
    .p-user-system__list ul {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
    }
    .p-user-interview-q {
      padding-inline-start: 32px;
      font-size: 1.5rem;
    }
    .p-user-interview-q::before {
      width: 24px;
    }
    .p-user-interview-a {
      grid-template-columns: 168px 1fr;
    }
    body.products .l-main {
      background-position: right -120px top -80px;
      background-size: 482px 735px;
    }
    .p-bd-container--oneside-flow {
      margin-block-start: -160px;
      padding-inline-end: 32px;
      padding-block: 80px;
      border-radius: 0 20px 0 0;
    }
    .p-bd-container--oneside-flow > * {
      padding-inline-start: 0;
    }
    .p-bd-container--overlap {
      margin-block-start: -160px;
    }
    .p-bd-target {
      margin-block-start: 40px;
    }
    .p-bd-target li {
      padding-inline: 50px 20px;
      padding-block: 20px;
    }
    .p-bd-target li::before {
      top: 20px;
    }
    .p-bd-target li::after {
      top: 26px;
    }
    .p-bd-header {
      height: 452px;
      padding-block: 144px 0;
      border-radius: 20px 20px 0 0;
      background-image: var(--brand-header-pc);
    }
    .p-bd-header h2 {
      font-size: 1rem;
    }
    .p-bd-nav .l-container {
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
    }
    .p-bd-nav__list {
      gap: 40px;
    }
    .p-bd-navPc {
      display: block;
      visibility: hidden;
      z-index: var(--z-index-stickynav);
      position: fixed;
      top: 124px;
      right: 0;
      width: 160px;
      opacity: 0;
      transition: opacity 0.3s ease, visibility 0.3s ease;
    }
    .p-bd-navPc.is-visible {
      visibility: visible;
      opacity: 1;
    }
    .p-bd-navPc__inner {
      padding-inline: 8px;
      padding-block: 16px;
      border-top: 1px solid var(--c-gray);
      border-left: 1px solid var(--c-gray);
      border-radius: 4px 0 0 0;
      background-color: var(--c-white);
    }
    .p-bd-navPc__ttl {
      margin-block-end: 8px;
      padding-block-end: 8px;
      border-bottom: 1px solid var(--c-gray);
      font-weight: bold;
    }
    .p-bd-navPc__menu {
      display: grid;
      gap: 10px;
      font-size: 0.875rem;
    }
    .p-bd-navPc__menu a {
      display: block;
      position: relative;
      padding-inline-start: 10px;
    }
    .p-bd-navPc__menu a::before {
      display: block;
      position: absolute;
      top: 10px;
      left: 0;
      width: 5px;
      height: 2px;
      border-radius: 5px;
      background-color: var(--main-color);
      content: "";
    }
    .p-bd-navPc__menu02 {
      display: grid;
      margin-block-start: 16px;
      gap: 10px;
    }
    .p-bd-navPc__menu02 a {
      display: block;
      padding-inline: 8px;
      padding-block: 6px;
      border: 1px solid var(--c-gray);
      border-radius: 4px;
      /* 背景を2色に設定（左が隠れ色、右が元色） */
      background-image: linear-gradient(to right, var(--sub-color-light) 50%, var(--c-white) 50%);
      background-position: 100% 0; /* 最初は右半分（元色）を表示 */
      background-size: 200% 100%;
      color: var(--c-black);
      font-size: 0.75rem;
      text-align: center;
      transition: all 0.3s ease;
    }
    .p-bd-navPc__menu02 a:focus-visible {
      background-position: 0 0;
      background-color: var(--sub-color-light);
    }
    .p-bd-navPc__cta .c-button--cta {
      border-radius: 0;
      font-size: 0.75rem;
    }
    .p-bd-navPc__cta .c-button--cta::before {
      display: none;
    }
    .p-bd-navSp {
      display: none;
    }
    .p-bd-lineup {
      margin-block: 40px;
    }
    .p-bd-lineup__inner {
      padding: 40px;
      gap: 40px;
    }
    .p-bd-lineup__ttl {
      font-size: 1.75rem;
    }
    .p-bd-cta {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      margin-block-start: 80px;
    }
    .p-bd-cta:has(> :only-child) {
      grid-template-columns: unset;
    }
    .p-bd-cta__buttons {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      width: 100%;
      margin-inline: auto;
      padding-inline-end: 16px;
      gap: 16px;
      border-radius: 0;
    }
    .p-bd-cta__buttons .c-button {
      padding-inline-start: 16px;
    }
    .p-bd-cta__link {
      background-color: transparent;
    }
    .p-bd-aboutus {
      height: 315px;
    }
    .p-bd-aboutus__logo {
      width: 266px;
    }
    .p-bd-aboutus__txt {
      font-size: 22.9375rem;
    }
    .p-bd-meta {
      flex-direction: row;
    }
    .p-bd-mv-under {
      grid-template-columns: repeat(2, 1fr);
      align-items: center;
      margin-block-start: 92px;
      gap: 40px;
    }
    .p-bd-mv-under__inner {
      display: grid;
    }
    .p-bd-mv-under__ttl {
      font-size: 2.625rem;
    }
    .p-bd-mv-under__catch {
      margin-block-start: 40px;
      font-weight: bold;
      font-size: 1.5rem;
    }
    .p-bd-mv-under__buttons {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      margin-block-start: 40px;
      gap: 8px;
    }
    .p-bd-advantage-box {
      padding-inline: 40px;
      padding-block: 56px;
    }
    .p-bd-advantage-box h2 {
      font-size: 1.75rem;
    }
    .p-bd-howtoselect {
      margin-inline: auto;
      margin-block: 64px;
      padding-inline: 40px;
      padding-block: 56px;
    }
    .p-bd-howtoselect::before {
      width: 148px;
      height: 320px;
    }
    .p-bd-howtoselect h2 {
      font-size: 1.75rem;
    }
    .p-bd-anchor {
      margin-block: 40px;
      gap: 16px 60px;
    }
    .p-bd-primex120 {
      grid-template-columns: repeat(4, 1fr);
      max-width: 912px;
      margin-inline: auto;
      gap: 40px;
    }
    .p-bd-primex120__item {
      padding: 14px;
    }
    .p-bd-primex120__ttl {
      font-size: 1rem;
    }
    .p-bd-primex120__data {
      font-size: 1rem;
    }
    .p-bd-primex120__data .num {
      font-size: 2.5rem;
    }
    .p-download {
      grid-template-columns: repeat(2, 1fr);
      column-gap: 40px;
    }
    .p-download__content .wp-block-image {
      padding: 24px;
    }
    .p-download__form {
      margin-inline: unset;
    }
    .p-media-profile {
      padding-inline: 40px;
      padding-block: 32px;
    }
    .p-media-profile__inner {
      position: relative;
      padding-inline-start: 144px;
    }
    .p-media-profile__author-img {
      position: absolute;
      top: 10px;
      left: 0;
      width: 100px;
    }
    .p-media-profile__author-name .main {
      display: inline-block;
      margin-inline-end: 16px;
    }
    .p-studio-cta__link {
      padding-inline: 8px;
      padding-block: 44px;
    }
    .p-studio-cta__link-ttl {
      font-size: 2rem;
    }
  }
  @layer utility{
    .pc\:u-fz-12 {
      font-size: 0.75rem;
    }
    .pc\:u-fz-14 {
      font-size: 0.875rem;
    }
    .pc\:u-fz-16 {
      font-size: 1rem;
    }
    .pc\:u-fz-18 {
      font-size: 1.125rem;
    }
    .pc\:u-fz-20 {
      font-size: 1.25rem;
    }
    .pc\:u-fz-24 {
      font-size: 1.5rem;
    }
    .pc\:u-fz-28 {
      font-size: 1.75rem;
    }
    .pc\:u-fz-32 {
      font-size: 2rem;
    }
    .pc\:u-fz-64 {
      font-size: 4rem;
    }
    .pc\:u-fz-128 {
      font-size: 8rem;
    }
    .pc\:u-text-align-left {
      text-align: left;
    }
    .pc\:u-text-align-center {
      text-align: center;
    }
    .pc\:u-text-align-right {
      text-align: right;
    }
    .pc\:u-display-none {
      display: none;
    }
    .pc\:u-display-inline-block {
      display: inline-block;
    }
    .pc\:u-display-block {
      display: block;
    }
    .pc\:u-width-auto {
      width: auto;
    }
    .pc\:u-min-width-auto {
      min-width: auto;
    }
    .pc\:u-max-width-auto {
      max-width: auto;
    }
    .pc\:u-height-auto {
      height: auto;
    }
    .pc\:u-min-height-auto {
      min-height: auto;
    }
    .pc\:u-max-height-auto {
      max-height: auto;
    }
    .pc\:u-width-full {
      width: 100%;
    }
    .pc\:u-min-width-full {
      min-width: 100%;
    }
    .pc\:u-max-width-full {
      max-width: 100%;
    }
    .pc\:u-height-full {
      height: 100%;
    }
    .pc\:u-min-height-full {
      min-height: 100%;
    }
    .pc\:u-max-height-full {
      max-height: 100%;
    }
    .pc\:u-width-min {
      width: min-content;
    }
    .pc\:u-min-width-min {
      min-width: min-content;
    }
    .pc\:u-max-width-min {
      max-width: min-content;
    }
    .pc\:u-height-min {
      height: min-content;
    }
    .pc\:u-min-height-min {
      min-height: min-content;
    }
    .pc\:u-max-height-min {
      max-height: min-content;
    }
    .pc\:u-width-max {
      width: max-content;
    }
    .pc\:u-min-width-max {
      min-width: max-content;
    }
    .pc\:u-max-width-max {
      max-width: max-content;
    }
    .pc\:u-height-max {
      height: max-content;
    }
    .pc\:u-min-height-max {
      min-height: max-content;
    }
    .pc\:u-max-height-max {
      max-height: max-content;
    }
    .pc\:u-width-fit {
      width: fit-content;
    }
    .pc\:u-min-width-fit {
      min-width: fit-content;
    }
    .pc\:u-max-width-fit {
      max-width: fit-content;
    }
    .pc\:u-height-fit {
      height: fit-content;
    }
    .pc\:u-min-height-fit {
      min-height: fit-content;
    }
    .pc\:u-max-height-fit {
      max-height: fit-content;
    }
    .pc\:u-width-10per {
      width: 10%;
    }
    .pc\:u-min-width-10per {
      min-width: 10%;
    }
    .pc\:u-max-width-10per {
      max-width: 10%;
    }
    .pc\:u-height-10per {
      height: 10%;
    }
    .pc\:u-min-height-10per {
      min-height: 10%;
    }
    .pc\:u-max-height-10per {
      max-height: 10%;
    }
    .pc\:u-width-15per {
      width: 15%;
    }
    .pc\:u-min-width-15per {
      min-width: 15%;
    }
    .pc\:u-max-width-15per {
      max-width: 15%;
    }
    .pc\:u-height-15per {
      height: 15%;
    }
    .pc\:u-min-height-15per {
      min-height: 15%;
    }
    .pc\:u-max-height-15per {
      max-height: 15%;
    }
    .pc\:u-width-20per {
      width: 20%;
    }
    .pc\:u-min-width-20per {
      min-width: 20%;
    }
    .pc\:u-max-width-20per {
      max-width: 20%;
    }
    .pc\:u-height-20per {
      height: 20%;
    }
    .pc\:u-min-height-20per {
      min-height: 20%;
    }
    .pc\:u-max-height-20per {
      max-height: 20%;
    }
    .pc\:u-width-25per {
      width: 25%;
    }
    .pc\:u-min-width-25per {
      min-width: 25%;
    }
    .pc\:u-max-width-25per {
      max-width: 25%;
    }
    .pc\:u-height-25per {
      height: 25%;
    }
    .pc\:u-min-height-25per {
      min-height: 25%;
    }
    .pc\:u-max-height-25per {
      max-height: 25%;
    }
    .pc\:u-width-30per {
      width: 30%;
    }
    .pc\:u-min-width-30per {
      min-width: 30%;
    }
    .pc\:u-max-width-30per {
      max-width: 30%;
    }
    .pc\:u-height-30per {
      height: 30%;
    }
    .pc\:u-min-height-30per {
      min-height: 30%;
    }
    .pc\:u-max-height-30per {
      max-height: 30%;
    }
    .pc\:u-width-40per {
      width: 40%;
    }
    .pc\:u-min-width-40per {
      min-width: 40%;
    }
    .pc\:u-max-width-40per {
      max-width: 40%;
    }
    .pc\:u-height-40per {
      height: 40%;
    }
    .pc\:u-min-height-40per {
      min-height: 40%;
    }
    .pc\:u-max-height-40per {
      max-height: 40%;
    }
    .pc\:u-width-50per {
      width: 50%;
    }
    .pc\:u-min-width-50per {
      min-width: 50%;
    }
    .pc\:u-max-width-50per {
      max-width: 50%;
    }
    .pc\:u-height-50per {
      height: 50%;
    }
    .pc\:u-min-height-50per {
      min-height: 50%;
    }
    .pc\:u-max-height-50per {
      max-height: 50%;
    }
    .pc\:u-width-60per {
      width: 60%;
    }
    .pc\:u-min-width-60per {
      min-width: 60%;
    }
    .pc\:u-max-width-60per {
      max-width: 60%;
    }
    .pc\:u-height-60per {
      height: 60%;
    }
    .pc\:u-min-height-60per {
      min-height: 60%;
    }
    .pc\:u-max-height-60per {
      max-height: 60%;
    }
    .pc\:u-width-70per {
      width: 70%;
    }
    .pc\:u-min-width-70per {
      min-width: 70%;
    }
    .pc\:u-max-width-70per {
      max-width: 70%;
    }
    .pc\:u-height-70per {
      height: 70%;
    }
    .pc\:u-min-height-70per {
      min-height: 70%;
    }
    .pc\:u-max-height-70per {
      max-height: 70%;
    }
    .pc\:u-width-80per {
      width: 80%;
    }
    .pc\:u-min-width-80per {
      min-width: 80%;
    }
    .pc\:u-max-width-80per {
      max-width: 80%;
    }
    .pc\:u-height-80per {
      height: 80%;
    }
    .pc\:u-min-height-80per {
      min-height: 80%;
    }
    .pc\:u-max-height-80per {
      max-height: 80%;
    }
    .pc\:u-width-90per {
      width: 90%;
    }
    .pc\:u-min-width-90per {
      min-width: 90%;
    }
    .pc\:u-max-width-90per {
      max-width: 90%;
    }
    .pc\:u-height-90per {
      height: 90%;
    }
    .pc\:u-min-height-90per {
      min-height: 90%;
    }
    .pc\:u-max-height-90per {
      max-height: 90%;
    }
    .pc\:u-width-100 {
      width: 100px;
    }
    .pc\:u-min-width-100 {
      min-width: 100px;
    }
    .pc\:u-max-width-100 {
      max-width: 100px;
    }
    .pc\:u-height-100 {
      height: 100px;
    }
    .pc\:u-min-height-100 {
      min-height: 100px;
    }
    .pc\:u-max-height-100 {
      max-height: 100px;
    }
    .pc\:u-width-200 {
      width: 200px;
    }
    .pc\:u-min-width-200 {
      min-width: 200px;
    }
    .pc\:u-max-width-200 {
      max-width: 200px;
    }
    .pc\:u-height-200 {
      height: 200px;
    }
    .pc\:u-min-height-200 {
      min-height: 200px;
    }
    .pc\:u-max-height-200 {
      max-height: 200px;
    }
    .pc\:u-width-300 {
      width: 300px;
    }
    .pc\:u-min-width-300 {
      min-width: 300px;
    }
    .pc\:u-max-width-300 {
      max-width: 300px;
    }
    .pc\:u-height-300 {
      height: 300px;
    }
    .pc\:u-min-height-300 {
      min-height: 300px;
    }
    .pc\:u-max-height-300 {
      max-height: 300px;
    }
    .pc\:u-width-400 {
      width: 400px;
    }
    .pc\:u-min-width-400 {
      min-width: 400px;
    }
    .pc\:u-max-width-400 {
      max-width: 400px;
    }
    .pc\:u-height-400 {
      height: 400px;
    }
    .pc\:u-min-height-400 {
      min-height: 400px;
    }
    .pc\:u-max-height-400 {
      max-height: 400px;
    }
    .pc\:u-width-500 {
      width: 500px;
    }
    .pc\:u-min-width-500 {
      min-width: 500px;
    }
    .pc\:u-max-width-500 {
      max-width: 500px;
    }
    .pc\:u-height-500 {
      height: 500px;
    }
    .pc\:u-min-height-500 {
      min-height: 500px;
    }
    .pc\:u-max-height-500 {
      max-height: 500px;
    }
    .pc\:u-width-600 {
      width: 600px;
    }
    .pc\:u-min-width-600 {
      min-width: 600px;
    }
    .pc\:u-max-width-600 {
      max-width: 600px;
    }
    .pc\:u-height-600 {
      height: 600px;
    }
    .pc\:u-min-height-600 {
      min-height: 600px;
    }
    .pc\:u-max-height-600 {
      max-height: 600px;
    }
    .pc\:u-width-700 {
      width: 700px;
    }
    .pc\:u-min-width-700 {
      min-width: 700px;
    }
    .pc\:u-max-width-700 {
      max-width: 700px;
    }
    .pc\:u-height-700 {
      height: 700px;
    }
    .pc\:u-min-height-700 {
      min-height: 700px;
    }
    .pc\:u-max-height-700 {
      max-height: 700px;
    }
    .pc\:u-width-800 {
      width: 800px;
    }
    .pc\:u-min-width-800 {
      min-width: 800px;
    }
    .pc\:u-max-width-800 {
      max-width: 800px;
    }
    .pc\:u-height-800 {
      height: 800px;
    }
    .pc\:u-min-height-800 {
      min-height: 800px;
    }
    .pc\:u-max-height-800 {
      max-height: 800px;
    }
    .pc\:u-width-900 {
      width: 900px;
    }
    .pc\:u-min-width-900 {
      min-width: 900px;
    }
    .pc\:u-max-width-900 {
      max-width: 900px;
    }
    .pc\:u-height-900 {
      height: 900px;
    }
    .pc\:u-min-height-900 {
      min-height: 900px;
    }
    .pc\:u-max-height-900 {
      max-height: 900px;
    }
    .pc\:u-width-1000 {
      width: 1000px;
    }
    .pc\:u-min-width-1000 {
      min-width: 1000px;
    }
    .pc\:u-max-width-1000 {
      max-width: 1000px;
    }
    .pc\:u-height-1000 {
      height: 1000px;
    }
    .pc\:u-min-height-1000 {
      min-height: 1000px;
    }
    .pc\:u-max-height-1000 {
      max-height: 1000px;
    }
    .pc\:u-m-0 {
      margin: 0;
    }
    .pc\:u-mt-0 {
      margin-block-start: 0;
    }
    .pc\:u-mr-0 {
      margin-inline-end: 0;
    }
    .pc\:u-mb-0 {
      margin-block-end: 0;
    }
    .pc\:u-ml-0 {
      margin-inline-start: 0;
    }
    .pc\:u-mx-0 {
      margin-inline: 0;
    }
    .pc\:u-my-0 {
      margin-block: 0;
    }
    .pc\:u-m-4 {
      margin: 4px;
    }
    .pc\:u-mt-4 {
      margin-block-start: 4px;
    }
    .pc\:u-mr-4 {
      margin-inline-end: 4px;
    }
    .pc\:u-mb-4 {
      margin-block-end: 4px;
    }
    .pc\:u-ml-4 {
      margin-inline-start: 4px;
    }
    .pc\:u-mx-4 {
      margin-inline: 4px;
    }
    .pc\:u-my-4 {
      margin-block: 4px;
    }
    .pc\:u-m-8 {
      margin: 8px;
    }
    .pc\:u-mt-8 {
      margin-block-start: 8px;
    }
    .pc\:u-mr-8 {
      margin-inline-end: 8px;
    }
    .pc\:u-mb-8 {
      margin-block-end: 8px;
    }
    .pc\:u-ml-8 {
      margin-inline-start: 8px;
    }
    .pc\:u-mx-8 {
      margin-inline: 8px;
    }
    .pc\:u-my-8 {
      margin-block: 8px;
    }
    .pc\:u-m-12 {
      margin: 12px;
    }
    .pc\:u-mt-12 {
      margin-block-start: 12px;
    }
    .pc\:u-mr-12 {
      margin-inline-end: 12px;
    }
    .pc\:u-mb-12 {
      margin-block-end: 12px;
    }
    .pc\:u-ml-12 {
      margin-inline-start: 12px;
    }
    .pc\:u-mx-12 {
      margin-inline: 12px;
    }
    .pc\:u-my-12 {
      margin-block: 12px;
    }
    .pc\:u-m-16 {
      margin: 16px;
    }
    .pc\:u-mt-16 {
      margin-block-start: 16px;
    }
    .pc\:u-mr-16 {
      margin-inline-end: 16px;
    }
    .pc\:u-mb-16 {
      margin-block-end: 16px;
    }
    .pc\:u-ml-16 {
      margin-inline-start: 16px;
    }
    .pc\:u-mx-16 {
      margin-inline: 16px;
    }
    .pc\:u-my-16 {
      margin-block: 16px;
    }
    .pc\:u-m-20 {
      margin: 20px;
    }
    .pc\:u-mt-20 {
      margin-block-start: 20px;
    }
    .pc\:u-mr-20 {
      margin-inline-end: 20px;
    }
    .pc\:u-mb-20 {
      margin-block-end: 20px;
    }
    .pc\:u-ml-20 {
      margin-inline-start: 20px;
    }
    .pc\:u-mx-20 {
      margin-inline: 20px;
    }
    .pc\:u-my-20 {
      margin-block: 20px;
    }
    .pc\:u-m-24 {
      margin: 24px;
    }
    .pc\:u-mt-24 {
      margin-block-start: 24px;
    }
    .pc\:u-mr-24 {
      margin-inline-end: 24px;
    }
    .pc\:u-mb-24 {
      margin-block-end: 24px;
    }
    .pc\:u-ml-24 {
      margin-inline-start: 24px;
    }
    .pc\:u-mx-24 {
      margin-inline: 24px;
    }
    .pc\:u-my-24 {
      margin-block: 24px;
    }
    .pc\:u-m-32 {
      margin: 32px;
    }
    .pc\:u-mt-32 {
      margin-block-start: 32px;
    }
    .pc\:u-mr-32 {
      margin-inline-end: 32px;
    }
    .pc\:u-mb-32 {
      margin-block-end: 32px;
    }
    .pc\:u-ml-32 {
      margin-inline-start: 32px;
    }
    .pc\:u-mx-32 {
      margin-inline: 32px;
    }
    .pc\:u-my-32 {
      margin-block: 32px;
    }
    .pc\:u-m-40 {
      margin: 40px;
    }
    .pc\:u-mt-40 {
      margin-block-start: 40px;
    }
    .pc\:u-mr-40 {
      margin-inline-end: 40px;
    }
    .pc\:u-mb-40 {
      margin-block-end: 40px;
    }
    .pc\:u-ml-40 {
      margin-inline-start: 40px;
    }
    .pc\:u-mx-40 {
      margin-inline: 40px;
    }
    .pc\:u-my-40 {
      margin-block: 40px;
    }
    .pc\:u-m-48 {
      margin: 48px;
    }
    .pc\:u-mt-48 {
      margin-block-start: 48px;
    }
    .pc\:u-mr-48 {
      margin-inline-end: 48px;
    }
    .pc\:u-mb-48 {
      margin-block-end: 48px;
    }
    .pc\:u-ml-48 {
      margin-inline-start: 48px;
    }
    .pc\:u-mx-48 {
      margin-inline: 48px;
    }
    .pc\:u-my-48 {
      margin-block: 48px;
    }
    .pc\:u-m-56 {
      margin: 56px;
    }
    .pc\:u-mt-56 {
      margin-block-start: 56px;
    }
    .pc\:u-mr-56 {
      margin-inline-end: 56px;
    }
    .pc\:u-mb-56 {
      margin-block-end: 56px;
    }
    .pc\:u-ml-56 {
      margin-inline-start: 56px;
    }
    .pc\:u-mx-56 {
      margin-inline: 56px;
    }
    .pc\:u-my-56 {
      margin-block: 56px;
    }
    .pc\:u-m-64 {
      margin: 64px;
    }
    .pc\:u-mt-64 {
      margin-block-start: 64px;
    }
    .pc\:u-mr-64 {
      margin-inline-end: 64px;
    }
    .pc\:u-mb-64 {
      margin-block-end: 64px;
    }
    .pc\:u-ml-64 {
      margin-inline-start: 64px;
    }
    .pc\:u-mx-64 {
      margin-inline: 64px;
    }
    .pc\:u-my-64 {
      margin-block: 64px;
    }
    .pc\:u-m-72 {
      margin: 72px;
    }
    .pc\:u-mt-72 {
      margin-block-start: 72px;
    }
    .pc\:u-mr-72 {
      margin-inline-end: 72px;
    }
    .pc\:u-mb-72 {
      margin-block-end: 72px;
    }
    .pc\:u-ml-72 {
      margin-inline-start: 72px;
    }
    .pc\:u-mx-72 {
      margin-inline: 72px;
    }
    .pc\:u-my-72 {
      margin-block: 72px;
    }
    .pc\:u-m-80 {
      margin: 80px;
    }
    .pc\:u-mt-80 {
      margin-block-start: 80px;
    }
    .pc\:u-mr-80 {
      margin-inline-end: 80px;
    }
    .pc\:u-mb-80 {
      margin-block-end: 80px;
    }
    .pc\:u-ml-80 {
      margin-inline-start: 80px;
    }
    .pc\:u-mx-80 {
      margin-inline: 80px;
    }
    .pc\:u-my-80 {
      margin-block: 80px;
    }
    .pc\:u-m-160 {
      margin: 160px;
    }
    .pc\:u-mt-160 {
      margin-block-start: 160px;
    }
    .pc\:u-mr-160 {
      margin-inline-end: 160px;
    }
    .pc\:u-mb-160 {
      margin-block-end: 160px;
    }
    .pc\:u-ml-160 {
      margin-inline-start: 160px;
    }
    .pc\:u-mx-160 {
      margin-inline: 160px;
    }
    .pc\:u-my-160 {
      margin-block: 160px;
    }
    .pc\:u-mr-auto {
      margin-inline-end: auto;
    }
    .pc\:u-ml-auto {
      margin-inline-start: auto;
    }
    .pc\:u-mx-auto {
      margin-inline: auto;
    }
    .pc\:u-p-0 {
      padding: 0;
    }
    .pc\:u-pt-0 {
      padding-block-start: 0;
    }
    .pc\:u-pr-0 {
      padding-inline-end: 0;
    }
    .pc\:u-pb-0 {
      padding-block-end: 0;
    }
    .pc\:u-pl-0 {
      padding-inline-start: 0;
    }
    .pc\:u-px-0 {
      padding-inline: 0;
    }
    .pc\:u-py-0 {
      padding-block: 0;
    }
    .pc\:u-p-4 {
      padding: 4px;
    }
    .pc\:u-pt-4 {
      padding-block-start: 4px;
    }
    .pc\:u-pr-4 {
      padding-inline-end: 4px;
    }
    .pc\:u-pb-4 {
      padding-block-end: 4px;
    }
    .pc\:u-pl-4 {
      padding-inline-start: 4px;
    }
    .pc\:u-px-4 {
      padding-inline: 4px;
    }
    .pc\:u-py-4 {
      padding-block: 4px;
    }
    .pc\:u-p-8 {
      padding: 8px;
    }
    .pc\:u-pt-8 {
      padding-block-start: 8px;
    }
    .pc\:u-pr-8 {
      padding-inline-end: 8px;
    }
    .pc\:u-pb-8 {
      padding-block-end: 8px;
    }
    .pc\:u-pl-8 {
      padding-inline-start: 8px;
    }
    .pc\:u-px-8 {
      padding-inline: 8px;
    }
    .pc\:u-py-8 {
      padding-block: 8px;
    }
    .pc\:u-p-12 {
      padding: 12px;
    }
    .pc\:u-pt-12 {
      padding-block-start: 12px;
    }
    .pc\:u-pr-12 {
      padding-inline-end: 12px;
    }
    .pc\:u-pb-12 {
      padding-block-end: 12px;
    }
    .pc\:u-pl-12 {
      padding-inline-start: 12px;
    }
    .pc\:u-px-12 {
      padding-inline: 12px;
    }
    .pc\:u-py-12 {
      padding-block: 12px;
    }
    .pc\:u-p-16 {
      padding: 16px;
    }
    .pc\:u-pt-16 {
      padding-block-start: 16px;
    }
    .pc\:u-pr-16 {
      padding-inline-end: 16px;
    }
    .pc\:u-pb-16 {
      padding-block-end: 16px;
    }
    .pc\:u-pl-16 {
      padding-inline-start: 16px;
    }
    .pc\:u-px-16 {
      padding-inline: 16px;
    }
    .pc\:u-py-16 {
      padding-block: 16px;
    }
    .pc\:u-p-20 {
      padding: 20px;
    }
    .pc\:u-pt-20 {
      padding-block-start: 20px;
    }
    .pc\:u-pr-20 {
      padding-inline-end: 20px;
    }
    .pc\:u-pb-20 {
      padding-block-end: 20px;
    }
    .pc\:u-pl-20 {
      padding-inline-start: 20px;
    }
    .pc\:u-px-20 {
      padding-inline: 20px;
    }
    .pc\:u-py-20 {
      padding-block: 20px;
    }
    .pc\:u-p-24 {
      padding: 24px;
    }
    .pc\:u-pt-24 {
      padding-block-start: 24px;
    }
    .pc\:u-pr-24 {
      padding-inline-end: 24px;
    }
    .pc\:u-pb-24 {
      padding-block-end: 24px;
    }
    .pc\:u-pl-24 {
      padding-inline-start: 24px;
    }
    .pc\:u-px-24 {
      padding-inline: 24px;
    }
    .pc\:u-py-24 {
      padding-block: 24px;
    }
    .pc\:u-p-32 {
      padding: 32px;
    }
    .pc\:u-pt-32 {
      padding-block-start: 32px;
    }
    .pc\:u-pr-32 {
      padding-inline-end: 32px;
    }
    .pc\:u-pb-32 {
      padding-block-end: 32px;
    }
    .pc\:u-pl-32 {
      padding-inline-start: 32px;
    }
    .pc\:u-px-32 {
      padding-inline: 32px;
    }
    .pc\:u-py-32 {
      padding-block: 32px;
    }
    .pc\:u-p-40 {
      padding: 40px;
    }
    .pc\:u-pt-40 {
      padding-block-start: 40px;
    }
    .pc\:u-pr-40 {
      padding-inline-end: 40px;
    }
    .pc\:u-pb-40 {
      padding-block-end: 40px;
    }
    .pc\:u-pl-40 {
      padding-inline-start: 40px;
    }
    .pc\:u-px-40 {
      padding-inline: 40px;
    }
    .pc\:u-py-40 {
      padding-block: 40px;
    }
    .pc\:u-p-48 {
      padding: 48px;
    }
    .pc\:u-pt-48 {
      padding-block-start: 48px;
    }
    .pc\:u-pr-48 {
      padding-inline-end: 48px;
    }
    .pc\:u-pb-48 {
      padding-block-end: 48px;
    }
    .pc\:u-pl-48 {
      padding-inline-start: 48px;
    }
    .pc\:u-px-48 {
      padding-inline: 48px;
    }
    .pc\:u-py-48 {
      padding-block: 48px;
    }
    .pc\:u-p-56 {
      padding: 56px;
    }
    .pc\:u-pt-56 {
      padding-block-start: 56px;
    }
    .pc\:u-pr-56 {
      padding-inline-end: 56px;
    }
    .pc\:u-pb-56 {
      padding-block-end: 56px;
    }
    .pc\:u-pl-56 {
      padding-inline-start: 56px;
    }
    .pc\:u-px-56 {
      padding-inline: 56px;
    }
    .pc\:u-py-56 {
      padding-block: 56px;
    }
    .pc\:u-p-64 {
      padding: 64px;
    }
    .pc\:u-pt-64 {
      padding-block-start: 64px;
    }
    .pc\:u-pr-64 {
      padding-inline-end: 64px;
    }
    .pc\:u-pb-64 {
      padding-block-end: 64px;
    }
    .pc\:u-pl-64 {
      padding-inline-start: 64px;
    }
    .pc\:u-px-64 {
      padding-inline: 64px;
    }
    .pc\:u-py-64 {
      padding-block: 64px;
    }
    .pc\:u-p-72 {
      padding: 72px;
    }
    .pc\:u-pt-72 {
      padding-block-start: 72px;
    }
    .pc\:u-pr-72 {
      padding-inline-end: 72px;
    }
    .pc\:u-pb-72 {
      padding-block-end: 72px;
    }
    .pc\:u-pl-72 {
      padding-inline-start: 72px;
    }
    .pc\:u-px-72 {
      padding-inline: 72px;
    }
    .pc\:u-py-72 {
      padding-block: 72px;
    }
    .pc\:u-p-80 {
      padding: 80px;
    }
    .pc\:u-pt-80 {
      padding-block-start: 80px;
    }
    .pc\:u-pr-80 {
      padding-inline-end: 80px;
    }
    .pc\:u-pb-80 {
      padding-block-end: 80px;
    }
    .pc\:u-pl-80 {
      padding-inline-start: 80px;
    }
    .pc\:u-px-80 {
      padding-inline: 80px;
    }
    .pc\:u-py-80 {
      padding-block: 80px;
    }
    .pc\:u-p-160 {
      padding: 160px;
    }
    .pc\:u-pt-160 {
      padding-block-start: 160px;
    }
    .pc\:u-pr-160 {
      padding-inline-end: 160px;
    }
    .pc\:u-pb-160 {
      padding-block-end: 160px;
    }
    .pc\:u-pl-160 {
      padding-inline-start: 160px;
    }
    .pc\:u-px-160 {
      padding-inline: 160px;
    }
    .pc\:u-py-160 {
      padding-block: 160px;
    }
    .pc\:u-grid {
      display: grid;
    }
    .pc\:u-grid-cols-1 {
      grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    .pc\:u-grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .pc\:u-grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .pc\:u-grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .pc\:u-grid-cols-none {
      grid-template-columns: none;
    }
    .pc\:u-grid-cols-subgrid {
      grid-template-columns: subgrid;
    }
    .pc\:u-grid-rows-1 {
      grid-template-rows: repeat(1, minmax(0, 1fr));
    }
    .pc\:u-grid-rows-2 {
      grid-template-rows: repeat(2, minmax(0, 1fr));
    }
    .pc\:u-grid-rows-3 {
      grid-template-rows: repeat(3, minmax(0, 1fr));
    }
    .pc\:u-grid-rows-4 {
      grid-template-rows: repeat(4, minmax(0, 1fr));
    }
    .pc\:u-grid-rows-none {
      grid-template-rows: none;
    }
    .pc\:u-grid-rows-subgrid {
      grid-template-rows: subgrid;
    }
    .pc\:u-grid-flow-row {
      grid-auto-flow: row;
    }
    .pc\:u-grid-flow-column {
      grid-auto-flow: column;
    }
    .pc\:u-auto-cols-auto {
      grid-auto-columns: auto;
    }
    .pc\:u-auto-cols-min {
      grid-auto-columns: min-content;
    }
    .pc\:u-auto-cols-max {
      grid-auto-columns: max-content;
    }
    .pc\:u-auto-cols-fr {
      grid-auto-columns: minmax(0, 1fr);
    }
    .pc\:u-auto-rows-auto {
      grid-auto-rows: auto;
    }
    .pc\:u-auto-rows-min {
      grid-auto-rows: min-content;
    }
    .pc\:u-auto-rows-max {
      grid-auto-rows: max-content;
    }
    .pc\:u-auto-rows-fr {
      grid-auto-rows: minmax(0, 1fr);
    }
    .pc\:u-col-span-1 {
      grid-column: span 1/span 1;
    }
    .pc\:u-col-start-1 {
      grid-column-start: 1;
    }
    .pc\:u-col-span-2 {
      grid-column: span 2/span 2;
    }
    .pc\:u-col-start-2 {
      grid-column-start: 2;
    }
    .pc\:u-col-span-3 {
      grid-column: span 3/span 3;
    }
    .pc\:u-col-start-3 {
      grid-column-start: 3;
    }
    .pc\:u-col-span-4 {
      grid-column: span 4/span 4;
    }
    .pc\:u-col-start-4 {
      grid-column-start: 4;
    }
    .pc\:u-col-span-auto {
      grid-column: auto;
    }
    .pc\:u-col-span-full {
      grid-column: 1/-1;
    }
    .pc\:u-row-span-1 {
      grid-row: span 1/span 1;
    }
    .pc\:u-row-start-1 {
      grid-row-start: 1;
    }
    .pc\:u-row-span-2 {
      grid-row: span 2/span 2;
    }
    .pc\:u-row-start-2 {
      grid-row-start: 2;
    }
    .pc\:u-row-span-3 {
      grid-row: span 3/span 3;
    }
    .pc\:u-row-start-3 {
      grid-row-start: 3;
    }
    .pc\:u-row-span-4 {
      grid-row: span 4/span 4;
    }
    .pc\:u-row-start-4 {
      grid-row-start: 4;
    }
    .pc\:u-row-span-5 {
      grid-row: span 5/span 5;
    }
    .pc\:u-row-start-5 {
      grid-row-start: 5;
    }
    .pc\:u-row-span-6 {
      grid-row: span 6/span 6;
    }
    .pc\:u-row-start-6 {
      grid-row-start: 6;
    }
    .pc\:u-row-span-auto {
      grid-row: auto;
    }
    .pc\:u-row-span-full {
      grid-row: 1/-1;
    }
    .pc\:u-gap-0 {
      gap: 0;
    }
    .pc\:u-gap-x-0 {
      column-gap: 0;
    }
    .pc\:u-gap-y-0 {
      row-gap: 0;
    }
    .pc\:u-gap-4 {
      gap: 4px;
    }
    .pc\:u-gap-x-4 {
      column-gap: 4px;
    }
    .pc\:u-gap-y-4 {
      row-gap: 4px;
    }
    .pc\:u-gap-8 {
      gap: 8px;
    }
    .pc\:u-gap-x-8 {
      column-gap: 8px;
    }
    .pc\:u-gap-y-8 {
      row-gap: 8px;
    }
    .pc\:u-gap-12 {
      gap: 12px;
    }
    .pc\:u-gap-x-12 {
      column-gap: 12px;
    }
    .pc\:u-gap-y-12 {
      row-gap: 12px;
    }
    .pc\:u-gap-16 {
      gap: 16px;
    }
    .pc\:u-gap-x-16 {
      column-gap: 16px;
    }
    .pc\:u-gap-y-16 {
      row-gap: 16px;
    }
    .pc\:u-gap-24 {
      gap: 24px;
    }
    .pc\:u-gap-x-24 {
      column-gap: 24px;
    }
    .pc\:u-gap-y-24 {
      row-gap: 24px;
    }
    .pc\:u-gap-32 {
      gap: 32px;
    }
    .pc\:u-gap-x-32 {
      column-gap: 32px;
    }
    .pc\:u-gap-y-32 {
      row-gap: 32px;
    }
    .pc\:u-gap-40 {
      gap: 40px;
    }
    .pc\:u-gap-x-40 {
      column-gap: 40px;
    }
    .pc\:u-gap-y-40 {
      row-gap: 40px;
    }
    .pc\:u-gap-48 {
      gap: 48px;
    }
    .pc\:u-gap-x-48 {
      column-gap: 48px;
    }
    .pc\:u-gap-y-48 {
      row-gap: 48px;
    }
    .pc\:u-gap-56 {
      gap: 56px;
    }
    .pc\:u-gap-x-56 {
      column-gap: 56px;
    }
    .pc\:u-gap-y-56 {
      row-gap: 56px;
    }
    .pc\:u-gap-80 {
      gap: 80px;
    }
    .pc\:u-gap-x-80 {
      column-gap: 80px;
    }
    .pc\:u-gap-y-80 {
      row-gap: 80px;
    }
    .pc\:u-gap-112 {
      gap: 112px;
    }
    .pc\:u-gap-x-112 {
      column-gap: 112px;
    }
    .pc\:u-gap-y-112 {
      row-gap: 112px;
    }
    .pc\:u-justify-content-normal {
      justify-content: normal;
    }
    .pc\:u-justify-content-start {
      justify-content: flex-start;
    }
    .pc\:u-justify-content-end {
      justify-content: flex-end;
    }
    .pc\:u-justify-content-center {
      justify-content: center;
    }
    .pc\:u-justify-content-between {
      justify-content: space-between;
    }
    .pc\:u-justify-content-around {
      justify-content: space-around;
    }
    .pc\:u-justify-content-evenly {
      justify-content: space-evenly;
    }
    .pc\:u-justify-content-stretch {
      justify-content: stretch;
    }
    .pc\:u-justify-items-start {
      justify-items: start;
    }
    .pc\:u-justify-items-end {
      justify-items: end;
    }
    .pc\:u-justify-items-center {
      justify-items: center;
    }
    .pc\:u-justify-items-stretch {
      justify-items: stretch;
    }
    .pc\:u-align-content-normal {
      align-content: normal;
    }
    .pc\:u-align-content-center {
      align-content: center;
    }
    .pc\:u-align-content-start {
      align-content: flex-start;
    }
    .pc\:u-align-content-between {
      align-content: space-between;
    }
    .pc\:u-align-content-around {
      align-content: space-around;
    }
    .pc\:u-align-content-evenly {
      align-content: space-evenly;
    }
    .pc\:u-align-content-baseline {
      align-content: baseline;
    }
    .pc\:u-align-content-stretch {
      align-content: stretch;
    }
    .pc\:u-align-items-start {
      align-items: flex-start;
    }
    .pc\:u-align-items-end {
      align-items: flex-end;
    }
    .pc\:u-align-items-center {
      align-items: center;
    }
    .pc\:u-align-items-baseline {
      align-items: baseline;
    }
    .pc\:u-align-items-stretch {
      align-items: stretch;
    }
    .pc\:u-flex {
      display: flex;
    }
    .pc\:u-inline-flex {
      display: inline-flex;
    }
    .pc\:u-flex-row {
      flex-direction: row;
    }
    .pc\:u-flex-row-reverse {
      flex-direction: row-reverse;
    }
    .pc\:u-flex-col {
      flex-direction: column;
    }
    .pc\:u-flex-col-reverse {
      flex-direction: column-reverse;
    }
    .pc\:u-flex-wrap {
      flex-wrap: wrap;
    }
    .pc\:u-flex-wrap-reverse {
      flex-wrap: wrap-reverse;
    }
    .pc\:u-flex-nowrap {
      flex-wrap: nowrap;
    }
    .pc\:u-flex-1 {
      flex: 1 1 0%;
    }
    .pc\:u-flex-auto {
      flex: 1 1 auto;
    }
    .pc\:u-flex-initial {
      flex: 0 1 auto;
    }
    .pc\:u-flex-none {
      flex: none;
    }
    .pc\:u-grow {
      flex-grow: 1;
    }
    .pc\:u-grow-0 {
      flex-grow: 0;
    }
    .pc\:u-shrink {
      flex-shrink: 1;
    }
    .pc\:u-shrink-0 {
      flex-shrink: 0;
    }
    .pc\:u-line-height-sm {
      line-height: 1.2;
    }
    .pc\:u-line-height-md {
      line-height: 1.5;
    }
    .pc\:u-line-height-lg {
      line-height: 1.8;
    }
  }
}
@media (min-width: 1260px){
  @layer layout{
    .l-footer {
      margin-inline: -7% -10%;
    }
  }
}
@media (min-width: 1480px){
  @layer project{
    .p-bd-support::before, .p-bd-support::after {
      display: block;
      position: absolute;
      width: 120px;
      height: 264px;
      background-color: var(--main-color);
      content: "";
      mask-image: url(/assets/img/common/ico_spice.svg);
      mask-repeat: no-repeat;
      mask-size: contain;
    }
    .p-bd-support::before {
      top: 20%;
      right: 0;
    }
    .p-bd-support::after {
      top: 50%;
      left: 0;
    }
  }
}
@media (max-width: 1023px){
  @layer wordpress{
    .fsb-flexible-spacer__device--lg,
    .fsb-flexible-spacer__device--sm {
      display: none;
    }
  }
  @layer project{
    .p-tp-heading--with-search .p-search__ttl {
      font-size: 1rem;
    }
    .p-tp-heading--with-search .p-search .c-searchbox {
      grid-template-columns: 1fr 55px;
    }
    .p-tp-heading--with-search .p-search .c-searchbox__input {
      font-size: 0.875rem;
    }
    .p-tp-heading--with-search .p-search .c-searchbox__btn::before {
      width: 20px;
      height: 20px;
    }
  }
}
@media (max-width: 781px){
  @layer wordpress{
    .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
      flex-basis: 100% !important;
    }
  }
}
@media (max-width: 768px){
  @layer project{
    .p-tp-heading--with-search {
      display: block;
    }
    .p-tp-heading--with-search__search {
      margin-block-start: 20px;
    }
    .p-tp-heading--with-search .p-search {
      display: block;
    }
    .p-tp-heading--with-search .p-search__body {
      margin-block-start: 16px;
    }
  }
}
@media (max-width: 767px){
  @layer wordpress{
    .wp-block-flexible-table-block-table.is-scroll-on-mobile {
      overflow-x: scroll;
    }
    .wp-block-flexible-table-block-table.is-scroll-on-mobile table {
      align-self: self-start;
      max-width: none;
    }
    .wp-block-flexible-table-block-table table.is-stacked-on-mobile th,
    .wp-block-flexible-table-block-table table.is-stacked-on-mobile td {
      display: block;
      width: 100% !important;
    }
    .fsb-flexible-spacer__device--lg,
    .fsb-flexible-spacer__device--md {
      display: none;
    }
    .fsb-flexible-spacer__device--sm {
      display: block;
    }
  }
  @layer layout{
    .l-entry-content .wp-block-columns {
      gap: 40px;
    }
    .l-entry-content .wp-block-columns.is-stacked-reverse-on-mobile.is-layout-flex {
      flex-direction: column-reverse;
    }
    .l-entry-content .wp-block-columns + .wp-block-media-text {
      margin-block-start: 32px;
    }
    .l-entry-content .wp-block-columns + .wp-block-columns {
      margin-block-start: 32px;
    }
    .l-entry-content .wp-block-table.is-stacked-on-mobile table, .l-entry-content .wp-block-table.is-stacked-on-mobile tbody, .l-entry-content .wp-block-table.is-stacked-on-mobile tr, .l-entry-content .wp-block-table.is-stacked-on-mobile th, .l-entry-content .wp-block-table.is-stacked-on-mobile td,
    .l-entry-content .wp-block-flexible-table-block-table.is-stacked-on-mobile table,
    .l-entry-content .wp-block-flexible-table-block-table.is-stacked-on-mobile tbody,
    .l-entry-content .wp-block-flexible-table-block-table.is-stacked-on-mobile tr,
    .l-entry-content .wp-block-flexible-table-block-table.is-stacked-on-mobile th,
    .l-entry-content .wp-block-flexible-table-block-table.is-stacked-on-mobile td {
      display: block;
      width: 100%;
    }
    .l-entry-content .wp-block-table.is-stacked-on-mobile th,
    .l-entry-content .wp-block-flexible-table-block-table.is-stacked-on-mobile th {
      padding: 16px;
      border-bottom: 1px solid var(--c-gray);
    }
    .l-entry-content .wp-block-table.is-stacked-on-mobile td,
    .l-entry-content .wp-block-flexible-table-block-table.is-stacked-on-mobile td {
      padding: 16px;
    }
  }
}
@media (max-width: 600px){
  @layer wordpress{
    html :where(.is-position-sticky) {
      /* stylelint-disable length-zero-no-unit -- 0px is set explicitly so that it can be used in a calc value. */
      --wp-admin--admin-bar--position-offset: 0px;
      /* stylelint-enable length-zero-no-unit */
    }
  }
  @layer wordpress{
    .wp-block-media-text.is-stacked-on-mobile {
      grid-template-columns: 100% !important;
    }
    .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__media {
      grid-row: 1;
      grid-column: 1;
    }
    .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__content {
      grid-row: 2;
      grid-column: 1;
    }
    .wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid {
      grid-template-columns: 1fr;
    }
  }
  @layer layout{
    .l-entry-content .wp-block-media-text {
      gap: 24px;
    }
    .l-entry-content .wp-block-media-text + .wp-block-media-text {
      margin-block-start: 32px;
    }
    .l-entry-content .wp-block-media-text + .wp-block-columns {
      margin-block-start: 32px;
    }
    .l-entry-content .wp-block-media-text.is-gray-box {
      padding-inline: 16px;
      padding-block: 24px;
    }
  }
}
@media (-ms-high-contrast: none){
  @layer reset{
    .splide__slide:focus-visible {
      border: 3px solid #0bf;
    }
    .splide.is-focus-in .splide__slide:focus {
      border: 3px solid #0bf;
    }
    .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
      border-color: #0bf;
    }
  }
}
@media (any-hover: hover){
  @layer reset{
    a:where(:any-link, :enabled, summary):hover {
      color: var(--main-color);
    }
    a:not([class]):has(img):where(:any-link, :enabled, summary):hover {
      opacity: 0.7;
      transition: opacity 0.3s;
    }
  }
  @layer layout{
    .l-gnav__link:where(:any-link, :enabled, summary):hover {
      color: var(--main-color);
    }
    .l-gnav__search:where(:any-link, :enabled, summary):hover {
      background-color: var(--main-color);
    }
    .l-snav__link:where(:any-link, :enabled, summary):hover {
      color: var(--main-color);
    }
    .l-snav__link-support:where(:any-link, :enabled, summary):hover {
      background-color: var(--main-color);
      color: var(--c-white);
    }
    .l-footer-pc-menu__link:where(:any-link, :enabled, summary):hover {
      color: var(--c-white);
    }
    .l-footer-pc-menu__link:where(:any-link, :enabled, summary):hover::before {
      transform: scaleX(1);
    }
    .l-footer-pc-menu__submenu > li a:where(:any-link, :enabled, summary):hover {
      color: var(--c-white);
    }
    .l-footer-pc-menu__submenu > li a:where(:any-link, :enabled, summary):hover::before {
      transform: scaleX(1);
    }
    .l-article__share a:where(:any-link, :enabled, summary):hover {
      opacity: 0.7;
    }
    .l-entry-content a:where(:any-link, :enabled, summary):hover {
      text-decoration: none;
    }
  }
  @layer component{
    .c-button--primary:where(:any-link, :enabled, summary):hover {
      background-position: 0 0;
      background-color: var(--c-white);
      color: var(--c-black);
    }
    .c-button--secondary:where(:any-link, :enabled, summary):hover {
      background-position: 0 0;
      background-color: var(--sub-color-light);
    }
    .c-button--action:where(:any-link, :enabled, summary):hover {
      border: 1px solid var(--main-color);
      background-position: 0 0;
      background-color: var(--main-color);
    }
    .c-button--action:has(.wp-block-button__link) .wp-block-button__link:where(:any-link, :enabled, summary):hover {
      border: 1px solid var(--c-black);
      background-position: 0 0;
      background-color: var(--c-black);
      color: var(--c-white);
    }
    .c-button--cta.--catalog:where(:any-link, :enabled, summary):hover {
      background-position: 0 0;
      background-color: var(--accent-color);
    }
    .c-button--cta.--contact:where(:any-link, :enabled, summary):hover {
      background-position: 0 0;
      background-color: var(--c-black);
    }
    .c-button--close:where(:any-link, :enabled, summary):hover {
      color: var(--main-color);
    }
    a.c-tag:where(:any-link, :enabled, summary):hover {
      border: 1px solid var(--main-color);
      background-color: var(--main-color);
      color: var(--c-white);
    }
    a.c-tag-text:where(:any-link, :enabled, summary):hover {
      color: var(--main-color);
      text-decoration: underline;
    }
    a:where(:any-link, :enabled, summary):hover .c-ico-square::before,
    a:where(:any-link, :enabled, summary):hover .c-ico-square--gray::before,
    a:where(:any-link, :enabled, summary):hover .c-ico-square--black::before,
    a:where(:any-link, :enabled, summary):hover .c-ico-square--arrow::before {
      animation-delay: 0s;
      animation-name: transformRightLeft; /* 修正: hover時のアニメーションを指定 */
    }
    a:where(:any-link, :enabled, summary):hover .c-ico-square::after,
    a:where(:any-link, :enabled, summary):hover .c-ico-square--gray::after,
    a:where(:any-link, :enabled, summary):hover .c-ico-square--black::after,
    a:where(:any-link, :enabled, summary):hover .c-ico-square--arrow::after {
      animation-delay: 0.2s;
      animation-name: transformLeftRight; /* 修正: hover時のアニメーションを指定 */
    }
    .c-link-line:where(:any-link, :enabled, summary):hover::before {
      transform: scaleX(1);
    }
    .c-link-multiline:where(:any-link, :enabled, summary):hover {
      background-size: 200% 1px;
    }
    .c-link-arrow:where(:any-link, :enabled, summary):hover {
      color: var(--main-color);
      text-decoration: underline;
    }
    .c-list-back li a:where(:any-link, :enabled, summary):hover {
      color: var(--main-color);
      text-decoration: underline;
    }
    .c-filterlist__button:where(:any-link, :enabled, summary):hover {
      background-color: var(--main-color);
      color: var(--c-white);
    }
    input[type=submit]:where(:any-link, :enabled, summary):hover {
      background-position: 0 0;
    }
  }
  @layer project{
    .p-megamenu__link-menu a:where(:any-link, :enabled, summary):hover::before {
      transform: scaleX(1);
    }
    .p-recording-menu__link:where(:any-link, :enabled, summary):hover .p-recording-menu__thumb img {
      transform: scale(1.05);
    }
    .l-footer-sp-nav .p-spmenu a:where(:any-link, :enabled, summary):hover {
      color: var(--c-white);
    }
    .p-spmenu-third--product__link:where(:any-link, :enabled, summary):hover > span::after {
      transform: scaleX(1);
    }
    .p-spmenu-other__link:where(:any-link, :enabled, summary):hover::before {
      transform: scaleX(1);
    }
    .l-footer .p-spmenu-other__link:where(:any-link, :enabled, summary):hover {
      color: var(--c-whtie);
    }
    .p-breadcrumbs a:where(:any-link, :enabled, summary):hover {
      color: var(--main-color);
    }
    .p-newslist__card:where(:any-link, :enabled, summary):hover .p-newslist__card-ttl {
      text-decoration: underline;
    }
    .p-newslist__card:where(:any-link, :enabled, summary):hover .p-newslist__card-thumb img {
      transform: scale(1.1);
    }
    .p-pagenav__item a:where(:any-link, :enabled, summary):hover {
      color: var(--main-color);
    }
    .p-pagination__item:where(:any-link, :enabled, summary):hover {
      border-color: var(--c-black);
      background-color: var(--c-black);
      color: var(--c-white);
    }
    .p-pagination__prev:where(:any-link, :enabled, summary):hover, .p-pagination__next:where(:any-link, :enabled, summary):hover {
      border-color: transparent;
      background-color: transparent;
    }
    .p-pagination__prev:where(:any-link, :enabled, summary):hover::before, .p-pagination__next:where(:any-link, :enabled, summary):hover::before {
      background-color: var(--main-color);
    }
    .p-card:where(:any-link, :enabled, summary):hover {
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    }
    .p-card:where(:any-link, :enabled, summary):hover .p-card__thumb img {
      transform: scale(1.05);
    }
    .p-card:has(a):hover .p-card__thumb img {
      transform: scale(1.05);
    }
    .p-card-lineup:where(:any-link, :enabled, summary):hover .p-card-lineup__thumb img {
      transform: scale(1.05);
    }
    .p-card-pd:where(:any-link, :enabled, summary):hover {
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    }
    .p-card-pd:where(:any-link, :enabled, summary):hover .p-card-pd__thumb img {
      transform: scale(1.05);
    }
    .p-card-pd02:where(:any-link, :enabled, summary):hover {
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    }
    .p-card-pd02:where(:any-link, :enabled, summary):hover .p-card-pd02__thumb img {
      transform: scale(1.05);
    }
    .p-card-pickup:where(:any-link, :enabled, summary):hover .p-card-pickup__thumb img {
      transform: scale(1.05);
    }
    .p-card-pickup:where(:any-link, :enabled, summary):hover .p-card-pickup__ttl {
      text-decoration: underline;
    }
    .p-card-service:where(:any-link, :enabled, summary):hover .p-card-service__thumb img {
      transform: scale(1.05);
    }
    .p-card-service:where(:any-link, :enabled, summary):hover .p-card-service__txt {
      text-decoration: underline;
    }
    .p-card-spec:where(:any-link, :enabled, summary):hover .p-card-spec__thumb img {
      transform: scale(1.05);
    }
    .p-card-download:where(:any-link, :enabled, summary):hover {
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    }
    .p-card-download:where(:any-link, :enabled, summary):hover .p-card-download__thumb img {
      transform: scale(1.05);
    }
    .p-card-download:where(:any-link, :enabled, summary):hover .c-button {
      background-position: 0 0;
      background-color: var(--c-white);
      color: var(--c-black);
    }
    .p-card-support:where(:any-link, :enabled, summary):hover {
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    }
    .p-card-support:where(:any-link, :enabled, summary):hover .p-card__thumb img {
      transform: scale(1.05);
    }
    .p-pickup-columns .p-card:where(:any-link, :enabled, summary):hover {
      box-shadow: none;
    }
    .p-important-info__txt a:where(:any-link, :enabled, summary):hover {
      background-size: 200% 1px;
    }
    .p-tab__button:where(:any-link, :enabled, summary):hover {
      opacity: 0.7;
    }
    .p-banner-motion-capture:where(:any-link, :enabled, summary):hover {
      background-color: rgba(0, 59, 168, 0.9);
    }
    .p-banner-motive__link:where(:any-link, :enabled, summary):hover .c-button--secondary {
      background-position: 0 0;
      background-color: var(--sub-color-light);
    }
    .p-list-pdlogo:where(:any-link, :enabled, summary):hover {
      box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
    }
    .p-block-cards-anchor__item:where(:any-link, :enabled, summary):hover {
      box-shadow: 0 0 10px rgba(29, 29, 29, 0.15);
    }
    .p-block-cards-anchor__item:where(:any-link, :enabled, summary):hover figure img {
      scale: 1.05;
    }
    #toc_container a:where(:any-link, :enabled, summary):hover:hover {
      text-decoration: underline;
    }
    .p-price-table .pd-link a:where(:any-link, :enabled, summary):hover {
      background-position: 0 0;
      background-color: var(--c-white);
      color: var(--c-black);
    }
    .p-price-nav__link:where(:any-link, :enabled, summary):hover {
      background-color: var(--c-black);
    }
    .p-subcategory__list a:where(:any-link, :enabled, summary):hover {
      text-decoration: underline;
    }
    .p-manual__nav-list li a:where(:any-link, :enabled, summary):hover {
      color: var(--main-color);
      text-decoration: underline;
    }
    .p-splide__controles .splide__arrow:where(:any-link, :enabled, summary):hover {
      background-color: var(--c-white);
      color: var(--c-black);
    }
    .p-tp-newstab__button:where(:any-link, :enabled, summary):hover {
      background-color: #0C4AB1;
      color: var(--c-white);
    }
    .p-user-summary__tag a:where(:any-link, :enabled, summary):hover {
      text-decoration: underline;
    }
    .p-bd-navSp__menu02 a:where(:any-link, :enabled, summary):hover {
      background-position: 0 0;
      background-color: var(--sub-color-light);
    }
    .p-bd-lineup__inner:where(:any-link, :enabled, summary):hover {
      box-shadow: 0 3px 6px rgba(0, 0, 0, 0.26);
    }
    .p-bd-lineup__inner:where(:any-link, :enabled, summary):hover .p-bd-lineup__thumb img {
      transform: scale(1.05);
    }
    .p-bd-cta__link:where(:any-link, :enabled, summary):hover {
      background-position: 0 0;
    }
    .p-bd-anchor a:where(:any-link, :enabled, summary):hover {
      color: var(--main-color);
      text-decoration: underline;
    }
    .p-bd-compare-table a:where(:any-link, :enabled, summary):hover {
      text-decoration: underline;
    }
    .p-studio-cta__link:where(:any-link, :enabled, summary):hover {
      background-position: 0 0;
    }
  }
}
@media (hover: hover){
  @layer wordpress{
    .wp-block-navigation .has-child:not(.open-on-click):hover > .wp-block-navigation__submenu-container {
      visibility: visible;
      width: auto;
      min-width: 200px;
      height: auto;
      overflow: visible;
      opacity: 1;
    }
  }
}
@media (hover: none){
  @layer wordpress{
    .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
      scrollbar-color: rgba(255, 255, 255, 0.8) transparent;
    }
  }
}
@media (min-resolution: 192dpi){
  @layer wordpress{
    :root {
      --wp-admin-border-width-focus: 1.5px;
    }
  }
}
@media (prefers-reduced-motion: no-preference){
  @layer wordpress{
    .wp-block-accordion-item {
      transition: grid-template-rows 0.3s ease-out;
    }
    .wp-block-accordion-item > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
      transition: transform 0.2s ease-in-out;
    }
  }
}
@media (prefers-reduced-motion: reduce){
  @layer wordpress{
    .wp-block-cover-image.has-parallax,
    .wp-block-cover.has-parallax,
    .wp-block-cover__image-background.has-parallax,
    video.wp-block-cover__video-background.has-parallax {
      background-attachment: scroll;
    }
  }
}
@media not (prefers-reduced-motion){
  @layer wordpress{
    .wp-block-image img.hide {
      visibility: hidden;
    }
    .wp-block-image img.show {
      animation: show-content-image 0.4s;
    }
    .wp-lightbox-container button {
      transition: opacity 0.2s ease;
    }
    .wp-lightbox-overlay.active {
      animation: both turn-on-visibility 0.25s;
    }
    .wp-lightbox-overlay.active img {
      animation: both turn-on-visibility 0.35s;
    }
    .wp-lightbox-overlay.show-closing-animation:not(.active) {
      animation: both turn-off-visibility 0.35s;
    }
    .wp-lightbox-overlay.show-closing-animation:not(.active) img {
      animation: both turn-off-visibility 0.25s;
    }
    .wp-lightbox-overlay.zoom.active {
      visibility: visible;
      animation: none;
      opacity: 1;
    }
    .wp-lightbox-overlay.zoom.active .lightbox-image-container {
      animation: lightbox-zoom-in 0.4s;
    }
    .wp-lightbox-overlay.zoom.active .lightbox-image-container img {
      animation: none;
    }
    .wp-lightbox-overlay.zoom.active .scrim {
      animation: turn-on-visibility 0.4s forwards;
    }
    .wp-lightbox-overlay.zoom.show-closing-animation:not(.active) {
      animation: none;
    }
    .wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container {
      animation: lightbox-zoom-out 0.4s;
    }
    .wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container img {
      animation: none;
    }
    .wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .scrim {
      animation: turn-off-visibility 0.4s forwards;
    }
    .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
      transition: opacity 0.1s linear;
    }
    .wp-block-navigation__responsive-container.is-menu-open {
      animation: overlay-menu__fade-in-animation 0.1s ease-out;
      animation-fill-mode: forwards;
    }
    .wp-block-social-link {
      transition: transform 0.1s ease;
    }
  }
}
@media only screen{
@media (width >= 768px){
    @layer foundation{
    :root {
      --padding-inline-container: 16px;
    }
    }
    @layer layout{
    .l-header__logo {
      width: 126px;
    }
    .l-grid {
      gap: 40px;
    }
    .l-grid.l-grid--harf-gap {
      gap: 20px;
    }
    .l-grid-col2 {
      grid-template-columns: repeat(2, 1fr);
    }
    .l-grid-col2--only-tab {
      grid-template-columns: repeat(2, 1fr);
    }
    .l-grid-col3 {
      grid-template-columns: repeat(2, 1fr);
    }
    .l-grid-col4 {
      grid-template-columns: repeat(3, 1fr);
    }
    .l-grid-col5 {
      grid-template-columns: repeat(3, 1fr);
    }
    .l-article__header-meta-wrapper {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
    }
    .l-article__footer > div {
      gap: 40px;
    }
    .l-article__header-share .l-article__share {
      flex-shrink: 0;
      flex-wrap: nowrap;
      width: 376px;
    }
    .l-article__header-share .l-article__share dt {
      width: auto;
    }
    .l-article__header-share .l-article__share dd {
      width: 70px;
    }
    .l-article__footer-share .l-article__share dt {
      width: auto;
    }
    .l-article__footer-share .l-article__share dd {
      width: 145px;
    }
    .l-article__footer-meta dt {
      width: auto;
    }
    .l-entry-content .wp-block-columns {
      gap: 40px;
    }
    }
    @layer component{
    .c-text-note {
      font-size: 0.875rem;
    }
    .c-field-row {
      grid-template-columns: 22.5165562914% 1fr;
      grid-auto-flow: column;
    }
    .wpcf7-radio {
      column-gap: 40px;
      flex-direction: row;
    }
    .p-form-contact .c-field-label {
      padding-inline: 16px;
      padding-block: 24px;
      border-block-end: none;
    }
    .p-form-contact .c-fields {
      padding-inline: 16px;
      padding-block: 24px;
    }
    .p-form-contact .wpcf7-checkbox {
      column-gap: 32px;
      row-gap: 16px;
      flex-direction: row;
    }
    .p-form-download .c-field-row {
      grid-template-columns: 1fr;
    }
    .c-speech-bubble__img {
      inline-size: 125px;
      block-size: 125px;
    }
    .c-speech-bubble__body {
      margin-inline-start: 0;
      padding: 24px;
    }
    .c-speech-bubble__body::before, .c-speech-bubble__body::after {
      top: 50%;
    }
    }
    @layer project{
    .p-search {
      grid-template-columns: 145px 1fr;
      align-items: center;
    }
    .p-newslist__card {
      flex-direction: row;
      align-items: flex-start;
      padding-block-start: 24px;
      padding-block-end: 24px;
      gap: 24px;
    }
    .p-newslist__card-thumb {
      flex-shrink: 0;
      width: 170px;
    }
    .p-newslist__card-thumb img {
      transition: transform 0.3s ease;
    }
    .p-newslist__card-body {
      position: relative;
      flex-grow: 1;
      padding-inline-end: 40px;
    }
    .p-newslist__card-body .c-ico-square {
      position: absolute;
      top: 50%;
      right: 0;
      transform: translateY(-50%);
    }
    .p-newslist__card-ttl {
      font-size: 1.0625rem;
    }
    .p-card--media {
      grid-template-columns: 32.89% 1fr;
      align-items: start;
      padding: 20px;
      gap: 16px;
    }
    .p-card-pd {
      display: flex;
      position: static;
      flex-direction: column;
      padding: 0;
      gap: 0;
    }
    .p-card-pd__inner {
      display: block;
      position: relative;
      flex-grow: 1;
      padding: 20px;
    }
    .p-card-pd__thumb {
      border-radius: 4px 4px 0 0;
    }
    .p-card-pd__thumb img {
      border-radius: 4px 4px 0 0;
    }
    .p-card-pd__body {
      margin-block-start: 16px;
    }
    @container (min-width: 584px) {
      .p-card-pd {
        display: grid;
        position: relative;
        grid-template-columns: clamp(174px, 21.375%, 247px) 1fr;
        align-items: center;
        padding: max(1%, 8px);
        gap: 16px;
      }
      .p-card-pd__inner {
        position: static;
        padding-inline: 0;
        padding-block: 8px 24px;
      }
      .p-card-pd__body {
        margin-block-start: 8px;
        padding-block-end: 0;
      }
      .p-card-pd__thumb {
        aspect-ratio: 16/9;
        border-radius: 4px;
      }
      .p-card-pd__thumb img {
        border-radius: 4px;
      }
      .p-card-pd__ttl {
        display: flex;
        align-items: center;
        gap: 16px;
        font-size: 1.125rem;
      }
    }
    .p-pickup-columns {
      gap: 40px;
    }
    .p-pickup-columns__item {
      width: 376px;
    }
    .p-banner-motion-capture {
      display: grid;
      align-content: center;
      height: 170px;
      padding-inline: 270px 32px;
      padding-block: 0;
    }
    .p-banner-motion-capture__ttl {
      font-size: 1.75rem;
    }
    .p-banner-motion-capture__img {
      bottom: 0;
      left: 0;
      width: 250px;
    }
    .p-banner-motive {
      max-width: 800px;
      margin-inline: auto;
    }
    .p-banner-motive__link {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 20px;
    }
    .p-banner-motive__button .c-button {
      width: 288px;
    }
    .p-list-filter {
      margin-inline: -20px;
    }
    .p-list-filter li.list__item {
      width: calc((100% - 120px) / 3);
      margin-inline: 20px;
      margin-block: 0 40px;
    }
    .p-list-pdlogo {
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
    }
    .p-list-pdlogo__img {
      width: 112px;
      height: 38px;
    }
    .p-block-recommend::before {
      width: 62px;
      height: 136px;
    }
    .p-block-recommend__ttl {
      font-size: 1.375rem;
    }
    .p-block-recommend__list {
      padding-inline: 32px;
      padding-block: 24px;
    }
    .p-block-recommend--blue::before {
      width: 94px;
      height: 208px;
    }
    .p-block-spice {
      padding-inline: 32px;
      padding-block: 64px 56px;
    }
    .p-block-spice::before {
      width: 68px;
      height: 147px;
    }
    .p-block-spice__ttl {
      margin-block-end: 40px;
    }
    .p-block-spice__lead {
      text-align: center;
    }
    .p-block-contact {
      padding: 32px;
    }
    .p-block-contact__ttl .main {
      font-size: 1.75rem;
    }
    .p-block-pdheader .label {
      display: inline-block;
      margin-inline-start: 24px;
      margin-block-start: 0;
    }
    .p-price-table tbody td {
      padding-inline: 8px;
      padding-block: 16px;
    }
    .p-price-table .pd-name {
      font-size: 1.125rem;
    }
    .p-price-table .pd-price .num {
      font-size: 1.25rem;
    }
    .p-price-table .pd-link a {
      padding-inline: 40px;
      padding-block: 16px;
    }
    .p-price-nav-ttl {
      font-size: 1.5rem;
    }
    .p-subcategory {
      display: grid;
      grid-template-columns: 9em 1fr;
    }
    .p-subcategory__list {
      display: flex;
      flex-wrap: wrap;
      margin-block-start: 0;
      gap: 16px 24px;
    }
    .p-tp-features {
      margin-block-start: 100px;
      padding-block-end: 100px;
    }
    .p-tp-features__inner {
      aspect-ratio: 1208/640;
    }
    .p-tp-features__circle {
      top: 20%;
      left: 0;
      width: 100%;
      max-width: 1255px;
    }
    .p-tp-features__item {
      width: 27.8973509934vw;
      max-width: 337px;
      border: 10px solid var(--sub-color);
    }
    .p-tp-features__item:nth-child(1) {
      top: min(19.0397350993vw, 230px);
      right: auto;
      left: 0;
    }
    .p-tp-features__item:nth-child(2) {
      top: 0;
      right: auto;
      left: 50%;
      transform: translateX(-50%);
    }
    .p-tp-features__item:nth-child(3) {
      top: min(19.0397350993vw, 230px);
      right: 0;
    }
    .p-tp-features__num {
      font-size: min(4.6357615894vw, 56px);
    }
    .p-tp-features__txt {
      font-size: min(1.821192053vw, 22px);
    }
    .p-tp-features__btn {
      max-width: 288px;
      margin-inline: auto;
      margin-block-start: max(-16.5562913907vw, -200px);
    }
    .p-tp-newstab {
      grid-template-columns: repeat(3, 1fr);
    }
    .p-user-profile {
      padding: 40px;
    }
    .p-user-profile__body {
      grid-template-columns: repeat(2, 1fr);
      gap: 40px;
    }
    .p-user-profile__buttons {
      flex-direction: row;
      align-items: center;
      justify-content: center;
      margin-block-start: 44px;
    }
    .p-user-profile__buttons .c-button {
      min-width: 256px;
      padding-inline: 16px 40px;
    }
    .p-bd-lineup {
      margin-block: 24px;
    }
    .p-bd-lineup__inner {
      grid-template-columns: repeat(2, 1fr);
      padding: 24px;
      gap: 24px;
    }
    .p-bd-lineup__link {
      justify-content: flex-start;
    }
    .p-bd-bubble {
      aspect-ratio: 1208/30;
      mask-image: url(/assets/img/brand/bg_bubble_pc.svg);
    }
    }
  }
@media (width >= 1024px){
    @layer reset{
    body {
      font-size: 1rem;
    }
    html {
      scroll-padding-block-start: 160px;
    }
    }
    @layer layout{
    .l-header {
      height: 100px;
      padding-inline: 24px;
      padding-block: 16px;
      gap: 24px;
    }
    body.is-scroll .l-header {
      height: 72px;
    }
    body.is-scroll .l-header .l-snav {
      display: none;
    }
    .l-header__pc-nav {
      display: grid;
      align-items: center;
      gap: 16px;
    }
    .l-header__toggle {
      display: none;
    }
    .l-header.l-header--simple {
      height: 72px;
    }
    .l-header__cta {
      gap: 8px;
    }
    .l-header__cta .c-button--cta {
      width: 110px;
      border-radius: 10px;
      font-size: 0.875rem;
    }
    .l-header__cta .c-button--cta::before {
      width: 20px;
      height: 20px;
    }
    .l-main:not(:has(.p-topview, .p-hero)) {
      margin-block-start: 100px;
    }
    body.is-home .l-main {
      background: url(/assets/img/home/bg_blur_logo01.webp) right top/auto auto no-repeat fixed, url(/assets/img/home/bg_blur_logo02.webp) left 400px/auto auto no-repeat fixed;
    }
    .l-cta {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
    }
    .l-cta__item-inner {
      max-width: 450px;
    }
    .l-cta__item-illust {
      position: absolute;
    }
    .l-cta__item-btn {
      max-width: 288px;
    }
    .l-cta-catalog {
      border-radius: 20px 0 0 0;
    }
    .l-cta-catalog .l-cta__item-inner {
      margin-inline-start: auto;
      text-align: right;
    }
    .l-cta-catalog .l-cta__item-title,
    .l-cta-catalog .l-cta__item-text {
      max-width: 238px;
      margin-inline-start: auto;
    }
    .l-cta-catalog .l-cta__item-text {
      text-align: left;
    }
    .l-cta-catalog .l-cta__item-illust {
      top: 50%;
      right: 450px;
      transform: translateY(-50%);
    }
    .l-cta-catalog .l-cta__item-btn {
      margin-inline-end: 0;
      margin-block-start: 106px;
    }
    .l-cta-contact {
      border-radius: 0 20px 0 0;
    }
    .l-cta-contact .l-cta__item-title,
    .l-cta-contact .l-cta__item-text {
      max-width: 244px;
    }
    .l-cta-contact .l-cta__item-tags {
      max-width: 274px;
    }
    .l-cta-contact .l-cta__item-illust {
      top: 50%;
      left: 450px;
      transform: translateY(-50%);
    }
    .l-cta-contact .l-cta__item-btn {
      margin-inline-start: 0;
      margin-block-start: 32px;
    }
    .l-footer {
      padding-block-start: 80px;
    }
    .l-footer__inner {
      display: grid;
      grid-template-columns: min(31.4569536424%, 380px) 1fr;
      gap: 16px;
    }
    .l-footer-prof {
      padding-inline: 0;
    }
    .l-footer-prof__logo {
      width: 100%;
      max-width: none;
      margin-inline: 0;
      text-align: left;
    }
    .l-footer-prof__text {
      text-align: left;
    }
    .l-footer-prof__sns {
      justify-content: flex-start;
    }
    .l-footer-sp-nav {
      display: none;
    }
    .l-footer-pc-nav {
      display: grid;
      grid-template-columns: 1fr 0.8fr 1fr 0.7fr;
      gap: 16px;
    }
    .l-footer__bottom {
      margin-block-start: 24px;
    }
    .l-footer__bottom .l-container {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .l-section {
      padding-block: 100px 120px;
    }
    .l-section--compression {
      padding-block: 80px 100px;
    }
    [class*=l-section--c-] + .l-section {
      padding-block: 100px 120px !important;
    }
    [class*=l-section--c-] + .l-section--compression {
      padding-block: 100px !important;
    }
    [class*=l-section--ornament]::before {
      width: 133px;
      height: 285px;
    }
    .l-section--ornament-main--large::before {
      width: 264px;
      height: 580px;
    }
    .l-section--ornament-main--small::before {
      width: 70px;
      height: 150px;
    }
    .l-columns {
      grid-template-columns: 1fr 377px;
    }
    .l-columns.l-columns--reverse {
      grid-template-columns: 377px 1fr;
    }
    .l-grid-col2--only-tab {
      grid-template-columns: 100%;
    }
    .l-grid-col3 {
      grid-template-columns: repeat(3, 1fr);
    }
    .l-grid-col4 {
      grid-template-columns: repeat(4, 1fr);
    }
    .l-grid-col5 {
      grid-template-columns: repeat(5, 1fr);
    }
    .l-article__title {
      font-size: 2.5rem;
    }
    .l-entry-content p.has-large-font-size {
      font-size: 1.25rem;
    }
    .l-entry-content h1.wp-block-heading {
      font-size: 2.5rem;
    }
    .l-entry-content h2 {
      margin-block: 100px 40px;
      font-size: 2.25rem;
    }
    .l-entry-content h3 {
      margin-block: 72px 32px;
      font-size: 1.625rem;
    }
    .l-entry-content h4 {
      font-size: 1.25rem;
    }
    .l-entry-content .wp-block-quote {
      padding: 40px;
    }
    .l-entry-content .wp-block-separator {
      margin-block: 64px;
    }
    }
    @layer component{
    .is-style-manual .has-inline-block {
      font-size: 1.125rem;
    }
    .c-button-center {
      flex-direction: row;
      justify-content: center;
      margin-block-start: 64px;
    }
    .c-button-center .c-button {
      width: fit-content;
      min-width: 288px;
    }
    .c-button-left {
      flex-direction: row;
      margin-block-start: 64px;
    }
    .c-button-left .c-button {
      max-width: 288px;
    }
    .c-heading-lv1__ja {
      font-size: 1.125rem;
    }
    .c-heading-lv1__en {
      font-size: 5rem;
    }
    .c-heading-lv2 {
      font-size: 2.25rem;
    }
    .c-heading-lv2 + * {
      margin-block-start: 40px;
    }
    .c-heading-lv2--line {
      font-size: 2.25rem;
    }
    .c-heading-lv2--hgroup__ja {
      font-size: 1rem;
    }
    .c-heading-lv2--hgroup__en {
      font-size: 3.75rem;
    }
    .c-heading-lv2--hgroup__en::before {
      width: 25px;
    }
    .c-heading-lv2--num .num {
      font-size: 3.125rem;
    }
    .c-heading-lv2--num .num::after {
      width: 32px;
    }
    .c-heading-lv3 {
      font-size: 1.625rem;
    }
    .c-heading-lv3--noline {
      font-size: 1.625rem;
    }
    .c-heading-lv3--point .point {
      width: 64px;
      font-size: 1.3125rem;
    }
    .c-heading-lv3--point .point-num {
      font-size: 3.125rem;
    }
    h4 {
      font-size: 1.25rem;
    }
    h5 {
      font-size: 1.125rem;
    }
    .c-box-paint--gray {
      padding: 40px;
    }
    .c-list-horizontal {
      gap: 24px 40px;
    }
    .c-list-horizontal:has(.c-tag) {
      gap: 24px 16px;
    }
    .c-list-back {
      flex-direction: row;
      gap: 24px;
    }
    .c-filterlist {
      gap: 20px 16px;
    }
    .c-filterlist__button {
      padding-inline: 16px;
      padding-block: 8px;
    }
    .p-form-download .c-field-row {
      grid-template-columns: 200px 1fr;
      column-gap: 32px;
      row-gap: unset;
    }
    .p-form-download .c-fields {
      display: inline-grid;
    }
    }
    @layer project{
    .p-spmenu-other {
      margin-block-start: 0;
    }
    .p-topview {
      padding-block-start: 100px;
    }
    .p-topview::before {
      top: 0;
      width: 82px;
      height: 176px;
    }
    .p-topview__upper {
      padding-block-start: 64px;
      padding-block-end: 40px;
    }
    .p-topview__upper .l-container {
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
    }
    .p-topview__text {
      max-width: 400px;
      padding-inline-end: 20px;
    }
    .p-newsticker {
      display: grid;
      grid-template-columns: auto 1fr;
      align-items: center;
      padding-inline: 40px;
      padding-block: 24px;
      gap: 20px;
      border-radius: 100vmax;
    }
    .p-newsticker__header {
      padding-inline: 0 20px;
      padding-block: 0;
      border: 0;
    }
    .p-newsticker__body {
      padding: 0;
    }
    .p-newsticker__date {
      padding-inline-end: 16px;
      border-right: 1px solid var(--c-gray);
      font-size: 0.875rem;
    }
    .p-newsticker__meta {
      display: flex;
      flex-direction: row-reverse;
      align-items: center;
      gap: 16px;
    }
    .p-newsticker__list-item {
      grid-template-columns: auto 1fr;
      align-items: center;
      gap: 16px;
    }
    .p-newsticker__list-txt {
      font-size: 0.875rem;
    }
    .p-newsticker__body {
      overflow: hidden;
    }
    .p-newsticker__list-item {
      min-width: 0;
    }
    .p-newsticker__list-txt {
      overflow-wrap: break-word;
    }
    .p-pagenav__menu {
      grid-template-columns: repeat(2, 1fr);
      align-items: center;
      gap: 40px;
    }
    .p-pickup--type01 .p-pickup__sub .p-card-pickup {
      grid-template-columns: repeat(2, 1fr);
    }
    .p-card-service {
      display: flex;
      flex-direction: row-reverse;
      flex-wrap: wrap;
      padding: 56px;
      gap: 40px;
    }
    .p-card-service__thumb {
      width: calc((100% - 40px) / 2);
      border-radius: 10px;
    }
    .p-card-service__body {
      width: calc((100% - 40px) / 2);
    }
    .p-card-service__link {
      width: 100%;
    }
    .p-card-media {
      grid-template-columns: 44.7747747748% 51.6216216216%;
      column-gap: 40px;
      row-gap: 0;
      padding: 40px;
    }
    .p-card-media::before {
      width: 148px;
      height: 320px;
    }
    .p-pickup--type01 {
      grid-template-columns: repeat(2, 1fr);
      max-height: 460px;
    }
    .p-pickup--type01 .p-pickup__sub {
      flex-direction: column;
      max-height: 460px;
      margin-inline-end: 0;
      padding-inline-end: 32px;
      padding-block-end: 0;
      overflow-x: hidden;
      overflow-y: scroll;
    }
    .p-pickup--type01 .p-pickup__sub > * {
      width: 100%;
      max-width: none;
    }
    .p-pickup--type01 .p-pickup__sub::-webkit-scrollbar {
      width: 8px;
      height: 100%;
    }
    .p-pickup--type02 {
      display: flex;
      padding-block-end: 32px;
      overflow-x: scroll;
      overflow-y: hidden;
    }
    .p-pickup--type02::-webkit-scrollbar {
      width: 100%;
      height: 8px;
      border-radius: 10px;
      background-color: var(--c-gray);
    }
    .p-pickup--type02::-webkit-scrollbar-thumb {
      border-radius: 10px;
      background-color: var(--c-dark);
    }
    .p-pickup--type02 .p-pickup__main,
    .p-pickup--type02 .p-pickup__sub {
      display: contents;
    }
    .p-pickup--type02 .p-pickup__main > *,
    .p-pickup--type02 .p-pickup__sub > * {
      flex-shrink: 0;
      width: 585px;
      max-width: none;
    }
    .p-important-info__ttl {
      margin-inline-end: 14px;
      padding-inline-end: 14px;
      border-right: 1px solid var(--c-gray-dark);
    }
    .p-important-info__txt {
      font-size: 0.875rem;
    }
    .p-important-info__item {
      display: flex;
      align-items: center;
    }
    .p-important-info.--has-frame {
      padding-inline: 24px;
      border-radius: 100vmax;
    }
    .p-introduction-record {
      padding: 24px;
    }
    .p-introduction-record__item {
      gap: 16px;
    }
    .p-introduction-record__item::before, .p-introduction-record__item::after {
      width: 30px;
    }
    .p-introduction-record__inner {
      min-width: 200px;
    }
    .p-introduction-record__ttl {
      font-size: 1.0625rem;
    }
    .p-introduction-record__data-num {
      font-size: 3.5rem;
    }
    .p-introduction-record__data-txt {
      font-size: 1.25rem;
    }
    .p-loop-wrapper {
      padding-block: 40px;
    }
    .p-tab {
      flex-wrap: nowrap;
    }
    .p-tab > li:first-child {
      width: calc((100% - 8px) / 5);
    }
    .p-tab > li {
      width: calc((100% - 8px) / 5);
    }
    .p-tab__button {
      border-bottom: 0;
      border-radius: 4px 4px 0 0;
    }
    .p-tab__button[aria-selected=true] {
      padding-inline: 12px;
      padding-block: 14px;
      border: 1px solid var(--main-color);
      border-bottom: 0;
      background-color: var(--c-white);
      color: var(--main-color);
    }
    .p-tab-panel {
      margin-block-start: 0;
      padding: 40px;
      border-top: 0;
      border-radius: 0 0 10px 10px;
    }
    .p-tab02 {
      gap: 16px;
    }
    .p-tab02__button[aria-selected=true] {
      padding-inline: 12px;
      padding-block: 14px;
    }
    .p-tab02-panel {
      padding: 40px;
      border-radius: 0 0 10px 10px;
    }
    .p-banner {
      max-width: 800px;
      margin-inline: auto;
      margin-block: 64px;
    }
    .p-banner__link {
      padding: 40px;
    }
    .p-banner__link:focus-visible::before {
      transform: scale(1.05);
    }
    .p-banner__ttl {
      font-size: 1.75rem;
      text-align: center;
    }
    .p-banner-motion-capture {
      height: 170px;
      padding-inline: 357px 32px;
    }
    .p-banner-motion-capture__img {
      width: 357px;
    }
    .p-list-filter li.list__item {
      width: calc((100% - 160px) / 4);
    }
    .p-list-pdlogo {
      grid-template-columns: repeat(4, 1fr);
      gap: 16px 12px;
    }
    .p-block-recommend {
      padding: 40px;
    }
    .p-block-step {
      display: grid;
      padding-inline: 0;
      padding-block: 30px;
    }
    .p-block-step.--col3 {
      grid-template-columns: repeat(3, 1fr);
    }
    .p-block-step.--col4 {
      grid-template-columns: repeat(4, 1fr);
    }
    .p-block-step__item {
      padding-inline: 20px;
    }
    .p-block-step__item:not(:last-child) {
      margin-block-end: 0;
      padding-block-end: 0;
      border-right: 2px dashed var(--c-gray);
      border-bottom: 0;
    }
    .p-block-step__item:not(:last-child)::after {
      top: 50%;
      right: -12px;
      bottom: auto;
      left: auto;
      transform: translate(0, -50%) rotate(-90deg);
    }
    .p-block-paintbox,
    .p-block-paintbox--ornament {
      padding: 64px !important;
    }
    .p-block-paintbox h2, .p-block-paintbox h3, .p-block-paintbox h4,
    .p-block-paintbox--ornament h2,
    .p-block-paintbox--ornament h3,
    .p-block-paintbox--ornament h4 {
      font-size: 1.75rem;
    }
    .p-block-paintbox.is-small,
    .p-block-paintbox--ornament.is-small {
      padding: 40px !important;
    }
    .p-block-paintbox--ornament::before {
      width: 148px;
      height: 320px;
    }
    .p-block-cards-anchor {
      grid-template-columns: repeat(3, 1fr);
      gap: 40px;
    }
    .p-block-cards-anchor__item {
      height: 100%;
    }
    .p-block-pdlink::before {
      width: 70px;
      height: 150px;
    }
    .p-block-pdheader {
      padding: 32px !important;
    }
    .p-block-pdheader h2, .p-block-pdheader h3, .p-block-pdheader h4 {
      font-size: 1.75rem;
    }
    .p-category-link__ttl {
      padding-inline: 40px;
      padding-block: 24px;
    }
    .p-category-link__body {
      padding: 40px;
    }
    .p-accordion {
      padding-block: 16px;
    }
    .p-accordion__item {
      margin-inline: 40px;
    }
    .p-accordion__button {
      font-size: 1.125rem;
    }
    .p-accordion__label {
      font-size: 1.125rem;
    }
    #toc_container {
      padding: 40px;
    }
    #toc_container .toc_title {
      font-size: 1.5rem;
    }
    #toc_container .toc_list {
      margin-block-start: 24px;
    }
    .p-trivia {
      padding: 40px;
    }
    .p-trivia::before {
      width: 40px;
      height: 88px;
    }
    .p-thumbnail-slider .p-splide__controles {
      margin-block-start: -50px;
    }
    .p-thumbnail-slider .splide-thumb {
      max-width: 580px;
      margin-inline: auto;
    }
    .p-thumbnail-slider__slide {
      flex-direction: column;
    }
    .p-thumbnail-slider02 {
      display: grid;
      grid-template-columns: 1fr 150px;
      gap: 32px;
    }
    .p-thumbnail-slider02 .p-splide__controles {
      position: absolute;
      top: min(36.0099337748vw, 450px);
      right: 0;
      margin-inline-end: 24px;
      margin-block-start: 0;
    }
    .p-thumbnail-slider02__slide {
      flex-direction: column;
    }
    .p-spec-carousel {
      position: relative;
      margin-inline: calc(50% - 50vw);
    }
    .p-spec-carousel .p-splide__controles {
      position: absolute;
      top: -124px;
      right: 16px;
    }
    .p-manual {
      grid-template-columns: 1fr 22.5165562914%;
      margin-block-start: 100px;
      gap: 40px;
    }
    .p-manual__sub {
      margin-block-start: 0;
    }
    .article-feedback {
      margin-inline: unset;
      padding: 40px;
    }
    .article-feedback__title {
      font-size: 1.375rem;
    }
    .article-feedback__buttons {
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
    }
    .article-feedback__button {
      padding: 16px;
    }
    .p-splide__controles .splide__arrow {
      width: 78px;
      height: 78px;
      border-radius: 10px;
    }
    .p-splide__controles .splide__arrow::before {
      width: 20px;
      height: 20px;
    }
    .p-splide__controles .splide__pagination {
      gap: 24px;
    }
    .p-splide__controles .splide__toggle {
      margin-linline-end: 45px;
    }
    .p-mv::before {
      display: block;
      position: absolute;
      bottom: 65px;
      left: -77px;
      width: 105px;
      height: 230px;
      background-color: var(--main-color);
      content: "";
      mask-image: url(/assets/img/common/ico_spice.svg);
      mask-repeat: no-repeat;
      mask-size: contain;
    }
    .p-tp-heading__ja {
      font-size: 1rem;
    }
    .p-tp-heading__en {
      font-size: 3.75rem;
    }
    .p-tp-heading__en::before {
      width: 25px;
    }
    .p-tp-about {
      padding-block-start: 100px;
    }
    .p-tp-about__body {
      margin-block: 88px 64px;
      font-size: 1.25rem;
    }
    .p-tp-about__catch {
      font-size: 2rem;
    }
    .p-tp-newstab {
      grid-template-columns: auto;
      max-width: 196px;
      margin-block-start: 40px;
      gap: 24px;
    }
    .p-user-summary {
      padding-block: 40px;
    }
    .p-user-summary__ttl {
      font-size: 1.75rem;
    }
    .p-user-summary__body {
      display: flex;
      align-items: center;
    }
    .p-user-summary__thumb {
      flex-grow: 1;
      margin-inline-start: -70px;
      margin-block-start: 0;
    }
    .p-user-summary__thumb figcaption {
      text-align: right;
    }
    .p-user-summary__data {
      flex-shrink: 0;
      width: 46%;
      padding-inline: 40px 107px;
      padding-block: 40px;
    }
    .p-user-introduction {
      display: grid;
      grid-template-rows: auto auto;
      grid-template-columns: repeat(2, 1fr);
      padding: 40px;
      gap: 27px 48px;
    }
    .p-user-introduction__item {
      padding: 24px;
    }
    .p-user-introduction__item.--purpose {
      grid-column: 1/3;
    }
    .p-user-introduction__item.--issue {
      margin-block-start: 0;
    }
    .p-user-introduction__item.--results {
      margin-block-start: 0;
    }
    .p-user-introduction__item.--results::before {
      top: 50%;
      left: -36px;
      transform: rotate(-90deg);
    }
    .p-user-introduction__item.--results:nth-child(2) {
      grid-column: span 2;
      margin-block-start: -8px;
    }
    .p-user-system {
      padding: 40px;
    }
    .p-user-system__list ul {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
    }
    .p-user-interview-q {
      padding-inline-start: 32px;
      font-size: 1.5rem;
    }
    .p-user-interview-q::before {
      width: 24px;
    }
    .p-user-interview-a {
      grid-template-columns: 168px 1fr;
    }
    body.products .l-main {
      background-position: right -120px top -80px;
      background-size: 482px 735px;
    }
    .p-bd-container--oneside-flow {
      margin-block-start: -160px;
      padding-inline-end: 32px;
      padding-block: 80px;
      border-radius: 0 20px 0 0;
    }
    .p-bd-container--oneside-flow > * {
      padding-inline-start: 0;
    }
    .p-bd-container--overlap {
      margin-block-start: -160px;
    }
    .p-bd-target {
      margin-block-start: 40px;
    }
    .p-bd-target li {
      padding-inline: 50px 20px;
      padding-block: 20px;
    }
    .p-bd-target li::before {
      top: 20px;
    }
    .p-bd-target li::after {
      top: 26px;
    }
    .p-bd-header {
      height: 452px;
      padding-block: 144px 0;
      border-radius: 20px 20px 0 0;
      background-image: var(--brand-header-pc);
    }
    .p-bd-header h2 {
      font-size: 1rem;
    }
    .p-bd-nav .l-container {
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
    }
    .p-bd-nav__list {
      gap: 40px;
    }
    .p-bd-navPc {
      display: block;
      visibility: hidden;
      z-index: var(--z-index-stickynav);
      position: fixed;
      top: 124px;
      right: 0;
      width: 160px;
      opacity: 0;
      transition: opacity 0.3s ease, visibility 0.3s ease;
    }
    .p-bd-navPc.is-visible {
      visibility: visible;
      opacity: 1;
    }
    .p-bd-navPc__inner {
      padding-inline: 8px;
      padding-block: 16px;
      border-top: 1px solid var(--c-gray);
      border-left: 1px solid var(--c-gray);
      border-radius: 4px 0 0 0;
      background-color: var(--c-white);
    }
    .p-bd-navPc__ttl {
      margin-block-end: 8px;
      padding-block-end: 8px;
      border-bottom: 1px solid var(--c-gray);
      font-weight: bold;
    }
    .p-bd-navPc__menu {
      display: grid;
      gap: 10px;
      font-size: 0.875rem;
    }
    .p-bd-navPc__menu a {
      display: block;
      position: relative;
      padding-inline-start: 10px;
    }
    .p-bd-navPc__menu a::before {
      display: block;
      position: absolute;
      top: 10px;
      left: 0;
      width: 5px;
      height: 2px;
      border-radius: 5px;
      background-color: var(--main-color);
      content: "";
    }
    .p-bd-navPc__menu02 {
      display: grid;
      margin-block-start: 16px;
      gap: 10px;
    }
    .p-bd-navPc__menu02 a {
      display: block;
      padding-inline: 8px;
      padding-block: 6px;
      border: 1px solid var(--c-gray);
      border-radius: 4px;
      /* 背景を2色に設定（左が隠れ色、右が元色） */
      background-image: linear-gradient(to right, var(--sub-color-light) 50%, var(--c-white) 50%);
      background-position: 100% 0; /* 最初は右半分（元色）を表示 */
      background-size: 200% 100%;
      color: var(--c-black);
      font-size: 0.75rem;
      text-align: center;
      transition: all 0.3s ease;
    }
    .p-bd-navPc__menu02 a:focus-visible {
      background-position: 0 0;
      background-color: var(--sub-color-light);
    }
    .p-bd-navPc__cta .c-button--cta {
      border-radius: 0;
      font-size: 0.75rem;
    }
    .p-bd-navPc__cta .c-button--cta::before {
      display: none;
    }
    .p-bd-navSp {
      display: none;
    }
    .p-bd-lineup {
      margin-block: 40px;
    }
    .p-bd-lineup__inner {
      padding: 40px;
      gap: 40px;
    }
    .p-bd-lineup__ttl {
      font-size: 1.75rem;
    }
    .p-bd-cta {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      margin-block-start: 80px;
    }
    .p-bd-cta:has(> :only-child) {
      grid-template-columns: unset;
    }
    .p-bd-cta__buttons {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      width: 100%;
      margin-inline: auto;
      padding-inline-end: 16px;
      gap: 16px;
      border-radius: 0;
    }
    .p-bd-cta__buttons .c-button {
      padding-inline-start: 16px;
    }
    .p-bd-cta__link {
      background-color: transparent;
    }
    .p-bd-aboutus {
      height: 315px;
    }
    .p-bd-aboutus__logo {
      width: 266px;
    }
    .p-bd-aboutus__txt {
      font-size: 22.9375rem;
    }
    .p-bd-meta {
      flex-direction: row;
    }
    .p-bd-mv-under {
      grid-template-columns: repeat(2, 1fr);
      align-items: center;
      margin-block-start: 92px;
      gap: 40px;
    }
    .p-bd-mv-under__inner {
      display: grid;
    }
    .p-bd-mv-under__ttl {
      font-size: 2.625rem;
    }
    .p-bd-mv-under__catch {
      margin-block-start: 40px;
      font-weight: bold;
      font-size: 1.5rem;
    }
    .p-bd-mv-under__buttons {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      margin-block-start: 40px;
      gap: 8px;
    }
    .p-bd-advantage-box {
      padding-inline: 40px;
      padding-block: 56px;
    }
    .p-bd-advantage-box h2 {
      font-size: 1.75rem;
    }
    .p-bd-howtoselect {
      margin-inline: auto;
      margin-block: 64px;
      padding-inline: 40px;
      padding-block: 56px;
    }
    .p-bd-howtoselect::before {
      width: 148px;
      height: 320px;
    }
    .p-bd-howtoselect h2 {
      font-size: 1.75rem;
    }
    .p-bd-anchor {
      margin-block: 40px;
      gap: 16px 60px;
    }
    .p-bd-primex120 {
      grid-template-columns: repeat(4, 1fr);
      max-width: 912px;
      margin-inline: auto;
      gap: 40px;
    }
    .p-bd-primex120__item {
      padding: 14px;
    }
    .p-bd-primex120__ttl {
      font-size: 1rem;
    }
    .p-bd-primex120__data {
      font-size: 1rem;
    }
    .p-bd-primex120__data .num {
      font-size: 2.5rem;
    }
    .p-download {
      grid-template-columns: repeat(2, 1fr);
      column-gap: 40px;
    }
    .p-download__content .wp-block-image {
      padding: 24px;
    }
    .p-download__form {
      margin-inline: unset;
    }
    .p-media-profile {
      padding-inline: 40px;
      padding-block: 32px;
    }
    .p-media-profile__inner {
      position: relative;
      padding-inline-start: 144px;
    }
    .p-media-profile__author-img {
      position: absolute;
      top: 10px;
      left: 0;
      width: 100px;
    }
    .p-media-profile__author-name .main {
      display: inline-block;
      margin-inline-end: 16px;
    }
    .p-studio-cta__link {
      padding-inline: 8px;
      padding-block: 44px;
    }
    .p-studio-cta__link-ttl {
      font-size: 2rem;
    }
    }
  }
@media (any-hover: hover) and (width >= 1024px){
    @layer project{
    .p-banner__link:where(:any-link, :enabled, summary):hover::before {
      transform: scale(1.05);
    }
    .p-bd-navPc__menu02 a:where(:any-link, :enabled, summary):hover {
      background-position: 0 0;
      background-color: var(--sub-color-light);
    }
    }
  }
}
@media screen{
@media (-ms-high-contrast: none){
    @layer reset{
    .splide__slide:focus-visible {
      border: 3px solid #0bf;
    }
    .splide.is-focus-in .splide__slide:focus {
      border: 3px solid #0bf;
    }
    .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
      border-color: #0bf;
    }
    }
  }
@media (max-width: 600px){
    @layer wordpress{
    html :where(.is-position-sticky) {
      /* stylelint-disable length-zero-no-unit -- 0px is set explicitly so that it can be used in a calc value. */
      --wp-admin--admin-bar--position-offset: 0px;
      /* stylelint-enable length-zero-no-unit */
    }
    }
  }
@media (min-width: 768px){
    @layer wordpress{
    .wp-block-flexible-table-block-table.is-scroll-on-pc {
      overflow-x: scroll;
    }
    .wp-block-flexible-table-block-table.is-scroll-on-pc table {
      align-self: self-start;
      max-width: none;
    }
    }
@media (max-width: 1023px){
      @layer wordpress{
    .fsb-flexible-spacer__device--lg,
    .fsb-flexible-spacer__device--sm {
      display: none;
    }
      }
    }
  }
@media (max-width: 767px){
    @layer wordpress{
    .wp-block-flexible-table-block-table.is-scroll-on-mobile {
      overflow-x: scroll;
    }
    .wp-block-flexible-table-block-table.is-scroll-on-mobile table {
      align-self: self-start;
      max-width: none;
    }
    .wp-block-flexible-table-block-table table.is-stacked-on-mobile th,
    .wp-block-flexible-table-block-table table.is-stacked-on-mobile td {
      display: block;
      width: 100% !important;
    }
    .fsb-flexible-spacer__device--lg,
    .fsb-flexible-spacer__device--md {
      display: none;
    }
    .fsb-flexible-spacer__device--sm {
      display: block;
    }
    }
  }
@media (min-width: 1024px){
    @layer wordpress{
    .fsb-flexible-spacer__device--md,
    .fsb-flexible-spacer__device--sm {
      display: none;
    }
    }
  }
@media (min-width: 1260px){
    @layer layout{
    .l-footer {
      margin-inline: -7% -10%;
    }
    }
  }
}