@import url("https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap");
/*! tailwindcss v4.1.3 | 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-space-x-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: 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-duration: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --color-gray-100: oklch(.967 .003 264.542);
    --color-gray-200: oklch(.928 .006 264.531);
    --color-gray-300: oklch(.872 .01 258.338);
    --color-gray-700: oklch(.373 .034 259.733);
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-bold: 700;
    --leading-tight: 1.25;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-font-feature-settings: var(--font-sans--font-feature-settings);
    --default-font-variation-settings: var(--font-sans--font-variation-settings);
    --default-mono-font-family: var(--font-mono);
    --default-mono-font-feature-settings: var(--font-mono--font-feature-settings);
    --default-mono-font-variation-settings: var(--font-mono--font-variation-settings);
  }
}

@layer base {
  *, :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;
  }

  body {
    line-height: inherit;
  }

  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;
    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;
    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;
  }

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

  * {
    border-color: var(--border);
    outline-color: var(--ring);
  }

  @supports (color: color-mix(in lab, red, red)) {
    * {
      outline-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }

  * {
    border-color: var(--border);
    outline-color: var(--ring);
  }

  @supports (color: color-mix(in lab, red, red)) {
    * {
      outline-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }

  body {
    background-color: var(--background);
    color: var(--foreground);
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) h1 {
    font-size: var(--text-2xl);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) h2 {
    font-size: var(--text-xl);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) h3 {
    font-size: var(--text-lg);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) h4 {
    font-size: var(--text-base);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) p {
    font-size: var(--text-base);
    font-weight: var(--font-weight-normal);
    line-height: 1.5;
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) label, :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) button {
    font-size: var(--text-base);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) input {
    font-size: var(--text-base);
    font-weight: var(--font-weight-normal);
    line-height: 1.5;
  }
}

@layer utilities {
  .pointer-events-auto {
    pointer-events: auto;
  }

  .pointer-events-none {
    pointer-events: none;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

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

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

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

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

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

  .container {
    width: 100%;
  }

  @media (width >= 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (width >= 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (width >= 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (width >= 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (width >= 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .m-2 {
    margin: calc(var(--spacing) * 2);
  }

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

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

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

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

  .mt-auto {
    margin-top: auto;
  }

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

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

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

  .flex {
    display: flex;
  }

  .hidden {
    display: none;
  }

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

  .size-3 {
    width: calc(var(--spacing) * 3);
    height: calc(var(--spacing) * 3);
  }

  .size-4 {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }

  .h-full {
    height: 100%;
  }

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

  .min-h-screen {
    min-height: 100vh;
  }

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

  .w-full {
    width: 100%;
  }

  .flex-grow {
    flex-grow: 1;
  }

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

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

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

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

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

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

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

  :where(.space-x-2 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
  }

  .rounded-\[24px\] {
    border-radius: 24px;
  }

  .rounded-full {
    border-radius: 3.40282e38px;
  }

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

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

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

  .bg-\[\#0B162A\] {
    background-color: #0b162a;
  }

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

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

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

  .\!px-3 {
    padding-inline: calc(var(--spacing) * 3) !important;
  }

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

  .\!py-2 {
    padding-block: calc(var(--spacing) * 2) !important;
  }

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

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

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

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

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

  .align-middle {
    vertical-align: middle;
  }

  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }

  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }

  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }

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

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

  .text-gray-700 {
    color: var(--color-gray-700);
  }

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

  .uppercase {
    text-transform: uppercase;
  }

  .opacity-0 {
    opacity: 0;
  }

  .opacity-100 {
    opacity: 1;
  }

  .shadow-\[0_0_6px_0_rgba\(0\,0\,0\,0\.1\)\] {
    --tw-shadow: 0 0 6px 0 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);
  }

  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .duration-500 {
    --tw-duration: .5s;
    transition-duration: .5s;
  }

  @media (hover: hover) {
    .hover\:\!text-gray-300:hover {
      color: var(--color-gray-300) !important;
    }
  }

  @media (hover: hover) {
    .hover\:text-gray-300:hover {
      color: var(--color-gray-300);
    }
  }

  @media (width >= 40rem) {
    .sm\:inline-flex {
      display: inline-flex;
    }
  }

  @media (width >= 40rem) {
    .sm\:flex-row {
      flex-direction: row;
    }
  }

  @media (width >= 48rem) {
    .md\:fixed {
      position: fixed;
    }
  }

  @media (width >= 48rem) {
    .md\:block {
      display: block;
    }
  }

  @media (width >= 48rem) {
    .md\:hidden {
      display: none;
    }
  }

  @media (width >= 48rem) {
    .md\:inline {
      display: inline;
    }
  }

  @media (width >= 48rem) {
    .md\:size-4 {
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
    }
  }

  @media (width >= 48rem) {
    .md\:w-30 {
      width: calc(var(--spacing) * 30);
    }
  }

  @media (width >= 48rem) {
    .md\:\!px-4 {
      padding-inline: calc(var(--spacing) * 4) !important;
    }
  }

  @media (width >= 48rem) {
    .md\:py-0 {
      padding-block: calc(var(--spacing) * 0);
    }
  }

  @media (width >= 48rem) {
    .md\:pt-16 {
      padding-top: calc(var(--spacing) * 16);
    }
  }

  @media (width >= 48rem) {
    .md\:text-sm {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }
}


:root {
  --font-size: 16px;
  --background: #fff;
  --foreground: oklch(.145 0 0);
  --card: #fff;
  --card-foreground: oklch(.145 0 0);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(.145 0 0);
  --primary: #030213;
  --primary-foreground: oklch(1 0 0);
  --secondary: oklch(.95 .0058 264.53);
  --secondary-foreground: #030213;
  --muted: #ececf0;
  --muted-foreground: #717182;
  --accent: #e9ebef;
  --accent-foreground: #030213;
  --destructive: #d4183d;
  --destructive-foreground: #fff;
  --border: #0000001a;
  --input: transparent;
  --input-background: #f3f3f5;
  --switch-background: #cbced4;
  --font-weight-medium: 500;
  --font-weight-normal: 400;
  --ring: oklch(.708 0 0);
  --chart-1: oklch(.646 .222 41.116);
  --chart-2: oklch(.6 .118 184.704);
  --chart-3: oklch(.398 .07 227.392);
  --chart-4: oklch(.828 .189 84.429);
  --chart-5: oklch(.769 .188 70.08);
  --radius: .625rem;
  --sidebar: oklch(.985 0 0);
  --sidebar-foreground: oklch(.145 0 0);
  --sidebar-primary: #030213;
  --sidebar-primary-foreground: oklch(.985 0 0);
  --sidebar-accent: oklch(.97 0 0);
  --sidebar-accent-foreground: oklch(.205 0 0);
  --sidebar-border: oklch(.922 0 0);
  --sidebar-ring: oklch(.708 0 0);
}

.dark {
  --background: oklch(.145 0 0);
  --foreground: oklch(.985 0 0);
  --card: oklch(.145 0 0);
  --card-foreground: oklch(.985 0 0);
  --popover: oklch(.145 0 0);
  --popover-foreground: oklch(.985 0 0);
  --primary: oklch(.985 0 0);
  --primary-foreground: oklch(.205 0 0);
  --secondary: oklch(.269 0 0);
  --secondary-foreground: oklch(.985 0 0);
  --muted: oklch(.269 0 0);
  --muted-foreground: oklch(.708 0 0);
  --accent: oklch(.269 0 0);
  --accent-foreground: oklch(.985 0 0);
  --destructive: oklch(.396 .141 25.723);
  --destructive-foreground: oklch(.637 .237 25.331);
  --border: oklch(.269 0 0);
  --input: oklch(.269 0 0);
  --ring: oklch(.439 0 0);
  --font-weight-medium: 500;
  --font-weight-normal: 400;
  --chart-1: oklch(.488 .243 264.376);
  --chart-2: oklch(.696 .17 162.48);
  --chart-3: oklch(.769 .188 70.08);
  --chart-4: oklch(.627 .265 303.9);
  --chart-5: oklch(.645 .246 16.439);
  --sidebar: oklch(.205 0 0);
  --sidebar-foreground: oklch(.985 0 0);
  --sidebar-primary: oklch(.488 .243 264.376);
  --sidebar-primary-foreground: oklch(.985 0 0);
  --sidebar-accent: oklch(.269 0 0);
  --sidebar-accent-foreground: oklch(.985 0 0);
  --sidebar-border: oklch(.269 0 0);
  --sidebar-ring: oklch(.439 0 0);
}

html {
  font-size: var(--font-size);
}

:root {
  --spacing: .25rem;
}

.w-30 {
  width: calc(var(--spacing) * 30) !important;
}

@layer components {
  .lp {
    all: initial;
    --header-height: 0;
    --side-padding: clamp(20px, -80px + 15.625vw, 120px);
    --shadow-5: 0px 4px 40px 0px #0000000d;
    --shadow-25: 0px 4px 40px 0px #00000040;
    --shadow-10: 0px 4px 40px 0px #0000001a;
    --color-navy: #0b162a;
    --color-text-gray: #737373;
    --color-white: #fff;
    --color-black: #0a0a0a;
    --color-gray: #717182;
    --color-bg: #f4f4f4;
    --color-bg-gray: #e1e7e7;
    --color-line-gray: #0b162a1a;
    --color-gold: #c0bc3a;
    --color-gold-light: #d9d53a;
    --color-yellow: #eee945;
    --color-red: #c91212;
    --font-size-12: .75rem;
    --font-size-13: .8125rem;
    --font-size-14: .875rem;
    --font-size-15: .9375rem;
    --font-size-18: 1.125rem;
    --font-size-20: 1.25rem;
    --font-size-22: 1.375rem;
    --font-size-24: 1.5rem;
    --font-size-28: 1.75rem;
    --font-size-30: 1.875rem;
    --bp-640: 40rem;
    --bp-704: 44rem;
    --bp-960: 60rem;
    --bp-1024: 64rem;
    --bp-1280: 80rem;
    background-color: var(--color-white);
    color: var(--color-navy);
    font-optical-sizing: auto;
    font-family: Noto Sans JP, sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    overflow-y: scroll;
  }

  .lp *, .lp :before, .lp :after {
    box-sizing: border-box;
    min-width: 0;
  }

  .lp, .lp h1, .lp h2, .lp h3, .lp h4, .lp h5, .lp h6, .lp p, .lp figure, .lp blockquote, .lp ul, .lp ol, .lp dl, .lp dd, .lp input, .lp textarea {
    margin: 0;
  }

  .lp ul, .lp ol {
    padding: 0;
  }

  .lp picture, .lp img, .lp svg {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
  }

  .lp input, .lp textarea, .lp button, .lp select {
    appearance: none;
    color: inherit;
    font: inherit;
    background: none;
    border: 1px solid;
    padding: 0;
    display: block;
  }

  .lp input, .lp textarea, .lp select {
    border-radius: 0;
  }

  .lp strong {
    font-weight: inherit;
  }

  .lp ul {
    list-style: none;
  }

  .lp .no-list-style li:before {
    content: "​";
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    clip-path: inset(50%);
    width: 1px;
    height: 1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  .lp button, .lp a {
    outline: none;
  }

  .lp button:focus-visible, .lp a:focus-visible {
    outline: 2px solid var(--color-gray);
    outline-offset: 2px;
  }

  .lp.no-scroll {
    width: 100%;
    position: fixed;
    left: 0;
  }

  .lp p {
    line-height: 1.6;
  }

  .lp a {
    color: inherit;
    text-decoration-skip-ink: all;
    text-decoration: none;
    display: inline-block;
  }

  .lp button, .lp select, .lp input[type="submit"], .lp [role="button"] {
    cursor: pointer;
  }

  .lp .no-transition {
    transition: none;
  }

  .lp .sr-only {
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    clip-path: inset(50%);
    border: 0;
    width: 1px;
    height: 1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

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

  .lp .uppercase {
    text-transform: uppercase;
  }

  .lp .noto-sans-jp {
    font-family: Noto Sans JP, sans-serif;
  }

  .lp .inter {
    font-family: Inter, sans-serif;
  }

  .lp .site-main {
    padding-top: var(--header-height);
  }

  .lp .link-button {
    border: 1px solid;
    border-radius: 4px;
    justify-content: center;
    align-items: center;
    gap: 4px;
    padding: 16px 32px;
    font-weight: 700;
    transition-property: color, background-color, border-color;
    transition-duration: .3s;
    transition-timing-function: ease-out;
    display: flex;
  }

  .lp .link-button.login {
    border-color: var(--color-line-gray);
  }

  .lp .link-button.register {
    border-color: var(--color-navy);
    background-color: var(--color-navy);
    color: var(--color-white);
  }

  .lp .link-button.login:focus-visible {
    border-color: var(--color-bg);
    background-color: var(--color-bg);
  }

  .lp .link-button.register:focus-visible {
    border-color: var(--color-gray);
    background-color: var(--color-gray);
  }

  .lp .link-button.gold {
    color: var(--color-white);
    background-color: #ec4c49;
    border-color: #ec4c49;
    font-weight: bold;
  }

  .lp .link-button.gold:focus-visible, .lp .link-button.gold:hover {
    background-color: #f06f6d;
    border-color: #f06f6d;
  }

  .lp .link-button.navy {
    border-color: var(--color-navy);
    background-color: var(--color-navy);
    color: var(--color-white);
  }

  .lp .link-button.navy:focus-visible {
    border-color: var(--color-gray);
    background-color: var(--color-gray);
  }

  .lp .site-header {
    z-index: 10;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
  }

  .lp .header-upper {
    align-items: center;
    display: flex;
  }

  .lp .header-logo {
    align-items: center;
    width: 110px;
    display: flex;
  }

  .lp .site-header .link-button {
    padding: 3px 11px 4px;
  }

  .lp .main-nav-toggle-button {
    border-color: var(--color-white);
    background-color: var(--color-white);
    min-width: 32px;
    min-height: 32px;
    transition: opacity .3 ease-out;
    place-content: center;
    display: grid;
  }

  .lp .main-nav-toggle-button.close {
    z-index: 1;
    position: absolute;
    top: 8px;
    right: 18px;
  }

  .lp .main-nav-toggle-button[inert] {
    opacity: 0;
  }

  .lp .main-nav {
    background-color: var(--color-white);
    transition: opacity .2s ease-out, translate .3s ease-out;
  }

  .lp .main-nav[inert] {
    opacity: 0;
    translate: 0 -100%;
  }

  .lp .main-nav ul {
    gap: 8px;
    display: grid;
  }

  .lp .main-nav ul a {
    padding: 8px;
    transition: color .3s ease-out;
    display: block;
  }

  .lp .main-nav ul a:focus-visible {
    color: var(--color-gray);
  }

  .lp .nav-lower {
    grid-template-columns: repeat(2, auto);
    gap: 8px;
    display: grid;
  }

  .lp .nav-lower .link-button {
    padding: 13px 31px;
  }

  .lp .nav-lower .link-button .icon {
    flex: 0 0 1.46em;
    height: auto;
  }

  .lp .site-footer {
    background-color: var(--color-navy);
    color: var(--color-white);
    font-size: var(--font-size-14);
    flex-direction: column-reverse;
    gap: 32px;
    padding: 60px clamp(20px, 6.25vw - 20px, 40px);
    line-height: 1.6;
    display: flex;
  }

  .lp .site-footer small {
    font-size: var(--font-size-12);
  }

  .lp .footer-link-list {
    gap: 24px;
    margin-right: 60px;
    display: grid;
  }

  .lp .footer-link-list a {
    transition: color .3s ease-out;
  }

  .lp .footer-link-list a:focus-visible {
    color: var(--color-gray);
  }

  .lp .section-container {
    padding-right: var(--side-padding);
    padding-left: var(--side-padding);
  }

  .lp .section-inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }

  .lp .frontpage-heading-1 {
    background-color: var(--color-gold);
    width: fit-content;
    color: var(--color-white);
    font-size: var(--font-size-14);
    margin-left: auto;
    margin-right: auto;
    padding: 4px 12px;
    font-weight: 500;
  }

  .lp .frontpage-heading-2 {
    font-size: var(--font-size-24);
    text-align: center;
    justify-items: center;
    gap: 23px;
    font-family: Zen Old Mincho, serif;
    font-weight: 900;
    line-height: 1.6;
    display: grid;
  }

  .lp .frontpage-heading-1 + .frontpage-heading-2 {
    margin-top: 23px;
  }

  .lp .frontpage-heading-2:after {
    content: "";
    background-color: var(--color-gold);
    width: 125px;
    height: 2px;
  }

  .lp .frontpage-heading-2 em {
    color: var(--color-text-gray);
    font-style: normal;
  }

  .lp .frontpage-fv-inner {
    aspect-ratio: 375 / 368;
    position: relative;
  }

  .lp .frontpage-fv .bg {
    display: flex;
    position: absolute;
    inset: 0;
  }

  .lp .frontpage-fv .bg img {
    object-fit: cover;
    object-position: center top;
    width: 100%;
    height: 100%;
  }

  .lp .frontpage-fv-catchcopy {
    justify-content: center;
    justify-items: center;
    gap: 8px;
    width: 100%;
    margin-top: -59.47vw;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.29;
    display: grid;
    position: relative;
  }

  .lp .frontpage-fv-catchcopy .wrap {
    background-color: var(--color-white);
    border-radius: 2px;
    align-items: center;
    gap: 4px;
    padding: 2px 8px 4px;
    display: flex;
  }

  .lp .frontpage-fv-catchcopy > .wrap {
    font-size: 38px;
  }

  .lp .frontpage-fv-catchcopy .container {
    justify-content: center;
    justify-items: center;
    gap: 8px;
    display: grid;
  }

  .lp .frontpage-fv-catchcopy .container .wrap:first-child {
    font-size: 1.5625em;
    font-weight: 900;
  }

  .lp .frontpage-fv-catchcopy .container .wrap:last-child {
    font-size: .85em;
  }

  .lp .frontpage-fv-catchcopy strong {
    color: var(--color-gold);
    font-weight: 600;
    line-height: 1.3;
  }

  .lp .frontpage-fv-catchcopy .font-mincho {
    padding: 3px 12px 8px;
    font-family: Zen Old Mincho, serif;
    line-height: 1.2;
  }

  .lp .frontpage-fv-cta {
    background-color: var(--color-white);
    width: calc(100% - 40px);
    max-width: 25rem;
    font-size: var(--font-size-14);
    text-align: center;
    box-shadow: var(--shadow-10);
    border-radius: 3px;
    gap: 16px;
    margin-top: 16px;
    margin-left: auto;
    margin-right: auto;
    padding: 12px 16px;
    font-weight: 500;
    display: grid;
    position: relative;
  }

  .lp .frontpage-fv-cta .wrap {
    justify-items: center;
    gap: 8px;
    display: grid;
  }

  .lp .frontpage-fv-cta .link-button {
    gap: 10px;
    width: 86.57%;
    padding: 9px;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.6;
    transition: background-color .3s ease-out;
  }

  .lp .frontpage-difficulty {
    padding-top: 42px;
    padding-bottom: 60px;
  }

  .lp .frontpage-difficulty .frontpage-heading-2 br {
    display: inline-block !important;
  }

  .lp .frontpage-difficulty-list {
    font-size: var(--font-size-15);
    gap: 8px;
    margin-top: 38px;
    line-height: 1.6;
    display: grid;
  }

  .lp .frontpage-difficulty-list div {
    border: 1px solid rgb(from var(--color-navy) r g b / .1);
    text-align: center;
    border-radius: 4px;
    padding: 14px 8px;
  }

  .lp .frontpage-difficulty-list dt {
    margin-bottom: 4px;
    font-size: 1.5rem;
    font-weight: 700;
  }

  .lp .frontpage-difficulty-text {
    background-color: rgb(from var(--color-gold) r g b / .1);
    text-align: center;
    gap: 4px;
    margin-top: 40px;
    padding: 16px 10px;
    display: grid;
  }

  .lp .frontpage-difficulty-text span:first-of-type {
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding-top: 4px;
    padding-bottom: 4px;
    display: flex;
  }

  .lp .frontpage-difficulty-text img {
    flex: 0 0 7.81rem;
  }

  .lp .frontpage-merit {
    background-color: var(--color-bg);
    padding-top: 60px;
    padding-bottom: 110px;
  }

  .lp .frontpage-merit-container {
    background-color: var(--color-white);
    border-radius: 4px;
    margin-top: 40px;
    padding: 40px 16px;
    position: relative;
    overflow: hidden;
  }

  .lp .frontpage-merit-img {
    border-radius: 4px;
    width: 100%;
    height: 200px;
    margin-top: 24px;
    overflow: hidden;
  }

  .lp .frontpage-merit-img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }

  .lp .frontpage-merit-container + .frontpage-merit-container {
    margin-top: 24px;
  }

  .lp .frontpage-merit-subheading {
    font-size: var(--font-size-20);
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
    font-weight: 700;
    line-height: 1.6;
    display: flex;
  }

  .lp .frontpage-merit-subheading .en {
    color: var(--color-gold);
    font-family: Inter, sans-serif;
    font-size: var(--font-size-14);
    letter-spacing: .1em;
    background-color: #0000;
    padding: 0;
    font-weight: 600;
  }

  .lp .frontpage-merit-text p {
    font-size: var(--font-size-14);
    color: var(--color-text-gray);
    margin-top: 16px;
    line-height: 1.8;
  }

  .lp .frontpage-merit-list {
    gap: 40px;
    margin-top: 40px;
    font-weight: 700;
    display: grid;
  }

  .lp .frontpage-merit-list a {
    align-items: start;
    display: grid;
  }

  .lp .frontpage-merit-list .img {
    border-radius: 2px;
    margin-bottom: 8px;
    overflow: hidden;
  }

  .lp .frontpage-merit-list img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: opacity .3s ease-out;
  }

  .lp .frontpage-merit-list p {
    margin-top: 8px;
    transition: color .3s ease-out;
  }

  .lp .frontpage-merit-list .post-title {
    -webkit-line-clamp: 2;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    max-height: 2lh;
    display: -webkit-box;
    overflow: hidden;
  }

  .lp .frontpage-merit-list small {
    color: var(--color-gray);
    font-size: var(--font-size-14);
    align-items: start;
    gap: 8px;
    font-weight: 400;
    display: flex;
  }

  .lp .frontpage-merit-list small:before {
    content: "";
    background-color: var(--color-yellow);
    flex: 0 0 24px;
    height: 2px;
    margin-top: .79em;
  }

  .lp .frontpage-merit-list a:focus-visible img {
    scale: 1.1;
  }

  .lp .frontpage-merit-wrap {
    gap: 24px;
    margin-top: 24px;
    display: grid;
  }

  .lp .frontpage-merit-pict {
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    display: grid;
  }

  .lp .frontpage-merit-pict picture {
    border-radius: 2px;
    overflow: hidden;
  }

  .lp .frontpage-merit-wrap img {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }

  .lp .frontpage-merit-check {
    background-color: var(--color-bg);
    border-radius: 2px;
    align-content: center;
    gap: 8px;
    padding: 24px 20px;
    line-height: 1.6;
    display: grid;
  }

  .lp .frontpage-merit-check li {
    align-items: center;
    gap: 12px;
    display: flex;
  }

  .lp .frontpage-merit-check .icon {
    color: var(--color-gold);
    flex: 0 0 1.5em;
  }

  .lp .frontpage-career {
    padding: 60px clamp(20px, 31.25vw - 280px, 120px);
  }

  .lp .frontpage-career-container {
    gap: 24px;
    margin-top: 40px;
    display: grid;
  }

  .lp .frontpage-career-wrap {
    border: 1px solid rgb(from var(--color-navy) r g b / .1);
    box-shadow: var(--shadow-5);
    border-top: none;
    padding: 32px 20px 30px;
    position: relative;
  }

  .lp .frontpage-career-wrap:before {
    content: "";
    background-color: var(--color-gold);
    height: 6px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
  }

  .lp .frontpage-career-subheading {
    font-size: var(--font-size-20);
    text-align: center;
    justify-items: center;
    gap: 8px;
    font-weight: 700;
    line-height: 1.6;
    display: grid;
  }

  .lp .frontpage-career-subheading .en {
    color: var(--color-gold);
    font-family: Inter, sans-serif;
    font-size: var(--font-size-14);
  }

  .lp .frontpage-career-target {
    border: 1px solid rgb(from var(--color-navy) r g b / .1);
    text-align: center;
    margin-top: 8px;
    font-weight: 700;
  }

  .lp .frontpage-career-target + .frontpage-career-target {
    margin-top: 16px;
  }

  .lp .frontpage-career-target-heading {
    background-color: var(--color-bg-gray);
    color: var(--color-gray);
    font-size: var(--font-size-14);
    padding: 4px;
    font-weight: 400;
    line-height: 1.6;
  }

  .lp .frontpage-career-target p {
    padding: 10px 20px;
  }

  .lp .frontpage-career-arrow {
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background-image: linear-gradient(#cdcca800, #cdcca8);
    width: 48px;
    height: 30px;
    margin: 12px auto 8px;
  }

  .lp .frontpage-career-ex-heading {
    justify-content: center;
    align-items: center;
    gap: 8px;
    font-weight: 400;
    line-height: 1.6;
    display: flex;
  }

  .lp .frontpage-career-ex-heading svg {
    width: 20px;
    height: 20px;
    color: var(--color-gold);
  }

  .lp .frontpage-career-ex-wrap {
    border: 1px solid rgb(from var(--color-navy) r g b / .1);
    border-radius: 2px;
    margin-top: 8px;
    overflow: hidden;
  }

  .lp .frontpage-career-ex-job {
    background-color: var(--color-navy);
    color: var(--color-white);
    font-size: var(--font-size-20);
    text-align: center;
    justify-items: center;
    gap: 8px;
    padding: 16px;
    font-weight: 700;
    display: grid;
  }

  .lp .frontpage-career-ex-job p {
    line-height: 1.5;
  }

  .lp .frontpage-career-ex-job .position {
    background-color: var(--color-white);
    color: var(--color-navy);
    font-size: var(--font-size-15);
    border-radius: 2px;
    align-items: center;
    gap: 4px;
    padding: 2px 10px;
    font-weight: 500;
    line-height: 1.6;
    display: flex;
  }

  .lp .frontpage-career-ex-job .position:before {
    content: "";
    clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
    background-color: currentColor;
    width: .73em;
    height: .73em;
  }

  .lp .frontpage-career-ex-list {
    font-size: var(--font-size-18);
    text-align: center;
    padding: 0 15px 24px;
    font-weight: 700;
    line-height: 1.6;
    display: grid;
  }

  .lp .frontpage-career-ex-list dt {
    color: var(--color-gray);
    font-size: var(--font-size-14);
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 24px;
    margin-bottom: 8px;
    font-weight: 700;
    display: flex;
  }

  .lp .frontpage-career-ex-list dt:before, .lp .frontpage-career-ex-list dt:after {
    content: "";
    background-color: var(--color-navy);
    width: 24px;
    height: 1px;
  }

  .lp .frontpage-career-ex-list .earnings {
    color: var(--color-black);
    font-size: var(--font-size-20);
  }

  .lp .frontpage-career-ex-list .red {
    color: var(--color-red);
    margin-right: 4px;
    font-size: 48px;
    line-height: 1;
    display: inline-block;
  }

  .lp .frontpage-career-ex-list .num {
    letter-spacing: .05em;
    font-family: Inter, sans-serif;
  }

  .lp .frontpage-faq {
    background-color: var(--color-bg);
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .lp .frontpage-faq .frontpage-heading-2 {
    margin-top: 0;
  }

  .lp .frontpage-faq-list {
    gap: 24px;
    margin-top: 40px;
    display: grid;
  }

  .lp .frontpage-faq-list div {
    background-color: var(--color-white);
    gap: 8px;
    padding: 16px 24px;
    line-height: 1.6;
    display: grid;
  }

  .lp .frontpage-faq-list :where(dt, dd) {
    align-items: flex-start;
    gap: 12px;
    display: flex;
  }

  .lp .frontpage-faq-list dt {
    font-size: var(--font-size-18);
    font-weight: 700;
  }

  .lp .frontpage-faq-list .label {
    min-width: auto;
    font-family: Inter, sans-serif;
    font-size: var(--font-size-24);
    flex: none;
    font-weight: 700;
    line-height: 1.3;
  }

  .lp .frontpage-faq-list dt .label {
    color: var(--color-gold);
  }

  .lp .frontpage-faq-list dd .label {
    color: #c5c5cf;
  }

  .lp .cta {
    text-align: center;
    padding-top: 40px;
    padding-bottom: 40px;
    position: relative;
  }

  .lp .cta .bg {
    position: absolute;
    inset: 0;
  }

  .lp .cta .bg img {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }

  .lp .cta .section-inner {
    z-index: 1;
    background-color: var(--color-white);
    max-width: 800px;
    box-shadow: var(--shadow-10);
    border-radius: 8px;
    justify-items: center;
    gap: 32px;
    padding: 32px 20px 46px;
    display: grid;
    position: relative;
  }

  .lp .cta .frontpage-heading-2 br {
    display: none;
  }

  .lp .cta p {
    font-weight: 500;
  }

  .lp .cta .link-button {
    gap: 10px;
    width: 100%;
    max-width: fit-content;
    padding: 16px 32px;
    font-weight: 600;
    line-height: 1.6;
  }

  .lp .cta .link-button .icon {
    background-color: rgb(from var(--color-white) r g b / .2);
    font-size: var(--font-size-13);
    border-radius: 100em;
    padding: 2px 10px;
    font-weight: 500;
  }

  @media (640px <= width < 60rem) {
    .lp .frontpage-career .frontpage-heading-2 {
      max-width: 32.5rem;
      margin-left: auto;
      margin-right: auto;
    }
  }

  @media (width >= 40rem) {
    .lp .hide-from-640 {
      display: none;
    }

    .lp .site-footer {
      flex-flow: wrap;
      justify-content: space-between;
      align-items: center;
      padding-top: 32px;
      padding-bottom: 32px;
    }

    .lp .site-footer small {
      font-size: inherit;
    }

    .lp .footer-link-list {
      align-items: center;
      display: flex;
    }

    .lp .frontpage-heading-2 {
      font-size: 30px;
    }

    .lp .frontpage-difficulty-list {
      font-size: var(--font-size-18);
    }

    .lp .frontpage-difficulty-list .wrap {
      background: var(--color-white);
      padding: 18px 12px;
    }

    .lp .frontpage-difficulty-list dt {
      margin-bottom: 8px;
      font-size: 1.25rem;
    }

    .lp .frontpage-difficulty-text {
      font-size: var(--font-size-18);
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      gap: 0;
      margin-top: 24px;
      display: flex;
    }

    .lp .frontpage-merit {
      padding-top: 80px;
      padding-bottom: 80px;
    }

    .lp .frontpage-merit-container {
      padding: 56px 64px;
    }

    .lp .frontpage-merit-pict {
      gap: 2px;
    }

    .lp .frontpage-merit-pict picture {
      height: 100%;
    }

    .lp .frontpage-merit-check {
      padding: 32px 24px;
    }

    .lp .frontpage-career {
      padding-top: 80px;
      padding-bottom: 112px;
    }

    .lp .frontpage-career-container {
      margin-top: 64px;
    }

    .lp .frontpage-faq {
      padding-top: 80px;
      padding-bottom: 80px;
    }

    .lp .frontpage-faq-list {
      margin-top: 64px;
    }

    .lp .frontpage-faq-list div {
      padding: 24px 32px;
    }

    .lp .frontpage-faq-list :where(dt, dd) {
      align-items: center;
      gap: 24px;
    }

    .lp .frontpage-faq-list dt {
      padding-top: 3px;
      padding-bottom: 4px;
    }

    .lp .frontpage-faq-list dd {
      padding-top: 3px;
      padding-bottom: 3px;
    }

    .lp .cta {
      padding-top: 56px;
      padding-bottom: 56px;
    }

    .lp .cta .frontpage-heading-2 br {
      display: inline-block !important;
    }
  }

  @media (width >= 44rem) {
    .lp .frontpage-fv-cta {
      justify-content: center;
      gap: 24px;
      max-width: 40rem;
      padding: 32px 24px;
      font-size: 1.15rem;
      line-height: 1.6;
      display: flex;
    }

    .lp .frontpage-fv-cta .wrap {
      flex: 50%;
      gap: 12px;
      max-width: 18.13rem;
    }

    .lp .frontpage-fv-cta .link-button {
      width: 100%;
      padding: 19px;
    }
  }

  @media (width >= 704px) {
    .lp .frontpage-fv-catchcopy {
      margin-top: -347px;
      font-size: 40px;
    }

    .lp .frontpage-fv-catchcopy > .wrap {
      font-size: 58px;
    }

    .lp .frontpage-fv-catchcopy .container .wrap:first-child {
      font-size: 1.25em;
      font-weight: 900;
    }

    .lp .frontpage-fv-catchcopy .container .wrap:last-child {
      font-size: .9375em;
    }

    .lp .frontpage-fv-catchcopy .sp-br, .lp .frontpage-fv-cta .sp-br {
      display: none;
    }
  }

  @media (width >= 60rem) {
    .lp .site-header {
      background-color: var(--color-white);
      gap: 32px;
      padding: 6px min(2.78%, 40px);
      display: flex;
    }

    .lp .site-header .login {
      border-color: var(--color-white);
    }

    .lp .main-nav {
      flex-grow: 1;
      justify-content: space-between;
      align-items: center;
      display: flex;
    }

    .lp .main-nav ul {
      align-items: center;
      display: flex;
    }

    .lp .nav-lower .link-button .icon {
      flex-basis: 1.5em;
    }

    .lp .header-upper .link-button, .lp .main-nav-toggle-button, .lp .frontpage-heading-2 br {
      display: none;
    }

    .lp .frontpage-merit-container {
      justify-content: space-between;
      align-items: stretch;
      min-height: 400px;
      margin-top: 64px;
      padding: 0;
      display: flex;
    }

    .lp .frontpage-merit-text {
      z-index: 2;
      flex-direction: column;
      flex: 0 0 60%;
      justify-content: center;
      max-width: 60%;
      padding: 60px;
      display: flex;
    }

    .lp .frontpage-merit-img {
      clip-path: polygon(15% 0, 100% 0, 100% 100%, 0 100%);
      border-radius: 0;
      width: 40%;
      height: auto;
      margin-top: 0;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
    }

    .lp .frontpage-merit-container + .frontpage-merit-container {
      margin-top: 32px;
    }

    .lp .frontpage-merit-subheading {
      flex-direction: column;
      gap: 8px;
      margin-bottom: 24px;
      font-size: 24px;
      line-height: 1.6;
      display: flex;
    }

    .lp .frontpage-merit-subheading .en {
      margin-bottom: 0;
      margin-right: 0;
      font-size: 14px;
      display: block;
    }

    .lp .frontpage-merit-text p {
      color: var(--color-text-gray);
      font-size: 16px;
      line-height: 1.8;
    }

    .lp .frontpage-merit .link-button {
      max-width: 300px;
    }

    .lp .frontpage-merit-list {
      grid-column: span 2;
      grid-template-columns: repeat(3, 1fr);
      gap: 32px;
    }

    .lp .frontpage-merit-wrap {
      grid-column: span 2;
      grid-template-columns: repeat(2, 1fr);
      gap: 40px;
      margin-top: 40px;
    }

    .lp .frontpage-career-container {
      grid-template-columns: repeat(3, 1fr);
    }

    .lp .frontpage-career-container.career-two-cols {
      grid-template-columns: repeat(2, 1fr);
      max-width: 68%;
      margin-left: auto;
      margin-right: auto;
    }

    .lp .frontpage-career-wrap {
      border-radius: 4px;
      padding-bottom: 24px;
      padding-left: 24px;
      padding-right: 24px;
      display: grid;
      overflow: hidden;
    }

    .lp .frontpage-career-arrow {
      width: 50px;
      height: 24px;
      margin-top: 16px;
      margin-bottom: 16px;
    }

    .lp .frontpage-career-ex-wrap {
      grid-template-rows: subgrid;
      grid-row: span 2;
      margin-top: 8px;
      display: grid;
    }

    .lp .frontpage-career-ex-job .position {
      align-self: end;
    }
  }

  @media (width >= 960px) {
    .lp .frontpage-fv-inner {
      aspect-ratio: unset;
      height: 492px;
    }

    .lp .frontpage-fv-catchcopy {
      margin-top: -310px;
    }
  }

  @media (width >= 64rem) {
    .lp .frontpage-difficulty {
      padding-top: 40px;
      padding-bottom: 80px;
    }

    .lp .frontpage-difficulty .section-inner {
      display: block;
    }

    .lp .frontpage-difficulty-list {
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      margin-top: 40px;
    }

    .lp .frontpage-difficulty-list div {
      text-align: center;
    }

    .lp .frontpage-difficulty-text {
      justify-content: center;
      gap: 10px;
      margin-top: 40px;
      display: flex;
    }

    .lp .frontpage-difficulty-text span:first-of-type {
      flex: 0 auto;
    }
  }

  @media (width >= 1280px) {
    .lp .frontpage-fv .bg picture:first-of-type img {
      object-position: right top;
    }

    .lp .frontpage-fv .bg picture:nth-of-type(2) img {
      object-position: left top;
    }

    .lp .frontpage-fv-cta {
      margin-top: 40px;
      top: 73.98%;
    }
  }

  .lp .speech-bubble-heading {
    border: 2px solid var(--color-navy);
    background-color: var(--color-white);
    color: var(--color-navy);
    font-size: var(--font-size-24);
    border-radius: 50px;
    padding: 16px 40px;
    font-weight: 700;
    display: inline-block;
    position: relative;
  }

  .lp .speech-bubble-heading:before, .lp .speech-bubble-heading:after {
    content: "";
    border-style: solid;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }

  .lp .speech-bubble-heading:before {
    border-width: 12px 12px 0;
    border-color: var(--color-navy) transparent transparent transparent;
    bottom: -12px;
  }

  .lp .speech-bubble-heading:after {
    border-width: 10px 10px 0;
    border-color: var(--color-white) transparent transparent transparent;
    bottom: -9px;
  }

  @media (width < 640px) {
    .lp .speech-bubble-heading {
      font-size: var(--font-size-18);
      padding: 12px 24px;
    }
  }

  @media (width >= 80rem) {
    .lp .frontpage-fv-catchcopy .container {
      justify-content: center;
      gap: 10px;
      display: grid;
    }

    .lp .frontpage-career-container {
      gap: 40px;
    }

    .lp .frontpage-career-container.career-two-cols {
      max-width: calc(66.6667% - 13.3333px);
    }
  }

  @media (width < 60rem) {
    .lp .hide-to-960 {
      display: none;
    }

    .lp .header-upper {
      z-index: 1;
      background-color: var(--color-white);
      gap: 8px;
      padding: 8px 18px;
      position: relative;
    }

    .lp .header-logo {
      width: 81px;
      margin-right: auto;
    }

    .lp .site-header .link-button {
      font-size: var(--font-size-12);
    }

    .lp .site-header .login .icon {
      display: none;
    }

    .lp .nav-lower .link-button .icon {
      display: block;
    }

    .lp .main-nav {
      top: var(--header-height);
      border-top: 1px solid var(--color-line-gray);
      text-align: center;
      box-shadow: var(--shadow-25);
      padding: 16px 20px;
      font-weight: 700;
      position: absolute;
      left: 0;
      right: 0;
    }

    .lp .nav-lower {
      margin-top: 24px;
    }

    .lp .nav-lower .link-button {
      font-size: var(--font-size-15);
      padding: 13px;
    }

    .lp .frontpage-merit-container {
      max-width: 600px;
      margin-left: auto;
      margin-right: auto;
    }

    .lp .frontpage-merit .link-button {
      margin-top: 20px;
    }

    .lp .frontpage-merit-list .img {
      aspect-ratio: 303 / 160;
    }

    .lp .frontpage-career-container {
      max-width: 600px;
      margin-left: auto;
      margin-right: auto;
    }
  }

  @media (width < 960px) {
    .lp .frontpage-fv .bg picture:first-of-type {
      flex: 0 0 48.8%;
    }
  }

  @media (width < 40rem) {
    .lp .hide-to-640 {
      display: none;
    }
  }

  @media (any-hover: hover) {
    .lp .link-button.login:hover {
      border-color: var(--color-bg);
      background-color: var(--color-bg);
    }

    .lp .link-button.register:hover {
      border-color: var(--color-gray);
      background-color: var(--color-gray);
    }

    .lp .link-button.gold:hover {
      background-color: var(--color-gold-light);
      border-color: var(--color-gold-light);
    }

    .lp .link-button.navy:hover {
      border-color: var(--color-gray);
      background-color: var(--color-gray);
    }

    .lp .main-nav ul a:hover, .lp .footer-link-list a:hover {
      color: var(--color-gray);
    }

    .lp .frontpage-merit-list a:hover img {
      opacity: .75;
    }

    .lp .frontpage-merit-list a:hover p {
      color: var(--color-gray);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .lp html:focus-within {
      scroll-behavior: auto;
    }

    .lp *, .lp :before, .lp :after {
      scroll-behavior: auto !important;
      transition-duration: .01ms !important;
      animation-duration: .01ms !important;
      animation-iteration-count: 1 !important;
    }
  }

  .lp .decorated-heading {
    font-size: var(--font-size-24);
    color: var(--color-navy);
    text-align: center;
    justify-content: center;
    align-items: center;
    gap: 20px;
    font-weight: 700;
    display: flex;
  }

  .lp .decorated-heading:before, .lp .decorated-heading:after {
    content: "";
    border-left: 2px solid #d85c36;
    border-right: 2px solid #d85c36;
    width: 8px;
    height: 28px;
    display: block;
  }

  .lp .decorated-heading:before {
    transform: skewX(20deg);
  }

  .lp .decorated-heading:after {
    transform: skewX(-20deg);
  }
}

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

@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-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-duration {
  syntax: "*";
  inherits: false
}
