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

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

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

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

  hr {
    height: 0;
    color: inherit;
    border-top-width: 0.1rem;
  }

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

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

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

  b, strong {
    font-weight: bolder;
  }

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

  small {
    font-size: 80%;
  }

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

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

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

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

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

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

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

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

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

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

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 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)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@layer theme, base, layout, jslibrary, components, project;

@layer utilities {
  .static {
    position: static;
  }

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

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

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

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

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

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

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

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

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

  .h-full {
    height: 100%;
  }

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

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

  .w-full {
    width: 100%;
  }

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

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

  .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-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .self-end {
    align-self: flex-end;
  }

  .rounded-md {
    border-radius: var(--radius-md);
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 0.1rem;
  }

  .border-4 {
    border-style: var(--tw-border-style);
    border-width: 0.4rem;
  }

  .border-b-4 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0.4rem;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .py-gutter {
    padding-block: var(--spacing-gutter);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .-tracking-wider {
    --tw-tracking: calc(var(--tracking-wider) * -1);
    letter-spacing: calc(var(--tracking-wider) * -1);
  }

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

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

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

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 0.1rem;
  }

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

  @media not all and (min-width: 768px) {
    .max-md\:h-140 {
      height: calc(var(--spacing) * 140);
    }
  }

  @media (min-width: 1024px) {
    .lg\:h-800 {
      height: calc(var(--spacing) * 800);
    }

    .lg\:max-w-1600 {
      max-width: calc(var(--spacing) * 1600);
    }

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

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

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

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

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

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

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

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

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

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

:root, :host {
  --breakpoint-xs: 48rem;
  --font-sans: "Noto Sans JP", sans-serif;
  --font-mono: ui-monospace, sfmono-regular, menlo, monaco, monospace;
  --color-primary: #0050a4;
  --color-secondary: #025dab;
  --color-deep-indigo: #1b1464;
  --color-aqua: #c3eafc;
  --color-pale-aqua: #cee3ee;
  --color-body: #000;
  --color-white: #fff;
  --color-red: red;
  --color-cream: #f6edd3;
  --color-ivory: #fffae6;
  --color-yellow: #fdd835;
  --color-saffron: #f0d375;
  --color-orange: #f7931e;
  --spacing-gutter: 5rem;
  --spacing: .1rem;
  --radius-md: 2rem;
  --text-36: 3.6rem;
  --text-40: 4rem;
  --text-48: 4.8rem;
  --text-60: 6rem;
  --font-weight-medium: 500;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --font-weight-black: 900;
  --tracking-wider: .05em;
  --leading-normal: 1.5;
  --default-transition-duration: .15s;
  --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  --default-font-family: var(--font-sans);
  --default-mono-font-family: var(--font-mono);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}
@layer base {
  :root {
    --inner-slim: 90rem;
    --inner-base: 98rem;
    --inner-wide: 120rem;
    --fixedbnr-height: 17.5rem;
    --header-height: 18.6rem;
    --view-width: 100vw;
    --font-size-body: 3.2rem;
    --line-height-body: 1.8;
    --gutter: var(--spacing-gutter);
  }
  @media (width >= 1000px) {
    :root {
      --header-height: calc(18.6rem*0.75);
    }
  }
}
@layer base {
  html {
    font-size: calc(0.625em * var(--font-size-times, 1));
  }
  @media (width >= 1000px) {
    html {
      font-size: 0.3125em;
    }
  }
  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-bottom: var(--fixedbnr-height);
    margin-inline: auto;
    overflow: clip;
  }
}
@layer layout {
  .l-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 99;
    display: flex;
    align-items: center;
    height: var(--header-height);
    padding-inline: 4.3rem 5.1rem;
  }
  .l-header__logo {
    flex: 0 0 47.4rem;
  }
  .l-header__cp {
    flex: 0 0 19.6rem;
    align-self: flex-start;
    margin-inline: auto 0;
  }
  .l-header__btn {
    flex: 0 0 auto;
  }
  .l-header:is(body.is-scrolled *) {
    background-color: rgba(255, 255, 255, 0.8);
  }
}
@layer layout {}
@layer layout {
  .l-fixedbnr {
    position: fixed;
    inset: auto 0 0;
    visibility: hidden;
    opacity: 0;
  }
  .l-fixedbnr a {
    line-height: 0;
  }
  .l-fixedbnr__in {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    margin-inline: auto;
  }
  .l-fixedbnr__cp {
    grid-column: span 3;
    padding: 2rem;
  }
  @media (width >= 1000px) {
    .l-fixedbnr__in {
      grid-template-columns: 50% 2fr 1fr 1fr;
      max-width: 240rem;
    }
    .l-fixedbnr__cp {
      grid-column: span 1;
    }
  }
}
@layer layout {
  .l-main {
    padding-top: var(--header-height);
  }
}
@layer components {
  .aaa {
    font-family: serif;
  }
}
@layer components {
  .c-center-box {
    display: flex;
  }
  .c-center-box:not([data-axis=x]) {
    align-items: center;
  }
  .c-center-box:not([data-axis=y]) {
    justify-content: center;
  }
  .c-leader-box {
    display: grid;
    grid-template-columns: 27fr 63fr;
    background-color: var(--color-pale-aqua);
  }
  .c-leader-box__prof {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    padding: 0 1.3rem 0 0;
  }
  .c-leader-box__name {
    display: flex;
    flex-direction: column;
    gap: 2.2rem 0;
    align-items: center;
    padding: 0 2rem 3.3rem 0;
  }
  .c-leader-box__name span, .c-leader-box__name b {
    font-weight: 900;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  }
  .c-leader-box__name span {
    font-size: 3.6rem;
    line-height: 1;
  }
  .c-leader-box__name b {
    font-size: 7rem;
    letter-spacing: 0.07em;
  }
  .c-leader-box__desc {
    display: flex;
    flex-direction: row-reverse;
    gap: 0 1.2rem;
    padding-bottom: 3rem;
  }
  .c-leader-box__desc span {
    font-size: 4rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  }
  .c-leader-box__txt {
    background-color: var(--color-aqua);
    grid-column: span 2;
    padding-top: 3.5rem;
  }
  @media (width >= 1000px) {
    .c-leader-box {
      grid-template-columns: 27fr 63fr 50%;
    }
    .c-leader-box__txt {
      grid-column: span 1;
      padding-top: 0;
      display: flex;
      align-items: center;
      padding-left: 6rem;
    }
  }
  .c-flow-box__in {
    display: flex;
    align-items: center;
    padding: 3rem;
    background-color: #fff;
    border-radius: 2rem;
  }
  .c-flow-box__num {
    display: flex;
    flex: 0 0 11rem;
    align-items: center;
    justify-content: center;
    width: 11rem;
    height: 11rem;
    margin-right: 1.5rem;
    font-size: 6rem;
    font-weight: 900;
    color: #fff;
    background-color: var(--color-primary);
    border-radius: 50%;
  }
  .c-flow-box__icon {
    flex: 0 0 12rem;
    width: 12rem;
    margin-right: 2rem;
  }
  .c-flow-box__arrow {
    width: 8.4rem;
    height: 4.2rem;
    margin-inline: auto;
    background-color: #fff;
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
  }
  .c-cta-box {
    position: relative;
  }
  .c-cta-box img {
    position: relative;
    z-index: 0;
    display: block;
  }
  .c-cta-box__tel {
    position: absolute;
    bottom: 21.6%;
    left: 8.5%;
    z-index: 10;
    display: block;
    width: 83%;
    height: 8.7%;
    background-color: #fff;
    border-radius: 2rem;
    opacity: 0;
    transition-duration: 0.3s;
    transition-property: opacity;
  }
  @media (any-hover: hover) {
    .c-cta-box__tel:hover {
      opacity: 0.2;
    }
  }
  .c-cta-box__btn {
    position: absolute;
    bottom: 10.9%;
    left: 8.5%;
    z-index: 10;
    display: block;
    width: 83%;
    height: 8.7%;
    background-color: #fff;
    border-radius: 2rem;
    opacity: 0;
    transition-duration: 0.3s;
    transition-property: opacity;
  }
  @media (any-hover: hover) {
    .c-cta-box__btn:hover {
      opacity: 0.2;
    }
  }
  .c-cp-box {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 4.8rem;
    font-weight: 800;
    font-feature-settings: "palt";
    color: var(--color-red);
  }
  .c-grad-box {
    background: linear-gradient(90deg, rgb(188, 142, 49) 0%, rgb(240, 195, 47) 20%, rgb(252, 248, 203) 50%, rgb(251, 242, 186) 54.57%, rgb(247, 227, 141) 63.66%, rgb(242, 203, 69) 76.3%, rgb(240, 195, 47) 80%, rgb(188, 142, 49) 100%);
  }
  .c-table-box {
    display: grid;
    grid-template-columns: 19rem 1fr;
  }
  .c-table-box__th {
    padding-right: 2.2rem;
    border-right: 0.2rem solid var(--color-primary);
    font-size: 3.3rem;
    color: var(--color-primary);
    text-align: right;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
  .c-table-box__td {
    padding-left: 2.2rem;
    font-size: 3.6rem;
    font-weight: bold;
    line-height: 1.1666666667;
    align-self: center;
  }
}
@layer components {
  .c-menu-btn__bars {
    display: flex;
    flex-direction: column;
    gap: 1rem 0;
  }
  .c-menu-btn__bars i {
    flex: 0 0 0.9rem;
    width: 10rem;
    height: 0.9rem;
    background-color: var(--color-deep-indigo);
  }
  .c-menu-btn__bars i:nth-child(1) {
    margin-left: 4rem;
  }
  .c-menu-btn__bars i:nth-child(2) {
    margin-left: 2rem;
  }
  .c-menu-btn input {
    visibility: hidden;
    width: 0;
    height: 0;
  }
  .c-gray-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 12.6rem;
    font-size: 4rem;
    font-weight: bold;
    background-color: #f5f5f5;
    border-radius: 2rem;
    transition-duration: 0.3s;
    transition-property: background-color;
  }
  @media (any-hover: hover) {
    .c-gray-btn:hover {
      background-color: #ddd;
    }
  }
}
@layer components {
  .c-result-card {
    border-radius: var(--radius-md);
    background-color: #fff;
    padding: 2.4rem;
    gap: 0 2.8rem;
    display: grid;
    align-items: flex-start;
    grid-template-columns: 78fr 121fr;
  }
  .c-result-card__img img {
    border-radius: var(--radius-md);
  }
  .c-result-card__name {
    font-size: 4.4rem;
    font-weight: bold;
    color: var(--color-primary);
    font-feature-settings: "palt";
  }
  .c-result-card__price {
    display: flex;
    align-items: baseline;
    color: var(--color-orange);
    line-height: 1.2;
  }
  .c-result-card__price span {
    font-size: 4rem;
    font-weight: bold;
  }
  .c-result-card__price b {
    font-size: 7rem;
    font-weight: bold;
  }
  .c-result-card__price small {
    font-size: 4.8rem;
    font-weight: bold;
  }
  .c-result-card__txt {
    margin-top: 2rem;
    background-color: var(--color-primary);
    color: #fff;
    font-size: 3.6rem;
    line-height: 1.1944444444;
    font-weight: bold;
    padding: 2rem;
  }
  .c-trouble-card {
    border-radius: var(--radius-md);
    background-color: #e9eef4;
    border: 0.8rem solid #98bedf;
    padding: 4rem;
    box-shadow: 0 1rem 2rem rgba(60, 60, 60, 0.3);
  }
  .c-trouble-card__ttl {
    color: var(--color-primary);
    font-weight: bold;
    font-size: 4.8rem;
  }
  .c-trouble-card__txt {
    font-weight: bold;
    font-size: 3.6rem;
    line-height: 1.5555555556;
  }
  @media (width >= 1000px) {
    .c-trouble-card {
      border-radius: 4rem;
      border-width: 1.2rem;
    }
  }
}
@layer components {}
@layer components {
  .c-band-h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 23rem;
    padding: 1.2rem var(--gutter);
    font-size: 6rem;
    font-weight: bold;
    line-height: 1.5;
    color: #fff;
    text-align: center;
    letter-spacing: 0.01em;
    background-color: var(--color-primary);
  }
  .c-h2 {
    font-size: 4.8rem;
    color: var(--color-primary);
    text-align: center;
    font-weight: bold;
  }
  .c-h2::after {
    content: "";
    width: 10rem;
    height: 1rem;
    background-color: var(--color-saffron);
    display: block;
    margin-inline: auto;
    margin-top: 1rem;
  }
}
@layer components {}
@layer components {
  @media (width >= 1000px) {
    .c-inner {
      width: min(240rem, var(--view-width) - 8rem);
      margin-inline: auto;
    }
    .c-inner[data-gutter=fill] {
      width: 100%;
      max-width: 240rem;
    }
  }
  @media (width < 1000px) {
    .c-inner {
      padding-inline: var(--gutter);
    }
    .c-inner[data-gutter=fill] {
      padding-inline: 0;
    }
  }
  @media (width >= 1000px) {
    .c-slim-inner {
      max-width: 160rem;
      margin-inline: auto;
    }
  }
}
@layer components {
  .c-input {
    width: 100%;
    padding: 0.6rem 1.6rem;
    font-size: 3.2rem;
    font-weight: 500;
    background-color: var(--color-ivory);
    border: 0.2rem solid var(--color-yellow);
    border-radius: 1rem;
  }
  .c-input::-webkit-input-placeholder {
    color: #bdbdbd;
  }
  .c-input::placeholder {
    color: #bdbdbd;
    opacity: 1;
  }
}
@layer components {
  .c-form-label {
    display: flex;
    gap: 0 6rem;
    align-items: center;
  }
  .c-form-label .-txt {
    font-size: 3.2rem;
    font-weight: 700;
  }
  .c-form-label .-required {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.8rem 1.6rem;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    background-color: var(--color-red);
    border-radius: 1rem;
  }
}
@layer components {}
@layer components {}
@layer components {
  .c-select {
    width: 100%;
    padding: 0.6rem 1.6rem;
    font-size: 3.2rem;
    font-weight: 500;
    background-color: var(--color-ivory);
    border: 0.2rem solid var(--color-yellow);
    border-radius: 1rem;
  }
}
@layer components {
  .c-stack {
    display: flex;
    flex-direction: column;
  }
}
@layer components {
  .c-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 12.6rem;
    font-size: 4rem;
    font-weight: bold;
    color: #fff;
    background-color: oklab(61.789% -0.05462 -0.15766);
    border-radius: 2rem;
    transition-duration: 0.3s;
    transition-property: background-color;
  }
  @media (any-hover: hover) {
    .c-submit:hover {
      background-color: oklab(55.113% -0.04835 -0.1306);
    }
  }
}
@layer components {
  .c-palt-txt {
    font-feature-settings: "palt";
  }
}
@layer project {
  .home-mv {
    width: 100%;
    padding-top: calc(var(--header-height) - 0.8rem);
    background: url("../images/home/mv-bg.jpg") no-repeat center bottom/cover;
  }
  .home-mv__ttl {
    margin-inline: 4.5rem 5rem;
  }
  .home-mv__obi {
    padding-top: 3.1rem;
    margin-inline: 3.5rem;
  }
  .home-mv__img {
    padding-top: 1.1rem;
    line-height: 1;
  }
  @media (width >= 1000px) {
    .home-mv__inner {
      max-width: 160rem;
      margin-inline: auto;
    }
  }
  .home-troubles {
    background-image: url("../images/home/bg-trouble.png"), linear-gradient(135deg, #eeeef3 0%, #d4dee8 100%);
    background-position: center top, center top;
    background-size: 100% auto, 100% 100%;
    padding-block: 5rem;
  }
  .home-troubles__grid {
    display: flex;
    flex-direction: column;
    gap: 7rem 0;
  }
  @media (width >= 1000px) {
    .home-troubles {
      background-size: 140rem auto, 100% 100%;
      padding-block: 8rem;
    }
    .home-troubles__grid {
      flex-direction: row;
      flex-wrap: wrap;
      gap: 0 4rem;
    }
    .home-troubles__grid > * {
      flex: 0 0 calc(50% - 2rem);
    }
    .home-troubles__grid > *:nth-child(even) {
      margin-top: 8rem;
    }
    .home-troubles__grid > *:nth-child(odd) {
      margin-bottom: 8rem;
    }
  }
  @media (width < 1000px) {
    .home-troubles__grid {
      max-width: 57.4rem;
      margin-inline: auto;
    }
    .home-troubles__grid > *:nth-child(odd) {
      margin-right: 8rem;
    }
    .home-troubles__grid > *:nth-child(even) {
      margin-left: 8rem;
    }
  }
}
@layer utilities {
  .object-cover-full {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .object-contain-full {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}