/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
    }
  }
}

@layer preflight {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

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

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

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

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

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

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

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

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

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

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

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

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

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

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

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

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

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer theme, base, layout;

@layer jslibrary {
  :root {
    --swiper-theme-color: #007aff;
  }

  :host {
    z-index: 1;
    margin-left: auto;
    margin-right: auto;
    display: block;
    position: relative;
  }

  .swiper {
    z-index: 1;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    list-style: none;
    display: block;
    position: relative;
    overflow: hidden;
  }

  .swiper-vertical > .swiper-wrapper {
    flex-direction: column;
  }

  .swiper-wrapper {
    z-index: 1;
    width: 100%;
    height: 100%;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box;
    display: flex;
    position: relative;
  }

  .swiper-android .swiper-slide, .swiper-ios .swiper-slide, .swiper-wrapper {
    transform: translate3d(0, 0, 0);
  }

  .swiper-horizontal {
    touch-action: pan-y;
  }

  .swiper-vertical {
    touch-action: pan-x;
  }

  .swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    transition-property: transform;
    display: block;
    position: relative;
  }

  .swiper-slide-invisible-blank {
    visibility: hidden;
  }

  .swiper-autoheight, .swiper-autoheight .swiper-slide {
    height: auto;
  }

  .swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height;
  }

  .swiper-backface-hidden .swiper-slide {
    backface-visibility: hidden;
    transform: translateZ(0);
  }

  .swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px;
  }

  .swiper-3d .swiper-wrapper {
    transform-style: preserve-3d;
  }

  .swiper-3d {
    perspective: 1200px;
  }

  .swiper-3d .swiper-slide, .swiper-3d .swiper-cube-shadow {
    transform-style: preserve-3d;
  }

  .swiper-css-mode > .swiper-wrapper {
    scrollbar-width: none;
    -ms-overflow-style: none;
    overflow: auto;
  }

  .swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none;
  }

  .swiper-css-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
  }

  .swiper-css-mode.swiper-horizontal > .swiper-wrapper {
    scroll-snap-type: x mandatory;
  }

  .swiper-css-mode.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
    margin-inline-start: var(--swiper-slides-offset-before);
    scroll-margin-inline-start: var(--swiper-slides-offset-before);
  }

  .swiper-css-mode.swiper-horizontal > .swiper-wrapper > .swiper-slide:last-child {
    margin-inline-end: var(--swiper-slides-offset-after);
  }

  .swiper-css-mode.swiper-vertical > .swiper-wrapper {
    scroll-snap-type: y mandatory;
  }

  .swiper-css-mode.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
    margin-block-start: var(--swiper-slides-offset-before);
    scroll-margin-block-start: var(--swiper-slides-offset-before);
  }

  .swiper-css-mode.swiper-vertical > .swiper-wrapper > .swiper-slide:last-child {
    margin-block-end: var(--swiper-slides-offset-after);
  }

  .swiper-css-mode.swiper-free-mode > .swiper-wrapper {
    scroll-snap-type: none;
  }

  .swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: none;
  }

  .swiper-css-mode.swiper-centered > .swiper-wrapper:before {
    content: "";
    flex-shrink: 0;
    order: 9999;
  }

  .swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always;
  }

  .swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before);
  }

  .swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper:before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after);
  }

  .swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before);
  }

  .swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper:before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after);
  }

  .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-slide-shadow-bottom {
    pointer-events: none;
    z-index: 10;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }

  .swiper-3d .swiper-slide-shadow {
    background: #00000026;
  }

  .swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, #00000080, #0000);
  }

  .swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, #00000080, #0000);
  }

  .swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, #00000080, #0000);
  }

  .swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(#00000080, #0000);
  }

  .swiper-lazy-preloader {
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-top-color: #0000;
    border-radius: 50%;
    width: 42px;
    height: 42px;
    margin-top: -21px;
    margin-left: -21px;
    position: absolute;
    top: 50%;
    left: 50%;
  }

  :is(.swiper:not(.swiper-watch-progress), .swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader {
    animation: 1s linear infinite swiper-preloader-spin;
  }

  .swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff;
  }

  .swiper-lazy-preloader-black {
    --swiper-preloader-color: #000;
  }

  @keyframes swiper-preloader-spin {
    0% {
      transform: rotate(0);
    }

    100% {
      transform: rotate(360deg);
    }
  }

  .swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out;
  }

  .swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity;
  }

  .swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none;
  }

  .swiper-fade .swiper-slide-active, .swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
  }
}

@layer components, project;

@layer utilities {
  .collapse {
    visibility: collapse;
  }

  .invisible {
    visibility: hidden;
  }

  .visible {
    visibility: visible;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }

  .\!start {
    inset-inline-start: var(--spacing) !important;
  }

  .-start {
    inset-inline-start: calc(var(--spacing) * -1);
  }

  .start {
    inset-inline-start: var(--spacing);
  }

  .end {
    inset-inline-end: var(--spacing);
  }

  .right-15 {
    right: calc(var(--spacing) * 15);
  }

  .z-0 {
    z-index: 0;
  }

  .z-10 {
    z-index: 10;
  }

  .\!container {
    width: 100% !important;
  }

  @media (min-width: 480px) {
    .\!container {
      max-width: 480px !important;
    }
  }

  @media (min-width: 560px) {
    .\!container {
      max-width: 560px !important;
    }
  }

  @media (min-width: 768px) {
    .\!container {
      max-width: 768px !important;
    }
  }

  @media (min-width: 860px) {
    .\!container {
      max-width: 860px !important;
    }
  }

  @media (min-width: 1024px) {
    .\!container {
      max-width: 1024px !important;
    }
  }

  @media (min-width: 1100px) {
    .\!container {
      max-width: 1100px !important;
    }
  }

  @media (min-width: 1280px) {
    .\!container {
      max-width: 1280px !important;
    }
  }

  @media (min-width: 1330px) {
    .\!container {
      max-width: 1330px !important;
    }
  }

  .container {
    width: 100%;
  }

  @media (min-width: 480px) {
    .container {
      max-width: 480px;
    }
  }

  @media (min-width: 560px) {
    .container {
      max-width: 560px;
    }
  }

  @media (min-width: 768px) {
    .container {
      max-width: 768px;
    }
  }

  @media (min-width: 860px) {
    .container {
      max-width: 860px;
    }
  }

  @media (min-width: 1024px) {
    .container {
      max-width: 1024px;
    }
  }

  @media (min-width: 1100px) {
    .container {
      max-width: 1100px;
    }
  }

  @media (min-width: 1280px) {
    .container {
      max-width: 1280px;
    }
  }

  @media (min-width: 1330px) {
    .container {
      max-width: 1330px;
    }
  }

  .mx-auto {
    margin-inline: auto;
  }

  .my-5 {
    margin-block: calc(var(--spacing) * 5);
  }

  .-mt-4 {
    margin-top: calc(var(--spacing) * -4);
  }

  .-mt-\[0\.5em\] {
    margin-top: -.5em;
  }

  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }

  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }

  .mt-15 {
    margin-top: calc(var(--spacing) * 15);
  }

  .mt-16 {
    margin-top: calc(var(--spacing) * 16);
  }

  .mt-20 {
    margin-top: calc(var(--spacing) * 20);
  }

  .mt-24 {
    margin-top: calc(var(--spacing) * 24);
  }

  .mt-25 {
    margin-top: calc(var(--spacing) * 25);
  }

  .mt-28 {
    margin-top: calc(var(--spacing) * 28);
  }

  .mt-30 {
    margin-top: calc(var(--spacing) * 30);
  }

  .mt-35 {
    margin-top: calc(var(--spacing) * 35);
  }

  .mt-37 {
    margin-top: calc(var(--spacing) * 37);
  }

  .mt-38 {
    margin-top: calc(var(--spacing) * 38);
  }

  .mt-40 {
    margin-top: calc(var(--spacing) * 40);
  }

  .mt-50 {
    margin-top: calc(var(--spacing) * 50);
  }

  .mt-55 {
    margin-top: calc(var(--spacing) * 55);
  }

  .mt-60 {
    margin-top: calc(var(--spacing) * 60);
  }

  .mt-80 {
    margin-top: calc(var(--spacing) * 80);
  }

  .mt-90 {
    margin-top: calc(var(--spacing) * 90);
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .mb-5 {
    margin-bottom: calc(var(--spacing) * 5);
  }

  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }

  .mb-15 {
    margin-bottom: calc(var(--spacing) * 15);
  }

  .mb-20 {
    margin-bottom: calc(var(--spacing) * 20);
  }

  .mb-22 {
    margin-bottom: calc(var(--spacing) * 22);
  }

  .mb-25 {
    margin-bottom: calc(var(--spacing) * 25);
  }

  .mb-30 {
    margin-bottom: calc(var(--spacing) * 30);
  }

  .mb-40 {
    margin-bottom: calc(var(--spacing) * 40);
  }

  .ml-auto {
    margin-left: auto;
  }

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

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

  .\!table {
    display: table !important;
  }

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

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

  .table {
    display: table;
  }

  .table-column {
    display: table-column;
  }

  .table-row {
    display: table-row;
  }

  .h-40 {
    height: calc(var(--spacing) * 40);
  }

  .h-50 {
    height: calc(var(--spacing) * 50);
  }

  .h-60 {
    height: calc(var(--spacing) * 60);
  }

  .h-80 {
    height: calc(var(--spacing) * 80);
  }

  .w-62 {
    width: calc(var(--spacing) * 62);
  }

  .w-120 {
    width: calc(var(--spacing) * 120);
  }

  .w-500 {
    width: calc(var(--spacing) * 500);
  }

  .w-fit {
    width: fit-content;
  }

  .w-full {
    width: 100%;
  }

  .max-w-195 {
    max-width: calc(var(--spacing) * 195);
  }

  .max-w-200 {
    max-width: calc(var(--spacing) * 200);
  }

  .max-w-255 {
    max-width: calc(var(--spacing) * 255);
  }

  .max-w-320 {
    max-width: calc(var(--spacing) * 320);
  }

  .max-w-420 {
    max-width: calc(var(--spacing) * 420);
  }

  .max-w-480 {
    max-width: calc(var(--spacing) * 480);
  }

  .max-w-690 {
    max-width: calc(var(--spacing) * 690);
  }

  .max-w-740 {
    max-width: calc(var(--spacing) * 740);
  }

  .max-w-840 {
    max-width: calc(var(--spacing) * 840);
  }

  .max-w-860 {
    max-width: calc(var(--spacing) * 860);
  }

  .max-w-880 {
    max-width: calc(var(--spacing) * 880);
  }

  .rotate-360 {
    rotate: 360deg;
  }

  .transform {
    transform: var(--tw-rotate-x,  ) var(--tw-rotate-y,  ) var(--tw-rotate-z,  ) var(--tw-skew-x,  ) var(--tw-skew-y,  );
  }

  .cursor-default {
    cursor: default;
  }

  .cursor-move {
    cursor: move;
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .cursor-text {
    cursor: text;
  }

  .resize {
    resize: both;
  }

  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .items-baseline {
    align-items: baseline;
  }

  .items-center {
    align-items: center;
  }

  .items-start {
    align-items: flex-start;
  }

  .justify-center {
    justify-content: center;
  }

  .gap-10 {
    gap: calc(var(--spacing) * 10);
  }

  .gap-40 {
    gap: calc(var(--spacing) * 40);
  }

  .gap-x-6 {
    column-gap: calc(var(--spacing) * 6);
  }

  .gap-x-7 {
    column-gap: calc(var(--spacing) * 7);
  }

  .gap-x-10 {
    column-gap: calc(var(--spacing) * 10);
  }

  .gap-x-14 {
    column-gap: calc(var(--spacing) * 14);
  }

  .gap-x-19 {
    column-gap: calc(var(--spacing) * 19);
  }

  .gap-x-20 {
    column-gap: calc(var(--spacing) * 20);
  }

  .gap-x-30 {
    column-gap: calc(var(--spacing) * 30);
  }

  .gap-y-5 {
    row-gap: calc(var(--spacing) * 5);
  }

  .gap-y-6 {
    row-gap: calc(var(--spacing) * 6);
  }

  .gap-y-10 {
    row-gap: calc(var(--spacing) * 10);
  }

  .gap-y-12 {
    row-gap: calc(var(--spacing) * 12);
  }

  .gap-y-15 {
    row-gap: calc(var(--spacing) * 15);
  }

  .gap-y-20 {
    row-gap: calc(var(--spacing) * 20);
  }

  .gap-y-22 {
    row-gap: calc(var(--spacing) * 22);
  }

  .gap-y-25 {
    row-gap: calc(var(--spacing) * 25);
  }

  .gap-y-29 {
    row-gap: calc(var(--spacing) * 29);
  }

  .gap-y-30 {
    row-gap: calc(var(--spacing) * 30);
  }

  .gap-y-40 {
    row-gap: calc(var(--spacing) * 40);
  }

  .gap-y-60 {
    row-gap: calc(var(--spacing) * 60);
  }

  .gap-y-80 {
    row-gap: calc(var(--spacing) * 80);
  }

  .truncate {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .rounded {
    border-radius: .25rem;
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .border-b-3 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 3px;
  }

  .border-none {
    --tw-border-style: none;
    border-style: none;
  }

  .border-gray-300 {
    border-color: var(--color-gray-300);
  }

  .border-primary {
    border-color: var(--color-primary);
  }

  .bg-gray-100 {
    background-color: var(--color-gray-100);
  }

  .bg-primary {
    background-color: var(--color-primary);
  }

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

  .p-10 {
    padding: calc(var(--spacing) * 10);
  }

  .p-20 {
    padding: calc(var(--spacing) * 20);
  }

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-20 {
    padding-inline: calc(var(--spacing) * 20);
  }

  .px-gutter {
    padding-inline: var(--spacing-gutter);
  }

  .py-40 {
    padding-block: calc(var(--spacing) * 40);
  }

  .pt-12 {
    padding-top: calc(var(--spacing) * 12);
  }

  .pt-26 {
    padding-top: calc(var(--spacing) * 26);
  }

  .pb-0 {
    padding-bottom: calc(var(--spacing) * 0);
  }

  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }

  .pb-8 {
    padding-bottom: calc(var(--spacing) * 8);
  }

  .pb-12 {
    padding-bottom: calc(var(--spacing) * 12);
  }

  .pb-20 {
    padding-bottom: calc(var(--spacing) * 20);
  }

  .pb-27 {
    padding-bottom: calc(var(--spacing) * 27);
  }

  .pb-36 {
    padding-bottom: calc(var(--spacing) * 36);
  }

  .pb-37 {
    padding-bottom: calc(var(--spacing) * 37);
  }

  .pb-40 {
    padding-bottom: calc(var(--spacing) * 40);
  }

  .pb-50 {
    padding-bottom: calc(var(--spacing) * 50);
  }

  .pb-60 {
    padding-bottom: calc(var(--spacing) * 60);
  }

  .pb-80 {
    padding-bottom: calc(var(--spacing) * 80);
  }

  .pb-138 {
    padding-bottom: calc(var(--spacing) * 138);
  }

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

  .font-roboto {
    font-family: var(--font-roboto);
  }

  .text-12 {
    font-size: var(--text-12);
  }

  .text-13 {
    font-size: var(--text-13);
  }

  .text-14 {
    font-size: var(--text-14);
  }

  .text-16 {
    font-size: var(--text-16);
  }

  .text-18 {
    font-size: var(--text-18);
  }

  .text-20 {
    font-size: var(--text-20);
  }

  .text-24 {
    font-size: var(--text-24);
  }

  .text-28 {
    font-size: var(--text-28);
  }

  .text-50 {
    font-size: var(--text-50);
  }

  .leading-24 {
    --tw-leading: calc(var(--spacing) * 24);
    line-height: calc(var(--spacing) * 24);
  }

  .leading-28 {
    --tw-leading: calc(var(--spacing) * 28);
    line-height: calc(var(--spacing) * 28);
  }

  .leading-\[1\.666\] {
    --tw-leading: 1.666;
    line-height: 1.666;
  }

  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }

  .font-black {
    --tw-font-weight: var(--font-weight-black);
    font-weight: var(--font-weight-black);
  }

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }

  .font-extrabold {
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .tracking-normal {
    --tw-tracking: var(--tracking-normal);
    letter-spacing: var(--tracking-normal);
  }

  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }

  .text-primary {
    color: var(--color-primary);
  }

  .text-white {
    color: var(--color-white);
  }

  .capitalize {
    text-transform: capitalize;
  }

  .lowercase {
    text-transform: lowercase;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

  .underline {
    text-decoration-line: underline;
  }

  .opacity-4 {
    opacity: .04;
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring {
    --tw-ring-shadow: var(--tw-ring-inset,  ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .outline-123 {
    outline-style: var(--tw-outline-style);
    outline-width: 123px;
  }

  .outline-360 {
    outline-style: var(--tw-outline-style);
    outline-width: 360px;
  }

  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur,  ) var(--tw-brightness,  ) var(--tw-contrast,  ) var(--tw-grayscale,  ) var(--tw-hue-rotate,  ) var(--tw-invert,  ) var(--tw-saturate,  ) var(--tw-sepia,  ) var(--tw-drop-shadow,  );
  }

  .brightness-1 {
    --tw-brightness: brightness(1%);
    filter: var(--tw-blur,  ) var(--tw-brightness,  ) var(--tw-contrast,  ) var(--tw-grayscale,  ) var(--tw-hue-rotate,  ) var(--tw-invert,  ) var(--tw-saturate,  ) var(--tw-sepia,  ) var(--tw-drop-shadow,  );
  }

  .brightness-2 {
    --tw-brightness: brightness(2%);
    filter: var(--tw-blur,  ) var(--tw-brightness,  ) var(--tw-contrast,  ) var(--tw-grayscale,  ) var(--tw-hue-rotate,  ) var(--tw-invert,  ) var(--tw-saturate,  ) var(--tw-sepia,  ) var(--tw-drop-shadow,  );
  }

  .brightness-3 {
    --tw-brightness: brightness(3%);
    filter: var(--tw-blur,  ) var(--tw-brightness,  ) var(--tw-contrast,  ) var(--tw-grayscale,  ) var(--tw-hue-rotate,  ) var(--tw-invert,  ) var(--tw-saturate,  ) var(--tw-sepia,  ) var(--tw-drop-shadow,  );
  }

  .brightness-4 {
    --tw-brightness: brightness(4%);
    filter: var(--tw-blur,  ) var(--tw-brightness,  ) var(--tw-contrast,  ) var(--tw-grayscale,  ) var(--tw-hue-rotate,  ) var(--tw-invert,  ) var(--tw-saturate,  ) var(--tw-sepia,  ) var(--tw-drop-shadow,  );
  }

  .brightness-5 {
    --tw-brightness: brightness(5%);
    filter: var(--tw-blur,  ) var(--tw-brightness,  ) var(--tw-contrast,  ) var(--tw-grayscale,  ) var(--tw-hue-rotate,  ) var(--tw-invert,  ) var(--tw-saturate,  ) var(--tw-sepia,  ) var(--tw-drop-shadow,  );
  }

  .brightness-6 {
    --tw-brightness: brightness(6%);
    filter: var(--tw-blur,  ) var(--tw-brightness,  ) var(--tw-contrast,  ) var(--tw-grayscale,  ) var(--tw-hue-rotate,  ) var(--tw-invert,  ) var(--tw-saturate,  ) var(--tw-sepia,  ) var(--tw-drop-shadow,  );
  }

  .brightness-7 {
    --tw-brightness: brightness(7%);
    filter: var(--tw-blur,  ) var(--tw-brightness,  ) var(--tw-contrast,  ) var(--tw-grayscale,  ) var(--tw-hue-rotate,  ) var(--tw-invert,  ) var(--tw-saturate,  ) var(--tw-sepia,  ) var(--tw-drop-shadow,  );
  }

  .invert {
    --tw-invert: invert(100%);
    filter: var(--tw-blur,  ) var(--tw-brightness,  ) var(--tw-contrast,  ) var(--tw-grayscale,  ) var(--tw-hue-rotate,  ) var(--tw-invert,  ) var(--tw-saturate,  ) var(--tw-sepia,  ) var(--tw-drop-shadow,  );
  }

  .\!filter {
    filter: var(--tw-blur,  ) var(--tw-brightness,  ) var(--tw-contrast,  ) var(--tw-grayscale,  ) var(--tw-hue-rotate,  ) var(--tw-invert,  ) var(--tw-saturate,  ) var(--tw-sepia,  ) var(--tw-drop-shadow,  ) !important;
  }

  .filter {
    filter: var(--tw-blur,  ) var(--tw-brightness,  ) var(--tw-contrast,  ) var(--tw-grayscale,  ) var(--tw-hue-rotate,  ) var(--tw-invert,  ) var(--tw-saturate,  ) var(--tw-sepia,  ) var(--tw-drop-shadow,  );
  }

  .filter-none {
    filter: none;
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .select-all {
    -webkit-user-select: all;
    user-select: all;
  }

  .backface-hidden {
    backface-visibility: hidden;
  }

  @media (hover: hover) {
    .hover\:bg-black:hover {
      background-color: var(--color-black);
    }

    .hover\:bg-primary:hover {
      background-color: var(--color-primary);
    }

    .hover\:text-primary:hover {
      color: var(--color-primary);
    }

    .hover\:opacity-70:hover {
      opacity: .7;
    }
  }

  @media not all and (min-width: 768px) {
    .max-md\:col-span-2 {
      grid-column: span 2 / span 2;
    }

    .max-md\:hidden {
      display: none;
    }

    .max-md\:flex-col {
      flex-direction: column;
    }
  }

  @media (min-width: 560px) {
    .sm\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sm\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sm\:gap-20 {
      gap: calc(var(--spacing) * 20);
    }

    .sm\:gap-x-20 {
      column-gap: calc(var(--spacing) * 20);
    }
  }

  @media (min-width: 768px) {
    .md\:-mt-4 {
      margin-top: calc(var(--spacing) * -4);
    }

    .md\:mt-16 {
      margin-top: calc(var(--spacing) * 16);
    }

    .md\:mt-20 {
      margin-top: calc(var(--spacing) * 20);
    }

    .md\:mt-23 {
      margin-top: calc(var(--spacing) * 23);
    }

    .md\:mt-33 {
      margin-top: calc(var(--spacing) * 33);
    }

    .md\:mt-34 {
      margin-top: calc(var(--spacing) * 34);
    }

    .md\:mt-36 {
      margin-top: calc(var(--spacing) * 36);
    }

    .md\:mt-40 {
      margin-top: calc(var(--spacing) * 40);
    }

    .md\:mt-47 {
      margin-top: calc(var(--spacing) * 47);
    }

    .md\:mt-52 {
      margin-top: calc(var(--spacing) * 52);
    }

    .md\:mt-53 {
      margin-top: calc(var(--spacing) * 53);
    }

    .md\:mt-54 {
      margin-top: calc(var(--spacing) * 54);
    }

    .md\:mt-56 {
      margin-top: calc(var(--spacing) * 56);
    }

    .md\:mt-57 {
      margin-top: calc(var(--spacing) * 57);
    }

    .md\:mt-58 {
      margin-top: calc(var(--spacing) * 58);
    }

    .md\:mt-60 {
      margin-top: calc(var(--spacing) * 60);
    }

    .md\:mt-62 {
      margin-top: calc(var(--spacing) * 62);
    }

    .md\:mt-75 {
      margin-top: calc(var(--spacing) * 75);
    }

    .md\:mt-90 {
      margin-top: calc(var(--spacing) * 90);
    }

    .md\:mt-100 {
      margin-top: calc(var(--spacing) * 100);
    }

    .md\:mt-114 {
      margin-top: calc(var(--spacing) * 114);
    }

    .md\:mt-126 {
      margin-top: calc(var(--spacing) * 126);
    }

    .md\:mt-130 {
      margin-top: calc(var(--spacing) * 130);
    }

    .md\:mb-10 {
      margin-bottom: calc(var(--spacing) * 10);
    }

    .md\:mb-30 {
      margin-bottom: calc(var(--spacing) * 30);
    }

    .md\:mb-50 {
      margin-bottom: calc(var(--spacing) * 50);
    }

    .md\:mb-55 {
      margin-bottom: calc(var(--spacing) * 55);
    }

    .md\:mb-57 {
      margin-bottom: calc(var(--spacing) * 57);
    }

    .md\:mb-58 {
      margin-bottom: calc(var(--spacing) * 58);
    }

    .md\:mb-60 {
      margin-bottom: calc(var(--spacing) * 60);
    }

    .md\:mb-67 {
      margin-bottom: calc(var(--spacing) * 67);
    }

    .md\:-ml-12 {
      margin-left: calc(var(--spacing) * -12);
    }

    .md\:-ml-16 {
      margin-left: calc(var(--spacing) * -16);
    }

    .md\:ml-15 {
      margin-left: calc(var(--spacing) * 15);
    }

    .md\:flex {
      display: flex;
    }

    .md\:hidden {
      display: none;
    }

    .md\:w-106 {
      width: calc(var(--spacing) * 106);
    }

    .md\:w-614 {
      width: calc(var(--spacing) * 614);
    }

    .md\:translate-x-3 {
      --tw-translate-x: calc(var(--spacing) * 3);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .md\:-translate-y-4 {
      --tw-translate-y: calc(var(--spacing) * -4);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .md\:-translate-y-5 {
      --tw-translate-y: calc(var(--spacing) * -5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .md\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .md\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .md\:flex-col {
      flex-direction: column;
    }

    .md\:flex-row {
      flex-direction: row;
    }

    .md\:items-center {
      align-items: center;
    }

    .md\:justify-between {
      justify-content: space-between;
    }

    .md\:gap-40 {
      gap: calc(var(--spacing) * 40);
    }

    .md\:gap-x-12 {
      column-gap: calc(var(--spacing) * 12);
    }

    .md\:gap-x-20 {
      column-gap: calc(var(--spacing) * 20);
    }

    .md\:gap-x-37 {
      column-gap: calc(var(--spacing) * 37);
    }

    .md\:gap-x-40 {
      column-gap: calc(var(--spacing) * 40);
    }

    .md\:gap-y-7 {
      row-gap: calc(var(--spacing) * 7);
    }

    .md\:gap-y-25 {
      row-gap: calc(var(--spacing) * 25);
    }

    .md\:gap-y-28 {
      row-gap: calc(var(--spacing) * 28);
    }

    .md\:gap-y-30 {
      row-gap: calc(var(--spacing) * 30);
    }

    .md\:gap-y-44 {
      row-gap: calc(var(--spacing) * 44);
    }

    .md\:gap-y-53 {
      row-gap: calc(var(--spacing) * 53);
    }

    .md\:gap-y-57 {
      row-gap: calc(var(--spacing) * 57);
    }

    .md\:gap-y-58 {
      row-gap: calc(var(--spacing) * 58);
    }

    .md\:gap-y-60 {
      row-gap: calc(var(--spacing) * 60);
    }

    .md\:gap-y-70 {
      row-gap: calc(var(--spacing) * 70);
    }

    .md\:gap-y-115 {
      row-gap: calc(var(--spacing) * 115);
    }

    .md\:gap-y-120 {
      row-gap: calc(var(--spacing) * 120);
    }

    .md\:p-20 {
      padding: calc(var(--spacing) * 20);
    }

    .md\:px-0 {
      padding-inline: calc(var(--spacing) * 0);
    }

    .md\:px-30 {
      padding-inline: calc(var(--spacing) * 30);
    }

    .md\:py-40 {
      padding-block: calc(var(--spacing) * 40);
    }

    .md\:py-50 {
      padding-block: calc(var(--spacing) * 50);
    }

    .md\:py-59 {
      padding-block: calc(var(--spacing) * 59);
    }

    .md\:py-60 {
      padding-block: calc(var(--spacing) * 60);
    }

    .md\:py-75 {
      padding-block: calc(var(--spacing) * 75);
    }

    .md\:pt-3 {
      padding-top: calc(var(--spacing) * 3);
    }

    .md\:pt-13 {
      padding-top: calc(var(--spacing) * 13);
    }

    .md\:pt-16 {
      padding-top: calc(var(--spacing) * 16);
    }

    .md\:pt-34 {
      padding-top: calc(var(--spacing) * 34);
    }

    .md\:pt-55 {
      padding-top: calc(var(--spacing) * 55);
    }

    .md\:pt-60 {
      padding-top: calc(var(--spacing) * 60);
    }

    .md\:pb-16 {
      padding-bottom: calc(var(--spacing) * 16);
    }

    .md\:pb-45 {
      padding-bottom: calc(var(--spacing) * 45);
    }

    .md\:pb-47 {
      padding-bottom: calc(var(--spacing) * 47);
    }

    .md\:pb-50 {
      padding-bottom: calc(var(--spacing) * 50);
    }

    .md\:pb-53 {
      padding-bottom: calc(var(--spacing) * 53);
    }

    .md\:pb-60 {
      padding-bottom: calc(var(--spacing) * 60);
    }

    .md\:pb-113 {
      padding-bottom: calc(var(--spacing) * 113);
    }

    .md\:pb-117 {
      padding-bottom: calc(var(--spacing) * 117);
    }

    .md\:pb-120 {
      padding-bottom: calc(var(--spacing) * 120);
    }

    .md\:pb-124 {
      padding-bottom: calc(var(--spacing) * 124);
    }

    .md\:text-center {
      text-align: center;
    }

    .md\:text-16 {
      font-size: var(--text-16);
    }

    .md\:text-20 {
      font-size: var(--text-20);
    }

    .md\:text-22 {
      font-size: var(--text-22);
    }

    .md\:text-30 {
      font-size: var(--text-30);
    }

    .md\:text-36 {
      font-size: var(--text-36);
    }

    .md\:text-72 {
      font-size: var(--text-72);
    }

    .md\:text-130 {
      font-size: var(--text-130);
    }

    .md\:leading-36 {
      --tw-leading: calc(var(--spacing) * 36);
      line-height: calc(var(--spacing) * 36);
    }
  }
}

@layer prose;

:root, :host {
  --breakpoint-xs: 480px;
  --font-sans: "Noto Sans JP", sans-serif;
  --font-latin: "Noto Sans", sans-serif;
  --font-roboto: "Roboto", sans-serif;
  --font-serif: "Noto Serif JP", serif;
  --font-mono: ui-monospace, sfmono-regular, menlo, monaco, monospace;
  --color-primary: #e6460a;
  --color-body: #1c1a19;
  --color-black: #000;
  --color-white: #fff;
  --color-gray-100: #f7f7f7;
  --color-gray-150: #efefef;
  --color-gray-200: #e2e2e2;
  --color-gray-300: #c4c4c4;
  --color-gray-350: #ccc;
  --color-gray-450: #8f8f8f;
  --color-gray-500: #707070;
  --color-gray-800: #1c1a19;
  --spacing-gutter: var(--gutter);
  --spacing: 1px;
  --tracking-wide: .03em;
  --text-12: 12px;
  --text-13: 13px;
  --text-14: 14px;
  --text-16: 16px;
  --text-18: 18px;
  --text-20: 20px;
  --text-22: 22px;
  --text-24: 24px;
  --text-28: 28px;
  --text-30: 30px;
  --text-36: 36px;
  --text-50: 50px;
  --text-72: 72px;
  --text-130: 130px;
  --font-weight-medium: 500;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --font-weight-black: 900;
  --tracking-normal: 0em;
  --default-transition-duration: .15s;
  --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  --default-font-family: var(--font-sans);
  --default-mono-font-family: var(--font-mono);
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@layer base {
  :root {
    --inner-thin: 720px;
    --inner-slim: 1000px;
    --inner-base: 1160px;
    --inner-wide: 1200px;
    --view-width: 100vw;
    --font-size-body: 14px;
    --line-height-body: 1.8;
    --header-height: 72px;
    --tracking-default: 0em;
    --gutter: 20px;
  }
  @media (width >= 768px) {
    :root {
      --header-height: 80px;
      --gutter: 15px;
    }
  }
}
@layer base {
  html {
    font-size: 0.625em;
  }
  body {
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    color: var(--color-body);
  }
  body:has(input#NavToggle:checked) {
    overflow: hidden;
  }
  :where(*) {
    letter-spacing: var(--tracking-default);
    letter-spacing: inherit;
    outline-color: var(--color-primary);
    border-style: solid;
    border-width: 0;
  }
  input,
  select,
  option,
  textarea,
  button {
    box-sizing: border-box;
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    color: var(--color-body);
    letter-spacing: var(--tracking-default);
  }
  img {
    display: inline-block;
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    image-rendering: smooth;
  }
  svg {
    width: 100%;
  }
  :where(button, [type=button], [type=reset], [type=submit]) {
    padding: 0;
    touch-action: manipulation;
    background: transparent;
    border: none;
  }
  :any-link,
  button,
  [type=button],
  [type=reset],
  [type=submit],
  label,
  select,
  summary,
  [role=tab],
  [role=button] {
    cursor: pointer;
  }
  :focus:not(:focus-visible) {
    outline: none;
  }
  i:has(> svg) {
    line-height: 0;
  }
  a:not([class]) {
    color: inherit;
  }
  [class*="hover:"] {
    transition-duration: 0.3s;
    transition-property: opacity, color, background-color, border-color;
  }
}
@layer prose {
  .prose :where(*) {
    margin-top: 20px;
    font-size: 14px;
    font-weight: 500;
    line-height: 2;
  }
  .prose *:first-child {
    margin-top: 0;
  }
  .prose img {
    display: block;
  }
  .prose h1 {
    font-size: 32px;
    font-weight: 800;
    line-height: 1.375;
    letter-spacing: 0.03em;
  }
  .prose h2 {
    display: flex;
    flex-direction: column;
    gap: 15px 0;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.375;
  }
  .prose h2::after {
    flex: 0 0 3px;
    width: 30px;
    height: 3px;
    content: "";
    background-color: var(--color-primary);
  }
  .prose h3 {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5;
  }
  .prose h4 {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.75;
  }
  .prose h5 {
    font-weight: bold;
  }
  .prose h6 {
    font-size: 12px;
    font-weight: 600;
  }
  .prose a {
    color: var(--color-primary);
    text-decoration: underline;
  }
  @media (any-hover: hover) {
    .prose a:hover {
      text-decoration: none;
    }
  }
  .prose ul {
    padding-left: 1.5em;
    list-style: disc;
  }
  .prose ul > li {
    margin-top: 0;
  }
  .prose ul > li::marker {
    color: var(--color-primary);
  }
  .prose ol {
    padding-left: 1.5em;
    list-style: decimal;
  }
  .prose ol > li {
    margin-top: 0;
  }
  .prose b, .prose strong {
    font-weight: bold;
  }
  .prose u {
    text-decoration: line-through;
  }
  .prose em {
    font-weight: inherit;
  }
  .prose blockquote {
    padding: 1em;
    background-color: var(--color-gray-100);
  }
  .prose p + p {
    margin-top: 5px;
  }
  @media (width >= 768px) {
    .prose :where(*) {
      margin-top: 25px;
      font-size: 16px;
      line-height: 2.25;
    }
    .prose h1 {
      margin-top: 80px;
      font-size: 44px;
    }
    .prose h2 {
      margin-top: 60px;
      font-size: 28px;
    }
    .prose h2::after {
      width: 60px;
    }
    .prose h3 {
      margin-top: 40px;
      font-size: 24px;
    }
    .prose h4 {
      margin-top: 30px;
    }
  }
  .prose-docs img + img {
    margin-top: 40px;
  }
  @media (width >= 768px) {
    .prose-docs img + img {
      margin-top: 60px;
    }
  }
}
@layer layout {
  .l-wrapper {
    overflow: clip;
  }
  .l-wrapper:not([data-page=home]) {
    padding-top: var(--header-height);
  }
}
@layer layout {
  .l-header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    display: flex;
    align-items: center;
    width: 100%;
    height: var(--header-height);
    padding-inline: 15px 0;
    background-color: #fff;
  }
  .l-header[data-page=home] {
    background-color: transparent;
    transition-duration: 0.3s;
    transition-property: background-color;
  }
  .l-header[data-page=home].is-scrolled {
    background-color: #fff;
  }
  .l-header__logo {
    flex: 0 0 121px;
  }
  .l-header__menu, .l-header__mail {
    display: none;
  }
  .l-header__toggle {
    flex: 0 0 auto;
    margin-left: auto;
  }
  @media (width >= 768px) {
    .l-header {
      padding-inline: 40px 30px;
    }
    .l-header__logo {
      flex: 0 0 150px;
    }
    .l-header__menu {
      display: block;
      flex: 0 0 auto;
      margin-left: auto;
    }
    .l-header__mail {
      display: block;
      flex: 0 0 150px;
      margin-left: 20px;
    }
    .l-header__toggle {
      display: none;
    }
    .l-header[data-page=home] .l-header__logo {
      flex: 0 0 206px;
      margin-top: 40px;
      transition-duration: 0.2s;
    }
    .l-header[data-page=home].is-scrolled .l-header__logo {
      flex: 0 0 150px;
      margin-top: 0;
    }
  }
  @media (width >= 1024px) {
    .l-header__mail {
      margin-left: 40px;
    }
  }
}
@layer layout {
  .l-footer {
    padding-block: 58px 40px;
    border-top: 1px solid var(--color-gray-350);
  }
  .l-footer__logo img {
    width: 315px;
  }
  .l-footer__copyright {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.03em;
  }
  @media (width >= 768px) {
    .l-footer {
      padding-block: 70px;
    }
    .l-footer__container {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 34px 60px;
    }
    .l-footer__info {
      grid-row: span 2;
    }
    .l-footer__sponsor {
      max-width: 400px;
    }
    .l-footer__copyright {
      margin: 48px 50px 0;
      text-align: right;
    }
    .l-footer__logo img {
      width: 291px;
    }
    .l-footer__sponsorbg {
      display: none;
    }
  }
  @media (width >= 1024px) {
    .l-footer__container {
      gap: 54px 120px;
    }
    .l-footer__links {
      padding-top: 27px;
    }
  }
  @media (width < 768px) {
    .l-footer__links {
      padding-top: 33px;
    }
    .l-footer__sponsor {
      position: relative;
      padding-block: 35px 40px;
      padding-inline: var(--gutter);
      margin-inline: calc(-1 * var(--gutter));
      margin-top: 59px;
    }
    .l-footer__sponsorbg {
      position: absolute;
      inset: 0 0 0 var(--gutter);
      z-index: 0;
      background-color: var(--color-gray-150);
    }
    .l-footer__copyright {
      margin-top: 40px;
      text-align: center;
    }
  }
}
@layer layout {
  .l-mobilenav {
    position: fixed;
    inset: 0;
    z-index: 98;
    visibility: hidden;
    padding: calc(var(--header-height) + 75px) 30px 50px;
    overflow: auto;
    background-color: #fff;
    opacity: 0;
    transition-duration: 0.3s;
    transition-property: visibility, opacity;
    -webkit-overflow-scrolling: touch;
  }
  .l-mobilenav:is(body:has(input#NavToggle:checked) *) {
    visibility: visible;
    opacity: 1;
  }
  @media (width >= 768px) {
    .l-mobilenav {
      display: none;
    }
  }
}
@layer layout {
  .l-main {
    position: relative;
    padding-bottom: 60px;
  }
  .l-main__container {
    position: relative;
    z-index: 1;
  }
  .l-main__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
    pointer-events: none;
  }
  .l-main__bg * {
    flex: 0 0 auto;
    width: 800px;
  }
  .l-main__bg02 {
    padding-block: 1600px 3600px;
  }
  @media (width >= 768px) {
    .l-main {
      padding-bottom: 130px;
    }
    .l-main__bg {
      top: -195px;
    }
    .l-main__bg * {
      width: 2000px;
    }
    .l-main__bg02 {
      padding-block: 1364px 3074px;
    }
  }
}
@layer layout {
  .l-breadcrumbs {
    background-color: #fff;
  }
  .l-breadcrumbs__inner {
    --gutter: 20px;
    display: flex;
    gap: 0 4px;
    align-items: center;
    height: 60px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  .l-breadcrumbs__inner > * {
    flex: 0 0 auto;
  }
  .l-breadcrumbs__inner {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .l-breadcrumbs__inner::-webkit-scrollbar {
    display: none;
  }
  @media (width >= 768px) {
    .l-breadcrumbs__inner {
      height: 44px;
    }
  }
}
@layer components {
  .c-bnr {
    font-family: serif;
  }
}
@layer components {
  .c-movie-box {
    width: 100%;
    aspect-ratio: 16/9;
  }
  .c-movie-box iframe {
    width: 100%;
    height: 100%;
  }
  .c-img-box {
    display: flex;
    flex-direction: column;
    gap: 12px 0;
  }
  @media (width >= 900px) {
    .c-img-box {
      display: grid;
      grid-template: "ttl img" auto "cts img" 1fr/1fr 1fr;
      gap: 25px 40px;
    }
    .c-img-box[data-img-layout=left] {
      grid-template: "img ttl" auto "img cts" 1fr/1fr 1fr;
    }
    .c-img-box__ttl {
      grid-area: ttl;
    }
    .c-img-box__img {
      grid-area: img;
    }
    .c-img-box__cts {
      grid-area: cts;
    }
  }
  @media (width < 900px) {
    .c-img-box__img {
      order: 0;
    }
    .c-img-box__ttl {
      order: 1;
    }
    .c-img-box__cts {
      order: 2;
    }
  }
  .c-bizhdr-box {
    display: grid;
    grid-template: "num en" auto "num ja" 1fr/auto 1fr;
    gap: 0 12px;
  }
  .c-bizhdr-box__num {
    grid-area: num;
    font-family: var(--font-roboto);
    font-size: 70px;
    font-style: italic;
    font-weight: 900;
    line-height: 1;
    color: var(--color-primary);
  }
  .c-bizhdr-box__en {
    grid-area: en;
    padding-top: 10px;
    font-family: var(--font-roboto);
    font-size: 16px;
    font-style: italic;
    font-weight: 900;
    line-height: 1;
    color: var(--color-primary);
  }
  .c-bizhdr-box__ja {
    grid-area: ja;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: 0.03em;
  }
  @media (width >= 768px) {
    .c-bizhdr-box {
      gap: 2px 20px;
    }
    .c-bizhdr-box__num {
      font-size: 130px;
    }
    .c-bizhdr-box__en {
      padding-top: 28px;
      font-size: 20px;
    }
    .c-bizhdr-box__ja {
      font-size: 34px;
    }
  }
  .c-case-box {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .c-case-box__in {
    padding: 20px;
    background-color: #fff;
  }
  .c-case-box__label {
    font-size: 20px;
    font-weight: 800;
  }
  .c-case-box__cts {
    position: relative;
    z-index: 1;
    margin-top: -40px;
    margin-left: auto;
  }
  .c-case-box__table {
    width: 100%;
  }
  .c-case-box__table th {
    width: 60px;
    padding-block: 10px;
    font-weight: bold;
  }
  .c-case-box__table td {
    padding-block: 12px 10px;
    font-size: 12px;
    font-weight: 500;
  }
  .c-case-box__table th, .c-case-box__table td {
    vertical-align: top;
    text-align: left;
  }
  .c-case-box__table tr + tr {
    border-top: 1px solid var(--color-gray-300);
  }
  @media (width >= 768px) {
    .c-case-box__label {
      font-size: 28px;
    }
    .c-case-box__cts {
      width: 533px;
      margin-top: -120px;
    }
    .c-case-box__img {
      width: 550px;
    }
    .c-case-box__in {
      padding: 35px 50px;
    }
    .c-case-box__table th {
      width: 140px;
    }
    .c-case-box__table td {
      width: auto;
    }
    .c-case-box__table th, .c-case-box__table td {
      padding-block: 20px;
      font-size: 16px;
      line-height: 2;
    }
  }
  @media (width >= 1024px) {
    .c-case-box {
      position: relative;
      flex-direction: row;
      align-items: center;
      min-height: 497px;
    }
    .c-case-box__cts {
      margin-top: 0;
    }
    .c-case-box__img {
      position: absolute;
      left: 0;
      flex: 0 0 770px;
      width: 770px;
    }
  }
  .c-formline-box__label {
    padding-bottom: 14px;
    font-size: 16px;
    font-weight: bold;
  }
  @media (width >= 768px) {
    .c-formline-box {
      display: flex;
      gap: 0 40px;
    }
    .c-formline-box__label {
      flex: 0 0 300px;
      width: 300px;
      padding-bottom: 0;
    }
    .c-formline-box__cts {
      flex: 1 1 auto;
    }
  }
}
@layer components {
  .c-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    color: #fff;
    background-color: var(--color-black);
  }
  .c-btn ._icon {
    position: absolute;
    top: 50%;
    right: 30px;
    font-size: 24px;
    translate: 0 -50%;
  }
  .c-toggle-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(1.236 * var(--header-height));
    height: var(--header-height);
    padding: 10px 0 0 25px;
    background-color: var(--color-primary);
  }
  .c-toggle-btn input {
    display: none;
  }
  .c-toggle-btn__bars {
    display: flex;
    flex: 0 0 25px;
    flex-direction: column;
    justify-content: space-between;
    width: 25px;
    height: 17px;
  }
  .c-toggle-btn__bars i {
    flex: 0 0 1px;
    width: 100%;
    height: 1px;
    background-color: #fff;
    transition-duration: 0.3s;
  }
  .c-toggle-btn:has(input:checked) .c-toggle-btn__bars i:nth-child(1) {
    rotate: 45deg;
    translate: 0 8px;
  }
  .c-toggle-btn:has(input:checked) .c-toggle-btn__bars i:nth-child(2) {
    scale: 1 0;
  }
  .c-toggle-btn:has(input:checked) .c-toggle-btn__bars i:nth-child(3) {
    rotate: -45deg;
    translate: 0 -8px;
  }
  .c-mail-btn {
    display: flex;
    gap: 0 9px;
    align-items: center;
    justify-content: center;
    color: #fff;
    background-color: var(--color-primary);
    border-radius: 100vmax;
    transition-duration: 0.3s;
    transition-property: background-color;
  }
  .c-mail-btn ._icon {
    font-size: 20px;
  }
  .c-mail-btn ._txt {
    font-size: 14px;
  }
  @media (any-hover: hover) {
    .c-mail-btn:hover {
      background-color: var(--color-black);
    }
  }
  .c-around-btn {
    --x: 12px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 54px;
    padding-inline: 12px 10px;
    background-color: var(--color-black);
    clip-path: polygon(var(--x) 0%, 100% 0%, calc(100% - var(--x)) 100%, 0% 100%);
    transition-duration: 0.3s;
    transition-property: background-color;
  }
  @media (any-hover: hover) {
    .c-around-btn:hover {
      background-color: var(--color-primary);
    }
  }
  .c-around-btn ._icon {
    flex: 0 0 1em;
    width: 1em;
    font-size: 16px;
    color: #fff;
  }
  .c-around-btn ._txt {
    flex: 1 1 auto;
    font-size: 13px;
    font-weight: bold;
    line-height: 1.25;
    color: #fff;
    text-align: center;
    letter-spacing: 0.03em;
  }
  @media (width >= 768px) {
    .c-around-btn {
      height: 70px;
      --x: 16px;
      padding-inline: 42px 27px;
    }
    .c-around-btn ._icon {
      font-size: 36px;
    }
    .c-around-btn ._txt {
      font-size: 20px;
    }
  }
  .c-tab-btn {
    --x: 12px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 54px;
    padding-inline: 12px 10px;
    background-color: var(--color-black);
    clip-path: polygon(var(--x) 0%, 100% 0%, calc(100% - var(--x)) 100%, 0% 100%);
    transition-duration: 0.3s;
    transition-property: background-color;
  }
  @media (any-hover: hover) {
    .c-tab-btn:hover {
      background-color: var(--color-primary);
    }
  }
  .c-tab-btn input {
    display: none;
  }
  .c-tab-btn:has(input:checked) {
    background-color: var(--color-primary);
  }
  .c-tab-btn ._icon {
    flex: 0 0 1em;
    width: 1em;
    font-size: 16px;
    color: #fff;
  }
  .c-tab-btn ._txt {
    flex: 1 1 auto;
    font-size: 13px;
    font-weight: bold;
    line-height: 1.25;
    color: #fff;
    text-align: center;
    letter-spacing: 0.03em;
  }
  @media (width >= 768px) {
    .c-tab-btn {
      height: 70px;
      --x: 16px;
      padding-inline: 42px 27px;
    }
    .c-tab-btn ._icon {
      font-size: 36px;
    }
    .c-tab-btn ._txt {
      font-size: 20px;
    }
  }
  .c-cmtab-btn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0 1em;
    border-bottom: 1px solid var(--color-gray-300);
    padding-block: 20px;
  }
  .c-cmtab-btn input {
    display: none;
  }
  .c-cmtab-btn:has(input:checked) ._txt {
    color: var(--color-primary);
  }
  .c-cmtab-btn:has(input:disabled) {
    cursor: auto;
  }
  .c-cmtab-btn:has(input:disabled) ._icon {
    color: var(--color-gray-300);
  }
  .c-cmtab-btn:has(input:disabled) ._txt {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 0;
  }
  .c-cmtab-btn:has(input:disabled) ._txt span {
    flex: 0 0 250px;
  }
  .c-cmtab-btn:has(input:disabled) ._txt:after {
    content: "";
    flex: 0 0 136.5px;
    width: 136.5px;
    height: 23.8px;
    background: url("../images/shared/txt-coming-soon.svg") no-repeat center center/contain;
  }
  .c-cmtab-btn ._icon {
    flex: 0 0 1em;
    width: 1em;
    font-size: 26px;
    line-height: 1;
    color: var(--color-primary);
  }
  .c-cmtab-btn ._txt {
    flex: 1 1 auto;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.25;
  }
  @media (width >= 768px) {
    .c-cmtab-btn {
      padding-block: 30px;
    }
    .c-cmtab-btn ._txt {
      font-size: 18px;
    }
    .c-cmtab-btn ._icon {
      font-size: 53px;
    }
    .c-cmtab-btn:has(input:disabled) ._txt span {
      flex: 0 0 300px;
    }
    .c-cmtab-btn:has(input:disabled) ._txt:after {
      flex: 0 0 195px;
      width: 195px;
      height: 34px;
    }
  }
  .c-anchor-btn {
    display: flex;
    gap: 0 4px;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--color-gray-300);
  }
  .c-anchor-btn ._txt {
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.03em;
    transition-duration: 0.3s;
    transition-property: color;
  }
  .c-anchor-btn ._icon {
    flex: 0 0 auto;
    color: var(--color-primary);
    transition-duration: 0.3s;
    transition-property: translate;
  }
  @media (any-hover: hover) {
    .c-anchor-btn:hover ._txt {
      color: var(--color-primary);
    }
    .c-anchor-btn:hover ._icon {
      translate: 0 0.25em;
    }
  }
  @media (width >= 768px) {
    .c-anchor-btn {
      padding-bottom: 15px;
    }
    .c-anchor-btn ._txt {
      font-size: 16px;
    }
    .c-anchor-btn ._icon {
      font-size: 20px;
    }
  }
  .c-gmap-btn {
    display: inline-flex;
    gap: 0 5px;
    align-items: center;
    justify-content: center;
    height: 24px;
    padding-inline: 11px;
    color: var(--color-primary);
    border: 1px solid var(--color-primary);
    border-radius: 100vmax;
    transition-duration: 0.3s;
    transition-property: color, background-color;
  }
  .c-gmap-btn ._txt {
    font-size: 12px;
    font-weight: 500;
  }
  .c-gmap-btn ._icon {
    flex: 0 0 1em;
    font-size: 12px;
  }
  @media (any-hover: hover) {
    .c-gmap-btn:hover {
      color: #fff;
      background-color: var(--color-primary);
    }
  }
  .c-thumbnail-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 16/9;
  }
  .c-thumbnail-btn__img {
    position: absolute;
    inset: 0;
    z-index: 0;
  }
  .c-thumbnail-btn__icon {
    position: relative;
    z-index: 1;
    font-size: 50px;
    color: #fff;
  }
  @media (width >= 768px) {
    .c-thumbnail-btn__icon {
      font-size: 102px;
    }
  }
  .c-submit-btn {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 73px;
    padding-inline: 70px 30px;
    font-size: 18px;
    color: #fff;
    background-color: var(--color-body);
    clip-path: polygon(20px 0%, 100% 0%, calc(100% - 20px) 100%, 0% 100%);
    transition-duration: 0.3s;
    transition-property: background-color;
  }
  .c-submit-btn .wpcf7-submit {
    position: absolute;
    inset: 0;
    opacity: 0;
  }
  .c-submit-btn ._txt {
    flex: 0 0 auto;
    font-weight: bold;
  }
  .c-submit-btn ._icon {
    flex: 0 0 auto;
    margin-left: auto;
    font-size: 36px;
  }
  .c-submit-btn:has(input:disabled) {
    pointer-events: none;
    background-color: var(--color-gray-300);
  }
  @media (any-hover: hover) {
    .c-submit-btn:hover {
      background-color: var(--color-primary);
    }
  }
  @media (width >= 768px) {
    .c-submit-btn {
      height: 80px;
      padding-inline: 70px 30px;
    }
  }
  .c-confirm-btn {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 73px;
    padding-inline: 30px 70px;
    font-size: 18px;
    color: #fff;
    background-color: var(--color-gray-500);
    clip-path: polygon(20px 0%, 100% 0%, calc(100% - 20px) 100%, 0% 100%);
    transition-duration: 0.3s;
    transition-property: background-color;
  }
  .c-confirm-btn .wpcf7-previous {
    position: absolute;
    inset: 0;
    opacity: 0;
  }
  .c-confirm-btn ._txt {
    flex: 0 0 auto;
    font-weight: bold;
  }
  .c-confirm-btn ._icon {
    flex: 0 0 auto;
    margin-right: auto;
    font-size: 36px;
  }
  @media (any-hover: hover) {
    .c-confirm-btn:hover {
      background-color: var(--color-primary);
    }
  }
  @media (width >= 768px) {
    .c-confirm-btn {
      height: 80px;
    }
  }
  .c-back-btn {
    --x: 10px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 45px;
    padding-inline: 14px 22px;
    background-color: var(--color-black);
    clip-path: polygon(var(--x) 0%, 100% 0%, calc(100% - var(--x)) 100%, 0% 100%);
    transition-duration: 0.3s;
    transition-property: background-color;
  }
  @media (any-hover: hover) {
    .c-back-btn:hover {
      background-color: var(--color-primary);
    }
  }
  .c-back-btn ._icon {
    flex: 0 0 1em;
    width: 1em;
    font-size: 24px;
    color: #fff;
  }
  .c-back-btn ._txt {
    flex: 1 1 auto;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    color: #fff;
    text-align: center;
    letter-spacing: 0.03em;
  }
  .c-doc-btn {
    display: flex;
    align-items: center;
    padding-block: 15px;
    padding-inline: 15px 10px;
    background-color: var(--color-gray-100);
    transition-duration: 0.3s;
    transition-property: background-color;
  }
  .c-doc-btn ._txt {
    flex: 1 1 auto;
    font-weight: 500;
  }
  .c-doc-btn ._icon {
    flex: 0 0 auto;
    color: var(--color-primary);
    transition-duration: 0.3s;
    transition-property: translate;
  }
  @media (any-hover: hover) {
    .c-doc-btn:hover {
      background-color: var(--color-gray-200);
    }
    .c-doc-btn:hover ._icon {
      translate: 10px 0;
    }
  }
  @media (width >= 768px) {
    .c-doc-btn {
      min-height: 80px;
      padding-inline: 30px 20px;
    }
    .c-doc-btn ._txt {
      font-size: 16px;
    }
    .c-doc-btn ._icon {
      font-size: 24px;
    }
  }
}
@layer components {
  .c-card {
    width: 100%;
  }
}
@layer components {
  .c-csr-fg {
    --times: 0.5;
    --offset-x: calc(105px * var(--times));
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(566px * var(--times));
    aspect-ratio: 566/510;
  }
  .c-csr-fg__center {
    display: flex;
    flex: 0 0 calc(300px * var(--times));
    align-items: center;
    justify-content: center;
    width: calc(300px * var(--times));
    height: calc(300px * var(--times));
    font-size: 13px;
    font-weight: bold;
    color: var(--color-primary);
    letter-spacing: 0.02em;
    border: 1px solid var(--color-primary);
    border-radius: 50%;
  }
  .c-csr-fg__item {
    position: absolute;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(155px * var(--times));
    height: calc(155px * var(--times));
    font-size: 9px;
    font-weight: bold;
    line-height: 1.5333333333;
    color: #fff;
    text-align: center;
    letter-spacing: 0.03em;
    background-color: var(--color-primary);
    border-radius: 50%;
  }
  .c-csr-fg__item._lt {
    top: 0;
    translate: calc(-1 * var(--offset-x)) 0;
  }
  .c-csr-fg__item._lc {
    top: 50%;
    left: 0;
    translate: 0 -50%;
  }
  .c-csr-fg__item._lb {
    bottom: 0;
    translate: calc(-1 * var(--offset-x)) 0;
  }
  .c-csr-fg__item._rt {
    top: 0;
    translate: var(--offset-x) 0;
  }
  .c-csr-fg__item._rc {
    top: 50%;
    right: 0;
    translate: 0 -50%;
  }
  .c-csr-fg__item._rb {
    bottom: 0;
    translate: var(--offset-x) 0;
  }
  @media (width >= 560px) {
    .c-csr-fg {
      --times: 0.85;
    }
    .c-csr-fg__center {
      font-size: calc(20px * var(--times));
    }
    .c-csr-fg__item {
      font-size: calc(15px * var(--times));
    }
  }
  @media (width >= 768px) {
    .c-csr-fg {
      --times: 1;
    }
  }
}
@layer components {
  .c-aroundbtn-group {
    display: flex;
    gap: 15px 5px;
    justify-content: center;
  }
  @media (width >= 768px) {
    .c-aroundbtn-group {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 5px 25px;
    }
  }
  @media (width < 768px) {
    .c-aroundbtn-group {
      flex-wrap: wrap;
    }
    .c-aroundbtn-group > * {
      flex: 0 0 calc(50% - 2.5px);
    }
  }
  .c-sponsor-group__ttl {
    font-size: 22px;
    font-weight: 800;
    text-align: center;
    letter-spacing: 0.03em;
  }
  .c-sponsor-group__bnrs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 7px;
    margin-top: 27px;
  }
  .c-sponsor-group__txt {
    padding-top: 24px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.6666666667;
    letter-spacing: 0.03em;
  }
  @media (width >= 768px) {
    .c-sponsor-group__ttl {
      font-size: 20px;
      text-align: left;
    }
    .c-sponsor-group__txt {
      padding-top: 5px;
    }
    .c-sponsor-group__bnrs {
      gap: 10px;
      margin-top: 18px;
    }
  }
  .c-branch-group {
    display: flex;
    gap: 5px 0;
    padding-bottom: 26px;
    border-bottom: 1px solid var(--color-gray-300);
  }
  .c-branch-group__name {
    font-size: 16px;
    font-weight: bold;
  }
  .c-branch-group__address {
    font-weight: 500;
  }
  .c-branch-group__numbers {
    display: flex;
    flex-direction: column;
    font-weight: 500;
  }
  @media (width >= 768px) {
    .c-branch-group {
      gap: 0 40px;
    }
    .c-branch-group__name {
      flex: 0 0 200px;
      width: 200px;
    }
    .c-branch-group__info {
      flex: 1 1 auto;
    }
    .c-branch-group__address {
      font-size: 16px;
    }
    .c-branch-group__numbers {
      margin-top: 3px;
      font-size: 16px;
    }
    .c-branch-group__btn {
      flex: 0 0 106px;
      align-self: center;
      width: 106px;
    }
  }
  @media (width >= 1024px) {
    .c-branch-group__numbers {
      flex-direction: row;
      gap: 0 0.25em;
    }
  }
  @media (width < 768px) {
    .c-branch-group {
      flex-direction: column;
    }
    .c-branch-group__btn {
      display: flex;
      justify-content: flex-end;
    }
  }
  .c-cmtab-group {
    display: flex;
    flex-direction: column;
    border-top: 1px solid var(--color-gray-300);
  }
}
@layer components {
  .c-post-hdr__date {
    font-weight: 500;
    color: var(--color-primary);
  }
  .c-post-hdr::after {
    display: block;
    width: 30px;
    height: 3px;
    margin-top: 16px;
    content: "";
    background-color: var(--color-primary);
  }
  @media (width >= 768px) {
    .c-post-hdr__date {
      margin-top: -1.5px;
      font-size: 16px;
    }
    .c-post-hdr__ttl {
      margin-top: 24px;
    }
    .c-post-hdr::after {
      width: 60px;
      margin-top: 22.4px;
    }
  }
}
@layer components {
  .c-h1 {
    font-size: 32px;
    font-weight: 800;
    letter-spacing: 0.03em;
  }
  @media (width >= 768px) {
    .c-h1 {
      font-size: 44px;
    }
  }
  .c-h2 {
    font-size: 26px;
    font-weight: 800;
    line-height: 1.3076923077;
    letter-spacing: 0.03em;
  }
  @media (width >= 768px) {
    .c-h2 {
      font-size: 36px;
      line-height: 1.5;
    }
  }
  .c-sec-h2 {
    position: relative;
    display: flex;
    gap: 0 7px;
    padding-bottom: 16px;
    font-size: 26px;
    font-weight: 800;
    line-height: 1.4166666667;
    letter-spacing: 0.03em;
    border-bottom: 1px solid var(--color-gray-300);
  }
  .c-sec-h2::before {
    display: block;
    align-self: flex-end;
    width: 24.5px;
    height: 28.7px;
    content: "";
    background-color: var(--color-primary);
    clip-path: polygon(calc(100% - 7px) 0%, 100% 0%, 7px 100%, 0% 100%);
  }
  .c-sec-h2::after {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 80px;
    height: 1px;
    content: "";
    background-color: var(--color-primary);
  }
  @media (width >= 768px) {
    .c-sec-h2 {
      gap: 0 10px;
      padding-bottom: 28px;
      font-size: 36px;
      line-height: 1.5;
    }
    .c-sec-h2::before {
      width: 35px;
      height: 41px;
      clip-path: polygon(calc(100% - 9px) 0%, 100% 0%, 9px 100%, 0% 100%);
    }
    .c-sec-h2::after {
      width: 220px;
    }
  }
  .c-h3 {
    font-size: 20px;
    font-weight: 800;
    letter-spacing: 0.03em;
  }
  @media (width >= 768px) {
    .c-h3 {
      font-size: 28px;
    }
  }
  .c-sec-h3 {
    display: flex;
    flex-direction: column;
    gap: 15px 0;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.75;
  }
  .c-sec-h3::after {
    flex: 0 0 3px;
    width: 30px;
    height: 3px;
    content: "";
    background-color: var(--color-primary);
  }
  @media (width >= 768px) {
    .c-sec-h3 {
      gap: 20px 0;
      font-size: 24px;
    }
    .c-sec-h3::after {
      width: 60px;
    }
  }
  .c-h4 {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.6666666667;
  }
  @media (width >= 768px) {
    .c-h4 {
      font-size: 24px;
    }
  }
  .c-sec-h4 {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.6666666667;
  }
  .c-sec-h4::after {
    display: block;
    width: 30px;
    height: 3px;
    margin-top: 15px;
    content: "";
    background-color: var(--color-primary);
  }
  @media (width >= 768px) {
    .c-sec-h4 {
      font-size: 24px;
    }
    .c-sec-h4::after {
      width: 60px;
      margin-top: 20px;
    }
  }
}
@layer components {
  .c-sec-hgrp ._en {
    font-family: var(--font-latin);
    font-size: 48px;
    font-style: italic;
    font-weight: bold;
    line-height: 1;
  }
  .c-sec-hgrp ._ja {
    margin-top: 5px;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.03em;
  }
  @media (width >= 768px) {
    .c-sec-hgrp ._en {
      font-size: 66px;
    }
    .c-sec-hgrp ._ja {
      margin-top: 9px;
      font-size: 16px;
    }
  }
}
@layer components {
  .c-cover-image {
    object-fit: cover;
    max-width: none;
    width: 100%;
    height: 100%;
  }
}
@layer components {
  .c-thin-inner {
    width: min(100% - var(--section-gutter) * 2, var(--inner-thin));
    margin-inline: auto;
    --section-gutter: var(--gutter);
  }
  .c-slim-inner {
    width: min(100% - var(--section-gutter) * 2, var(--inner-slim));
    margin-inline: auto;
    --section-gutter: var(--gutter);
  }
  .c-inner {
    width: min(100% - var(--section-gutter) * 2, var(--inner-base));
    margin-inline: auto;
    --section-gutter: var(--gutter);
  }
  .c-wide-inner {
    width: min(100% - var(--section-gutter) * 2, var(--inner-wide));
    margin-inline: auto;
    --section-gutter: var(--gutter);
  }
  [data-gutter=fill]:is(*.c-thin-inner, *.c-slim-inner, *.c-inner, *.c-wide-inner) {
    --section-gutter: 0px;
  }
  @media (width >= 768px) {
    [data-gutter-pc=fill]:is(*.c-thin-inner, *.c-slim-inner, *.c-inner, *.c-wide-inner) {
      --section-gutter: 0px;
    }
  }
  @media (width < 768px) {
    [data-gutter-mobile=fill]:is(*.c-thin-inner, *.c-slim-inner, *.c-inner, *.c-wide-inner) {
      --section-gutter: 0px;
    }
  }
}
@layer components {
  .c-link {
    color: var(--color-primary);
    text-decoration: underline;
  }
  @media (any-hover: hover) {
    .c-link:hover {
      text-decoration: none;
    }
  }
  .c-txt-link {
    text-decoration: underline;
  }
  @media (any-hover: hover) {
    .c-txt-link:hover {
      text-decoration: none;
    }
  }
  .c-news-link {
    position: relative;
    display: flex;
    align-items: center;
    padding-block: 10px 17px;
    border-bottom: 2px solid var(--color-gray-350);
  }
  .c-news-link::after {
    position: absolute;
    right: 0;
    bottom: -2px;
    width: 40px;
    height: 2px;
    content: "";
    background-color: var(--color-primary);
    transition-duration: 0.3s;
    transition-property: width;
  }
  .c-news-link__cts {
    flex: 1 1 auto;
  }
  .c-news-link__cts ._date {
    display: block;
    font-size: 12px;
    font-weight: bold;
    color: var(--color-primary);
    letter-spacing: 0.03em;
  }
  .c-news-link__cts ._link {
    display: block;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.03em;
  }
  .c-news-link__arrow {
    flex: 0 0 40px;
    align-self: flex-start;
    color: var(--color-primary);
    transition-duration: 0.3s;
    transition-property: translate;
  }
  @media (any-hover: hover) {
    .c-news-link:hover::after {
      width: 100%;
    }
    .c-news-link:hover .c-news-link__arrow {
      translate: 5px 0;
    }
  }
  @media (width >= 768px) {
    .c-news-link::after {
      width: 45px;
    }
    .c-news-link__cts {
      display: flex;
      align-items: center;
    }
    .c-news-link__cts ._date {
      flex: 0 0 120px;
      font-size: 14px;
    }
    .c-news-link__cts ._link {
      font-size: 16px;
    }
    .c-news-link__arrow {
      flex: 0 0 45px;
      font-size: 16px;
      align-self: center;
    }
  }
  @media (width < 768px) {
    .c-news-link__cts {
      display: flex;
      flex-direction: column;
      gap: 5px 0;
      padding-right: 10px;
    }
    .c-news-link__arrow {
      align-self: center;
    }
  }
  .c-mbnav-link {
    display: flex;
    gap: 0 10px;
    align-items: baseline;
    width: fit-content;
    line-height: 1;
  }
  .c-mbnav-link ._en {
    font-family: var(--font-roboto);
    font-size: 26px;
    font-weight: bold;
  }
  .c-mbnav-link ._ja {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.03em;
  }
  .c-ftr-link {
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.03em;
    transition-duration: 0.3s;
  }
  @media (any-hover: hover) {
    .c-ftr-link:hover {
      color: var(--color-primary);
    }
  }
  .c-bread-link {
    font-size: 14px;
    font-weight: 500;
    color: var(--color-gray-450);
    letter-spacing: 0.03em;
  }
}
@layer components {}
@layer components {
  .c-hdr-menu {
    display: flex;
    gap: 0 20px;
    font-size: 14px;
  }
  .c-hdr-menu__subs {
    position: absolute;
    top: calc(100% + 10px);
    left: 50%;
    translate: -56.5% 0;
    transition-duration: 0.3s;
    transition-delay: 0.2s;
    visibility: hidden;
    opacity: 0;
  }
  .c-hdr-menu li {
    position: relative;
  }
  @media (any-hover: hover) {
    .c-hdr-menu li:hover .c-hdr-menu__subs {
      transition-delay: 0s;
      visibility: visible;
      opacity: 1;
    }
  }
  .c-hdr-menu a {
    font-weight: bold;
    transition-duration: 0.3s;
    transition-property: color;
  }
  @media (any-hover: hover) {
    .c-hdr-menu a:hover {
      color: var(--color-primary);
    }
  }
  @media (width >= 1024px) {
    .c-hdr-menu {
      gap: 0 40px;
    }
  }
  .c-hdr2nd-menu {
    padding-block: 11px;
    position: relative;
  }
  .c-hdr2nd-menu::before, .c-hdr2nd-menu::after {
    content: "";
    height: 14px;
    width: 202px;
    background-color: #fff;
    position: absolute;
  }
  .c-hdr2nd-menu::before {
    top: 0;
    right: 0;
    clip-path: polygon(5px 0%, 100% 0%, calc(100% - 5px) 100%, 0 100%);
  }
  .c-hdr2nd-menu::after {
    left: -4px;
    bottom: 0;
    clip-path: polygon(5px 0%, 100% 0%, calc(100% - 5px) 100%, 0 100%);
  }
  .c-hdr2nd-menu li {
    margin-left: auto;
    width: 208px;
    height: 32px;
    padding-inline: 22px;
    background-color: #fff;
    clip-path: polygon(11px 0%, 100% 0%, calc(100% - 11px) 100%, 0 100%);
  }
  .c-hdr2nd-menu li:nth-child(1) {
    margin-right: 4px;
  }
  .c-hdr2nd-menu li:nth-child(2) {
    margin-right: 15px;
  }
  .c-hdr2nd-menu li:nth-child(3) {
    margin-right: 26px;
  }
  .c-hdr2nd-menu li:nth-child(4) {
    margin-right: 37px;
  }
  .c-hdr2nd-menu li:nth-child(5) {
    margin-right: 48px;
  }
  .c-hdr2nd-menu li:nth-child(6) {
    margin-right: 59px;
  }
  .c-hdr2nd-menu li:nth-child(7) {
    margin-right: 70px;
  }
  .c-hdr2nd-menu li:nth-child(8) {
    margin-right: 81px;
  }
  .c-hdr2nd-menu li:nth-child(9) {
    margin-right: 92px;
  }
  .c-hdr2nd-menu__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 32px;
  }
  .c-hdr2nd-menu__link span {
    font-weight: bold;
    font-size: 12px;
  }
  .c-hdr2nd-menu__link i {
    flex: 0 0 10px;
  }
}
@layer components {
  .c-modal {
    position: fixed;
    inset: 0;
    z-index: 999;
    visibility: hidden;
    padding-inline: var(--gutter);
    opacity: 0;
  }
  .c-modal__overlay {
    position: fixed;
    inset: 0;
    z-index: 0;
    background-color: rgba(0, 0, 0, 0.8);
  }
  .c-modal__container {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
    padding-block: 30px;
    pointer-events: none;
  }
  .c-modal__inner {
    flex: 1 1 auto;
    max-width: 1000px;
    max-height: calc(100vh - 60px);
    overflow: auto;
    pointer-events: all;
    background-color: #fff;
  }
}
@layer components {
  .c-outdent {
    padding-left: 1em;
    text-indent: -1em;
  }
}
@layer components {
  .c-pagehdr {
    position: relative;
    padding-top: 44px;
  }
  .c-pagehdr__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: flex;
    justify-content: flex-end;
    height: 90.66vw;
  }
  .c-pagehdr__bg::after {
    position: absolute;
    z-index: 0;
    width: 100%;
    height: 64vw;
    content: "";
    background: url("../images/shared/bg-mobile-pagehdr.jpg") no-repeat left top/100% auto;
    clip-path: polygon(0% 0%, 100% 0%, 100% 59px, 0% 100%);
  }
  .c-pagehdr__cts {
    position: relative;
    z-index: 1;
  }
  .c-pagehdr__img {
    position: relative;
    z-index: 1;
  }
  .c-pagehdr__hgrp ._ttl {
    display: flex;
    gap: 0 8px;
    align-items: center;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.03em;
  }
  .c-pagehdr__hgrp ._ttl::before {
    flex: 0 0 12px;
    width: 12px;
    height: 12px;
    content: "";
    background-color: var(--color-primary);
  }
  .c-pagehdr__hgrp ._txt {
    padding-top: 17px;
    font-family: var(--font-roboto);
    font-size: 54px;
    font-weight: bold;
    line-height: 1;
  }
  .c-pagehdr__txt {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.875;
    letter-spacing: 0.03em;
  }
  @media (width >= 768px) {
    .c-pagehdr {
      display: flex;
      align-items: center;
      height: 345px;
      padding-top: 5px;
    }
    .c-pagehdr__bg {
      top: 0;
      left: 50%;
      width: 1400px;
      height: 345px;
      translate: -50% 0;
    }
    .c-pagehdr__bg::after {
      top: 0;
      left: 0;
      width: 782px;
      height: 345px;
      background-image: url("../images/shared/bg-pagehdr@2x.jpg");
      background-size: cover;
      clip-path: polygon(0% 0%, 100% 0%, calc(100% - 222px) 100%, 0% 100%);
    }
    .c-pagehdr__img {
      align-self: flex-start;
      clip-path: polygon(202px 0%, 100% 0%, 100% 100%, 0% 100%);
    }
    .c-pagehdr__img img {
      width: 824px;
    }
    .c-pagehdr__cts {
      margin-left: max(var(--gutter), var(--view-width) * 0.5 - 580px);
    }
    .c-pagehdr__hgrp ._txt {
      font-size: 70px;
    }
    .c-pagehdr__txt {
      padding-top: 22px;
      font-size: 15px;
      line-height: 2;
    }
  }
  @media (width < 768px) {
    .c-pagehdr__bg {
      align-items: flex-end;
    }
    .c-pagehdr__bg::after {
      top: 0;
      left: 0;
    }
    .c-pagehdr__cts {
      padding-inline: 30px;
    }
    .c-pagehdr__hgrp {
      min-height: 88vw;
    }
    .c-pagehdr__img {
      display: flex;
      align-items: flex-end;
      height: 75vw;
      margin-left: 30px;
      clip-path: polygon(0% 147px, 100% 0%, 100% 100%, 0% 100%);
    }
  }
}
@layer components {
  .c-pager .wp-pagenavi {
    display: flex;
    gap: 0 10px;
    align-items: center;
    justify-content: center;
    padding-top: 20px;
  }
  .c-pager .wp-pagenavi .pagenation_list {
    list-style: none;
    flex: 0 0 36px;
    overflow: hidden;
  }
  .c-pager .wp-pagenavi .pagenation_list:has(.next, .prev) {
    flex: 0 0 24px;
  }
  .c-pager .wp-pagenavi .pagenation_list span.show, .c-pager .wp-pagenavi .pagenation_list a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
  }
  .c-pager .wp-pagenavi .pagenation_list span:not(.show) {
    width: 36px;
    height: 36px;
    font-size: 16px;
    font-weight: bold;
    display: flex;
    align-items: flex-end;
    justify-content: center;
  }
  .c-pager .wp-pagenavi .pagenation_list span.show {
    background-color: var(--color-primary);
  }
  .c-pager .wp-pagenavi .pagenation_list a:not(.next, .prev) {
    background-color: var(--color-gray-300);
  }
  @media (any-hover: hover) {
    .c-pager .wp-pagenavi .pagenation_list a {
      transition: 0.3s opacity ease-in-out;
    }
    .c-pager .wp-pagenavi .pagenation_list a:hover {
      opacity: 0.6;
    }
  }
  .c-pager .wp-pagenavi .pagenation_list a.next, .c-pager .wp-pagenavi .pagenation_list a.prev {
    width: 24px;
    height: 24px;
    overflow: hidden;
    color: transparent;
    white-space: nowrap;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 16px 16px;
    text-indent: -9999px;
  }
  .c-pager .wp-pagenavi .pagenation_list a.prev {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M213.7%20256L380.9%2081.9c4.2-4.3%204.1-11.4-.2-15.8l-29.9-30.6c-4.3-4.4-11.3-4.5-15.5-.2L131.1%20247.9c-2.2%202.2-3.2%205.2-3%208.1-.1%203%20.9%205.9%203%208.1l204.2%20212.7c4.2%204.3%2011.2%204.2%2015.5-.2l29.9-30.6c4.3-4.4%204.4-11.5.2-15.8L213.7%20256z%22%20fill%3D%22%231C1A19%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  }
  .c-pager .wp-pagenavi .pagenation_list a.next {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M298.3%20256L131.1%2081.9c-4.2-4.3-4.1-11.4.2-15.8l29.9-30.6c4.3-4.4%2011.3-4.5%2015.5-.2L380.9%20248c2.2%202.2%203.2%205.2%203%208.1.1%203-.9%205.9-3%208.1L176.7%20476.8c-4.2%204.3-11.2%204.2-15.5-.2L131.3%20446c-4.3-4.4-4.4-11.5-.2-15.8L298.3%20256z%22%20fill%3D%22%231C1A19%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  }
  .c-pager .wp-pagenavi .page, .c-pager .wp-pagenavi .current {
    display: flex;
    flex: 0 0 36px;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
  }
  .c-pager .wp-pagenavi .page {
    background-color: var(--color-gray-300);
  }
  @media (any-hover: hover) {
    .c-pager .wp-pagenavi .page {
      transition: 0.3s opacity ease-in-out;
    }
    .c-pager .wp-pagenavi .page:hover {
      opacity: 0.6;
    }
  }
  .c-pager .wp-pagenavi .current {
    background-color: var(--color-primary);
  }
  .c-pager .wp-pagenavi .previouspostslink, .c-pager .wp-pagenavi .nextpostslink {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    overflow: hidden;
    color: transparent;
    white-space: nowrap;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 16px 16px;
  }
  @media (any-hover: hover) {
    .c-pager .wp-pagenavi .previouspostslink, .c-pager .wp-pagenavi .nextpostslink {
      transition: 0.3s opacity ease-in-out;
    }
    .c-pager .wp-pagenavi .previouspostslink:hover, .c-pager .wp-pagenavi .nextpostslink:hover {
      opacity: 0.6;
    }
  }
  .c-pager .wp-pagenavi .previouspostslink {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M213.7%20256L380.9%2081.9c4.2-4.3%204.1-11.4-.2-15.8l-29.9-30.6c-4.3-4.4-11.3-4.5-15.5-.2L131.1%20247.9c-2.2%202.2-3.2%205.2-3%208.1-.1%203%20.9%205.9%203%208.1l204.2%20212.7c4.2%204.3%2011.2%204.2%2015.5-.2l29.9-30.6c4.3-4.4%204.4-11.5.2-15.8L213.7%20256z%22%20fill%3D%22%231C1A19%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  }
  .c-pager .wp-pagenavi .nextpostslink {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M298.3%20256L131.1%2081.9c-4.2-4.3-4.1-11.4.2-15.8l29.9-30.6c4.3-4.4%2011.3-4.5%2015.5-.2L380.9%20248c2.2%202.2%203.2%205.2%203%208.1.1%203-.9%205.9-3%208.1L176.7%20476.8c-4.2%204.3-11.2%204.2-15.5-.2L131.3%20446c-4.3-4.4-4.4-11.5-.2-15.8L298.3%20256z%22%20fill%3D%22%231C1A19%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  }
  @media (width >= 768px) {
    .c-pager .wp-pagenavi {
      gap: 0 20px;
      padding-top: 31px;
    }
    .c-pager .wp-pagenavi .page, .c-pager .wp-pagenavi .current {
      flex: 0 0 50px;
      width: 50px;
      height: 50px;
      font-size: 20px;
    }
    .c-pager .wp-pagenavi .pagenation_list {
      flex: 0 0 50px;
    }
    .c-pager .wp-pagenavi .pagenation_list span.show, .c-pager .wp-pagenavi .pagenation_list span:not(.show), .c-pager .wp-pagenavi .pagenation_list a {
      width: 50px;
      height: 50px;
      font-size: 20px;
    }
  }
}
@layer components {
  .c-section {
    background-color: #fff;
  }
  .c-parallel-section {
    position: relative;
    padding-block: 85px 78px;
  }
  .c-parallel-section__bg {
    content: "";
    position: absolute;
    top: 0;
    z-index: 0;
    height: 100%;
    background-color: var(--color-gray-100);
  }
  @media (width >= 768px) {
    .c-parallel-section {
      padding-block: 144px 135px;
    }
    .c-parallel-section__bg {
      left: calc(50% - 8px);
      width: 1935px;
      translate: -50% 0;
    }
  }
}
@layer components {
  .c-stack {
    display: flex;
    flex-direction: column;
  }
}
@layer components {
  .c-outline-table th {
    font-weight: bold;
    text-align: left;
  }
  @media (width >= 768px) {
    .c-outline-table {
      width: 100%;
      table-layout: fixed;
    }
    .c-outline-table th {
      width: 240px;
      vertical-align: text-top;
    }
    .c-outline-table td {
      width: auto;
      padding-right: 20px;
      font-weight: 500;
    }
    .c-outline-table th, .c-outline-table td {
      padding-block: 36px 35px;
      font-size: 16px;
      line-height: 2;
      border-bottom: 1px solid var(--color-gray-300);
    }
  }
  @media (width < 768px) {
    .c-outline-table {
      display: block;
    }
    .c-outline-table tr, .c-outline-table th, .c-outline-table td {
      display: block;
    }
    .c-outline-table tbody {
      display: flex;
      flex-direction: column;
      gap: 20px 0;
    }
    .c-outline-table tr {
      padding-bottom: 15px;
      border-bottom: 1px solid var(--color-gray-300);
    }
    .c-outline-table td {
      padding-bottom: 5px;
    }
  }
  .c-maker-table {
    width: 100%;
  }
  .c-maker-table th {
    font-weight: bold;
    vertical-align: top;
    text-align: left;
  }
  .c-maker-table th a {
    color: var(--color-primary);
    text-decoration: underline;
  }
  @media (any-hover: hover) {
    .c-maker-table th a:hover {
      text-decoration: none;
    }
  }
  .c-maker-table tr {
    border-bottom: 1px solid var(--color-gray-300);
  }
  @media (width >= 768px) {
    .c-maker-table th {
      width: 280px;
      font-weight: 500;
    }
    .c-maker-table th, .c-maker-table td {
      padding-block: 25px 26px;
      font-size: 16px;
      line-height: 2;
    }
  }
  @media (width >= 900px) {
    .c-maker-table th {
      width: 340px;
    }
  }
  @media (width < 768px) {
    .c-maker-table {
      display: block;
    }
    .c-maker-table tbody, .c-maker-table tr, .c-maker-table th, .c-maker-table td {
      display: block;
    }
    .c-maker-table tr {
      padding-block: 10px;
    }
    .c-maker-table td {
      padding-top: 5px;
    }
  }
}
@layer components {
  .c-txt {
    font-size: 14px;
    line-height: 1.8571428571;
    letter-spacing: 0.03em;
  }
  @media (width >= 768px) {
    .c-txt {
      font-size: 16px;
      line-height: 2;
    }
  }
  .c-txt02 {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.8571428571;
  }
  @media (width >= 768px) {
    .c-txt02 {
      font-size: 16px;
      line-height: 2.25;
    }
  }
  .c-3xl-txt {
    font-size: 24px;
    line-height: 1.4166666667;
    letter-spacing: 0.03em;
  }
  @media (width >= 768px) {
    .c-3xl-txt {
      font-size: 40px;
      line-height: 1.75;
    }
  }
  .c-bread-txt {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.03em;
  }
  .c-sm-txt {
    font-size: 12px;
    line-height: 1.6666666667;
  }
  @media (width >= 768px) {
    .c-sm-txt {
      font-size: 13px;
      line-height: 2;
    }
  }
}
@layer components {
  .c-history-unit {
    display: flex;
  }
  .c-history-unit::before {
    flex: 0 0 13px;
    width: 13px;
    height: 13px;
    content: "";
    background-color: var(--color-primary);
    border-radius: 50%;
  }
  .c-history-unit ._year {
    flex: 0 0 auto;
    font-family: var(--font-roboto);
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
    color: var(--color-primary);
  }
  .c-history-unit ._nengo {
    flex: 0 0 auto;
    font-size: 14;
    font-weight: bold;
    letter-spacing: 0.03em;
  }
  .c-history-unit ._cts {
    font-weight: 500;
    letter-spacing: 0.03em;
    border-bottom: 1px solid var(--color-gray-300);
  }
  @media (width >= 768px) {
    .c-history-unit::before {
      margin-top: 5px;
    }
    .c-history-unit ._year {
      padding-left: 50px;
      font-size: 32px;
    }
    .c-history-unit ._nengo {
      padding-top: 3px;
      padding-left: 19px;
    }
    .c-history-unit ._cts {
      flex: 1 1 auto;
      padding-bottom: 32px;
      padding-left: 38px;
      margin-left: 57px;
      font-size: 16px;
      line-height: 2;
    }
  }
  @media (width < 768px) {
    .c-history-unit {
      flex-wrap: wrap;
      align-items: center;
    }
    .c-history-unit ._year {
      padding-left: 5px;
    }
    .c-history-unit ._nengo {
      padding-left: 20px;
    }
    .c-history-unit ._cts {
      flex: 0 0 calc(100% - 20px);
      padding-top: 15px;
      padding-bottom: 15px;
      margin-left: 20px;
    }
  }
  .c-list-unit {
    display: flex;
    gap: 0 7px;
  }
  .c-list-unit::before {
    flex: 0 0 0.5em;
    width: 0.5em;
    height: 0.5em;
    margin-top: 0.75em;
    content: "";
    background-color: var(--color-primary);
    border-radius: 50%;
  }
  @media (width >= 768px) {
    .c-list-unit::before {
      margin-top: 0.85em;
    }
  }
  .c-news-unit {
    padding-block: 20px;
    border-bottom: 1px solid var(--color-gray-300);
  }
  .c-news-unit__date {
    font-size: 14px;
    font-weight: bold;
    color: var(--color-primary);
  }
  .c-news-unit__link {
    display: flex;
    gap: 0 10px;
    align-items: center;
    padding-right: 5px;
  }
  .c-news-unit__txt {
    flex: 1 1 auto;
    font-size: 14px;
    font-weight: 500;
    transition-duration: 0.3s;
    transition-property: color;
  }
  .c-news-unit__icon {
    flex: 0 0 auto;
    font-size: 14px;
    color: var(--color-primary);
    transition-duration: 0.3s;
    transition-property: translate;
  }
  @media (any-hover: hover) {
    .c-news-unit:hover .c-news-unit__txt {
      color: var(--color-primary);
    }
    .c-news-unit:hover .c-news-unit__icon {
      translate: 3px 0;
    }
  }
  @media (width >= 560px) {
    .c-news-unit {
      display: flex;
      gap: 0 40px;
    }
    .c-news-unit__date {
      flex: 0 0 80px;
      width: 80px;
    }
    .c-news-unit__link {
      flex: 1 1 auto;
    }
  }
  @media (width >= 768px) {
    .c-news-unit {
      padding-block: 27px;
    }
    .c-news-unit__date {
      flex: 0 0 150px;
      width: 150px;
      font-size: 16px;
    }
    .c-news-unit__txt {
      font-size: 16px;
    }
    .c-news-unit__icon {
      font-size: 16px;
    }
  }
  @media (width < 560px) {
    .c-news-unit {
      position: relative;
    }
    .c-news-unit__icon {
      position: absolute;
      top: 50%;
      right: 0;
      translate: 0 -50%;
    }
  }
  @media (width < 560px) and (any-hover: hover) {
    .c-news-unit:hover .c-news-unit__icon {
      translate: 3px -50%;
    }
  }
}
@keyframes sdl01 {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
@layer project {
  .home-mv {
    --height: 668px;
    position: relative;
    display: flex;
    justify-content: center;
    height: var(--height);
    padding-inline: 15px;
    padding-top: 87px;
    overflow: hidden;
  }
  .home-mv__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
  }
  .home-mv__bg img {
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: cover;
  }
  .home-mv__doorlt {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    background-color: #fff;
    clip-path: polygon(0% 0%, 100% 0%, calc(100% - 330px) 100%, 0 100%);
    width: 100%;
    height: 100%;
  }
  .home-mv__doorrb {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    background-color: #fff;
    clip-path: polygon(300px 0%, 100% 0%, 100% 100%, 0% 100%);
    width: 100%;
    height: 100%;
  }
  .home-mv__lt {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 190px;
    height: 294px;
    background-color: rgba(255, 255, 255, 0.2);
    clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
  }
  .home-mv__lt::before, .home-mv__lt::after {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
  }
  .home-mv__lt::before {
    inset: 0 22px 33px 0;
    background-color: rgba(255, 255, 255, 0.2);
  }
  .home-mv__lt::after {
    inset: 0 44px 66px 0;
    background-color: #fff;
  }
  .home-mv__rb {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
    width: 111px;
    height: 168px;
    background-color: rgba(255, 255, 255, 0.2);
    clip-path: polygon(100% 0%, 100% 100%, 0% 100%);
  }
  .home-mv__rb::before, .home-mv__rb::after {
    position: absolute;
    right: 0;
    bottom: 0;
    content: "";
    clip-path: polygon(100% 0%, 100% 100%, 0% 100%);
  }
  .home-mv__rb::before {
    inset: 34px 0 0 25px;
    background-color: rgba(255, 255, 255, 0.2);
  }
  .home-mv__rb::after {
    inset: 68px 0 0 50px;
    background-color: #fff;
  }
  .home-mv__container {
    position: relative;
    z-index: 10;
    flex: 1 1 auto;
    max-width: 1200px;
  }
  .home-mv__ttl {
    opacity: 0;
  }
  .home-mv__copy {
    padding-top: 5px;
    font-size: 20px;
    font-weight: 900;
    text-shadow: 0 0 6px #fff;
    opacity: 0;
  }
  .home-mv__scroll {
    opacity: 0;
    position: absolute;
    bottom: -34px;
    left: 50%;
    z-index: 10;
    display: flex;
    flex-direction: column;
    gap: 10px 0;
    align-items: center;
    translate: -50% 0;
  }
  .home-mv__scroll ._txt {
    font-family: var(--font-serif);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    color: #fff;
    letter-spacing: 0.1em;
  }
  .home-mv__scroll ._line {
    position: relative;
    width: 2px;
    height: 68px;
    background-color: #fff;
  }
  .home-mv__scroll ._line::after {
    position: absolute;
    inset: 0;
    height: 100%;
    content: "";
    background-color: var(--color-gray-800);
    animation: sdl01 2s cubic-bezier(1, 0, 0, 1) infinite;
  }
  .home-mv__slider {
    width: 100%;
    height: 100%;
  }
  .home-mv .swiper {
    height: var(--height);
  }
  .home-mv .swiper-slide {
    height: var(--height);
  }
  @media (width >= 768px) {
    .home-mv {
      --height: 700px;
      align-items: center;
      padding-top: 10px;
    }
    .home-mv__doorlt {
      clip-path: polygon(0% 0%, 100% 0%, calc(100% - 424px) 100%, 0 100%);
    }
    .home-mv__doorrb {
      clip-path: polygon(450px 0%, 100% 0%, 100% 100%, 0% 100%);
    }
    .home-mv__lt {
      width: 424px;
      height: 655px;
    }
    .home-mv__lt::before {
      inset: 0 40px 63px 0;
    }
    .home-mv__lt::after {
      inset: 0 80px 126px 0;
    }
    .home-mv__rb {
      width: 295px;
      height: 451px;
    }
    .home-mv__rb::before {
      inset: 60px 0 0 40px;
    }
    .home-mv__rb::after {
      inset: 120px 0 0 80px;
    }
    .home-mv__scroll ._txt {
      font-size: 10px;
    }
  }
  @media (width < 768px) {
    .home-mv__container {
      display: flex;
      align-items: center;
      justify-content: center;
      padding-bottom: 110px;
    }
    .home-mv__bg::after {
      position: absolute;
      top: 0;
      left: 0;
      width: 50%;
      height: 100%;
      content: "";
      background-image: linear-gradient(to right, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
      opacity: 0.47;
    }
  }
  .home-about {
    position: relative;
  }
  .home-about__bg01 {
    position: absolute;
    top: 0;
    right: calc(50% + 65px);
    z-index: 1;
    width: 180px;
    height: 191px;
    background-color: var(--color-primary);
  }
  .home-about__bg02 {
    position: absolute;
    top: 44px;
    right: calc(50% + 40px);
    z-index: 0;
    width: 182px;
    height: 167px;
    background-color: var(--color-gray-200);
  }
  .home-about__bg03 {
    position: absolute;
    bottom: 0;
    left: calc(50% + 52px);
    z-index: 0;
    width: 244px;
    height: 272px;
    background-color: var(--color-primary);
  }
  .home-about__container {
    position: relative;
    z-index: 10;
  }
  .home-about__heading {
    padding-bottom: 38px;
    font-size: 24px;
    font-weight: 800;
    line-height: 1.4166666667;
    letter-spacing: 0.03em;
  }
  .home-about__img {
    position: relative;
    background-color: var(--color-primary);
  }
  .home-about__imgshadow {
    position: absolute;
    z-index: 1;
    background-color: var(--color-primary);
    opacity: 0.3;
  }
  @media (width >= 768px) {
    .home-about {
      padding-block: 0 83px;
    }
    .home-about__heading {
      padding-bottom: 42px;
      font-size: 36px;
      line-height: 1.5;
      text-align: center;
    }
    .home-about__container {
      margin-left: max(var(--spacing-gutter), var(--view-width) * 0.5 - 600px);
    }
  }
  @media (width >= 1024px) {
    .home-about__container {
      display: flex;
    }
    .home-about__bg01 {
      top: 0;
      right: calc(50% + 480px);
      width: 342px;
      height: 344px;
    }
    .home-about__bg02 {
      top: 70px;
      right: calc(50% + 412px);
      width: 396px;
      height: 362px;
    }
    .home-about__bg03 {
      bottom: 0;
      left: calc(50% + 518px);
      z-index: 11;
      width: 578px;
      height: 100%;
    }
    .home-about__cts {
      flex: 0 0 640px;
      width: 640px;
      margin-top: 145px;
      margin-left: 15px;
    }
    .home-about__img {
      flex: 1 1 auto;
      align-self: flex-start;
      max-width: 658px;
      padding-left: 40px;
      margin-left: -13px;
    }
    .home-about__img img {
      width: 100%;
      height: 563px;
    }
    .home-about__imgshadow {
      top: 0;
      bottom: 0;
      left: 40px;
      width: 406px;
    }
  }
  @media (width < 1024px) {
    .home-about__container {
      padding-inline: 15px;
      padding-top: 70px;
    }
    .home-about__cts {
      position: relative;
      z-index: 1;
      padding: 41px 25px 79px 20px;
    }
    .home-about__cts::before {
      position: absolute;
      inset: 0 0 122px;
      z-index: -1;
      content: "";
      background: #fff;
      opacity: 0.9;
    }
    .home-about__img {
      position: absolute;
      top: 0;
      right: 0;
      z-index: 0;
      display: flex;
      justify-content: flex-end;
      width: calc(50% + 76px);
      max-width: 440px;
      padding-left: 22px;
    }
    .home-about__imgshadow {
      top: 0;
      bottom: 0;
      left: 22px;
      width: 171px;
    }
  }
  .home-product {
    position: relative;
    padding-block: 69px 80px;
  }
  .home-product__bg {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 0;
    height: calc(202px + 35vw);
  }
  .home-product__bg * {
    position: absolute;
    height: 100%;
  }
  .home-product__bg ._bg01 {
    left: 50%;
    z-index: 1;
    width: 174%;
    background-color: var(--color-primary);
    translate: -50% 0;
  }
  .home-product__bg ._bg02, .home-product__bg ._bg03 {
    z-index: 0;
    background-color: var(--color-gray-300);
  }
  .home-product__bg ._bg02 {
    top: 0;
    left: -74%;
    width: 100%;
  }
  .home-product__bg ._bg03 {
    top: 0;
    right: -74%;
    width: 100%;
  }
  @media (width >= 768px) {
    .home-product {
      padding-block: 88px 94px;
    }
    .home-product__bg {
      height: 560px;
    }
    .home-product__bg ._bg01 {
      left: calc(50% - 832px);
      width: 1664px;
      translate: 0 0;
    }
    .home-product__bg ._bg02 {
      left: calc(50% - 945px);
      width: 477px;
    }
    .home-product__bg ._bg03 {
      right: calc(50% - 920px);
      width: 477px;
    }
  }
  @media (width < 768px) {
    .home-product__bg ._bg01 {
      max-width: 1000px;
    }
  }
  .home-news {
    position: relative;
    padding-block: 85px 78px;
  }
  .home-news__bg {
    position: absolute;
    top: 0;
    z-index: 0;
    height: 100%;
    background-color: var(--color-gray-100);
  }
  @media (width >= 768px) {
    .home-news {
      padding-block: 144px 135px;
    }
    .home-news__bg {
      left: calc(50% - 8px);
      width: 1935px;
      translate: -50% 0;
    }
  }
  @media (width >= 1024px) {
    .home-news__container {
      display: grid;
      grid-template: "hgrp cts" auto "btn cts" 1fr/320px minmax(0, 800px);
      gap: 31px 0;
      align-items: flex-start;
      justify-content: flex-start;
    }
    .home-news__hgrp {
      grid-area: hgrp;
    }
    .home-news__cts {
      grid-area: cts;
    }
    .home-news__btn {
      grid-area: btn;
    }
  }
  @media (width < 1024px) {
    .home-news__hgrp {
      padding-bottom: 24px;
    }
    .home-news__btn {
      display: flex;
      justify-content: center;
      margin-top: 25px;
    }
  }
  @media (width < 768px) {
    .home-news {
      background-color: var(--color-gray-100);
    }
    .home-news::before, .home-news::after {
      position: absolute;
      z-index: 1;
      width: 80px;
      height: 124px;
      content: "";
      background-color: #fff;
    }
    .home-news::before {
      top: 0;
      left: 0;
      clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
    }
    .home-news::after {
      right: 0;
      bottom: 0;
      clip-path: polygon(100% 0%, 100% 100%, 0% 100%);
    }
    .home-news__bg {
      display: none;
    }
  }
  .home-recruit {
    position: relative;
    padding-block: 80px;
  }
  .home-recruit__container {
    position: relative;
    z-index: 10;
  }
  .home-recruit__bg {
    position: absolute;
    top: 350px;
    right: calc(50% - 194px);
    z-index: 0;
    width: 672px;
    height: 525px;
    background-color: var(--color-gray-100);
  }
  .home-recruit__img01 {
    display: flex;
    justify-content: flex-end;
  }
  .home-recruit__copy {
    padding-top: 28px;
  }
  .home-recruit__txt {
    margin-top: 27px;
  }
  .home-recruit__btn {
    margin-top: 37px;
  }
  @media (width >= 768px) {
    .home-recruit {
      padding-block: 209px 228px;
    }
    .home-recruit__hgrp {
      width: fit-content;
      margin-inline: auto;
      translate: -28px 0;
    }
    .home-recruit__copy {
      margin: 14px 0 0 91px;
    }
    .home-recruit__txt {
      width: 524px;
      margin-inline: auto;
      margin-top: 19px;
      translate: -34px 0;
    }
    .home-recruit__btn {
      width: 320px;
      margin-inline: auto;
      margin-top: 36px;
    }
    .home-recruit__bg {
      top: 155px;
      right: revert;
      left: calc(50% - 479px);
      width: 890px;
      height: 694px;
    }
    .home-recruit__img01 {
      position: absolute;
      top: 69px;
      left: calc(50% - 1004px);
      z-index: 1;
      width: 940px;
      height: 557px;
    }
    .home-recruit__img01 img {
      flex: 0 0 754px;
      width: 754px;
    }
    .home-recruit__img02 {
      position: absolute;
      top: 362px;
      left: calc(50% + 85px);
      z-index: 1;
      width: 940px;
      height: 557px;
    }
    .home-recruit__img02 img {
      flex: 0 0 857px;
      width: 857px;
    }
  }
  @media (width >= 1024px) {
    .home-recruit__hgrp {
      translate: -48px 0;
    }
    .home-recruit__copy {
      margin: 14px 0 0 111px;
    }
  }
  @media (width < 768px) {
    .home-recruit__images {
      display: flex;
      justify-content: center;
    }
    .home-recruit__img01 {
      flex: 0 0 405px;
      align-self: flex-start;
    }
    .home-recruit__img01 img {
      width: 325px;
    }
    .home-recruit__img02 {
      flex: 0 0 405px;
      align-self: flex-end;
      margin-top: 79px;
      margin-right: -47px;
      margin-left: -169px;
    }
    .home-recruit__img02 img {
      width: 370px;
    }
    .home-recruit__container {
      padding-inline: var(--gutter);
      padding-top: 46px;
    }
  }
  .home-cm {
    position: relative;
    padding-top: 50px;
  }
  .home-cm__container {
    position: relative;
    z-index: 2;
  }
  .home-cm__hgrp {
    padding-bottom: 35px;
  }
  .home-cm__img {
    border: 10px solid #fff;
  }
  .home-cm__cts {
    padding-top: 10px;
  }
  .home-cm__bg {
    position: absolute;
    top: 0;
    right: calc(50% - 26px);
    z-index: 1;
    width: 305px;
    height: 238px;
    background-color: var(--color-gray-100);
  }
  .home-cm__bgimg {
    position: absolute;
    top: 80px;
    left: calc(50% - 149px);
    z-index: 0;
    width: 497px;
    height: 190px;
    background-color: var(--color-gray-100);
  }
  .home-cm__bgimg img {
    position: absolute;
    inset: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: cover;
  }
  .home-cm__bgimg ._img01 {
    z-index: 2;
    -webkit-filter: blur(12px) brightness(0.97);
    filter: blur(12px) brightness(0.97);
    scale: 1.05;
  }
  @media (width >= 768px) {
    .home-cm {
      padding-top: 0;
    }
    .home-cm__img {
      margin: -10px;
    }
  }
  @media (width >= 1024px) {
    .home-cm__container {
      display: grid;
      grid-template: "hgrp img" auto "cts img" 1fr/1fr 1fr;
      padding-top: 169px;
    }
    .home-cm__hgrp {
      grid-area: hgrp;
      padding: 29px 0 0 37px;
    }
    .home-cm__img {
      grid-area: img;
    }
    .home-cm__cts {
      grid-area: cts;
      padding: 20px 0 0 39px;
    }
    .home-cm__bg {
      top: 0;
      right: calc(50% - 50px);
      width: 890px;
      height: 694px;
    }
    .home-cm__bgimg {
      top: 105px;
      left: calc(50% - 386px);
      width: 1453px;
      height: 557px;
    }
  }
  @media (width < 1024px) {
    .home-cm__container {
      max-width: 640px;
      margin-inline: auto;
    }
  }
}
@layer project {
  .company-mess__copy {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.4166666667;
    color: var(--color-primary);
  }
  .company-mess__txt {
    display: flex;
    flex-direction: column;
    gap: 24px 0;
  }
  .company-mess__txt p {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.7142857143;
  }
  .company-mess__ceo {
    display: flex;
    flex-direction: column;
  }
  .company-mess__ceo span {
    font-size: 12px;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
  .company-mess__ceo b {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
  @media (width >= 768px) {
    .company-mess__copy {
      font-size: 32px;
      line-height: 1.6875;
    }
    .company-mess__txt {
      gap: 36px 0;
      margin-top: -1px;
    }
    .company-mess__txt p {
      font-size: 16px;
      line-height: 2.25;
    }
    .company-mess__ceo span {
      font-size: 16px;
    }
    .company-mess__ceo b {
      font-size: 32px;
    }
  }
  @media (width >= 1024px) {
    .company-mess {
      display: grid;
      grid-template: "copy txt" auto "ceo txt" 1fr/380px 1fr;
      gap: 44px 20px;
    }
    .company-mess__copy {
      grid-area: copy;
    }
    .company-mess__txt {
      grid-area: txt;
    }
    .company-mess__ceo {
      grid-area: ceo;
    }
  }
  @media (width < 768px) {
    .company-mess__txt {
      padding-block: 40px;
    }
  }
  .company-history__link span {
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.03em;
  }
  .company-history__in {
    display: flex;
    flex-direction: column;
  }
  .company-history__in .company-history__unit:first-child::before {
    top: 6px;
  }
  .company-history__unit {
    position: relative;
  }
  .company-history__unit::before {
    position: absolute;
    top: -32px;
    bottom: 0;
    left: 5.5px;
    width: 2px;
    content: "";
    background-color: var(--color-primary);
  }
  .company-history__unit.is-hidden {
    margin-top: 0 !important;
  }
  .company-history__unit + .company-history__unit {
    margin-top: 32px;
  }
  .company-history__more {
    position: relative;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .company-history__more::before {
    position: absolute;
    z-index: 0;
    width: 100%;
    height: 1px;
    content: "";
    background-color: var(--color-gray-300);
  }
  .company-history__btn {
    position: relative;
    z-index: 1;
    display: flex;
    gap: 0 7px;
    align-items: center;
    justify-content: center;
    width: 131px;
    height: 30px;
    background-color: #fff;
    border: 1px solid var(--color-gray-300);
    border-radius: 100vmax;
  }
  .company-history__btn span {
    flex: 0 0 auto;
    font-size: 14px;
    font-weight: bold;
    color: var(--color-primary);
    letter-spacing: 0.03em;
  }
  .company-history__btn i {
    position: relative;
    display: flex;
    flex: 0 0 12px;
    align-items: center;
    justify-content: center;
    width: 12px;
    height: 12px;
  }
  .company-history__btn i::before, .company-history__btn i::after {
    position: absolute;
    flex: 0 0 12px;
    width: 12px;
    height: 1px;
    content: "";
    background-color: var(--color-primary);
  }
  .company-history__btn i::before {
    content: "";
    rotate: 90deg;
  }
  @media (width >= 768px) {
    .company-history {
      position: relative;
      display: flex;
      gap: 0 72px;
      align-items: flex-start;
    }
    .company-history__sidebar {
      position: sticky;
      top: var(--header-height);
      display: flex;
      flex: 0 0 160px;
      flex-direction: column;
      gap: 7px 0;
      width: 160px;
    }
    .company-history__main {
      flex: 1 1 auto;
    }
    .company-history__link {
      display: flex;
      gap: 0 6px;
      align-items: center;
    }
    .company-history__link::before {
      flex: 0 0 13px;
      width: 13px;
      height: 13px;
      content: "";
      background-color: var(--color-primary);
      border-radius: 50%;
      opacity: 0;
    }
    .company-history__link span {
      color: var(--color-gray-300);
    }
    .company-history__link.is-active span {
      color: var(--color-body);
    }
    .company-history__link.is-active::before {
      opacity: 1;
    }
    .company-history__btn {
      height: 40px;
    }
    .company-history__more {
      margin-top: -20.5px;
      margin-left: 62px;
    }
  }
  @media (width < 768px) {
    .company-history__sidebar {
      display: none;
    }
    .company-history__more {
      margin-top: -15.5px;
      margin-left: 20px;
    }
  }
}
@layer project {
  .wpcf7-form-control-wrap {
    display: block;
    font-size: 16px;
  }
  .wpcf7-form-control-wrap input, .wpcf7-form-control-wrap textarea, .wpcf7-form-control-wrap select {
    font-size: inherit;
  }
  .wpcf7-form-control-wrap:has(.wpcf7-select) {
    position: relative;
    display: flex;
    width: fit-content;
    background-color: #fff;
    border: 1px solid currentcolor;
  }
  .wpcf7-form-control-wrap:has(.wpcf7-select) ._arrow {
    position: absolute;
    right: 0.9em;
    align-self: center;
    width: 1.4em;
    height: 1.4em;
  }
  .wpcf7-radio {
    display: flex;
    flex-direction: column;
    gap: 6px 0;
  }
  .wpcf7-radio input[type=radio] {
    display: none;
  }
  .wpcf7-radio .wpcf7-list-item {
    position: relative;
    display: block;
  }
  .wpcf7-radio .wpcf7-list-item label {
    display: flex;
    gap: 0 7px;
    align-items: center;
    cursor: pointer;
  }
  .wpcf7-radio .wpcf7-list-item label ._icon {
    display: flex;
    flex: 0 0 0.9375em;
    align-items: center;
    justify-content: center;
    width: 0.9375em;
    height: 0.9375em;
    background-color: var(--color-gray-100);
    border: 1px solid var(--color-gray-500);
    border-radius: 50%;
  }
  .wpcf7-radio .wpcf7-list-item label:has(input:checked) ._icon::before {
    display: block;
    width: 60%;
    height: 60%;
    content: "";
    background-color: var(--color-primary);
    border-radius: 50%;
  }
  @media (width >= 768px) {
    .wpcf7-radio {
      gap: 15px 0;
    }
  }
  .wpcf7-text {
    width: 100%;
    padding: 0.67em 1.2em;
    background-color: var(--color-gray-100);
    border: 1px solid var(--color-gray-100);
  }
  .wpcf7-select {
    width: 100%;
    padding: 0.6em 4em 0.6em 1.2em;
    appearance: none;
  }
  .wpcf7-textarea {
    width: 100%;
    height: 150px;
    min-height: 100px;
    padding: 0.67em 1.2em;
    resize: horizontal;
    background-color: var(--color-gray-100);
    border: 1px solid var(--color-gray-100);
  }
}
.wpcf7-spinner {
  display: none !important;
}

.wpcf7-not-valid-tip {
  font-size: 14px;
  margin-top: 0.3em;
}

/** Search **/
.p-search-btn {
  text-align: center;
  margin: 40px 0 80px;
}

.p-search-btn__submit {
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
  border: none;
  width: 300px;
  height: 60px;
  line-height: 60px;
  background-color: #00b4b3;
  text-align: center;
  color: #fff;
  cursor: pointer;
  font-size: 100%;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .p-search-btn {
    margin: 8vw 0 16vw;
  }
  .p-search-btn__submit {
    width: 60vw;
    height: 13.33vw;
    line-height: 13.33vw;
  }
}
.p-search-btn__submit:hover {
  opacity: 0.8;
}

.search .search-content .sec-2 table tr .img a {
  display: block;
}

@media screen and (max-width: 767px) {
  .products .products-content {
    width: 90.67vw;
    margin: 0 auto;
  }
}
.products .products-content .sec-1 {
  position: relative;
  margin-top: 110px;
  min-width: 1200px;
  margin-bottom: 200px;
}

@media screen and (max-width: 767px) {
  .products .products-content .sec-1 {
    min-width: auto;
    margin-top: 13.33vw;
    margin-bottom: 24vw;
  }
}
.products .products-content .sec-1 .green-area {
  width: 1080px;
  height: 450px;
  background-color: #FFF3EF;
  position: absolute;
  top: 320px;
  right: 0;
}

@media screen and (max-width: 767px) {
  .products .products-content .sec-1 .green-area {
    width: 74.67vw;
    height: 40vw;
    top: 36vw;
    right: -5%;
  }
}
.products .products-content .sec-1 .container {
  position: relative;
  max-width: 1500px;
  min-width: 1200px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .products .products-content .sec-1 .container {
    max-width: 100%;
    min-width: auto;
  }
}
.products .products-content .sec-1 .container .m-text {
  display: block;
  width: 540px;
  position: absolute;
  top: 460px;
  right: 0;
}

@media screen and (max-width: 767px) {
  .products .products-content .sec-1 .container .m-text {
    width: 36vw;
    top: 60vw;
  }
}
.products .products-content .sec-1 .container .content {
  width: 1200px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .products .products-content .sec-1 .container .content {
    width: 100%;
  }
}
.products .products-content .sec-1 .container .content .box {
  width: 1040px;
  margin: 0 auto 130px;
}

@media screen and (max-width: 767px) {
  .products .products-content .sec-1 .container .content .box {
    width: 100%;
    margin: 0 auto 5.33vw;
  }
}
.products .products-content .sec-1 .container .content .box .m-img {
  width: 693px;
  display: block;
}

@media screen and (max-width: 767px) {
  .products .products-content .sec-1 .container .content .box .m-img {
    width: 100%;
  }
}
.products .products-content .sec-1 .container .content .box .title {
  font-size: 48px;
  font-weight: bold;
  margin: 45px 0 30px;
}

@media screen and (max-width: 767px) {
  .products .products-content .sec-1 .container .content .box .title {
    font-size: 5.33vw;
    margin: 6.67vw 0 3vw;
  }
}
.products .products-content .sec-1 .container .content .box .text {
  font-weight: 500;
  font-size: 16px;
  line-height: 2;
  width: 50%;
}

@media screen and (max-width: 767px) {
  .products .products-content .sec-1 .container .content .box .text {
    font-size: 14px;
    line-height: 1.8571428571;
    letter-spacing: 0.03em;
    width: 100%;
  }
}
.products .products-content .sec-2 {
  position: relative;
  margin-top: 110px;
  min-width: 1200px;
  margin-bottom: 150px;
}

@media screen and (max-width: 767px) {
  .products .products-content .sec-2 {
    min-width: auto;
    margin-top: 13.33vw;
    margin-bottom: 24vw;
  }
}
.products .products-content .sec-2 .green-area {
  width: 1080px;
  height: 450px;
  background-color: #FFF3EF;
  position: absolute;
  top: 320px;
  left: 0;
}

@media screen and (max-width: 767px) {
  .products .products-content .sec-2 .green-area {
    width: 74.67vw;
    height: 40vw;
    top: 36vw;
    left: -5%;
  }
}
.products .products-content .sec-2 .container {
  position: relative;
  max-width: 1500px;
  min-width: 1200px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .products .products-content .sec-2 .container {
    max-width: 100%;
    min-width: auto;
  }
}
.products .products-content .sec-2 .container .m-text {
  display: block;
  width: 540px;
  position: absolute;
  top: 460px;
  left: 0;
}

@media screen and (max-width: 767px) {
  .products .products-content .sec-2 .container .m-text {
    width: 36vw;
    top: 58.5vw;
  }
}
.products .products-content .sec-2 .container .content {
  width: 1200px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .products .products-content .sec-2 .container .content {
    width: 100%;
  }
}
.products .products-content .sec-2 .container .content .box {
  width: 1040px;
  margin: 0 auto 130px;
}

@media screen and (max-width: 767px) {
  .products .products-content .sec-2 .container .content .box {
    width: 100%;
    margin: 0 auto 5.33vw;
  }
}
.products .products-content .sec-2 .container .content .box .m-img {
  width: 693px;
  display: block;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .products .products-content .sec-2 .container .content .box .m-img {
    width: 100%;
  }
}
.products .products-content .sec-2 .container .content .box .title {
  font-size: 48px;
  font-weight: bold;
  margin: 45px 0 30px;
  width: 50%;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .products .products-content .sec-2 .container .content .box .title {
    font-size: 5.33vw;
    margin: 14.67vw 0 2.5vw;
    text-align: right;
    width: 100%;
  }
}
.products .products-content .sec-2 .container .content .box .text {
  font-weight: 500;
  font-size: 16px;
  line-height: 2;
  width: 50%;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .products .products-content .sec-2 .container .content .box .text {
    font-size: 14px;
    line-height: 1.8571428571;
    letter-spacing: 0.03em;
    width: 100%;
  }
}
.products .products-content .products-links {
  width: 1040px;
  margin: 0 auto;
  background-color: #f5f5f5;
}

@media screen and (max-width: 767px) {
  .products .products-content .products-links {
    width: 100%;
  }
}
.products .products-content .products-links .product-link {
  border-bottom: 1px solid #fff;
}

.products .products-content .products-links .product-link a {
  color: #008282;
  display: block;
  padding: 20px 35px;
}

@media screen and (max-width: 767px) {
  .products .products-content .products-links .product-link a {
    padding: 4vw;
  }
}
.products .products-content .products-links .product-link a:hover {
  text-decoration: underline;
}

.products .products-content .products-links .product-link a::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 10px 0 0;
  border-top: 2px solid #008282;
  border-right: 2px solid #008282;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media screen and (max-width: 767px) {
  .products .products-content .products-links .product-link a::before {
    width: 2vw;
    height: 2vw;
    margin: 0 2vw 0.2vw 0;
    border-top: 0.5vw solid #008282;
    border-right: 0.5vw solid #008282;
  }
}
.ac-box {
  background-color: #00b4b3;
  margin: 0 auto 75px;
  width: 1040px;
}

@media screen and (max-width: 767px) {
  .ac-box {
    margin-bottom: 13.33vw;
    width: 100%;
  }
}
.ac-box .about-ac {
  display: none;
}

@media screen and (max-width: 767px) {
  .ac-box .about-ac {
    display: block;
    border-bottom: 1px solid rgba(255, 255, 255, 0);
    padding: 4vw 0;
    color: #fff;
    position: relative;
    width: 93.33vw;
    margin: 0 auto;
  }
  .ac-box .about-ac::before {
    content: "";
    width: 2.5vw;
    height: 2.5vw;
    border: 1px solid;
    border-color: transparent transparent #fff #fff;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%) rotate(-45deg);
    transform: translateY(-50%) rotate(-45deg);
  }
}
.ac-box .about-ac.open {
  border-bottom: 1px solid rgba(255, 255, 255, 0.9);
}

.ac-box .about-ac.open::before {
  -webkit-transform: translateY(-50%) rotate(135deg);
  transform: translateY(-50%) rotate(135deg);
}

.ac-box .ac-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 560px;
  margin: 0 auto;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .ac-box .ac-list {
    display: block;
    width: 100%;
    padding: 2.67vw 4.67vw;
  }
}
.ac-box .ac-list li {
  padding: 20px 0;
}

@media screen and (max-width: 767px) {
  .ac-box .ac-list li {
    padding: 0;
  }
}
.ac-box .ac-list li a {
  display: block;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0);
  line-height: 1.3;
  font-weight: 300;
}

@media screen and (max-width: 767px) {
  .ac-box .ac-list li a {
    padding: 2.67vw 0;
  }
}
.ac-box .ac-list li a::before {
  content: "";
  display: inline-block;
  width: 13px;
  height: 12px;
  background-image: url("../images/products/an-a.png");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin-right: 10px;
}

@media screen and (max-width: 767px) {
  .ac-box .ac-list li a::before {
    width: 2.5vw;
    height: 2.5vw;
  }
}
.ac-box .ac-list li a:hover {
  border-bottom: 1px solid #fff;
}

@media screen and (max-width: 767px) {
  .ac-box .ac-list li a:hover {
    border: 1px solid rgba(255, 255, 255, 0);
  }
}
.product-introduce-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 1200px;
  margin: 0 auto;
  margin-top: 50px;
}

@media screen and (max-width: 767px) {
  .product-introduce-content {
    width: 100%;
    margin-top: 9.332vw;
    display: block;
  }
}
.product-introduce-content .ac-list {
  -webkit-box-pack: space-evenly;
  -ms-flex-pack: space-evenly;
  justify-content: space-evenly;
  width: 100%;
}

.product-introduce-content .side-content {
  width: 240px;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .side-content {
    width: 91.67vw;
    margin: 0 auto 6.67vw;
  }
}
.product-introduce-content .side-content .category {
  color: #6a6a6a;
  border-bottom: 2px solid #6a6a6a;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 30px;
  padding-bottom: 10px;
  margin-top: 15px;
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .side-content .category {
    pointer-events: auto;
    position: relative;
    border: 1px solid rgba(0, 0, 0, 0);
    background-color: #f5f5f5;
    margin-bottom: 0;
    margin-top: 13.33vw;
    padding: 3.33vw;
    font-size: 4vw;
    font-weight: 300;
    color: #000;
  }
  .product-introduce-content .side-content .category::before {
    content: "";
    width: 2.5vw;
    height: 2.5vw;
    border: 1px solid;
    border-color: transparent transparent #000 #000;
    position: absolute;
    top: 50%;
    right: 5%;
    -webkit-transform: translateY(-50%) rotate(-45deg);
    transform: translateY(-50%) rotate(-45deg);
  }
}
.product-introduce-content .side-content .category.open {
  border-bottom: 1px solid #949494;
}

.product-introduce-content .side-content .category.open::before {
  -webkit-transform: translateY(-50%) rotate(135deg);
  transform: translateY(-50%) rotate(135deg);
}

.product-introduce-content .side-content .category-area-ac {
  display: block;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .side-content .category-area-ac {
    display: none;
    width: 91.67vw;
    background-color: #ffffff;
    z-index: 2;
  }
}
.product-introduce-content .side-content .category-box {
  margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .side-content .category-box {
    margin-bottom: 0;
  }
}
.product-introduce-content .side-content .category-box .category-name {
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 10px;
}

/* 2021.8 */
.product-introduce-content .side-content .category-box .category-name a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .side-content .category-box .category-name {
    font-weight: 300;
    font-size: 4vw;
    padding: 3.33vw;
    margin-bottom: 0;
    background-color: #f5f5f5;
  }
}
.product-introduce-content .side-content .category-box .category-link-l,
.product-introduce-content .side-content .category-box .category-link-m {
  padding: 10px;
  display: block;
  width: 100%;
  color: #fff;
  font-size: 15px;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .side-content .category-box .category-link-l,
  .product-introduce-content .side-content .category-box .category-link-m {
    padding: 3.33vw 6.67vw;
    font-size: 4vw;
  }
}
.product-introduce-content .side-content .category-box .category-links-l {
  border-bottom: 1px solid #fff;
}

.product-introduce-content .side-content .category-box .category-links-l .category-link-l {
  background-color: #6a6a6a;
  cursor: pointer;
  font-weight: 300;
}

.product-introduce-content .side-content .category-box .category-links-l .category-link-l:hover {
  opacity: 0.8;
}

.product-introduce-content .side-content .category-box .category-links-l .category-link-l.target {
  background-color: #929292;
}

.product-introduce-content .side-content .category-box .category-links-m {
  display: none;
}

.product-introduce-content .side-content .category-box .category-links-m .category-link-m {
  background-color: #f5f5f5;
  font-weight: 300;
  color: #000;
}

.product-introduce-content .side-content .category-box .category-links-m.open {
  display: block;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .side-content .category-box .category-links-m.open {
    display: none;
  }
}
.product-introduce-content .side-content .category-box .category-links-s {
  margin: 20px 0 35px;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .side-content .category-box .category-links-s {
    margin: 5.33vw 0 5.33vw;
  }
}
.product-introduce-content .side-content .category-box .category-links-s .category-link-s {
  color: #000;
  position: relative;
  padding-left: 10px;
  margin-left: 10px;
  margin-bottom: 5px;
  font-weight: 300;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .side-content .category-box .category-links-s .category-link-s {
    padding-left: 6.67vw;
    margin-left: 0vw;
    margin-bottom: 4vw;
  }
}
.product-introduce-content .side-content .category-box .category-links-s .category-link-s:hover {
  text-decoration: underline;
}

.product-introduce-content .side-content .category-box .category-links-s .category-link-s::before {
  content: "";
  width: 5px;
  height: 5px;
  position: absolute;
  top: 40%;
  left: 0;
  margin: auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 3px solid transparent;
  border-left: 4px solid #d5d5d5;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .side-content .category-box .category-links-s .category-link-s::before {
    display: none;
  }
}
.product-introduce-content .side-content .category-box .category-links-s .category-link-s .target-item {
  color: #008282;
}

.product-introduce-content .side-content .other-link {
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .side-content .other-link {
    margin-bottom: 5.33vw;
    font-size: 4vw;
    padding: 3.33vw;
    margin-bottom: 0;
    background-color: #f5f5f5;
    border-bottom: 1px solid #949494;
  }
}
.product-introduce-content .side-content .other-link .other-link-a {
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .side-content .other-link .other-link-a {
    font-weight: 300;
  }
}
.product-introduce-content .side-content .other-link .other-link-a:hover {
  text-decoration: underline;
}

.product-introduce-content .side-content .other-link.bordernone {
  border: none;
}

.product-introduce-content .main-erea {
  width: 890px;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea {
    width: 100%;
    margin: 0 auto;
  }
}
.product-introduce-content .main-erea .title {
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .title {
    font-size: 7.2vw;
    width: 90.67vw;
    margin: 0 auto 4vw;
  }
}
.product-introduce-content .main-erea .main-img {
  display: block;
  width: 100%;
  margin-bottom: 80px;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .main-img {
    width: 90.67vw;
    margin: 0 auto 9.33vw;
  }
}
.product-introduce-content .main-erea .ac-box.products {
  width: 880px;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .ac-box.products {
    width: 100%;
  }
}
.product-introduce-content .main-erea .itembox {
  margin-bottom: 75px;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .itembox {
    width: 90.68vw;
    margin: 0 auto 16vw;
  }
}
.product-introduce-content .main-erea .itembox .item {
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 20px;
  display: inline-block;
  border-top: 1px solid #008282;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .itembox .item {
    font-size: 5.33vw;
    margin-bottom: 4vw;
  }
}
.product-introduce-content .main-erea .itembox .item-boxs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .itembox .item-boxs {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
.product-introduce-content .main-erea .itembox .item-boxs .img-box {
  margin-right: 35px;
  margin-bottom: 40px;
  width: 270px;
}

.product-introduce-content .main-erea .itembox .item-boxs .img-box:hover {
  opacity: 0.8;
}

.product-introduce-content .main-erea .itembox .item-boxs .img-box:hover .i-name {
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .itembox .item-boxs .img-box {
    margin-right: 0;
    margin-bottom: 4vw;
    width: 42.67vw;
  }
}
.product-introduce-content .main-erea .itembox .item-boxs .img-box .i-img {
  width: 270px;
  display: block;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .itembox .item-boxs .img-box .i-img {
    width: 42.67vw;
  }
}
.product-introduce-content .main-erea .itembox .item-boxs .img-box .i-name {
  font-size: 15px;
  margin-top: 10px;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .itembox .item-boxs .img-box .i-name {
    font-size: 4vw;
  }
}
.product-introduce-content .main-erea .itembox .item-boxs .img-box:nth-of-type(3n) {
  margin-right: 0px;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .sec-1 {
    width: 90.87vw;
    margin: 0 auto 13.33vw;
  }
}
.product-introduce-content .main-erea .regions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .regions {
    margin-bottom: 5.33vw;
  }
}
.product-introduce-content .main-erea .regions .region {
  margin-right: 10px;
  padding: 0 20px;
  font-weight: 700;
  font-size: 14px;
}

.product-introduce-content .main-erea .regions .region.region01 {
  border: 1px solid #2ea353;
  color: #2ea353;
}

.product-introduce-content .main-erea .regions .region.region02 {
  border: 1px solid #2b9dd3;
  color: #2b9dd3;
}

.product-introduce-content .main-erea .regions .region.region03 {
  border: 1px solid #b94f84;
  color: #b94f84;
}

.product-introduce-content .main-erea .regions .region.region04 {
  border: 1px solid #eb9746;
  color: #eb9746;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .regions .region {
    font-size: 4vw;
    padding: 0 3.33vw;
    margin-right: 1.33vw;
  }
}
.product-introduce-content .main-erea .regions .region.region01.active {
  color: #fff;
  background-color: #2ea353;
}

.product-introduce-content .main-erea .regions .region.region02.active {
  color: #fff;
  background-color: #2b9dd3;
}

.product-introduce-content .main-erea .regions .region.region03.active {
  color: #fff;
  background-color: #b94f84;
}

.product-introduce-content .main-erea .regions .region.region04.active {
  color: #fff;
  background-color: #eb9746;
}

.product-introduce-content .main-erea .item-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 35px;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .item-box {
    display: block;
  }
}
.product-introduce-content .main-erea .item-box .left {
  width: 50%;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .item-box .left {
    width: 100%;
    margin-bottom: 6.67vw;
  }
}
.product-introduce-content .main-erea .item-box .left .dlcs {
  margin-top: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .item-box .left .dlcs {
    margin-top: 5.33vw;
  }
}
.product-introduce-content .main-erea .item-box .left .dlcs .dlc {
  color: #008282;
  border: 1px solid #008282;
  padding: 10px 0;
  width: 210px;
  display: block;
  text-align: center;
  cursor: pointer;
  font-size: 15px;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .item-box .left .dlcs .dlc {
    font-size: 4vw;
    width: 44vw;
    padding: 1.33vw 0;
  }
}
.product-introduce-content .main-erea .item-box .left .dlcs .dlc:hover {
  opacity: 0.8;
}

.product-introduce-content .main-erea .item-box .left .dlcs .dlc::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url("../images/products/dlc-icon.jpg");
  background-size: contain;
  vertical-align: middle;
  margin-right: 10px;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .item-box .left .dlcs .dlc::before {
    width: 4vw;
    height: 4vw;
    margin-right: 1.33vw;
  }
}
.product-introduce-content .main-erea .item-box .left .dlcs .dlc-as {
  display: none;
}

.product-introduce-content .main-erea .item-box .left .dlcs .dlc-a {
  background-color: #00b4b3;
  color: #fff;
  width: 210px;
  display: block;
  padding: 10px 0 10px 32px;
  font-size: 15px;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .item-box .left .dlcs .dlc-a {
    font-size: 4vw;
    width: 44vw;
    padding: 2vw 0 2vw 3.5vw;
  }
}
.product-introduce-content .main-erea .item-box .left .dlcs .dlc-a:hover {
  opacity: 0.8;
}

.product-introduce-content .main-erea .item-box .left .dlcs .dlc-a::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url("../images/products/dlc-icon-w.png");
  background-size: contain;
  vertical-align: middle;
  margin-right: 10px;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .item-box .left .dlcs .dlc-a::before {
    width: 4vw;
    height: 4vw;
    margin-right: 1.33vw;
  }
}
.product-introduce-content .main-erea .item-box .left .dlcs .dlc-box {
  width: 210px;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .item-box .left .dlcs .dlc-box {
    width: 44vw;
  }
}
.product-introduce-content .main-erea .item-box .right {
  width: 380px;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .item-box .right {
    width: 100%;
  }
}
.product-introduce-content .main-erea .item-box .right p {
  margin-bottom: 30px;
  line-height: 1.87;
  font-weight: 300;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .item-box .right p {
    margin-bottom: 4vw;
  }
}
.product-introduce-content .main-erea .sec-2 {
  margin-bottom: 85px;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .sec-2 {
    width: 90.87vw;
    margin: 0 auto 13.33vw;
  }
}
.product-introduce-content .main-erea .sec-2 .h-title {
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .sec-2 .h-title {
    font-size: 5.33vw;
    margin-bottom: 4vw;
  }
}
.product-introduce-content .main-erea .sec-2 .boxs .box {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 20px;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .sec-2 .boxs .box {
    display: block;
    padding: 2.67vw;
  }
}
.product-introduce-content .main-erea .sec-2 .boxs .box:last-child {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.product-introduce-content .main-erea .sec-2 .boxs .box .dt {
  min-width: 240px;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .sec-2 .boxs .box .dt {
    width: 100%;
  }
}
.product-introduce-content .main-erea .sec-2 .boxs .box .dd {
  width: 100%;
  font-size: 300;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .sec-2 .boxs .box .dd {
    width: 100%;
  }
}
.product-introduce-content .main-erea .sec-3 {
  margin-bottom: 85px;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .sec-3 {
    width: 90.87vw;
    margin: 0 auto 13.33vw;
  }
}
.product-introduce-content .main-erea .sec-3 .h-title {
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .sec-3 .h-title {
    font-size: 5.33vw;
    margin-bottom: 4vw;
  }
}
.product-introduce-content .main-erea .sec-3 .boxs .box {
  background: #f5f5f5;
  border-bottom: 1px solid #fff;
  padding: 15px 40px;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .sec-3 .boxs .box {
    padding: 2vw 5.33vw;
  }
}
.product-introduce-content .main-erea .sec-3 .boxs .box a {
  color: #008282;
  font-weight: 300;
}

.product-introduce-content .main-erea .sec-3 .boxs .box a:hover {
  text-decoration: underline;
}

.product-introduce-content .main-erea .sec-3 .boxs .box a::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 15px;
  background-image: url("../images/products/falie-icon.png");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin-right: 10px;
}

@media screen and (max-width: 767px) {
  .product-introduce-content .main-erea .sec-3 .boxs .box a::before {
    width: 4vw;
    height: 4.3vw;
  }
}
.search .pagenation_list a,
.search .pagenation_list span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #f5f5f5;
  width: 65px;
  height: 65px;
  color: #008282;
  font-weight: 300;
}
.search .pagenation_list span.show {
  background-color: #f1fbfb;
}
.search .pagenation_list + .pagenation_list a,
.search .pagenation_list + .pagenation_list span {
  border-left: 1px solid #fff;
}
.search .pagenation_list a.next,
.search .pagenation_list a.prev {
  font-weight: 500;
}
.search .pagenation_list a.next {
  margin-left: 30px;
}
.search .pagenation_list a.prev {
  margin-right: 30px;
}
@media screen and (max-width: 767px) {
  .search .pagenation_list a,
  .search .pagenation_list span {
    width: 11vw;
    height: 11vw;
    font-size: 4vw;
  }
  .search .pagenation_list a.next {
    margin-left: 5vw;
  }
  .search .pagenation_list a.prev {
    margin-right: 5vw;
  }
}

.search .page-title {
  text-align: center;
  font-size: 48px;
  margin-bottom: 30px;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .search .page-title {
    font-size: 7.2vw;
    margin-bottom: 4vw;
  }
}
.search .search-content {
  width: 1200px;
  margin: 0 auto 160px;
  overflow-x: hidden;
}

@media screen and (max-width: 767px) {
  .search .search-content {
    width: 90.86vw;
    margin-bottom: 20vw;
  }
}
.search .search-content .sec-1 .container .content .checkboxs .checkbox {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.search .search-content .sec-1 .container .content .checkboxs .checkbox:last-child {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

@media screen and (max-width: 767px) {
  .search .search-content .sec-1 .container .content .checkboxs .checkbox.key-box {
    display: block;
  }
}
.search .search-content .sec-1 .container .content .checkboxs .checkbox .left {
  padding-top: 20px;
  padding-bottom: 20px;
  min-width: 180px;
}

@media screen and (max-width: 767px) {
  .search .search-content .sec-1 .container .content .checkboxs .checkbox .left {
    padding: 3.33vw 0;
    min-width: 34.67vw;
  }
}
.search .search-content .sec-1 .container .content .checkboxs .checkbox .left .category-name {
  font-weight: 700;
}

.search .search-content .sec-1 .container .content .checkboxs .checkbox .right {
  width: 100%;
}

.search .search-content .sec-1 .container .content .checkboxs .checkbox .right .keyword {
  padding: 10px 15px;
  margin-top: 15px;
  margin-bottom: 15px;
  width: 100%;
  border: none;
  background-color: #f6f6f6;
}

@media screen and (max-width: 767px) {
  .search .search-content .sec-1 .container .content .checkboxs .checkbox .right .keyword {
    margin-top: 0;
    margin-bottom: 4vw;
    padding: 2.67vw;
    font-size: 4vw;
  }
}
.search .search-content .sec-1 .container .content .checkboxs .checkbox .right .keyword:focus {
  outline: none;
}

.search .search-content .sec-1 .container .content .checkboxs .checkbox .right .box {
  padding-top: 20px;
  padding-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .search .search-content .sec-1 .container .content .checkboxs .checkbox .right .box {
    padding: 3.33vw 0 0;
  }
}
.search .search-content .sec-1 .container .content .checkboxs .checkbox .right .box .keyname {
  font-weight: 700;
  margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
  .search .search-content .sec-1 .container .content .checkboxs .checkbox .right .box .keyname {
    margin-bottom: 3.33vw;
  }
}
.search .search-content .sec-1 .container .content .checkboxs .checkbox .right .box.border {
  border: none;
  border-top: 1px dotted rgba(0, 0, 0, 0.1);
}

.search .search-content .sec-1 .container .content .checkboxs .checkbox .right .box .check-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 767px) {
  .search .search-content .sec-1 .container .content .checkboxs .checkbox .right .box .check-contents {
    display: block;
  }
}
.search .search-content .sec-1 .container .content .checkboxs .checkbox .right .box .check-contents.wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.search .search-content .sec-1 .container .content .checkboxs .checkbox .right .box .check-contents .check-content {
  width: 250px;
  font-weight: 300;
}

@media screen and (max-width: 767px) {
  .search .search-content .sec-1 .container .content .checkboxs .checkbox .right .box .check-contents .check-content {
    width: 100%;
    margin-bottom: 4vw;
  }
}
.search .search-content .sec-1 .container .content .checkboxs .checkbox .right .box .check-contents .check-content .itemname {
  position: relative;
}

.search .search-content .sec-1 .container .content .checkboxs .checkbox .right .box .check-contents .check-content input[type=checkbox] {
  display: none;
}

.search .search-content .sec-1 .container .content .checkboxs .checkbox .right .box .check-contents .check-content input[type=checkbox] + label {
  position: relative;
  padding-left: 20px;
}

@media screen and (max-width: 767px) {
  .search .search-content .sec-1 .container .content .checkboxs .checkbox .right .box .check-contents .check-content input[type=checkbox] + label {
    padding-left: 5.33vw;
  }
}
.search .search-content .sec-1 .container .content .checkboxs .checkbox .right .box .check-contents .check-content input[type=checkbox] + label::before {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: 1px solid rgba(0, 0, 0, 0.2);
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .search .search-content .sec-1 .container .content .checkboxs .checkbox .right .box .check-contents .check-content input[type=checkbox] + label::before {
    width: 4vw;
    height: 4vw;
  }
}
.search .search-content .sec-1 .container .content .checkboxs .checkbox .right .box .check-contents .check-content input[type=checkbox]:checked + label::before {
  background: #00b4b3;
}

.search .search-content .sec-1 .container .content .checkboxs .checkbox .right .box .check-contents .check-content input[type=checkbox]:checked + label::after {
  content: "";
  display: block;
  width: 10px;
  height: 6px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
  position: absolute;
  top: 40%;
  left: 5px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg) translateY(-50%);
}

@media screen and (max-width: 767px) {
  .search .search-content .sec-1 .container .content .checkboxs .checkbox .right .box .check-contents .check-content input[type=checkbox]:checked + label::after {
    width: 2.67vw;
    height: 1.6vw;
    left: 1.6vw;
  }
}
.search .search-content .sec-1 .search-btn {
  width: 300px;
  height: 60px;
  line-height: 60px;
  background-color: #00b4b3;
  text-align: center;
  color: #fff;
  margin: 40px auto 80px;
  cursor: pointer;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .search .search-content .sec-1 .search-btn {
    width: 60vw;
    height: 13.33vw;
    line-height: 13.33vw;
    margin: 8vw auto 16vw;
  }
}
.search .search-content .sec-1 .search-btn:hover {
  opacity: 0.8;
}

@media screen and (max-width: 767px) {
  .search .search-content .sec-2 {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 8vw;
  }
}
.search .search-content .sec-2 table {
  width: 100%;
  border: 1px solid #e6e6e6;
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  .search .search-content .sec-2 table {
    min-width: 260vw;
    margin-bottom: 0;
  }
}
.search .search-content .sec-2 table tr:nth-child(odd) {
  background-color: #fafafa;
}

.search .search-content .sec-2 table tr th {
  padding: 20px 0;
  background-color: #3d3d3d;
  color: #fff;
  border: 1px solid #e6e6e6;
  font-size: 12px;
}

.search .search-content .sec-2 table tr th:nth-child(1) {
  width: 160px;
}

.search .search-content .sec-2 table tr th:nth-child(2) {
  width: 130px;
}

.search .search-content .sec-2 table tr th:nth-child(3) {
  width: 130px;
}

.search .search-content .sec-2 table tr th:nth-child(4) {
  width: 130px;
}

.search .search-content .sec-2 table tr th:nth-child(5) {
  width: 160px;
}

.search .search-content .sec-2 table tr th:nth-child(6) {
  width: 170px;
}

.search .search-content .sec-2 table tr th:nth-child(7) {
  width: 160px;
}

.search .search-content .sec-2 table tr th:nth-child(8) {
  width: 80px;
}

.search .search-content .sec-2 table tr th:nth-child(9) {
  width: 80px;
}

.search .search-content .sec-2 table tr td {
  text-align: center;
  border-left: 1px solid #e6e6e6;
  border-right: 1px solid #e6e6e6;
  position: relative;
  vertical-align: middle;
  font-size: 12px;
}

.search .search-content .sec-2 table tr td .item-img {
  width: 110px;
  display: block;
  margin: 0 auto;
}

.search .search-content .sec-2 table tr .cad a {
  display: block;
  margin: 0 20px;
  color: #008282;
}

.search .search-content .sec-2 table tr .cad a:hover {
  text-decoration: underline;
}

.search .search-content .sec-2 table tr .img {
  margin-top: 10px;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .search .search-content .sec-2 table tr .img {
    margin-top: 2.67vw;
  }
}
.search .search-content .sec-2 table tr .img:hover {
  opacity: 0.8;
}

.search .search-content .sec-2 table tr .img:hover .item-name {
  text-decoration: underline;
}

.search .search-content .sec-2 table tr .img .item-name {
  color: #008282;
  margin-top: 5px;
  margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
  .search .search-content .sec-2 table tr .img .item-name {
    margin-top: 1.33vw;
    margin-bottom: 2.66vw;
  }
}
.search .search-content .sec-2 table tr .dlc-icon {
  display: block;
  margin: 0 auto;
  width: 16px;
}

@media screen and (max-width: 767px) {
  .search .search-content .sec-2 table tr .dlc-icon {
    width: 4.27vw;
  }
}
.search .search-content .sec-2 table tr .dlc-icon:hover {
  opacity: 0.8;
}

.search .search-content .sec-2 table tr .rgs {
  border: none;
  color: #e6e6e6;
  padding-left: 17px;
}

.search .search-content .sec-2 table tr .rgs .rg {
  width: 54px;
  font-size: 12px;
  margin: 0px 3px 6px;
  font-weight: 700;
  float: left;
  height: 20px;
  line-height: 1.5;
}

.search .search-content .sec-2 table tr .rgs .rg.region01 {
  font-size: 12px;
  border: 1px solid #2ea353;
  color: #2ea353;
  margin: 0px 3px 6px;
  font-weight: 700;
  float: left;
}

.search .search-content .sec-2 table tr .rgs .rg.region02 {
  font-size: 12px;
  border: 1px solid #2b9dd3;
  color: #2b9dd3;
  margin: 0px 3px 6px;
  font-weight: 700;
  float: left;
}

.search .search-content .sec-2 table tr .rgs .rg.region03 {
  font-size: 12px;
  border: 1px solid #b94f84;
  color: #b94f84;
  margin: 0px 3px 6px;
  font-weight: 700;
  float: left;
}

.search .search-content .sec-2 table tr .rgs .rg.region04 {
  font-size: 12px;
  border: 1px solid #eb9746;
  color: #eb9746;
  margin: 0px 3px 6px;
  font-weight: 700;
  float: left;
}

@media screen and (max-width: 767px) {
  .search .search-content .sec-2 table tr .rgs .rg {
    font-size: 3.2vw;
    margin: 0 0.8vw 1.6vw;
  }
}
.search .search-content .sec-2 table tr .rgs .rg.region01.active {
  color: #fff;
  background-color: #2ea353;
}

.search .search-content .sec-2 table tr .rgs .rg.region02.active {
  color: #fff;
  background-color: #2b9dd3;
}

.search .search-content .sec-2 table tr .rgs .rg.region03.active {
  color: #fff;
  background-color: #b94f84;
}

.search .search-content .sec-2 table tr .rgs .rg.region04.active {
  color: #fff;
  background-color: #eb9746;
}

.search .pagenation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 1040px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 767px) {
  .search .pagenation {
    width: 100%;
  }
}
.search .pagenation_lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
}

.search .pagenation_list a.show,
.search .pagenation_arrow a.show {
  background-color: #f1fbfb;
}

.search .pagenation_list a.hover,
.search .pagenation_arrow a.hover {
  position: relative;
}

.search .pagenation_list a.hover::before,
.search .pagenation_arrow a.hover::before {
  content: "";
  width: 14px;
  height: 1px;
  border-bottom: 1px solid #008282;
  position: absolute;
  bottom: 35%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .search .pagenation_list a.hover::before,
  .search .pagenation_arrow a.hover::before {
    width: 2.5vw;
    bottom: 30%;
  }
}
.search .arrow_span {
  display: inline-block;
  -webkit-transform: scaleY(150%);
  transform: scaleY(150%);
}

.search .pagenation_list a {
  font-weight: 300;
}

.search .pagenation_arrow a {
  font-weight: 500;
}

.search .text.hover {
  text-decoration: underline;
}

@layer utilities {
  .object-cover-full {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .object-contain-full {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}
.m-copy.w-500 {
  width: revert;
}