/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
@layer properties;
@layer preflight {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    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;
    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 {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.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 {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 2rem;
  }
  ::file-selector-button {
    margin-inline-end: 0.4rem;
  }
  ::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)) {
        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, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-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']), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden='until-found'])) {
    display: none !important;
  }
}
@layer theme {
  :root, :host {
    --font-sans: "Noto Sans JP", sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
    monospace;
    --color-white: #fff;
    --font-weight-extralight: 200;
    --font-weight-medium: 500;
    --font-weight-bold: 700;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --font-latin: "Roboto Condensed", sans-serif;
    --font-roboto: "Roboto", sans-serif;
    --color-primary: #1c2660;
    --color-primary-hover: #191d36;
    --color-secondary: #a08f6b;
    --color-btn: #a08f6b;
    --color-btn-hover: #332d20;
    --color-body: #333;
    --text-16: 1.6rem;
    --text-18: 1.8rem;
    --text-19: 1.9rem;
    --text-20: 2rem;
    --text-22: 2.2rem;
    --text-24: 2.4rem;
    --text-28: 2.8rem;
    --text-32: 3.2rem;
    --text-36: 3.6rem;
    --text-48: 4.8rem;
    --text-58: 5.8rem;
    --text-72: 7.2rem;
    --spacing-2: 0.2rem;
    --spacing-8: 0.8rem;
    --spacing-10: 1rem;
    --spacing-12: 1.2rem;
    --spacing-15: 1.5rem;
    --spacing-16: 1.6rem;
    --spacing-18: 1.8rem;
    --spacing-20: 2rem;
    --spacing-22: 2.2rem;
    --spacing-24: 2.4rem;
    --spacing-26: 2.6rem;
    --spacing-30: 3rem;
    --spacing-31: 3.1rem;
    --spacing-32: 3.2rem;
    --spacing-35: 3.5rem;
    --spacing-36: 3.6rem;
    --spacing-37: 3.7rem;
    --spacing-40: 4rem;
    --spacing-42: 4.2rem;
    --spacing-43: 4.3rem;
    --spacing-44: 4.4rem;
    --spacing-45: 4.5rem;
    --spacing-47: 4.7rem;
    --spacing-48: 4.8rem;
    --spacing-50: 5rem;
    --spacing-52: 5.2rem;
    --spacing-53: 5.3rem;
    --spacing-55: 5.5rem;
    --spacing-56: 5.6rem;
    --spacing-60: 6rem;
    --spacing-62: 6.2rem;
    --spacing-64: 6.4rem;
    --spacing-70: 7rem;
    --spacing-75: 7.5rem;
    --spacing-76: 7.6rem;
    --spacing-80: 8rem;
    --spacing-82: 8.2rem;
    --spacing-85: 8.5rem;
    --spacing-86: 8.6rem;
    --spacing-90: 9rem;
    --spacing-100: 10rem;
    --spacing-120: 12rem;
    --spacing-124: 12.4rem;
    --spacing-128: 12.8rem;
    --spacing-130: 13rem;
    --spacing-150: 15rem;
    --spacing-153: 15.3rem;
    --spacing-160: 16rem;
    --spacing-162: 16.2rem;
    --spacing-165: 16.5rem;
    --spacing-180: 18rem;
    --spacing-182: 18.2rem;
    --spacing-183: 18.3rem;
    --spacing-200: 20rem;
    --spacing-203: 20.3rem;
    --spacing-217: 21.7rem;
    --spacing-240: 24rem;
    --spacing-244: 24.4rem;
    --spacing-246: 24.6rem;
    --spacing-250: 25rem;
    --spacing-263: 26.3rem;
    --spacing-270: 27rem;
    --spacing-300: 30rem;
    --spacing-326: 32.6rem;
    --spacing-332: 33.2rem;
    --spacing-356: 35.6rem;
    --spacing-360: 36rem;
    --spacing-380: 38rem;
    --spacing-389: 38.9rem;
    --spacing-390: 39rem;
    --spacing-418: 41.8rem;
    --spacing-420: 42rem;
    --spacing-435: 43.5rem;
    --spacing-442: 44.2rem;
    --spacing-462: 46.2rem;
    --spacing-480: 48rem;
    --spacing-519: 51.9rem;
    --spacing-520: 52rem;
    --spacing-540: 54rem;
    --spacing-558: 55.8rem;
    --spacing-670: 67rem;
    --spacing-800: 80rem;
    --spacing-880: 88rem;
    --spacing-940: 94rem;
    --spacing-1230: 123rem;
    --spacing-1510: 151rem;
    --spacing-gutter: 3rem;
    --leading-1: 1;
    --tracking-0\.02: 0.02em;
    --tracking-0\.05: 0.05em;
    --tracking-0\.06: 0.06em;
  }
}
@layer utilities {
  .invisible {
    visibility: hidden;
  }
  .visible {
    visibility: visible;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .z-10 {
    z-index: 10;
  }
  .\!container {
    width: 100% !important;
    @media (width >= 560px) {
      max-width: 56rem !important;
    }
    @media (width >= 768px) {
      max-width: 76.8rem !important;
    }
    @media (width >= 1024px) {
      max-width: 102.4rem !important;
    }
    @media (width >= 1280px) {
      max-width: 128rem !important;
    }
    @media (width >= 1366px) {
      max-width: 136.6rem !important;
    }
    @media (width >= 1500px) {
      max-width: 150rem !important;
    }
    @media (width >= 1650px) {
      max-width: 165rem !important;
    }
  }
  .container {
    width: 100%;
    @media (width >= 560px) {
      max-width: 56rem;
    }
    @media (width >= 768px) {
      max-width: 76.8rem;
    }
    @media (width >= 1024px) {
      max-width: 102.4rem;
    }
    @media (width >= 1280px) {
      max-width: 128rem;
    }
    @media (width >= 1366px) {
      max-width: 136.6rem;
    }
    @media (width >= 1500px) {
      max-width: 150rem;
    }
    @media (width >= 1650px) {
      max-width: 165rem;
    }
  }
  .m-30 {
    margin: var(--spacing-30);
  }
  .mx-22 {
    margin-inline: var(--spacing-22);
  }
  .mx-30 {
    margin-inline: var(--spacing-30);
  }
  .mx-100 {
    margin-inline: var(--spacing-100);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .mt-2 {
    margin-top: var(--spacing-2);
  }
  .mt-20 {
    margin-top: var(--spacing-20);
  }
  .mt-43 {
    margin-top: var(--spacing-43);
  }
  .mt-60 {
    margin-top: var(--spacing-60);
  }
  .mt-62 {
    margin-top: var(--spacing-62);
  }
  .mt-64 {
    margin-top: var(--spacing-64);
  }
  .mt-76 {
    margin-top: var(--spacing-76);
  }
  .mt-80 {
    margin-top: var(--spacing-80);
  }
  .mt-128 {
    margin-top: var(--spacing-128);
  }
  .mb-50 {
    margin-bottom: var(--spacing-50);
  }
  .mb-82 {
    margin-bottom: var(--spacing-82);
  }
  .line-clamp-3 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .aspect-163\/90 {
    aspect-ratio: 163/90;
  }
  .h-48 {
    height: var(--spacing-48);
  }
  .h-70 {
    height: var(--spacing-70);
  }
  .h-75 {
    height: var(--spacing-75);
  }
  .h-80 {
    height: var(--spacing-80);
  }
  .h-120 {
    height: var(--spacing-120);
  }
  .h-150 {
    height: var(--spacing-150);
  }
  .h-420 {
    height: var(--spacing-420);
  }
  .h-670 {
    height: var(--spacing-670);
  }
  .h-940 {
    height: var(--spacing-940);
  }
  .h-1510 {
    height: var(--spacing-1510);
  }
  .h-full {
    height: 100%;
  }
  .w-165 {
    width: var(--spacing-165);
  }
  .w-183 {
    width: var(--spacing-183);
  }
  .w-203 {
    width: var(--spacing-203);
  }
  .w-217 {
    width: var(--spacing-217);
  }
  .w-244 {
    width: var(--spacing-244);
  }
  .w-246 {
    width: var(--spacing-246);
  }
  .w-250 {
    width: var(--spacing-250);
  }
  .w-270 {
    width: var(--spacing-270);
  }
  .w-356 {
    width: var(--spacing-356);
  }
  .w-380 {
    width: var(--spacing-380);
  }
  .w-462 {
    width: var(--spacing-462);
  }
  .w-540 {
    width: var(--spacing-540);
  }
  .w-full {
    width: 100%;
  }
  .max-w-435 {
    max-width: var(--spacing-435);
  }
  .max-w-442 {
    max-width: var(--spacing-442);
  }
  .max-w-519 {
    max-width: var(--spacing-519);
  }
  .max-w-520 {
    max-width: var(--spacing-520);
  }
  .max-w-558 {
    max-width: var(--spacing-558);
  }
  .max-w-1230 {
    max-width: var(--spacing-1230);
  }
  .max-w-fit {
    max-width: fit-content;
  }
  .min-w-240 {
    min-width: var(--spacing-240);
  }
  .flex-shrink {
    flex-shrink: 1;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .resize {
    resize: both;
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .flex-col {
    flex-direction: column;
  }
  .items-center {
    align-items: center;
  }
  .items-end {
    align-items: flex-end;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-end {
    justify-content: flex-end;
  }
  .gap-x-20 {
    column-gap: var(--spacing-20);
  }
  .gap-x-30 {
    column-gap: var(--spacing-30);
  }
  .gap-x-40 {
    column-gap: var(--spacing-40);
  }
  .gap-y-44 {
    row-gap: var(--spacing-44);
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .\!border {
    border-style: var(--tw-border-style) !important;
    border-width: 1px !important;
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-x {
    border-inline-style: var(--tw-border-style);
    border-inline-width: 1px;
  }
  .border-r {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }
  .border-primary {
    border-color: var(--color-primary);
  }
  .bg-primary {
    background-color: var(--color-primary);
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .px-16 {
    padding-inline: var(--spacing-16);
  }
  .px-30 {
    padding-inline: var(--spacing-30);
  }
  .px-40 {
    padding-inline: var(--spacing-40);
  }
  .px-43 {
    padding-inline: var(--spacing-43);
  }
  .pt-8 {
    padding-top: var(--spacing-8);
  }
  .pt-10 {
    padding-top: var(--spacing-10);
  }
  .pt-15 {
    padding-top: var(--spacing-15);
  }
  .pt-37 {
    padding-top: var(--spacing-37);
  }
  .pt-40 {
    padding-top: var(--spacing-40);
  }
  .pt-42 {
    padding-top: var(--spacing-42);
  }
  .pt-70 {
    padding-top: var(--spacing-70);
  }
  .pt-85 {
    padding-top: var(--spacing-85);
  }
  .pt-86 {
    padding-top: var(--spacing-86);
  }
  .pt-100 {
    padding-top: var(--spacing-100);
  }
  .pb-20 {
    padding-bottom: var(--spacing-20);
  }
  .pb-26 {
    padding-bottom: var(--spacing-26);
  }
  .pb-40 {
    padding-bottom: var(--spacing-40);
  }
  .pb-55 {
    padding-bottom: var(--spacing-55);
  }
  .pb-56 {
    padding-bottom: var(--spacing-56);
  }
  .text-center {
    text-align: center;
  }
  .font-latin {
    font-family: var(--font-latin);
  }
  .font-roboto {
    font-family: var(--font-roboto);
  }
  .text-19 {
    font-size: var(--text-19);
  }
  .text-20 {
    font-size: var(--text-20);
  }
  .text-24 {
    font-size: var(--text-24);
  }
  .text-28 {
    font-size: var(--text-28);
  }
  .text-32 {
    font-size: var(--text-32);
  }
  .text-36 {
    font-size: var(--text-36);
  }
  .text-58 {
    font-size: var(--text-58);
  }
  .leading-1 {
    --tw-leading: var(--leading-1);
    line-height: var(--leading-1);
  }
  .leading-35 {
    --tw-leading: var(--spacing-35);
    line-height: var(--spacing-35);
  }
  .leading-52 {
    --tw-leading: var(--spacing-52);
    line-height: var(--spacing-52);
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-extralight {
    --tw-font-weight: var(--font-weight-extralight);
    font-weight: var(--font-weight-extralight);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .tracking-0\.02 {
    --tw-tracking: var(--tracking-0\.02);
    letter-spacing: var(--tracking-0\.02);
  }
  .tracking-0\.05 {
    --tw-tracking: var(--tracking-0\.05);
    letter-spacing: var(--tracking-0\.05);
  }
  .tracking-0\.06 {
    --tw-tracking: var(--tracking-0\.06);
    letter-spacing: var(--tracking-0\.06);
  }
  .text-primary {
    color: var(--color-primary);
  }
  .text-secondary {
    color: var(--color-secondary);
  }
  .text-white {
    color: var(--color-white);
  }
  .capitalize {
    text-transform: capitalize;
  }
  .shadow {
    --tw-shadow: 0 1px 0.3rem 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 0.2rem -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-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,);
  }
  .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));
  }
  .backface-hidden {
    backface-visibility: hidden;
  }
  .hover\:bg-primary-hover {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-primary-hover);
      }
    }
  }
  .hover\:opacity-80 {
    &:hover {
      @media (hover: hover) {
        opacity: 80%;
      }
    }
  }
  .max-lg\:mx-auto {
    @media (width < 1024px) {
      margin-inline: auto;
    }
  }
  .max-lg\:mt-24 {
    @media (width < 1024px) {
      margin-top: var(--spacing-24);
    }
  }
  .max-lg\:hidden {
    @media (width < 1024px) {
      display: none;
    }
  }
  .max-lg\:translate-x-15 {
    @media (width < 1024px) {
      --tw-translate-x: var(--spacing-15);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .max-lg\:pt-31 {
    @media (width < 1024px) {
      padding-top: var(--spacing-31);
    }
  }
  .max-lg\:pb-20 {
    @media (width < 1024px) {
      padding-bottom: var(--spacing-20);
    }
  }
  .lg\:-mt-47 {
    @media (width >= 1024px) {
      margin-top: calc(var(--spacing-47) * -1);
    }
  }
  .lg\:-mt-48 {
    @media (width >= 1024px) {
      margin-top: calc(var(--spacing-48) * -1);
    }
  }
  .lg\:mt-36 {
    @media (width >= 1024px) {
      margin-top: var(--spacing-36);
    }
  }
  .lg\:mt-43 {
    @media (width >= 1024px) {
      margin-top: var(--spacing-43);
    }
  }
  .lg\:mt-100 {
    @media (width >= 1024px) {
      margin-top: var(--spacing-100);
    }
  }
  .lg\:mt-200 {
    @media (width >= 1024px) {
      margin-top: var(--spacing-200);
    }
  }
  .lg\:mb-43 {
    @media (width >= 1024px) {
      margin-bottom: var(--spacing-43);
    }
  }
  .lg\:flex {
    @media (width >= 1024px) {
      display: flex;
    }
  }
  .lg\:aspect-16\/9 {
    @media (width >= 1024px) {
      aspect-ratio: 16/9;
    }
  }
  .lg\:h-32 {
    @media (width >= 1024px) {
      height: var(--spacing-32);
    }
  }
  .lg\:h-50 {
    @media (width >= 1024px) {
      height: var(--spacing-50);
    }
  }
  .lg\:h-100 {
    @media (width >= 1024px) {
      height: var(--spacing-100);
    }
  }
  .lg\:h-300 {
    @media (width >= 1024px) {
      height: var(--spacing-300);
    }
  }
  .lg\:h-480 {
    @media (width >= 1024px) {
      height: var(--spacing-480);
    }
  }
  .lg\:h-800 {
    @media (width >= 1024px) {
      height: var(--spacing-800);
    }
  }
  .lg\:h-880 {
    @media (width >= 1024px) {
      height: var(--spacing-880);
    }
  }
  .lg\:w-120 {
    @media (width >= 1024px) {
      width: var(--spacing-120);
    }
  }
  .lg\:w-180 {
    @media (width >= 1024px) {
      width: var(--spacing-180);
    }
  }
  .lg\:w-182 {
    @media (width >= 1024px) {
      width: var(--spacing-182);
    }
  }
  .lg\:w-360 {
    @media (width >= 1024px) {
      width: var(--spacing-360);
    }
  }
  .lg\:max-w-124 {
    @media (width >= 1024px) {
      max-width: var(--spacing-124);
    }
  }
  .lg\:max-w-153 {
    @media (width >= 1024px) {
      max-width: var(--spacing-153);
    }
  }
  .lg\:max-w-162 {
    @media (width >= 1024px) {
      max-width: var(--spacing-162);
    }
  }
  .lg\:max-w-183 {
    @media (width >= 1024px) {
      max-width: var(--spacing-183);
    }
  }
  .lg\:max-w-200 {
    @media (width >= 1024px) {
      max-width: var(--spacing-200);
    }
  }
  .lg\:max-w-263 {
    @media (width >= 1024px) {
      max-width: var(--spacing-263);
    }
  }
  .lg\:max-w-326 {
    @media (width >= 1024px) {
      max-width: var(--spacing-326);
    }
  }
  .lg\:max-w-332 {
    @media (width >= 1024px) {
      max-width: var(--spacing-332);
    }
  }
  .lg\:max-w-389 {
    @media (width >= 1024px) {
      max-width: var(--spacing-389);
    }
  }
  .lg\:max-w-390 {
    @media (width >= 1024px) {
      max-width: var(--spacing-390);
    }
  }
  .lg\:max-w-418 {
    @media (width >= 1024px) {
      max-width: var(--spacing-418);
    }
  }
  .lg\:min-w-160 {
    @media (width >= 1024px) {
      min-width: var(--spacing-160);
    }
  }
  .lg\:grid-cols-3 {
    @media (width >= 1024px) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .lg\:justify-center {
    @media (width >= 1024px) {
      justify-content: center;
    }
  }
  .lg\:gap-x-20 {
    @media (width >= 1024px) {
      column-gap: var(--spacing-20);
    }
  }
  .lg\:gap-x-30 {
    @media (width >= 1024px) {
      column-gap: var(--spacing-30);
    }
  }
  .lg\:gap-x-64 {
    @media (width >= 1024px) {
      column-gap: var(--spacing-64);
    }
  }
  .lg\:gap-y-62 {
    @media (width >= 1024px) {
      row-gap: var(--spacing-62);
    }
  }
  .lg\:px-22 {
    @media (width >= 1024px) {
      padding-inline: var(--spacing-22);
    }
  }
  .lg\:px-62 {
    @media (width >= 1024px) {
      padding-inline: var(--spacing-62);
    }
  }
  .lg\:pt-12 {
    @media (width >= 1024px) {
      padding-top: var(--spacing-12);
    }
  }
  .lg\:pt-30 {
    @media (width >= 1024px) {
      padding-top: var(--spacing-30);
    }
  }
  .lg\:pt-45 {
    @media (width >= 1024px) {
      padding-top: var(--spacing-45);
    }
  }
  .lg\:pt-50 {
    @media (width >= 1024px) {
      padding-top: var(--spacing-50);
    }
  }
  .lg\:pt-53 {
    @media (width >= 1024px) {
      padding-top: var(--spacing-53);
    }
  }
  .lg\:pt-70 {
    @media (width >= 1024px) {
      padding-top: var(--spacing-70);
    }
  }
  .lg\:pt-130 {
    @media (width >= 1024px) {
      padding-top: var(--spacing-130);
    }
  }
  .lg\:pb-18 {
    @media (width >= 1024px) {
      padding-bottom: var(--spacing-18);
    }
  }
  .lg\:pb-20 {
    @media (width >= 1024px) {
      padding-bottom: var(--spacing-20);
    }
  }
  .lg\:pb-32 {
    @media (width >= 1024px) {
      padding-bottom: var(--spacing-32);
    }
  }
  .lg\:pb-90 {
    @media (width >= 1024px) {
      padding-bottom: var(--spacing-90);
    }
  }
  .lg\:text-16 {
    @media (width >= 1024px) {
      font-size: var(--text-16);
    }
  }
  .lg\:text-18 {
    @media (width >= 1024px) {
      font-size: var(--text-18);
    }
  }
  .lg\:text-22 {
    @media (width >= 1024px) {
      font-size: var(--text-22);
    }
  }
  .lg\:text-24 {
    @media (width >= 1024px) {
      font-size: var(--text-24);
    }
  }
  .lg\:text-28 {
    @media (width >= 1024px) {
      font-size: var(--text-28);
    }
  }
  .lg\:text-48 {
    @media (width >= 1024px) {
      font-size: var(--text-48);
    }
  }
  .lg\:text-72 {
    @media (width >= 1024px) {
      font-size: var(--text-72);
    }
  }
  .\33 xl\:w-180 {
    @media (width >= 1500px) {
      width: var(--spacing-180);
    }
  }
}
@layer base {
  :root {
    --inner-slim: 72.4rem;
    --inner-base: 108rem;
    --inner-wide: 128rem;
    --view-width: 100vw;
    --font-size-body: 3.2rem;
    --line-height-body: 1.5;
    --header-height: 21.5rem;
    --gutter: var(--spacing-gutter);
  }
  @media (width >= 1024px) {
    :root {
      --font-size-body: 1.8rem;
      --header-height: 19.5rem;
    }
  }
  body.is-header-scrolled {
    --header-height: 16.5rem;
  }
}
@layer base {
  html {
    font-size: calc(0.625em * var(--font-size-times, 1));
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  html::-webkit-scrollbar {
    display: none;
  }
  body {
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    color: var(--color-body);
  }
  :where(*) {
    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);
  }
  img {
    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[for], 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;
  }
}
@layer layout {
  .l-wrapper {
    padding-top: var(--header-height);
  }
  .l-wrapper:has(.l-header.-home) {
    padding-top: 0;
  }
}
@layer layout {
  .l-nav {
    position: fixed;
    inset: 0;
    z-index: 998;
    visibility: hidden;
    padding-top: calc(var(--header-height));
    background-color: rgba(0, 0, 0, 0.85);
    opacity: 0;
  }
  .l-nav__container {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: calc(100dvh - var(--header-height));
    padding: 5rem 3rem;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    border-top: 1px solid var(--color-primary);
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .l-nav__container::-webkit-scrollbar {
    display: none;
  }
  .l-nav__main {
    flex: 1 1 auto;
  }
}
@layer layout {
  .l-header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 999;
    display: flex;
    align-items: center;
    height: var(--header-height);
    padding-block: 4rem;
    padding-inline: 6.8rem 5.8rem;
    transition-duration: 0.3s;
  }
  .l-header__logo {
    flex: 0 0 17rem;
    width: 17rem;
  }
  .l-header__menu {
    display: none;
  }
  .l-header__btn {
    margin-left: auto;
  }
  .l-header__toggle {
    flex: 0 0 9rem;
    width: 9rem;
    margin-left: 2.6rem;
  }
  .l-header:is(body.is-header-scrolled *) {
    padding-block: 0;
    background-color: rgba(0, 0, 0, 0.6);
  }
  @media (width >= 1024px) {
    .l-header {
      padding-block: 3rem;
      padding-inline: 6.2rem 6rem;
    }
    .l-header__toggle {
      flex: 0 0 7rem;
      width: 7rem;
    }
  }
  @media (width >= 1500px) {
    .l-header__menu {
      display: block;
      margin-left: auto;
    }
    .l-header__menu:is(.l-header.-home *) {
      color: #fff;
    }
    .l-header__menu:is(.is-header-scrolled *), .l-header__menu:is(.is-header-scrolled .l-header.-home *) {
      color: #fff;
    }
    .l-header__btn {
      margin-left: 3.2rem;
    }
  }
}
@layer layout {
  .l-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding: 3.6rem 0;
    margin-inline: 1rem;
    border-top: 1px solid var(--color-primary);
  }
  .l-footer__logo {
    width: 17rem;
  }
  .l-footer__logo img {
    width: 100%;
    max-width: none;
  }
  .l-footer__menu {
    display: flex;
    gap: 0 4.5rem;
  }
  .l-footer__menu a {
    font-size: 2.4rem;
    color: var(--color-primary);
    border-bottom: 1px solid var(--color-primary);
  }
  @media (any-hover: hover) {
    .l-footer__menu a:hover {
      border-bottom: none;
    }
  }
  @media (width >= 1024px) {
    .l-footer {
      padding: 5rem;
      margin-inline: 2.4rem;
    }
    .l-footer__tel {
      margin-left: 4.3rem;
    }
    .l-footer__menu {
      gap: 0 5rem;
      margin-left: 5.8rem;
    }
    .l-footer__menu a {
      font-size: 2rem;
    }
  }
  @media (width < 1024px) {
    .l-footer {
      gap: 6rem 4.7rem;
    }
    .l-footer__menu {
      flex: 0 0 100%;
      justify-content: center;
    }
    .l-footer__menu a {
      letter-spacing: 0.04em;
    }
  }
}
@layer layout {
  .l-breadcrumbs {
    position: relative;
    z-index: 1000;
    display: flex;
    gap: 0 1.3rem;
    justify-content: flex-end;
    padding-inline: 1.6rem;
    margin-inline: 2.7rem;
    font-family: var(--font-latin);
    font-size: 1.8rem;
    font-weight: bold;
    color: var(--color-primary);
  }
  .l-breadcrumbs::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 1px;
    pointer-events: none;
    content: "";
    background-color: var(--color-primary);
  }
  .l-breadcrumbs__link, .l-breadcrumbs__txt {
    line-height: 1;
    translate: 0 -0.8em;
  }
  .l-breadcrumbs__link {
    transition-duration: 0.3s;
  }
  @media (any-hover: hover) {
    .l-breadcrumbs__link:hover {
      color: var(--color-secondary);
    }
  }
  .l-breadcrumbs__line {
    width: 1px;
    height: 3.5rem;
    line-height: 1;
    background-color: currentcolor;
    translate: 0 -60%;
  }
  @media (width < 1024px) {
    .l-breadcrumbs {
      height: 3.2rem;
    }
    .l-breadcrumbs__link, .l-breadcrumbs__line, .l-breadcrumbs__txt {
      display: none;
    }
  }
}
@layer layout {
  .l-pagettl {
    padding-inline: 2.4rem;
    font-size: 4.8rem;
    font-weight: bold;
    line-height: 1;
    color: var(--color-primary);
  }
  @media (width >= 1024px) {
    .l-pagettl {
      padding-inline: 6.5rem;
      font-size: 4rem;
    }
  }
}
@layer layout {
  .l-main {
    padding-bottom: 10rem;
  }
  @media (width >= 1024px) {
    .l-main {
      padding-bottom: 12rem;
    }
  }
}
@layer components {
  .c-post-box p {
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1.40625;
  }
  @media (width >= 1024px) {
    .c-post-box p {
      font-size: 2rem;
      line-height: 1.35;
    }
  }
}
@layer components {
  .c-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.6rem;
  }
  .c-btn[data-color=navy] {
    background-color: var(--color-primary);
  }
  .c-btn[data-color=navy]:hover {
    background-color: var(--color-primary-hover);
  }
  :where(.c-btn) {
    color: #fff;
    background-color: var(--color-btn);
    transition-duration: 0.3s;
  }
  :where(.c-btn:hover) {
    background-color: var(--color-btn-hover);
  }
  .c-menu-btn {
    position: relative;
    display: flex;
    gap: 0 0.46rem;
    align-items: center;
    justify-content: center;
    width: 9rem;
    height: 9rem;
    background-color: #fff;
    border: 1px solid var(--color-primary);
    border-radius: 50%;
  }
  .c-menu-btn > i {
    flex: 0 0 0.8rem;
    width: 0.8rem;
    height: 0.8rem;
    background-color: var(--color-primary);
    border-radius: 50%;
    transition-duration: 0.3s;
  }
  .c-menu-btn:is(body.is-nav-open *) > i {
    position: absolute;
    width: 50%;
    height: 0.2rem;
    border-radius: 0;
  }
  .c-menu-btn:is(body.is-nav-open *) > i:nth-child(1) {
    rotate: 45deg;
  }
  .c-menu-btn:is(body.is-nav-open *) > i:nth-child(2) {
    rotate: -45deg;
  }
  .c-menu-btn:is(body.is-nav-open *) > i:nth-child(3) {
    scale: 0;
  }
  @media (width >= 1024px) {
    .c-menu-btn {
      gap: 0 0.36rem;
      width: 7rem;
      height: 7rem;
    }
    .c-menu-btn > i {
      flex: 0 0 0.6rem;
      width: 0.6rem;
      height: 0.6rem;
    }
  }
  .c-category-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.4rem;
    font-weight: 500;
    color: var(--color-btn);
    white-space: nowrap;
    border: 1px solid var(--color-btn);
    border-radius: 100vmax;
  }
  .c-category-btn.is-active {
    color: #fff;
    background-color: var(--color-primary);
    border: 1px solid var(--color-primary);
  }
  @media (width >= 1024px) {
    .c-category-btn {
      font-size: 1.44rem;
    }
  }
  a.c-category-btn {
    transition-duration: 0.3s;
    transition-property: color, background-color, border-color;
  }
  a.c-category-btn:not(.is-active):hover {
    color: #fff;
    background-color: var(--color-btn-hover);
    border-color: var(--color-btn-hover);
  }
}
@layer components {
  .c-column-card__img {
    aspect-ratio: 360/226;
  }
  .c-column-card__img img {
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: cover;
  }
  .c-column-card__cont {
    position: relative;
    padding: 2.4rem 2rem 5.2rem;
  }
  .c-column-card__date {
    font-family: var(--font-latin);
    font-size: 2.8rem;
    line-height: 1;
    color: var(--color-secondary);
  }
  .c-column-card__text {
    padding-top: 2.2rem;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.6071428571;
  }
  .c-column-card__arrow {
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 6.5rem;
    height: 6.5rem;
    color: #fff;
    background-color: var(--color-primary);
  }
  .c-column-card__arrow svg {
    width: 3rem;
    transition-duration: 0.3s;
  }
  @media (any-hover: hover) {
    .c-column-card:hover .c-column-card__arrow svg {
      translate: 25% 0;
    }
  }
  @media (width >= 1024px) {
    .c-column-card__date {
      font-size: 2.2rem;
    }
    .c-column-card__text {
      padding-top: 1.2rem;
      font-size: 2rem;
      line-height: 1.65;
    }
    .c-column-card__cont {
      padding-block: 1.5rem 5rem;
      padding-inline: 2.4rem;
    }
    .c-column-card__arrow {
      width: 5rem;
      height: 5rem;
    }
    .c-column-card__arrow svg {
      width: 2.4rem;
    }
  }
  .c-works-card {
    position: relative;
    display: block;
  }
  .c-works-card__img {
    aspect-ratio: 473/297;
  }
  .c-works-card__img img {
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: cover;
  }
  .c-works-card__info {
    display: flex;
    gap: 0 2rem;
    padding: 2.5rem 2rem 0;
  }
  .c-works-card__tag {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    font-size: 2.4rem;
    font-weight: 500;
    color: var(--color-secondary);
    border: 1px solid var(--color-secondary);
    border-radius: 100vmax;
  }
  .c-works-card__date {
    padding-inline: 2rem;
    margin-top: 0.2rem;
    font-family: var(--font-latin);
    font-size: 2.8rem;
    font-weight: bold;
    color: var(--color-secondary);
  }
  .c-works-card__text {
    padding-inline: 2rem;
    padding-top: 1.6rem;
    font-size: 2.8rem;
    font-weight: 900;
  }
  .c-works-card__arrow {
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 6.5rem;
    height: 6.5rem;
    color: #fff;
    background-color: var(--color-primary);
  }
  .c-works-card__arrow svg {
    width: 3rem;
    transition-duration: 0.3s;
  }
  @media (any-hover: hover) {
    .c-works-card:hover .c-works-card__arrow svg {
      translate: 25% 0;
    }
  }
  @media (width >= 1024px) {
    .c-works-card {
      padding-bottom: 1.2rem;
    }
    .c-works-card__img {
      aspect-ratio: 362/250;
    }
    .c-works-card__info {
      gap: 0 1.4rem;
      padding: 1rem 1rem 0;
    }
    .c-works-card__tag {
      padding: 0.5rem;
      font-size: 1.4rem;
    }
    .c-works-card__date {
      padding-inline: 1rem;
      margin-top: 0;
      font-size: 1.6rem;
    }
    .c-works-card__text {
      padding-inline: 1rem 8rem;
      padding-top: 1.2rem;
      font-size: 2.2rem;
    }
    .c-works-card__arrow {
      width: 5rem;
      height: 5rem;
    }
    .c-works-card__arrow svg {
      width: 2.4rem;
    }
  }
  @media (width < 1024px) {
    .c-works-card {
      padding-bottom: 6.8rem;
    }
  }
  .c-results-card {
    display: block;
  }
  .c-results-card__categories {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 1.2rem;
    padding-inline: 2rem;
    margin-top: 2.1rem;
  }
  .c-results-card__ftr {
    display: flex;
    gap: 0 1.2rem;
  }
  .c-results-card__arrow {
    display: flex;
    flex: 0 0 6rem;
    align-items: center;
    align-self: flex-end;
    justify-content: center;
    width: 6rem;
    height: 6rem;
    color: #fff;
    background-color: var(--color-primary);
  }
  .c-results-card__arrow svg {
    width: 3rem;
    transition-duration: 0.3s;
  }
  .c-results-card__ttl {
    font-size: 3.2rem;
    font-weight: 900;
    line-height: 1.1;
  }
  .c-results-card__date {
    font-family: var(--font-latin);
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.1;
    color: var(--color-secondary);
  }
  .c-results-card__info {
    flex: 1 1 auto;
  }
  @media (any-hover: hover) {
    .c-results-card:hover .c-results-card__arrow svg {
      translate: 25% 0;
    }
  }
  @media (width >= 1024px) {
    .c-results-card__categories {
      gap: 0 1rem;
      padding-inline: 1.7rem;
      margin-top: 1.7rem;
    }
    .c-results-card__ftr {
      padding-inline-start: 1.7rem;
      padding-top: 1rem;
    }
    .c-results-card__ttl {
      font-size: 2.8rem;
    }
    .c-results-card__date {
      font-size: 1.6rem;
    }
    .c-results-card__info {
      padding-bottom: 1.2rem;
    }
    .c-results-card__arrow {
      flex: 0 0 5rem;
      width: 5rem;
      height: 5rem;
    }
    .c-results-card__arrow svg {
      width: 2.4rem;
    }
  }
}
@layer components {
  .c-cta-group {
    padding-top: 3.3rem;
    padding-bottom: 1.3rem;
  }
  .c-cta-group__heading {
    width: fit-content;
    padding-inline: 0.5em;
    margin-inline: auto;
    margin-bottom: 2.8rem;
    font-size: 3.2rem;
    font-weight: bold;
    color: var(--color-primary);
    letter-spacing: 0.1em;
    border-bottom: 1px solid var(--color-primary);
    translate: -0.1em 0;
  }
  .c-cta-group__text {
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.25;
    color: var(--color-primary);
    text-align: center;
    letter-spacing: 0.03em;
  }
  .c-cta-group__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25.7rem;
    height: 8rem;
    margin-inline: auto;
    margin-top: 2rem;
    font-size: 2.8rem;
    color: #fff;
    background-color: var(--color-btn);
    border-radius: 100vmax;
    transition-duration: 0.3s;
  }
  @media (any-hover: hover) {
    .c-cta-group__btn:hover {
      background-color: var(--color-btn-hover);
    }
  }
  @media (width >= 1024px) {
    .c-cta-group {
      padding-top: 2.6rem;
      padding-bottom: 1.8rem;
    }
    .c-cta-group__heading {
      margin-bottom: 2.5rem;
      font-size: 2.4rem;
    }
    .c-cta-group__text {
      font-size: 2.4rem;
      line-height: 1.2916666667;
    }
    .c-cta-group__btn {
      width: 21rem;
      height: 7rem;
      margin-top: 2rem;
      font-size: 2rem;
    }
  }
  .c-cartegory-group {
    display: flex;
    gap: 0 1.5rem;
  }
  @media (width >= 1024px) {
    .c-cartegory-group {
      flex-wrap: wrap;
      gap: 0.5rem 1.1rem;
    }
  }
  @media (width < 1024px) {
    .c-cartegory-group {
      width: 100%;
      -webkit-overflow-scrolling: touch;
      overflow-scrolling: touch;
      overflow: auto;
    }
  }
}
@layer components {
  .c-post-heading {
    font-size: 4rem;
    font-weight: bold;
    line-height: 1.1;
  }
  @media (width >= 1024px) {
    .c-post-heading {
      font-size: 3.6rem;
    }
  }
  .c-en1-heading {
    font-family: var(--font-latin);
    font-size: 4.8rem;
  }
  @media (width >= 1024px) {
    .c-en1-heading {
      font-size: 3.2rem;
    }
  }
}
@layer components {
  .c-t1-hgrp {
    color: var(--color-secondary);
  }
  .c-t1-hgrp p {
    font-family: var(--font-latin);
    font-size: 6.4rem;
    font-weight: bold;
    line-height: 1;
  }
  .c-t1-hgrp h2 {
    padding-top: 0.7rem;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1;
  }
  @media (width >= 1024px) {
    .c-t1-hgrp p {
      font-size: 6.3rem;
    }
    .c-t1-hgrp h2 {
      padding-top: 0;
      font-size: 2.4rem;
    }
  }
}
@layer components {
  .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);
  }
  .-x-fill:is(*.c-slim-inner, *.c-inner, *.c-wide-inner) {
    --section-gutter: 0px;
  }
  @media (width >= 1024px) {
    .-x-fill-pc:is(*.c-slim-inner, *.c-inner, *.c-wide-inner) {
      --section-gutter: 0px;
    }
  }
  @media (width < 1024px) {
    .-x-fill-mobile:is(*.c-slim-inner, *.c-inner, *.c-wide-inner) {
      --section-gutter: 0px;
    }
  }
}
@layer components {
  .c-news-linklist {
    display: grid;
    grid-template-columns: 100%;
    gap: 2.3rem 0;
  }
  .c-news-linklist__date {
    flex: 0 0 auto;
    font-family: var(--font-latin);
    font-size: 3.2rem;
    font-weight: bold;
    color: var(--color-secondary);
  }
  .c-news-linklist__link {
    position: relative;
    display: block;
    width: fit-content;
    font-weight: 500;
    letter-spacing: 0.04em;
    transition-duration: 0.3s;
  }
  .c-news-linklist__link::after {
    position: absolute;
    bottom: -0.3rem;
    left: 0;
    width: 100%;
    height: 1px;
    content: "";
    background-color: var(--color-primary);
    transform-origin: left;
    scale: 0 1;
    transition-duration: 0.3s;
  }
  @media (any-hover: hover) {
    .c-news-linklist__link:hover::after {
      scale: 1 1;
    }
  }
  @media (width >= 1024px) {
    .c-news-linklist {
      gap: 2.9rem 0;
    }
    .c-news-linklist li {
      display: flex;
      gap: 0 1.8rem;
    }
    .c-news-linklist__date {
      font-size: 2.2rem;
    }
    .c-news-linklist__link {
      align-self: center;
    }
  }
  @media (width < 1024px) {
    .c-news-linklist__link {
      line-height: 1.3;
    }
  }
}
@layer components {
  .c-header-menu {
    display: flex;
    gap: 0 1.4em;
    font-size: 1.6rem;
  }
  .c-header-menu a {
    font-weight: 500;
  }
  @media (width >= 1024px) {
    .c-header-menu a {
      position: relative;
    }
    .c-header-menu a::after {
      position: absolute;
      bottom: -1rem;
      left: 50%;
      width: 6rem;
      height: 0.3rem;
      content: "";
      background-color: var(--color-secondary);
      scale: 0 1;
      translate: -50% 0;
      transition-duration: 0.3s;
    }
  }
  @media (width >= 1024px) and (any-hover: hover) {
    .c-header-menu a:hover::after {
      scale: 1 1;
    }
  }
  .c-nav-menu {
    font-size: 5rem;
    color: #fff;
  }
  .c-nav-menu li {
    font-weight: 500;
  }
  .c-nav-menu a {
    display: block;
  }
  @media (width >= 1024px) {
    .c-nav-menu {
      display: flex;
      flex-wrap: wrap;
      gap: 1rem 2.5rem;
      justify-content: center;
      font-size: 2rem;
    }
    .c-nav-menu a {
      position: relative;
    }
    .c-nav-menu a::after {
      position: absolute;
      bottom: -1rem;
      left: 50%;
      width: 6rem;
      height: 0.3rem;
      content: "";
      background-color: var(--color-primary);
      scale: 0 1;
      translate: -50% 0;
      transition-duration: 0.3s;
    }
  }
  @media (width >= 1024px) and (any-hover: hover) {
    .c-nav-menu a:hover::after {
      scale: 1 1;
    }
  }
  @media (width < 1024px) {
    .c-nav-menu {
      display: grid;
      grid-template-columns: 100%;
      gap: 2.4rem 0;
    }
  }
}
@layer components {
  .c-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3.6rem;
  }
  .c-pager__prev, .c-pager__next {
    flex: 0 0 1.8rem;
    width: 1.8rem;
  }
  .c-pager__prev {
    margin-right: 5.4rem;
  }
  .c-pager__next {
    margin-left: 5.4rem;
  }
  .c-pager__item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 8.8rem;
    height: 8.8rem;
    font-family: var(--font-latin);
    font-weight: bold;
    color: var(--color-primary);
    border-radius: 50%;
    transition-duration: 0.3s;
  }
  .c-pager__item.is-active {
    border: 1px solid currentcolor;
  }
  .c-pager__item:hover {
    color: var(--color-secondary);
  }
  @media (width >= 1024px) {
    .c-pager {
      font-size: 2.4rem;
    }
    .c-pager__prev, .c-pager__next {
      flex: 0 0 1.3rem;
      width: 1.3rem;
    }
    .c-pager__prev {
      margin-right: 3.5rem;
    }
    .c-pager__next {
      margin-left: 3.5rem;
    }
    .c-pager__item {
      width: 5.9rem;
      height: 5.9rem;
    }
  }
}
@layer components {
  .c-results-slider .swiper-slide {
    width: 43.7rem !important;
  }
  @media (width >= 1024px) {
    .c-results-slider .swiper-slide {
      width: 36.7rem !important;
    }
  }
}
@layer project {
  .home-hero {
    position: relative;
  }
  .home-hero__img {
    position: relative;
    z-index: 0;
  }
  .home-hero__copy {
    position: absolute;
    top: 50.7rem;
    right: 0;
    left: 0;
    z-index: 1;
    display: flex;
    justify-content: center;
  }
  .home-hero__text {
    position: absolute;
    top: 79.3rem;
    right: 0;
    left: 0;
    z-index: 1;
    display: flex;
    justify-content: center;
  }
  @media (width >= 1024px) {
    .home-hero__copy {
      top: 34rem;
    }
    .home-hero__text {
      top: 55.2rem;
    }
  }
  @media (width < 1024px) {
    .home-hero__copy img {
      width: 74rem;
    }
    .home-hero__text img {
      width: 69.5rem;
    }
  }
  .home-column {
    padding-top: 2rem;
    margin-inline: 1rem;
  }
  .home-column__hgrp {
    padding-bottom: 2rem;
    padding-left: 7.5rem;
    border-bottom: 1px solid var(--color-primary);
  }
  .home-column__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border-bottom: 1px solid var(--color-primary);
  }
  .home-column__col {
    padding: 0.2rem;
  }
  @media (width >= 1024px) {
    .home-column {
      display: grid;
      grid-template-columns: 38.5rem 1fr;
      padding-top: 0;
      padding-right: 2.4rem;
      margin-inline: 2.4rem;
      border-top: 1px solid var(--color-primary);
      border-bottom: 1px solid var(--color-primary);
    }
    .home-column__hgrp {
      display: flex;
      align-items: center;
      padding-bottom: 2.4rem;
      padding-left: 4.2rem;
      border-bottom: none;
    }
    .home-column__grid {
      border-bottom: none;
    }
    .home-column__col {
      border-left: 1px solid var(--color-primary);
    }
  }
  @media (width >= 1650px) {
    .home-column__grid {
      grid-template-columns: repeat(4, 1fr);
    }
  }
  @media (width < 1650px) {
    .home-column__grid .home-column__col:nth-child(even) {
      border-left: 1px solid var(--color-primary);
    }
    .home-column__grid .home-column__col:nth-child(n+3) {
      border-top: 1px solid var(--color-primary);
    }
  }
  @media (width < 1024px) {
    .home-column__grid .home-column__col:nth-child(odd) {
      padding-left: 1rem;
    }
    .home-column__grid .home-column__col:nth-child(even) {
      padding-right: 1rem;
    }
  }
  .home-topics {
    padding-top: 6.5rem;
    margin-inline: 1rem;
  }
  .home-topics__hgrp {
    padding-bottom: 2rem;
    padding-left: 7rem;
    border-bottom: 1px solid var(--color-primary);
  }
  .home-topics__container {
    padding: 7rem 8rem 2.3rem;
    border-bottom: 1px solid var(--color-primary);
  }
  .home-topics__link {
    display: flex;
    gap: 0 2.4rem;
    align-items: center;
    justify-content: flex-end;
    padding-top: 6.4rem;
    margin-inline-end: -7rem;
  }
  @media (width >= 1024px) {
    .home-topics {
      display: grid;
      grid-template-columns: 38.5rem 1fr;
      padding-top: 0;
      padding-right: 2.4rem;
      margin-inline: 2.4rem;
      border-bottom: 1px solid var(--color-primary);
    }
    .home-topics__container {
      padding: 13rem 0 2.4rem 7.5rem;
      border-bottom: none;
      border-left: 1px solid var(--color-primary);
    }
    .home-topics__hgrp {
      display: flex;
      align-items: center;
      padding-bottom: 0;
      padding-left: 4.2rem;
      border-bottom: none;
    }
    .home-topics__link {
      padding-top: 5rem;
      margin-inline-end: 0;
    }
  }
  .home-links {
    gap: 2rem;
    padding-block: 3.3rem 4rem;
    margin-inline: 3rem;
  }
  .home-links__item div {
    position: relative;
    z-index: 1;
  }
  .home-links__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: cover;
  }
  @media (width >= 1024px) {
    .home-links {
      display: grid;
      grid-template-columns: 67fr 67fr;
      padding-block: 4rem;
    }
    .home-links__item.-item01 {
      grid-column: span 2;
    }
  }
  @media (width >= 1500px) {
    .home-links {
      grid-template-columns: 48fr 67fr 67fr;
    }
    .home-links__item.-item01 {
      grid-column: span 1;
    }
  }
  @media (width < 1024px) {
    .home-links__item {
      margin-top: 2rem;
    }
    .home-links__item.-item01 {
      margin-top: 0;
    }
  }
  .home-service {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 0 3rem 4rem;
  }
  .home-service__hgrp {
    display: flex;
    grid-row: span 1;
    grid-column: span 2;
    align-items: center;
    background-color: var(--color-secondary);
  }
  .home-service__link {
    position: relative;
    display: flex;
    justify-content: center;
    height: 33.3rem;
    background-color: var(--color-secondary);
  }
  @media (any-hover: hover) {
    .home-service__link:hover .home-service__arrow svg {
      translate: 25% 0;
    }
  }
  .home-service__arrow {
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 6.5rem;
    height: 6.5rem;
    color: #fff;
    background-color: var(--color-primary);
  }
  .home-service__arrow svg {
    width: 3rem;
    transition-duration: 0.3s;
  }
  @media (width >= 1024px) {
    .home-service {
      grid-template-columns: 38rem 1fr 1fr;
    }
    .home-service__hgrp {
      grid-row: span 4;
      grid-column: span 1;
      justify-content: center;
      border-right: 1px solid #fff;
    }
    .home-service__arrow {
      width: 5rem;
      height: 5rem;
    }
    .home-service__arrow svg {
      width: 2.4rem;
    }
    .home-service__link {
      height: 30rem;
      padding-inline: 2rem;
      border-right: 1px solid #fff;
      border-bottom: 1px solid #fff;
    }
  }
  @media (width >= 1650px) {
    .home-service {
      grid-template-columns: 38rem 1fr 1fr 1fr 1fr;
    }
    .home-service__hgrp {
      grid-row: span 2;
    }
  }
  @media (width < 1024px) {
    .home-service__hgrp {
      padding: 5.8rem 5.1rem 1.9rem;
    }
    .home-service__link {
      border-top: 1px solid #fff;
    }
    .home-service .home-service__link:nth-child(odd) {
      border-left: 1px solid #fff;
    }
  }
  .home-strength {
    padding-block: 2.4rem 8rem;
    margin-inline: 1rem;
  }
  .home-strength__hgrp {
    max-width: 174rem;
    margin-inline: auto;
  }
  .home-strength__images {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 2rem;
    max-width: 166rem;
    margin-inline: 2rem;
    margin-top: 8.5rem;
  }
  .home-strength__images::before, .home-strength__images::after {
    position: absolute;
    left: 0;
    z-index: 0;
    width: 100%;
    aspect-ratio: 968/176;
    content: "";
    background: url("../images/home/line.svg") no-repeat center center/100% 100%;
  }
  .home-strength__images::before {
    top: 0;
  }
  .home-strength__images::after {
    bottom: 0;
  }
  .home-strength__chara {
    position: absolute;
    top: -4.8rem;
    left: -1.2rem;
    z-index: 2;
    width: 29.3rem;
  }
  .home-strength__col {
    position: relative;
    z-index: 1;
  }
  .home-strength__col figcaption {
    margin-top: 0.8rem;
    font-size: 3.6rem;
    font-weight: bold;
    color: var(--color-secondary);
    text-align: center;
  }
  .home-strength__container {
    display: grid;
    grid-template-columns: 100%;
    gap: 6.2rem 0;
    margin-top: 5.3rem;
  }
  @media (width >= 1024px) {
    .home-strength {
      padding-block: 7.8rem 6rem;
      margin-inline: 3rem;
    }
    .home-strength__images {
      margin-inline: auto;
      margin-top: -8.5rem;
    }
    .home-strength__images::before, .home-strength__images::after {
      aspect-ratio: 1871/340;
    }
    .home-strength__images::before {
      top: -10%;
    }
    .home-strength__images::after {
      bottom: 15%;
    }
    .home-strength__chara {
      top: 10rem;
      left: -11rem;
      width: 29.3rem;
    }
    .home-strength__col figcaption {
      margin-top: 1.4rem;
      font-size: 3.2rem;
    }
    .home-strength__container {
      display: none;
    }
  }
  @media (width < 1024px) {
    .home-strength__hgrp {
      padding-inline: 7.2rem;
      padding-bottom: 2rem;
      border-bottom: 1px solid var(--color-primary);
    }
  }
  .home-works {
    margin-inline: 1rem;
  }
  .home-works__hdr {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding-inline: 7rem 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--color-secondary);
  }
  .home-works__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .home-works__card {
    padding: 0.4rem;
    border-right: 1px solid var(--color-secondary);
    border-bottom: 1px solid var(--color-secondary);
  }
  @media (width >= 1024px) {
    .home-works {
      margin-inline: 3rem;
      border-top: 1px solid var(--color-secondary);
    }
    .home-works__first {
      padding-top: 8rem;
      padding-right: 0.2rem;
      border-right: 1px solid var(--color-secondary);
      border-bottom: 1px solid var(--color-secondary);
    }
    .home-works__hdr {
      padding-inline: 6rem 2.8rem;
      padding-bottom: 3.4rem;
      border-bottom: none;
    }
    .home-works__grid {
      grid-template-columns: repeat(2, 1fr);
    }
    .home-works__card {
      padding: 0.2rem;
    }
  }
  @media (width >= 1280px) {
    .home-works {
      display: grid;
      grid-template-columns: 744fr 1095fr;
    }
  }
  @media (width >= 1500px) {
    .home-works__grid {
      grid-template-columns: repeat(3, 1fr);
    }
  }
  @media (width < 1024px) {
    .home-works__firstcard {
      padding: 0.2rem 1rem 0;
    }
    .home-works__grid .home-works__card:nth-child(even) {
      border-right: none;
    }
  }
  .home-value {
    margin-inline: 4rem;
    margin-top: 6.5rem;
    background: url("../images/home/value-mobile-bg.jpg") no-repeat center center/cover;
  }
  @media (width >= 1024px) {
    .home-value {
      margin-inline: 3rem;
      margin-top: 5rem;
      background-image: url("../images/home/value-bg.jpg");
    }
  }
}
@layer utilities {
  .object-cover-full {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .object-contain-full {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  [class*="hover:"] {
    transition-duration: 0.3s;
  }
}
@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: 0px;
}
@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-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 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-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;
    }
  }
}
