/*! tailwindcss v4.3.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-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --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-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-duration: initial;
      --tw-ease: initial;
      --tw-content: "";
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
      "Noto Sans", Arial, 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(96.7% .003 264.542);
    --color-gray-200: oklch(92.8% .006 264.531);
    --color-gray-300: oklch(87.2% .01 258.338);
    --color-gray-500: oklch(55.1% .027 264.364);
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-5xl: 64rem;
    --container-6xl: 72rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --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;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --font-weight-medium: 500;
    --font-weight-bold: 700;
    --tracking-widest: .1em;
    --radius-sm: .25rem;
    --radius-md: .375rem;
    --radius-lg: .5rem;
    --radius-xl: .75rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --radius-4xl: 2rem;
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --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);
    --radius-5xl: 4rem;
    --radius-8xl: 10rem;
    --color-main: var(--color-main);
    --color-main-50: var(--color-main-50);
    --color-main-100: var(--color-main-100);
    --color-main-150: var(--color-main-150);
    --color-main-300: var(--color-main-300);
    --color-accent: var(--color-accent);
    --color-accent-50: var(--color-accent-50);
    --color-accent-100: var(--color-accent-100);
    --color-accent-200: var(--color-accent-200);
    --color-accent-300: var(--color-accent-300);
    --color-accent-400: var(--color-accent-400);
    --color-accent-500: var(--color-accent-500);
    --color-accent-600: var(--color-accent-600);
    --color-accent-700: var(--color-accent-700);
    --color-accent-800: var(--color-accent-800);
    --color-accent-900: var(--color-accent-900);
    --color-accent-950: var(--color-accent-950);
    --bg-footer: url("/assets/images/bg_footer.svg");
    --bg-email: url("/assets/images/bg_email.png");
    --bg-tel: url("/assets/images/bg_tel.png");
  }
}

@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, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

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

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

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

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

  b, strong {
    font-weight: bolder;
  }

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

  small {
    font-size: 80%;
  }

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

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

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

  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

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

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

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

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

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

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

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

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

  ::placeholder {
    opacity: 1;
  }

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

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

  textarea {
    resize: vertical;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@layer components;

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

  .invisible {
    visibility: hidden;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .top-0 {
    top: 0;
  }

  .top-1\/2 {
    top: 50%;
  }

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

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

  .top-\[30vh\] {
    top: 30vh;
  }

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

  .right-0 {
    right: 0;
  }

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

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

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

  .left-0 {
    left: 0;
  }

  .left-1\/2 {
    left: 50%;
  }

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

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

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

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

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

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

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

  .container {
    width: 100%;
  }

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

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

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

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

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

  @media (min-width: 120rem) {
    .container {
      max-width: 120rem;
    }
  }

  .mx-\[-1\.5rem\] {
    margin-inline: -1.5rem;
  }

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

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

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

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

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

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

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

  .mt-1 {
    margin-top: var(--spacing);
  }

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

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

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

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

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

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

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

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

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

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

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

  .mb-1 {
    margin-bottom: var(--spacing);
  }

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

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

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

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

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

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

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

  .ml-5 {
    margin-left: calc(var(--spacing) * 5);
  }

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

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

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

  .table {
    display: table;
  }

  .aspect-square {
    aspect-ratio: 1;
  }

  .h-1 {
    height: var(--spacing);
  }

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

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

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

  .h-\[80\%\] {
    height: 80%;
  }

  .h-full {
    height: 100%;
  }

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

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

  .w-1\/2 {
    width: 50%;
  }

  .w-1\/3 {
    width: 33.3333%;
  }

  .w-2\/3 {
    width: 66.6667%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .w-\[180vw\] {
    width: 180vw;
  }

  .w-\[200vw\] {
    width: 200vw;
  }

  .w-\[calc\(4rem-1\.2rem-1\.2rem\)\] {
    width: 1.6rem;
  }

  .w-full {
    width: 100%;
  }

  .max-w-2xl {
    max-width: var(--container-2xl);
  }

  .max-w-3xl {
    max-width: var(--container-3xl);
  }

  .max-w-4xl {
    max-width: var(--container-4xl);
  }

  .max-w-5xl {
    max-width: var(--container-5xl);
  }

  .max-w-6xl {
    max-width: var(--container-6xl);
  }

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

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

  .max-w-\[90vw\] {
    max-width: 90vw;
  }

  .max-w-xl {
    max-width: var(--container-xl);
  }

  .flex-1, .flex-\[1\] {
    flex: 1;
  }

  .border-collapse {
    border-collapse: collapse;
  }

  .origin-top-left {
    transform-origin: 0 0;
  }

  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .rotate-90 {
    rotate: 90deg;
  }

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

  .cursor-pointer {
    cursor: pointer;
  }

  .resize {
    resize: both;
  }

  .list-inside {
    list-style-position: inside;
  }

  .list-disc {
    list-style-type: disc;
  }

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

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

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

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

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

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

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

  .gap-1 {
    gap: var(--spacing);
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .overflow-hidden {
    overflow: hidden;
  }

  .overflow-y-auto {
    overflow-y: auto;
  }

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

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

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

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

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

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

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

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

  .rounded-t-full {
    border-top-left-radius: 3.40282e38px;
    border-top-right-radius: 3.40282e38px;
  }

  .rounded-l-5xl {
    border-top-left-radius: var(--radius-5xl);
    border-bottom-left-radius: var(--radius-5xl);
  }

  .rounded-l-lg {
    border-top-left-radius: var(--radius-lg);
    border-bottom-left-radius: var(--radius-lg);
  }

  .rounded-tr-8xl {
    border-top-right-radius: var(--radius-8xl);
  }

  .rounded-br-8xl {
    border-bottom-right-radius: var(--radius-8xl);
  }

  .rounded-bl-8xl {
    border-bottom-left-radius: var(--radius-8xl);
  }

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

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

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

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

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

  .border-r-0 {
    border-right-style: var(--tw-border-style);
    border-right-width: 0;
  }

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

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

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

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

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

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

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

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

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

  .border-main-100 {
    border-color: var(--color-main-100);
  }

  .border-main-150 {
    border-color: var(--color-main-150);
  }

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

  .bg-\[\#00A9DC55\] {
    background-color: #00a9dc55;
  }

  .bg-\[\#7BD0EE\] {
    background-color: #7bd0ee;
  }

  .bg-\[\#3786d625\] {
    background-color: #3786d625;
  }

  .bg-\[\#3787D622\] {
    background-color: #3787d622;
  }

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

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

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

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

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

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

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

  .bg-\[image\:var\(--bg-email\)\] {
    background-image: var(--bg-email);
  }

  .bg-\[image\:var\(--bg-footer\)\] {
    background-image: var(--bg-footer);
  }

  .bg-\[image\:var\(--bg-tel\)\] {
    background-image: var(--bg-tel);
  }

  .bg-\[length\:auto_5rem\] {
    background-size: auto 5rem;
  }

  .bg-cover {
    background-size: cover;
  }

  .bg-bottom {
    background-position: bottom;
  }

  .bg-repeat-x {
    background-repeat: repeat-x;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

  .px-\[1\.2rem\] {
    padding-inline: 1.2rem;
  }

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

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

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

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

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

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

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

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

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

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

  .py-\[1\.4rem\] {
    padding-block: 1.4rem;
  }

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

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

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

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

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

  .pr-0 {
    padding-right: 0;
  }

  .pr-5 {
    padding-right: calc(var(--spacing) * 5);
  }

  .pr-6 {
    padding-right: calc(var(--spacing) * 6);
  }

  .pb-1 {
    padding-bottom: var(--spacing);
  }

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

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

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

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

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

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

  .pl-5 {
    padding-left: calc(var(--spacing) * 5);
  }

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

  .pl-25 {
    padding-left: calc(var(--spacing) * 25);
  }

  .pl-30 {
    padding-left: calc(var(--spacing) * 30);
  }

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

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

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

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

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

  .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-4\.5 {
    --tw-leading: calc(var(--spacing) * 4.5);
    line-height: calc(var(--spacing) * 4.5);
  }

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

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

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

  .leading-13\.5 {
    --tw-leading: calc(var(--spacing) * 13.5);
    line-height: calc(var(--spacing) * 13.5);
  }

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

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

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

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

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

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

  .text-main-300 {
    color: var(--color-main-300);
  }

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

  .capitalize {
    text-transform: capitalize;
  }

  .not-italic {
    font-style: normal;
  }

  .opacity-0 {
    opacity: 0;
  }

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

  .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-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .duration-300 {
    --tw-duration: .3s;
    transition-duration: .3s;
  }

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

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  @media (hover: hover) {
    .group-hover\:-top-1:is(:where(.group):hover *) {
      top: calc(var(--spacing) * -1);
    }

    .group-hover\:text-accent:is(:where(.group):hover *) {
      color: var(--color-accent);
    }
  }

  .marker\:text-main-300 ::marker {
    color: var(--color-main-300);
  }

  .marker\:text-main-300::marker {
    color: var(--color-main-300);
  }

  .marker\:text-main-300 ::-webkit-details-marker {
    color: var(--color-main-300);
  }

  .marker\:text-main-300::-webkit-details-marker {
    color: var(--color-main-300);
  }

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

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

  .marker\:text-white ::-webkit-details-marker {
    color: var(--color-white);
  }

  .marker\:text-white::-webkit-details-marker {
    color: var(--color-white);
  }

  .before\:hidden:before, .after\:hidden:after {
    content: var(--tw-content);
    display: none;
  }

  @media (hover: hover) {
    .hover\:-translate-y-2:hover {
      --tw-translate-y: calc(var(--spacing) * -2);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

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

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

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

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

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

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

  @media (min-width: 64rem) {
    .lg\:absolute {
      position: absolute;
    }

    .lg\:top-2 {
      top: calc(var(--spacing) * 2);
    }

    .lg\:left-1\/2 {
      left: 50%;
    }

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

    .lg\:mx-\[-1rem\] {
      margin-inline: -1rem;
    }

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

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

    .lg\:mt-\[15\%\] {
      margin-top: 15%;
    }

    .lg\:mr-38 {
      margin-right: calc(var(--spacing) * 38);
    }

    .lg\:mr-\[20\%\] {
      margin-right: 20%;
    }

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

    .lg\:hidden {
      display: none;
    }

    .lg\:w-1\/2 {
      width: 50%;
    }

    .lg\:w-1\/3 {
      width: 33.3333%;
    }

    .lg\:w-2\/3 {
      width: 66.6667%;
    }

    .lg\:w-2\/5 {
      width: 40%;
    }

    .lg\:w-3\/5 {
      width: 60%;
    }

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

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

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

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

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

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

    .lg\:w-\[24\.25\%\] {
      width: 24.25%;
    }

    .lg\:w-\[100vw\] {
      width: 100vw;
    }

    .lg\:w-\[150vw\] {
      width: 150vw;
    }

    .lg\:-translate-x-1\/2 {
      --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

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

    .lg\:flex-row-reverse {
      flex-direction: row-reverse;
    }

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

    .lg\:gap-0 {
      gap: 0;
    }

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

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

    .lg\:overflow-y-visible {
      overflow-y: visible;
    }

    .lg\:rounded-4xl {
      border-radius: var(--radius-4xl);
    }

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

    .lg\:bg-inherit {
      background-color: inherit;
    }

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

    .lg\:p-5 {
      padding: calc(var(--spacing) * 5);
    }

    .lg\:p-8 {
      padding: calc(var(--spacing) * 8);
    }

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

    .lg\:p-15 {
      padding: calc(var(--spacing) * 15);
    }

    .lg\:px-0 {
      padding-inline: 0;
    }

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

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

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

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

    .lg\:py-0 {
      padding-block: 0;
    }

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

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

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

    .lg\:pt-0 {
      padding-top: 0;
    }

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

    .lg\:pr-40 {
      padding-right: calc(var(--spacing) * 40);
    }

    .lg\:pl-20 {
      padding-left: calc(var(--spacing) * 20);
    }

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

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

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

    .lg\:\[\&\:not\(\:last-of-type\)\]\:border-r:not(:last-of-type) {
      border-right-style: var(--tw-border-style);
      border-right-width: 1px;
    }
  }
}

:root {
  --color-text: #333;
  --color-main: #3787d6;
  --color-main-50: #f1f9fd;
  --color-main-100: #dbf6ff;
  --color-main-150: #9ae5ff;
  --color-main-300: #72cbec;
  --color-accent: #fd508c;
  --color-accent-50: #fef1f6;
  --color-accent-100: #fee5f0;
  --color-accent-200: #ffcbe1;
  --color-accent-300: #ffa0c6;
  --color-accent-400: #ff659f;
  --color-accent-500: #fd508c;
  --color-accent-600: #ed1555;
  --color-accent-700: #cf073d;
  --color-accent-800: #ab0932;
  --color-accent-900: #8e0d2e;
  --color-accent-950: #570016;
}

.material-symbols-outlined {
  font-size: inherit;
}

html:before, html:after {
  content: "";
  visibility: visible;
  opacity: 1;
  transition: all 1s;
  display: block;
}

html:before {
  z-index: 99998;
  background-color: var(--color-main-150);
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
}

html:after {
  z-index: 99999;
  background: url("/assets/images/loading.svg") center / 60px 60px no-repeat;
  width: 60px;
  height: 60px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}

html.wf-active:before, html.wf-active:after {
  visibility: hidden;
  opacity: 0;
}

html {
  font-size: 3.25vw;
  overflow-x: hidden;
}

@media (min-width: 64rem) {
  html {
    font-size: 1.25vw;
  }
}

@media (min-width: 120rem) {
  html {
    font-size: 1vw;
  }
}

body {
  background: url("/assets/images/bg_suisai.avif") no-repeat top -4rem left -4rem/80% auto, url("/assets/images/bg_suisai.avif") no-repeat bottom -4rem right -4rem/80% auto, var(--color-main-150);
  color: var(--color-text);
  font-feature-settings: "palt" 1;
  letter-spacing: .025em;
  background-attachment: fixed;
  font-family: Zen Maru Gothic, sans-serif;
  line-height: 1.75;
  overflow-x: hidden;
}

@media (min-width: 64rem) {
  body {
    background-size: 45%, 45%;
    overflow-x: auto;
  }
}

@keyframes go {
  50% {
    background-position: 0, 100% 100%;
  }

  100% {
    background-position: 100%, 100% 100%;
  }
}

@keyframes shake {
  50% {
    transform: rotate(-10deg);
  }

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

.animation-shake {
  animation: 4s infinite shake;
  transform: rotate(10deg);
}

.js-scroll-fade {
  opacity: 0;
  transition: opacity .8s, transform .8s;
  transform: translateY(2rem);
}

.js-scroll-fade.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .js-scroll-fade {
    opacity: 1;
    transition: none;
    transform: none;
  }
}

@media not all and (min-width: 64rem) {
  #js-gnav {
    background-color: var(--color-main);
    flex-flow: column;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 2rem;
    transition: right .6s;
    display: flex;
    position: fixed;
    top: 0;
    right: -100%;
  }

  #js-gnav.is-enable {
    right: 0;
  }
}

#js-gnav-button.is-close > div:first-of-type {
  transform-origin: 100% 100%;
  transform: rotate(-45deg) translateX(0) translateY(-80%);
}

#js-gnav-button.is-close > div:nth-of-type(2) {
  opacity: 0;
}

#js-gnav-button.is-close > div:nth-of-type(3) {
  transform-origin: 100% 100%;
  transform: rotate(45deg) translateX(-10%) translateY(100%);
}

.c-section-top {
  position: relative;
}

.c-section-top:before {
  z-index: 1;
  content: "";
  background: url("/assets/images/bg_section_top.svg") center / 100% 100% no-repeat;
  width: 100%;
  height: 5rem;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-99%);
}

.c-section-bottom {
  position: relative;
}

.c-section-bottom:after {
  z-index: 1;
  content: "";
  background: url("/assets/images/bg_section_bottom.svg") center / 100% 100% no-repeat;
  width: 100%;
  height: 5rem;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translateY(99%);
}

.c-section {
  background: url("/assets/images/bg_section.avif") center / cover no-repeat fixed;
}

.c-section-bl-white {
  position: relative;
}

.c-section-bl-white:before {
  z-index: -1;
  content: "";
  background-color: #fff;
  width: 10rem;
  height: 10rem;
  position: absolute;
  bottom: 0;
  left: 0;
}

.c-title {
  background: url("/assets/images/bg_title.svg") top / 5rem no-repeat, url("/assets/images/icon_logo.svg") 50% .75rem / 2.5rem no-repeat;
  padding-top: 4rem;
}

.c-title-sub {
  background: url("/assets/images/bg_dotted.svg") 0 / 1rem no-repeat;
  padding-left: 1.5rem;
}

.c-title-mini {
  background: url("/assets/images/bg_lead.svg") 0 100% / auto 1rem repeat-x;
  padding: 1.25rem .75em;
  display: inline-block;
  position: relative;
}

.c-title-mini:before, .c-title-mini:after {
  z-index: 1;
  content: "";
  width: 3rem;
  height: 3rem;
  position: absolute;
  top: -.25rem;
}

.c-title-mini:before {
  background: url("/assets/images/icon_bus.png") center / contain no-repeat;
  left: -3.5rem;
}

.c-title-mini:after {
  background: url("/assets/images/icon_cap.svg") center / contain no-repeat;
  right: -3.5rem;
}

.c-lead {
  background: url("/assets/images/bg_lead.svg") 0 0 / auto .75rem repeat-x, url("/assets/images/bg_lead.svg") 0 100% / auto .75rem repeat-x;
  padding: 1.25rem 2.25rem;
  display: inline-block;
}

.c-text-tategaki {
  letter-spacing: .1em;
  writing-mode: vertical-rl;
  text-orientation: upright;
  line-height: 1.5;
}

.c-order {
  counter-reset: li;
}

.c-order > li {
  padding-left: 2.25rem;
  position: relative;
}

.c-order > li:before {
  counter-increment: li;
  background: var(--color-main);
  content: counter(li);
  color: #fff;
  border-radius: 100%;
  justify-content: center;
  align-items: center;
  width: 1.75rem;
  height: 1.75rem;
  line-height: 1;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
}

.c-icon-logo {
  aspect-ratio: 1;
  background-image: url("/assets/images/icon_logo.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.c-icon-arrow {
  aspect-ratio: 1;
  font-style: normal;
  line-height: 1;
}

.c-icon-arrow:before {
  content: "";
  font-family: Material Symbols Outlined;
  display: block;
}

.c-icon-DL {
  aspect-ratio: 1;
  font-style: normal;
  line-height: 1;
}

.c-icon-DL:before {
  content: "";
  font-family: Material Symbols Outlined;
}

.c-icon-photo {
  aspect-ratio: 1;
  font-style: normal;
  line-height: 1;
}

.c-icon-photo:before {
  content: "";
  font-family: Material Symbols Outlined;
}

.c-icon-tel {
  aspect-ratio: 1;
  background-image: url("/assets/images/icon_tel.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.c-icon-email {
  aspect-ratio: 1;
  background-image: url("/assets/images/icon_email.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#top .top-slider {
  position: relative;
}

#top .top-slider:before {
  z-index: 5;
  aspect-ratio: 1;
  content: "";
  background: url("/assets/images/icon_suzuran.png") center / contain no-repeat;
  width: 5rem;
  animation: 4s infinite shake;
  position: absolute;
  top: 2rem;
  left: 10vw;
  transform: rotate(10deg);
}

@media (min-width: 64rem) {
  #top .top-slider:before {
    width: 8rem;
    top: 3rem;
    left: 20vw;
  }
}

#top .top-slider:after {
  z-index: 5;
  aspect-ratio: 1;
  content: "";
  background: url("/assets/images/icon_sakura.png") center / contain no-repeat;
  width: 5rem;
  animation: 5s infinite shake;
  position: absolute;
  bottom: 0;
  right: 10vw;
  transform: rotate(10deg);
}

@media (min-width: 64rem) {
  #top .top-slider:after {
    width: 8rem;
    right: 25vw;
  }
}

#top .top-slide {
  position: relative;
}

#top .top-slide:before {
  content: "";
  background: url("/assets/images/top/hero_line.svg") center / 100% 100% no-repeat;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

#top .top-slide.is-reverse:before {
  background: url("/assets/images/top/hero_line_reverse.svg") center / 100% 100% no-repeat;
}

#top .top-info {
  background: url("/assets/images/top/info_visual.avif") bottom / 60rem no-repeat;
  padding-bottom: 20rem;
}

@media (min-width: 64rem) {
  #top .top-info {
    background-size: 100%;
  }
}

#top .top-info-box {
  position: relative;
}

#top .top-info-box:before {
  content: "";
  background: url("/assets/images/deco_circle01.svg") center / contain no-repeat;
  width: 10rem;
  height: 8.5rem;
  position: absolute;
  top: -3.5rem;
  left: 2rem;
}

#top .top-info-box:after {
  content: "";
  background: url("/assets/images/deco_circle02.svg") center / contain no-repeat;
  width: 10rem;
  height: 9rem;
  position: absolute;
  bottom: -4rem;
  right: -4rem;
}

#top .top-info-title {
  background: url("/assets/images/top/info_title_ruby.svg") top / auto 1rem no-repeat, url("/assets/images/icon_pencil.svg") right calc(50% - 6.25rem) top 1rem / auto 3rem no-repeat;
  padding-top: 1.25rem;
}

#top .top-info-list {
  background-image: url("/assets/images/icon_tulip.png");
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 6rem;
}

@media (min-width: 64rem) {
  #top .top-info-list {
    background-size: 7.25rem;
  }
}

#top .top-access-title {
  position: relative;
}

#top .top-access-title:before {
  content: "";
  background: url("/assets/images/icon_map.svg") center / contain no-repeat;
  width: 4.5rem;
  height: 4.5rem;
  position: absolute;
  top: 0;
  left: -.5rem;
  transform: translateX(-100%);
}

#top .top-access-title:after {
  content: "";
  background: url("/assets/images/deco_circle03.svg") center / contain no-repeat;
  width: 4.5rem;
  height: 4.5rem;
  position: absolute;
  top: -2rem;
  right: 1rem;
  transform: translateX(100%);
}

#top .top-tour-title {
  position: relative;
}

#top .top-tour-title:before {
  z-index: 1;
  aspect-ratio: 1;
  content: "";
  background-image: url("/assets/images/icon_sumire.png");
  background-size: contain;
  width: 5rem;
  position: absolute;
  bottom: -.5rem;
  left: -.5rem;
  transform: translateX(-50%) translateY(50%);
}

#top .top-tour-lead {
  background: url("/assets/images/deco_circle01.svg") right 2rem top / 6rem no-repeat, url("/assets/images/icon_leaf.svg") 2rem 2rem / 3rem no-repeat;
  padding-top: 2rem;
}

#top .top-others {
  background: url("/assets/images/icon_clouds_white.svg") 100% 0 / 10rem no-repeat, url("/assets/images/icon_cloud_white.svg") 0 100% / 10rem no-repeat;
  padding: 5rem;
}

#top .top-others-thumb {
  position: relative;
}

#top .top-others-thumb:before {
  aspect-ratio: 1;
  content: "";
  background: url("/assets/images/icon_pin.svg") center / contain no-repeat;
  width: 4rem;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}

#top .top-others-title {
  text-align: left;
  background: url("/assets/images/bg_dotted.svg") 0 .5rem / 1rem no-repeat;
  padding-left: 1.5rem;
  display: inline-block;
}

#top .top-gallery {
  position: relative;
}

#top .top-gallery:before {
  z-index: 1;
  content: "";
  background: url("/assets/images/icon_bus_side01.png") 100% / auto 100% no-repeat, url("/assets/images/icon_leaves.svg") 100% 100% / auto 65% no-repeat;
  width: 100%;
  height: 4.5rem;
  animation: 6s ease-in-out infinite go;
  position: absolute;
  top: -3.5rem;
  right: 0;
}

#top .top-gallery:after {
  z-index: 1;
  aspect-ratio: 1;
  content: "";
  background: url("/assets/images/icon_yuri.png") center / contain no-repeat;
  width: 6rem;
  animation: 6s infinite shake;
  position: absolute;
  bottom: -2.5rem;
  right: 10vw;
  transform: rotate(10deg);
}

#top .top-gallery-title {
  position: relative;
}

#top .top-gallery-title:before {
  z-index: 1;
  aspect-ratio: 1;
  content: "";
  background: url("/assets/images/icon_himawari.png") 0 / contain no-repeat;
  width: 5rem;
  animation: 6s infinite shake;
  position: absolute;
  top: -6rem;
  right: -4rem;
  transform: rotate(10deg);
}

#top .top-gallery-title:after {
  z-index: 1;
  content: "";
  background: url("/assets/images/icon_leaves.svg") center / contain no-repeat;
  width: 6rem;
  height: 3rem;
  position: absolute;
  bottom: -5rem;
  right: -6rem;
}

#about .about-policy {
  background: url("/assets/images/deco_circle03.svg") right 1rem top 1rem / 5rem no-repeat;
  position: relative;
}

#about .about-policy:before {
  z-index: 1;
  aspect-ratio: 1;
  content: "";
  background: url("/assets/images/icon_sun.svg") center / contain no-repeat;
  width: 5rem;
  position: absolute;
  top: -5rem;
  right: 0;
}

#about .about-goal {
  background: url("/assets/images/deco_circle03.svg") right 1rem top 1rem / 5rem no-repeat;
  position: relative;
}

#about .about-goal:before {
  z-index: 1;
  aspect-ratio: 2;
  content: "";
  background: url("/assets/images/icon_leaves.svg") center / contain no-repeat;
  width: 6rem;
  position: absolute;
  bottom: -2.5rem;
  left: -1rem;
}

#about .about-class {
  position: relative;
}

#about .about-class:before {
  z-index: 1;
  aspect-ratio: 1;
  content: "";
  background: url("/assets/images/icon_pin.svg") center / contain no-repeat;
  width: 4rem;
  position: absolute;
  top: -1rem;
  left: 50%;
  transform: translateX(-50%);
}

#about .about-class-reason > li {
  background: url("/assets/images/bg_dotted.svg") 0 .35rem / 1rem no-repeat;
  padding-left: 1.5rem;
}

#about .about-staff {
  background: url("/assets/images/about/staff_bg.svg") center / contain no-repeat;
}

#about .about-staff-visual {
  position: relative;
}

#about .about-staff-visual:before {
  z-index: 1;
  content: "";
  background: url("/assets/images/icon_cloud_white.svg") center / contain no-repeat;
  width: 12rem;
  height: 6rem;
  position: absolute;
  top: 0;
  right: -5rem;
}

#about .about-slogan {
  background: url("/assets/images/about/slogan_bg.svg") center / contain no-repeat;
}

#about .about-slogan-visual {
  position: relative;
}

#about .about-slogan-visual:before {
  z-index: 1;
  content: "";
  background: url("/assets/images/icon_playing.svg") center / contain no-repeat;
  width: 20rem;
  height: 10rem;
  position: absolute;
  bottom: 0;
  left: -45%;
}

@media (min-width: 64rem) {
  #about .about-slogan-visual:before {
    left: -90%;
  }
}

#daily .daily-title {
  background: url("/assets/images/deco_circle05.svg") center / auto 100% no-repeat;
}

#daily .daily-month {
  position: relative;
}

#daily .daily-month:before {
  content: "";
  background: url("/assets/images/icon_tape_white.svg") center / contain no-repeat;
  width: 12rem;
  height: 6rem;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}

#daily .daily-month-title {
  background: url("/assets/images/icon_marker.svg") 0 100% / 2rem no-repeat;
}

#daily .daily-point {
  position: relative;
}

#daily .daily-point:before {
  content: "";
  background: url("/assets/images/icon_monko.svg") 100% 0 / auto 100% no-repeat, url("/assets/images/icon_leaves.svg") 0 100% / auto 60% no-repeat;
  width: 11.5rem;
  height: 6.5rem;
  position: absolute;
  bottom: 0;
  right: -.75rem;
}

#daily .daily-point-title {
  background-image: url("/assets/images/icon_tulip.png");
  background-position: top;
  background-repeat: no-repeat;
  background-size: 5rem;
  padding: 6rem 0 0;
}

@media (min-width: 64rem) {
  #daily .daily-point-title {
    background-position: 0;
    background-size: auto 90%;
    padding: 0 5rem;
  }
}

#daily .daily-goal-title {
  position: relative;
}

#daily .daily-goal-title:before {
  aspect-ratio: 1;
  content: "";
  background: url("/assets/images/icon_suzuran.png") center / cover no-repeat;
  width: 5rem;
  position: absolute;
  top: -1.5rem;
  right: 0;
}

#daily .daily-kinds-title {
  position: relative;
}

#daily .daily-kinds-title:before {
  aspect-ratio: 1;
  content: "";
  background: url("/assets/images/icon_sakura.png") center / cover no-repeat;
  width: 5rem;
  position: absolute;
  top: -1.5rem;
  right: 0;
}

#daily .daily-summary-title {
  background: url("/assets/images/deco_circle04.svg") 65% / 10rem no-repeat;
}

#daily .daily-garden {
  background: url("/assets/images/icon_sumire.png") 0 0 / 6rem no-repeat;
}

#daily .daily-garden-title {
  background: url("/assets/images/deco_circle03.svg") 50% / auto 100% no-repeat;
}

#recruit .recruit-hero {
  position: relative;
}

#recruit .recruit-hero:before {
  aspect-ratio: 1;
  content: "";
  background: url("/assets/images/deco_circle02.svg") center / contain no-repeat;
  width: 10rem;
  position: absolute;
  top: -3rem;
  left: -3rem;
}

#recruit .recruit-hero:after {
  aspect-ratio: 1.2;
  content: "";
  background: url("/assets/images/deco_circle01.svg") center / contain no-repeat;
  width: 15rem;
  position: absolute;
  bottom: -6rem;
  right: -4.5rem;
}

#recruit .recruit-message {
  background: url("/assets/images/recruit/message_visual_left.avif") 0 0 / auto 13rem no-repeat, url("/assets/images/icon_leaves.svg") left 3rem bottom 1rem / auto 4rem no-repeat, url("/assets/images/recruit/message_visual_right.avif") right bottom 1rem / auto 13rem no-repeat, url("/assets/images/icon_clouds_blue.svg") right 3.5rem top 1rem / auto 6.5rem no-repeat;
  padding: 15rem 0;
}

@media (min-width: 64rem) {
  #recruit .recruit-message {
    padding: 0 18rem;
  }
}

#recruit .recruit-cta {
  background: repeating-linear-gradient(90deg, #4a94d8, #4a94d8 .9rem, #5097db .9rem 1.8rem);
  border: .2rem solid #5097db;
}

#recruit .recruit-cta:hover {
  box-shadow: 0 1.25rem 2.25rem rgba(var(--color-main-150), .5);
  transform: translateY(-.125rem);
}

#blog .blog-title {
  position: relative;
}

#blog .blog-title:before {
  aspect-ratio: 1;
  content: "";
  background: url("/assets/images/icon_monko.svg") center / contain no-repeat;
  height: 100%;
  position: absolute;
  left: 50%;
  transform: translateX(100%);
}

#blog .blog-box {
  position: relative;
}

#blog .blog-box:before {
  aspect-ratio: 1;
  content: "";
  background: url("/assets/images/icon_suzuran.png") center / contain no-repeat;
  width: calc(3.5rem + 1.5vw);
  position: absolute;
  bottom: -3rem;
  left: -3rem;
}

#blog .blog-box:after {
  aspect-ratio: 1;
  content: "";
  background: url("/assets/images/icon_sakura.png") center / contain no-repeat;
  width: calc(3.5rem + 1.5vw);
  position: absolute;
  top: -3rem;
  right: -2rem;
}

#blog .blog-box:first-of-type:before {
  top: 0;
  bottom: auto;
}

#blog .blog-box:first-of-type:after {
  top: auto;
  bottom: -2rem;
}

#blog .blog-box:nth-of-type(2):before {
  background: url("/assets/images/icon_tulip.png") center / contain no-repeat;
}

#blog .blog-box:nth-of-type(2):after {
  display: none;
}

#blog .blog-box:nth-of-type(3):before {
  background: url("/assets/images/icon_himawari.png") center / contain no-repeat;
}

#blog .blog-box:nth-of-type(3):after {
  background: url("/assets/images/icon_sumire.png") center / contain no-repeat;
}

#blog .blog-box:nth-of-type(4):before {
  aspect-ratio: 2;
  background: url("/assets/images/icon_bus_side02.png") center / contain no-repeat;
  width: calc(7rem + 1.5vw);
}

#blog .blog-box:nth-of-type(4):after {
  background: url("/assets/images/icon_yuri.png") center / contain no-repeat;
}

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

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

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

@property --tw-content {
  syntax: "*";
  inherits: false;
  initial-value: "";
}
