/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@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(96.7% 0.003 264.542);
        --color-gray-200: oklch(92.8% 0.006 264.531);
        --color-gray-300: oklch(87.2% 0.01 258.338);
        --color-black: #000;
        --color-white: #fff;
        --spacing: 0.25rem;
        --breakpoint-2xl: 96rem;
        --container-4xl: 56rem;
        --container-6xl: 72rem;
        --container-7xl: 80rem;
        --text-sm: 0.875rem;
        --text-sm--line-height: calc(1.25 / 0.875);
        --text-base: 1rem;
        --text-base--line-height: calc(1.5 / 1);
        --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);
        --text-5xl: 3rem;
        --text-5xl--line-height: 1;
        --font-weight-normal: 400;
        --font-weight-medium: 500;
        --font-weight-semibold: 600;
        --font-weight-bold: 700;
        --font-weight-black: 900;
        --tracking-wide: 0.025em;
        --tracking-wider: 0.05em;
        --leading-snug: 1.375;
        --leading-relaxed: 1.625;
        --radius-lg: 0.5rem;
        --radius-xl: 0.75rem;
        --ease-out: cubic-bezier(0, 0, 0.2, 1);
        --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
        --default-transition-duration: 150ms;
        --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        --default-font-family: var(--font-sans);
        --default-mono-font-family: var(--font-mono);
    }
}
@layer base {
    *,
    ::after,
    ::before,
    ::backdrop,
    ::file-selector-button {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
        border: 0 solid;
    }
    html,
    :host {
        line-height: 1.5;
        -webkit-text-size-adjust: 100%;
        tab-size: 4;
        font-family: var(
            --default-font-family,
            ui-sans-serif,
            system-ui,
            sans-serif,
            'Apple Color Emoji',
            'Segoe UI Emoji',
            'Segoe UI Symbol',
            'Noto Color Emoji'
        );
        font-feature-settings: var(--default-font-feature-settings, normal);
        font-variation-settings: var(--default-font-variation-settings, normal);
        -webkit-tap-highlight-color: transparent;
    }
    hr {
        height: 0;
        color: inherit;
        border-top-width: 1px;
    }
    abbr:where([title]) {
        -webkit-text-decoration: underline dotted;
        text-decoration: underline dotted;
    }
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        font-size: inherit;
        font-weight: inherit;
    }
    a {
        color: inherit;
        -webkit-text-decoration: inherit;
        text-decoration: inherit;
    }
    b,
    strong {
        font-weight: bolder;
    }
    code,
    kbd,
    samp,
    pre {
        font-family: var(
            --default-mono-font-family,
            ui-monospace,
            SFMono-Regular,
            Menlo,
            Monaco,
            Consolas,
            'Liberation Mono',
            'Courier New',
            monospace
        );
        font-feature-settings: var(
            --default-mono-font-feature-settings,
            normal
        );
        font-variation-settings: var(
            --default-mono-font-variation-settings,
            normal
        );
        font-size: 1em;
    }
    small {
        font-size: 80%;
    }
    sub,
    sup {
        font-size: 75%;
        line-height: 0;
        position: relative;
        vertical-align: baseline;
    }
    sub {
        bottom: -0.25em;
    }
    sup {
        top: -0.5em;
    }
    table {
        text-indent: 0;
        border-color: inherit;
        border-collapse: collapse;
    }
    :-moz-focusring {
        outline: auto;
    }
    progress {
        vertical-align: baseline;
    }
    summary {
        display: list-item;
    }
    ol,
    ul,
    menu {
        list-style: none;
    }
    img,
    svg,
    video,
    canvas,
    audio,
    iframe,
    embed,
    object {
        display: block;
        vertical-align: middle;
    }
    img,
    video {
        max-width: 100%;
        height: auto;
    }
    button,
    input,
    select,
    optgroup,
    textarea,
    ::file-selector-button {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        border-radius: 0;
        background-color: transparent;
        opacity: 1;
    }
    :where(select:is([multiple], [size])) optgroup {
        font-weight: bolder;
    }
    :where(select:is([multiple], [size])) optgroup option {
        padding-inline-start: 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)) {
                color: color-mix(in oklab, currentcolor 50%, transparent);
            }
        }
    }
    textarea {
        resize: vertical;
    }
    ::-webkit-search-decoration {
        -webkit-appearance: none;
    }
    ::-webkit-date-and-time-value {
        min-height: 1lh;
        text-align: inherit;
    }
    ::-webkit-datetime-edit {
        display: inline-flex;
    }
    ::-webkit-datetime-edit-fields-wrapper {
        padding: 0;
    }
    ::-webkit-datetime-edit,
    ::-webkit-datetime-edit-year-field,
    ::-webkit-datetime-edit-month-field,
    ::-webkit-datetime-edit-day-field,
    ::-webkit-datetime-edit-hour-field,
    ::-webkit-datetime-edit-minute-field,
    ::-webkit-datetime-edit-second-field,
    ::-webkit-datetime-edit-millisecond-field,
    ::-webkit-datetime-edit-meridiem-field {
        padding-block: 0;
    }
    :-moz-ui-invalid {
        box-shadow: none;
    }
    button,
    input:where([type='button'], [type='reset'], [type='submit']),
    ::file-selector-button {
        appearance: button;
    }
    ::-webkit-inner-spin-button,
    ::-webkit-outer-spin-button {
        height: auto;
    }
    [hidden]:where(:not([hidden='until-found'])) {
        display: none !important;
    }
}
@layer utilities {
    .invisible {
        visibility: hidden;
    }
    .visible {
        visibility: visible;
    }
    .\!absolute {
        position: absolute !important;
    }
    .absolute {
        position: absolute;
    }
    .fixed {
        position: fixed;
    }
    .relative {
        position: relative;
    }
    .static {
        position: static;
    }
    .inset-0 {
        inset: calc(var(--spacing) * 0);
    }
    .-top-\[65px\] {
        top: calc(65px * -1);
    }
    .top-0 {
        top: calc(var(--spacing) * 0);
    }
    .top-\[-30px\] {
        top: -30px;
    }
    .top-\[-50px\] {
        top: -50px;
    }
    .top-\[-55px\] {
        top: -55px;
    }
    .top-\[-120px\] {
        top: -120px;
    }
    .top-auto {
        top: auto;
    }
    .\!right-0 {
        right: calc(var(--spacing) * 0) !important;
    }
    .right-0 {
        right: calc(var(--spacing) * 0);
    }
    .right-4 {
        right: calc(var(--spacing) * 4);
    }
    .right-\[0px\] {
        right: 0px;
    }
    .-bottom-1 {
        bottom: calc(var(--spacing) * -1);
    }
    .bottom-0 {
        bottom: calc(var(--spacing) * 0);
    }
    .\!-left-\[1\.2em\] {
        left: calc(1.2em * -1) !important;
    }
    .\!-left-\[1em\] {
        left: calc(1em * -1) !important;
    }
    .left-0 {
        left: calc(var(--spacing) * 0);
    }
    .left-1\/2 {
        left: calc(1 / 2 * 100%);
    }
    .left-\[-10px\] {
        left: -10px;
    }
    .left-auto {
        left: auto;
    }
    .z-10 {
        z-index: 10;
    }
    .z-\[-1\] {
        z-index: -1;
    }
    .z-\[1\] {
        z-index: 1;
    }
    .z-\[2\] {
        z-index: 2;
    }
    .z-\[10\] {
        z-index: 10;
    }
    .float-left {
        float: left;
    }
    .float-right {
        float: right;
    }
    .container {
        width: 100%;
        @media (width >= 40rem) {
            max-width: 40rem;
        }
        @media (width >= 48rem) {
            max-width: 48rem;
        }
        @media (width >= 64rem) {
            max-width: 64rem;
        }
        @media (width >= 80rem) {
            max-width: 80rem;
        }
        @media (width >= 96rem) {
            max-width: 96rem;
        }
    }
    .mx-auto {
        margin-inline: auto;
    }
    .my-5 {
        margin-block: calc(var(--spacing) * 5);
    }
    .my-10 {
        margin-block: calc(var(--spacing) * 10);
    }
    .\!mt-28 {
        margin-top: calc(var(--spacing) * 28) !important;
    }
    .mt-2 {
        margin-top: calc(var(--spacing) * 2);
    }
    .mt-3 {
        margin-top: calc(var(--spacing) * 3);
    }
    .mt-8 {
        margin-top: calc(var(--spacing) * 8);
    }
    .mt-10 {
        margin-top: calc(var(--spacing) * 10);
    }
    .\!mb-0 {
        margin-bottom: calc(var(--spacing) * 0) !important;
    }
    .\!mb-6 {
        margin-bottom: calc(var(--spacing) * 6) !important;
    }
    .\!mb-10 {
        margin-bottom: calc(var(--spacing) * 10) !important;
    }
    .\!mb-12 {
        margin-bottom: calc(var(--spacing) * 12) !important;
    }
    .\!mb-16 {
        margin-bottom: calc(var(--spacing) * 16) !important;
    }
    .\!mb-28 {
        margin-bottom: calc(var(--spacing) * 28) !important;
    }
    .mb-2 {
        margin-bottom: calc(var(--spacing) * 2);
    }
    .mb-3 {
        margin-bottom: calc(var(--spacing) * 3);
    }
    .mb-4 {
        margin-bottom: calc(var(--spacing) * 4);
    }
    .mb-5 {
        margin-bottom: calc(var(--spacing) * 5);
    }
    .mb-6 {
        margin-bottom: calc(var(--spacing) * 6);
    }
    .mb-8 {
        margin-bottom: calc(var(--spacing) * 8);
    }
    .mb-10 {
        margin-bottom: calc(var(--spacing) * 10);
    }
    .mb-20 {
        margin-bottom: calc(var(--spacing) * 20);
    }
    .-ml-4 {
        margin-left: calc(var(--spacing) * -4);
    }
    .\!block {
        display: block !important;
    }
    .\!hidden {
        display: none !important;
    }
    .block {
        display: block;
    }
    .contents {
        display: contents;
    }
    .flex {
        display: flex;
    }
    .grid {
        display: grid;
    }
    .hidden {
        display: none;
    }
    .inline {
        display: inline;
    }
    .inline-block {
        display: inline-block;
    }
    .inline-flex {
        display: inline-flex;
    }
    .table {
        display: table;
    }
    .h-3 {
        height: calc(var(--spacing) * 3);
    }
    .h-4 {
        height: calc(var(--spacing) * 4);
    }
    .h-7 {
        height: calc(var(--spacing) * 7);
    }
    .h-\[59px\] {
        height: 59px;
    }
    .h-\[80svh\] {
        height: 80svh;
    }
    .h-auto {
        height: auto;
    }
    .min-h-\[149px\] {
        min-height: 149px;
    }
    .\!w-\[40\%\] {
        width: 40% !important;
    }
    .w-4 {
        width: calc(var(--spacing) * 4);
    }
    .w-\[59px\] {
        width: 59px;
    }
    .w-\[65\%\] {
        width: 65%;
    }
    .w-\[70\%\] {
        width: 70%;
    }
    .w-\[100px\] {
        width: 100px;
    }
    .w-\[110px\] {
        width: 110px;
    }
    .w-\[140px\] {
        width: 140px;
    }
    .w-\[150px\] {
        width: 150px;
    }
    .w-full {
        width: 100%;
    }
    .max-w-4xl {
        max-width: var(--container-4xl);
    }
    .max-w-6xl {
        max-width: var(--container-6xl);
    }
    .max-w-7xl {
        max-width: var(--container-7xl);
    }
    .max-w-screen-2xl {
        max-width: var(--breakpoint-2xl);
    }
    .flex-shrink {
        flex-shrink: 1;
    }
    .border-collapse {
        border-collapse: collapse;
    }
    .-translate-x-1\/2 {
        --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .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-disc {
        list-style-type: disc;
    }
    .grid-cols-1 {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    .\!flex-col {
        flex-direction: column !important;
    }
    .flex-col {
        flex-direction: column;
    }
    .flex-row {
        flex-direction: row;
    }
    .flex-nowrap {
        flex-wrap: nowrap;
    }
    .flex-wrap {
        flex-wrap: wrap;
    }
    .items-baseline {
        align-items: baseline;
    }
    .items-center {
        align-items: center;
    }
    .items-start {
        align-items: flex-start;
    }
    .justify-between {
        justify-content: space-between;
    }
    .justify-center {
        justify-content: center;
    }
    .justify-end {
        justify-content: flex-end;
    }
    .gap-1 {
        gap: calc(var(--spacing) * 1);
    }
    .gap-2 {
        gap: calc(var(--spacing) * 2);
    }
    .gap-5 {
        gap: calc(var(--spacing) * 5);
    }
    .gap-6 {
        gap: calc(var(--spacing) * 6);
    }
    .gap-x-5 {
        column-gap: calc(var(--spacing) * 5);
    }
    .gap-y-10 {
        row-gap: calc(var(--spacing) * 10);
    }
    .overflow-hidden {
        overflow: hidden;
    }
    .rounded-full {
        border-radius: calc(infinity * 1px);
    }
    .rounded-lg {
        border-radius: var(--radius-lg);
    }
    .rounded-xl {
        border-radius: var(--radius-xl);
    }
    .rounded-t-lg {
        border-top-left-radius: var(--radius-lg);
        border-top-right-radius: var(--radius-lg);
    }
    .rounded-b-lg {
        border-bottom-right-radius: var(--radius-lg);
        border-bottom-left-radius: var(--radius-lg);
    }
    .\!border-0 {
        border-style: var(--tw-border-style) !important;
        border-width: 0px !important;
    }
    .\!border-\[3px\] {
        border-style: var(--tw-border-style) !important;
        border-width: 3px !important;
    }
    .border {
        border-style: var(--tw-border-style);
        border-width: 1px;
    }
    .border-2 {
        border-style: var(--tw-border-style);
        border-width: 2px;
    }
    .border-t-2 {
        border-top-style: var(--tw-border-style);
        border-top-width: 2px;
    }
    .border-r {
        border-right-style: var(--tw-border-style);
        border-right-width: 1px;
    }
    .\!border-b-0 {
        border-bottom-style: var(--tw-border-style) !important;
        border-bottom-width: 0px !important;
    }
    .border-b {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px;
    }
    .border-b-2 {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 2px;
    }
    .border-l {
        border-left-style: var(--tw-border-style);
        border-left-width: 1px;
    }
    .\!border-\[\#28a745\] {
        border-color: #28a745 !important;
    }
    .\!border-\[\#1865cc\] {
        border-color: #1865cc !important;
    }
    .\!border-\[\#f97315\] {
        border-color: #f97315 !important;
    }
    .border-\[\#9CA3AF\] {
        border-color: #9ca3af;
    }
    .border-\[\#0151BE\] {
        border-color: #0151be;
    }
    .border-\[\#E5E7EB\] {
        border-color: #e5e7eb;
    }
    .border-\[\#ED6C00\] {
        border-color: #ed6c00;
    }
    .border-\[\#F00\] {
        border-color: #f00;
    }
    .border-gray-200 {
        border-color: var(--color-gray-200);
    }
    .border-gray-300 {
        border-color: var(--color-gray-300);
    }
    .bg-\[\#0151BE\] {
        background-color: #0151be;
    }
    .bg-\[\#D9D9D9\]\/60 {
        background-color: color-mix(in oklab, #d9d9d9 60%, transparent);
    }
    .bg-\[\#ED6C00\] {
        background-color: #ed6c00;
    }
    .bg-\[\#F3F4F6\] {
        background-color: #f3f4f6;
    }
    .bg-\[\#FFE600\] {
        background-color: #ffe600;
    }
    .bg-gray-100 {
        background-color: var(--color-gray-100);
    }
    .bg-white {
        background-color: var(--color-white);
    }
    .object-contain {
        object-fit: contain;
    }
    .p-3\.5 {
        padding: calc(var(--spacing) * 3.5);
    }
    .p-4 {
        padding: calc(var(--spacing) * 4);
    }
    .p-5 {
        padding: calc(var(--spacing) * 5);
    }
    .\!px-3 {
        padding-inline: calc(var(--spacing) * 3) !important;
    }
    .\!px-8 {
        padding-inline: calc(var(--spacing) * 8) !important;
    }
    .px-4 {
        padding-inline: calc(var(--spacing) * 4);
    }
    .px-6 {
        padding-inline: calc(var(--spacing) * 6);
    }
    .\!py-5 {
        padding-block: calc(var(--spacing) * 5) !important;
    }
    .py-3 {
        padding-block: calc(var(--spacing) * 3);
    }
    .py-5 {
        padding-block: calc(var(--spacing) * 5);
    }
    .py-8 {
        padding-block: calc(var(--spacing) * 8);
    }
    .py-10 {
        padding-block: calc(var(--spacing) * 10);
    }
    .py-14 {
        padding-block: calc(var(--spacing) * 14);
    }
    .pr-0 {
        padding-right: calc(var(--spacing) * 0);
    }
    .pr-10 {
        padding-right: calc(var(--spacing) * 10);
    }
    .\!pl-\[0\.5em\] {
        padding-left: 0.5em !important;
    }
    .pl-0 {
        padding-left: calc(var(--spacing) * 0);
    }
    .pl-2 {
        padding-left: calc(var(--spacing) * 2);
    }
    .pl-6 {
        padding-left: calc(var(--spacing) * 6);
    }
    .pl-\[1em\] {
        padding-left: 1em;
    }
    .\!text-left {
        text-align: left !important;
    }
    .text-center {
        text-align: center;
    }
    .text-left {
        text-align: left;
    }
    .\!text-2xl {
        font-size: var(--text-2xl) !important;
        line-height: var(--tw-leading, var(--text-2xl--line-height)) !important;
    }
    .\!text-3xl {
        font-size: var(--text-3xl) !important;
        line-height: var(--tw-leading, var(--text-3xl--line-height)) !important;
    }
    .\!text-4xl {
        font-size: var(--text-4xl) !important;
        line-height: var(--tw-leading, var(--text-4xl--line-height)) !important;
    }
    .\!text-base {
        font-size: var(--text-base) !important;
        line-height: var(
            --tw-leading,
            var(--text-base--line-height)
        ) !important;
    }
    .\!text-sm {
        font-size: var(--text-sm) !important;
        line-height: var(--tw-leading, var(--text-sm--line-height)) !important;
    }
    .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-base {
        font-size: var(--text-base);
        line-height: var(--tw-leading, var(--text-base--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-\[22px\] {
        font-size: 22px !important;
    }
    .\!text-\[32px\] {
        font-size: 32px !important;
    }
    .text-\[20px\] {
        font-size: 20px;
    }
    .text-\[24px\] {
        font-size: 24px;
    }
    .text-\[48px\] {
        font-size: 48px;
    }
    .\!leading-8 {
        --tw-leading: calc(var(--spacing) * 8) !important;
        line-height: calc(var(--spacing) * 8) !important;
    }
    .\!leading-\[1\.6em\] {
        --tw-leading: 1.6em !important;
        line-height: 1.6em !important;
    }
    .\!leading-\[1\.75em\] {
        --tw-leading: 1.75em !important;
        line-height: 1.75em !important;
    }
    .\!leading-\[2rem\] {
        --tw-leading: 2rem !important;
        line-height: 2rem !important;
    }
    .leading-5 {
        --tw-leading: calc(var(--spacing) * 5);
        line-height: calc(var(--spacing) * 5);
    }
    .leading-6 {
        --tw-leading: calc(var(--spacing) * 6);
        line-height: calc(var(--spacing) * 6);
    }
    .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-\[1\.5\] {
        --tw-leading: 1.5;
        line-height: 1.5;
    }
    .leading-\[2\.5em\] {
        --tw-leading: 2.5em;
        line-height: 2.5em;
    }
    .leading-none {
        --tw-leading: 1;
        line-height: 1;
    }
    .leading-relaxed {
        --tw-leading: var(--leading-relaxed);
        line-height: var(--leading-relaxed);
    }
    .leading-snug {
        --tw-leading: var(--leading-snug);
        line-height: var(--leading-snug);
    }
    .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-medium {
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium);
    }
    .font-normal {
        --tw-font-weight: var(--font-weight-normal);
        font-weight: var(--font-weight-normal);
    }
    .font-semibold {
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
    }
    .tracking-wide {
        --tw-tracking: var(--tracking-wide);
        letter-spacing: var(--tracking-wide);
    }
    .tracking-wider {
        --tw-tracking: var(--tracking-wider);
        letter-spacing: var(--tracking-wider);
    }
    .break-all {
        word-break: break-all;
    }
    .whitespace-nowrap {
        white-space: nowrap;
    }
    .text-\[\#4B5563\] {
        color: #4b5563;
    }
    .text-\[\#4F80FF\] {
        color: #4f80ff;
    }
    .text-\[\#0151BE\] {
        color: #0151be;
    }
    .text-\[\#171A1F\] {
        color: #171a1f;
    }
    .text-\[\#1865CC\] {
        color: #1865cc;
    }
    .text-\[\#111111\] {
        color: #111111;
    }
    .text-\[\#DC2626\] {
        color: #dc2626;
    }
    .text-\[\#ED6C00\] {
        color: #ed6c00;
    }
    .text-\[\#f97315\] {
        color: #f97315;
    }
    .text-black {
        color: var(--color-black);
    }
    .text-white {
        color: var(--color-white);
    }
    .italic {
        font-style: italic;
    }
    .underline {
        text-decoration-line: underline;
    }
    .shadow {
        --tw-shadow:
            0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)),
            0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow:
            var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
            var(--tw-ring-offset-shadow), var(--tw-ring-shadow),
            var(--tw-shadow);
    }
    .shadow-lg {
        --tw-shadow:
            0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)),
            0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow:
            var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
            var(--tw-ring-offset-shadow), var(--tw-ring-shadow),
            var(--tw-shadow);
    }
    .shadow-sm {
        --tw-shadow:
            0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)),
            0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow:
            var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
            var(--tw-ring-offset-shadow), var(--tw-ring-shadow),
            var(--tw-shadow);
    }
    .outline {
        outline-style: var(--tw-outline-style);
        outline-width: 1px;
    }
    .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 {
        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,
            visibility,
            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)
        );
    }
    .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)
        );
    }
    .ease-in-out {
        --tw-ease: var(--ease-in-out);
        transition-timing-function: var(--ease-in-out);
    }
    .ease-out {
        --tw-ease: var(--ease-out);
        transition-timing-function: var(--ease-out);
    }
    .\[hostname\:port\] {
        hostname: port;
    }
    .sm\:\!relative {
        @media (width >= 40rem) {
            position: relative !important;
        }
    }
    .sm\:top-\[-60px\] {
        @media (width >= 40rem) {
            top: -60px;
        }
    }
    .sm\:top-auto {
        @media (width >= 40rem) {
            top: auto;
        }
    }
    .sm\:\!right-\[10px\] {
        @media (width >= 40rem) {
            right: 10px !important;
        }
    }
    .sm\:left-\[-0px\] {
        @media (width >= 40rem) {
            left: -0px;
        }
    }
    .sm\:left-\[-40px\] {
        @media (width >= 40rem) {
            left: -40px;
        }
    }
    .sm\:\!mt-0 {
        @media (width >= 40rem) {
            margin-top: calc(var(--spacing) * 0) !important;
        }
    }
    .sm\:mt-6 {
        @media (width >= 40rem) {
            margin-top: calc(var(--spacing) * 6);
        }
    }
    .sm\:\!mb-8 {
        @media (width >= 40rem) {
            margin-bottom: calc(var(--spacing) * 8) !important;
        }
    }
    .sm\:\!mb-10 {
        @media (width >= 40rem) {
            margin-bottom: calc(var(--spacing) * 10) !important;
        }
    }
    .sm\:\!mb-24 {
        @media (width >= 40rem) {
            margin-bottom: calc(var(--spacing) * 24) !important;
        }
    }
    .sm\:mb-0 {
        @media (width >= 40rem) {
            margin-bottom: calc(var(--spacing) * 0);
        }
    }
    .sm\:mb-8 {
        @media (width >= 40rem) {
            margin-bottom: calc(var(--spacing) * 8);
        }
    }
    .sm\:mb-10 {
        @media (width >= 40rem) {
            margin-bottom: calc(var(--spacing) * 10);
        }
    }
    .sm\:\!block {
        @media (width >= 40rem) {
            display: block !important;
        }
    }
    .sm\:\!flex {
        @media (width >= 40rem) {
            display: flex !important;
        }
    }
    .sm\:\!hidden {
        @media (width >= 40rem) {
            display: none !important;
        }
    }
    .sm\:inline-block {
        @media (width >= 40rem) {
            display: inline-block;
        }
    }
    .sm\:\!h-\[60svh\] {
        @media (width >= 40rem) {
            height: 60svh !important;
        }
    }
    .sm\:\!w-\[300px\] {
        @media (width >= 40rem) {
            width: 300px !important;
        }
    }
    .sm\:\!w-\[450px\] {
        @media (width >= 40rem) {
            width: 450px !important;
        }
    }
    .sm\:w-1\/2 {
        @media (width >= 40rem) {
            width: calc(1 / 2 * 100%);
        }
    }
    .sm\:w-\[35\%\] {
        @media (width >= 40rem) {
            width: 35%;
        }
    }
    .sm\:w-\[55\%\] {
        @media (width >= 40rem) {
            width: 55%;
        }
    }
    .sm\:w-\[120px\] {
        @media (width >= 40rem) {
            width: 120px;
        }
    }
    .sm\:w-\[180px\] {
        @media (width >= 40rem) {
            width: 180px;
        }
    }
    .sm\:w-\[313px\] {
        @media (width >= 40rem) {
            width: 313px;
        }
    }
    .sm\:w-\[364px\] {
        @media (width >= 40rem) {
            width: 364px;
        }
    }
    .sm\:w-full {
        @media (width >= 40rem) {
            width: 100%;
        }
    }
    .sm\:grid-cols-2 {
        @media (width >= 40rem) {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }
    .sm\:flex-row {
        @media (width >= 40rem) {
            flex-direction: row;
        }
    }
    .sm\:gap-6 {
        @media (width >= 40rem) {
            gap: calc(var(--spacing) * 6);
        }
    }
    .sm\:p-9 {
        @media (width >= 40rem) {
            padding: calc(var(--spacing) * 9);
        }
    }
    .sm\:\!px-12 {
        @media (width >= 40rem) {
            padding-inline: calc(var(--spacing) * 12) !important;
        }
    }
    .sm\:py-4 {
        @media (width >= 40rem) {
            padding-block: calc(var(--spacing) * 4);
        }
    }
    .sm\:pr-12 {
        @media (width >= 40rem) {
            padding-right: calc(var(--spacing) * 12);
        }
    }
    .sm\:pl-12 {
        @media (width >= 40rem) {
            padding-left: calc(var(--spacing) * 12);
        }
    }
    .sm\:\!text-right {
        @media (width >= 40rem) {
            text-align: right !important;
        }
    }
    .sm\:text-left {
        @media (width >= 40rem) {
            text-align: left;
        }
    }
    .sm\:\!text-3xl {
        @media (width >= 40rem) {
            font-size: var(--text-3xl) !important;
            line-height: var(
                --tw-leading,
                var(--text-3xl--line-height)
            ) !important;
        }
    }
    .sm\:\!text-4xl {
        @media (width >= 40rem) {
            font-size: var(--text-4xl) !important;
            line-height: var(
                --tw-leading,
                var(--text-4xl--line-height)
            ) !important;
        }
    }
    .sm\:\!text-5xl {
        @media (width >= 40rem) {
            font-size: var(--text-5xl) !important;
            line-height: var(
                --tw-leading,
                var(--text-5xl--line-height)
            ) !important;
        }
    }
    .sm\:\!text-base {
        @media (width >= 40rem) {
            font-size: var(--text-base) !important;
            line-height: var(
                --tw-leading,
                var(--text-base--line-height)
            ) !important;
        }
    }
    .sm\:text-3xl {
        @media (width >= 40rem) {
            font-size: var(--text-3xl);
            line-height: var(--tw-leading, var(--text-3xl--line-height));
        }
    }
    .sm\:text-base {
        @media (width >= 40rem) {
            font-size: var(--text-base);
            line-height: var(--tw-leading, var(--text-base--line-height));
        }
    }
    .sm\:text-xl {
        @media (width >= 40rem) {
            font-size: var(--text-xl);
            line-height: var(--tw-leading, var(--text-xl--line-height));
        }
    }
    .sm\:\!text-\[54px\] {
        @media (width >= 40rem) {
            font-size: 54px !important;
        }
    }
    .sm\:text-\[24px\] {
        @media (width >= 40rem) {
            font-size: 24px;
        }
    }
    .sm\:text-\[32px\] {
        @media (width >= 40rem) {
            font-size: 32px;
        }
    }
    .sm\:text-\[96px\] {
        @media (width >= 40rem) {
            font-size: 96px;
        }
    }
    .sm\:\!leading-\[3rem\] {
        @media (width >= 40rem) {
            --tw-leading: 3rem !important;
            line-height: 3rem !important;
        }
    }
    .md\:top-\[-50px\] {
        @media (width >= 48rem) {
            top: -50px;
        }
    }
    .md\:mt-0 {
        @media (width >= 48rem) {
            margin-top: calc(var(--spacing) * 0);
        }
    }
    .md\:hidden {
        @media (width >= 48rem) {
            display: none;
        }
    }
    .md\:w-\[20\%\] {
        @media (width >= 48rem) {
            width: 20%;
        }
    }
    .md\:w-\[75\%\] {
        @media (width >= 48rem) {
            width: 75%;
        }
    }
    .md\:w-\[150px\] {
        @media (width >= 48rem) {
            width: 150px;
        }
    }
    .md\:px-0 {
        @media (width >= 48rem) {
            padding-inline: calc(var(--spacing) * 0);
        }
    }
    .md\:px-8 {
        @media (width >= 48rem) {
            padding-inline: calc(var(--spacing) * 8);
        }
    }
    .md\:py-12 {
        @media (width >= 48rem) {
            padding-block: calc(var(--spacing) * 12);
        }
    }
    .md\:text-center {
        @media (width >= 48rem) {
            text-align: center;
        }
    }
    .md\:\!text-4xl {
        @media (width >= 48rem) {
            font-size: var(--text-4xl) !important;
            line-height: var(
                --tw-leading,
                var(--text-4xl--line-height)
            ) !important;
        }
    }
    .md\:text-lg {
        @media (width >= 48rem) {
            font-size: var(--text-lg);
            line-height: var(--tw-leading, var(--text-lg--line-height));
        }
    }
    .lg\:top-\[-70px\] {
        @media (width >= 64rem) {
            top: -70px;
        }
    }
    .lg\:top-\[80px\] {
        @media (width >= 64rem) {
            top: 80px;
        }
    }
    .lg\:\!right-\[30px\] {
        @media (width >= 64rem) {
            right: 30px !important;
        }
    }
    .lg\:left-\[40px\] {
        @media (width >= 64rem) {
            left: 40px;
        }
    }
    .lg\:\!mb-4 {
        @media (width >= 64rem) {
            margin-bottom: calc(var(--spacing) * 4) !important;
        }
    }
    .lg\:\!block {
        @media (width >= 64rem) {
            display: block !important;
        }
    }
    .lg\:\!hidden {
        @media (width >= 64rem) {
            display: none !important;
        }
    }
    .lg\:w-\[48\%\] {
        @media (width >= 64rem) {
            width: 48%;
        }
    }
    .lg\:w-\[80px\] {
        @media (width >= 64rem) {
            width: 80px;
        }
    }
    .lg\:w-\[200px\] {
        @media (width >= 64rem) {
            width: 200px;
        }
    }
    .lg\:\!flex-row {
        @media (width >= 64rem) {
            flex-direction: row !important;
        }
    }
    .lg\:flex-row {
        @media (width >= 64rem) {
            flex-direction: row;
        }
    }
    .lg\:px-0 {
        @media (width >= 64rem) {
            padding-inline: calc(var(--spacing) * 0);
        }
    }
    .lg\:\!text-3xl {
        @media (width >= 64rem) {
            font-size: var(--text-3xl) !important;
            line-height: var(
                --tw-leading,
                var(--text-3xl--line-height)
            ) !important;
        }
    }
    .lg\:\!text-5xl {
        @media (width >= 64rem) {
            font-size: var(--text-5xl) !important;
            line-height: var(
                --tw-leading,
                var(--text-5xl--line-height)
            ) !important;
        }
    }
    .lg\:text-4xl {
        @media (width >= 64rem) {
            font-size: var(--text-4xl);
            line-height: var(--tw-leading, var(--text-4xl--line-height));
        }
    }
    .lg\:text-\[64px\] {
        @media (width >= 64rem) {
            font-size: 64px;
        }
    }
    .xl\:absolute {
        @media (width >= 80rem) {
            position: absolute;
        }
    }
    .\32 xl\:\!absolute {
        @media (width >= 96rem) {
            position: absolute !important;
        }
    }
    .\32 xl\:top-\[300px\] {
        @media (width >= 96rem) {
            top: 300px;
        }
    }
    .\32 xl\:-left-\[16\%\] {
        @media (width >= 96rem) {
            left: calc(16% * -1);
        }
    }
    .\32 xl\:\!mb-\[650px\] {
        @media (width >= 96rem) {
            margin-bottom: 650px !important;
        }
    }
    .\32 xl\:\!h-\[500px\] {
        @media (width >= 96rem) {
            height: 500px !important;
        }
    }
    .\32 xl\:\!w-\[1500px\] {
        @media (width >= 96rem) {
            width: 1500px !important;
        }
    }
    .\[\@media\(max-width\:480px\)\]\:text-2xl {
        @media (max-width: 480px) {
            font-size: var(--text-2xl);
            line-height: var(--tw-leading, var(--text-2xl--line-height));
        }
    }
    .\[\@media\(max-width\:480px\)\]\:text-4xl {
        @media (max-width: 480px) {
            font-size: var(--text-4xl);
            line-height: var(--tw-leading, var(--text-4xl--line-height));
        }
    }
}
html {
    scroll-behavior: smooth;
}
body {
    font-family:
        'Hiragino Kaku Gothic Pro', '游ゴシック', 'Yu Gothic', 'Meiryo',
        sans-serif;
}
.font-inter {
    font-family: 'Inter', 'Noto Sans JP', sans-serif;
    font-weight: 900;
}
.font-noto {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 900;
}
.container {
    width: 100%;
    max-width: 2560px;
    margin: auto;
}
:root {
    --primary-color: #ed6c00;
    --primary-gradient: linear-gradient(to right, #f97316, #ea580c);
    --red-color: #dc2626;
    --gray-text-light: #6b7280;
    --gray-text-dark: #4b5f71;
    --gray-background: #f9fafb;
}
.font-ta-f1blockline {
    font-family: 'TA-F1blockline', 'Inter', sans-serif;
}
.faq-toggle-arrow {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    transition: transform 0.2s ease-in-out;
}
.faq-toggle-arrow::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: white;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 15 5-5 5 5'/%3E%3C/svg%3E")
        no-repeat center;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 15 5-5 5 5'/%3E%3C/svg%3E")
        no-repeat center;
}
.active .faq-toggle-arrow {
    transform: translateY(-50%) rotate(180deg);
}
.faq-answer {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition:
        max-height 0.3s ease-in-out,
        opacity 0.3s ease-in-out,
        padding-top 0.3s ease-in-out,
        padding-bottom 0.3s ease-in-out;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0;
    padding-bottom: 0;
    color: #111111;
    background-color: white;
    border-left-width: 1px;
    border-right-width: 1px;
    border-bottom-width: 1px;
    border-color: #d1d5db;
    border-bottom-left-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}
.faq-answer.faq-answer-open {
    max-height: 500px;
    opacity: 1;
    padding-top: 1rem;
    padding-bottom: 1rem;
    border-top-width: 1px;
}
.pricing-section {
    background-color: #ffffff;
    border-radius: 0.75rem;
    padding: 0 2rem;
}
.pricing-title {
    font-size: 1.875rem;
    font-weight: 700;
    color: #1f2937;
    margin-bottom: 4rem;
    text-align: center;
}
.pricing-title-highlight {
    color: var(--primary-color);
}
.pricing-grid {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 2rem;
    align-items: stretch;
}
.plan-card {
    border-radius: 1rem;
    box-shadow:
        0 4px 6px -1px rgba(0, 0, 0, 0.1),
        0 2px 4px -1px rgba(0, 0, 0, 0.06);
    padding: 1.5rem;
    position: relative;
    display: flex;
    flex-direction: column;
    background-color: var(--gray-background);
}
.plan-card-highlight {
    background-color: #ffffff;
    border: 2px solid var(--primary-color);
    box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.4);
    position: relative;
    z-index: 10;
}
.plan-badge {
    position: absolute;
    top: 1rem;
    right: 0;
    background-color: #ef4444;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.25rem 0.75rem;
    clip-path: polygon(10% 0%, 100% 0%, 100% 100%, 10% 100%, 0% 50%);
}
.plan-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 2rem;
    margin-top: 2rem;
    text-align: center;
}
.plan-price-container {
    text-align: center;
    margin: 1rem 0;
}
.plan-features-container {
    flex-grow: 1;
}
.plan-features-list {
    list-style-type: disc;
    list-style-position: inside;
    color: var(--gray-text-dark);
    margin-bottom: 2rem;
    padding-left: 1rem;
}
.plan-features-list li {
    margin-bottom: 0.5rem;
}
.plan-button-container {
    text-align: center;
    margin-top: auto;
    padding-top: 1rem;
}
.plan-button {
    display: inline-block;
    padding: 0.75rem 1.5rem;
    background: var(--primary-gradient);
    color: #ffffff;
    text-decoration: none;
    font-weight: 600;
    border-radius: 9999px;
    transition: opacity 0.3s;
}
.plan-button:hover {
    opacity: 0.9;
}
.price-strikethrough {
    color: var(--gray-text-light);
    font-weight: 600;
    text-decoration: line-through;
}
.price-campaign {
    color: var(--red-color);
    font-weight: 700;
    font-size: 1.125rem;
    margin-bottom: 0.5rem;
}
.price-strikethrough-monthly {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--gray-text-light);
    text-decoration: line-through;
}
.price-campaign-monthly {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--red-color);
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.campaign-note {
    color: var(--red-color);
}
.plan-footer-note {
    font-size: 0.75rem;
    color: var(--gray-text-light);
    margin-top: 1rem;
    text-align: center;
}
.price-initial-cost {
    text-align: center;
    color: var(--gray-text-dark);
    font-weight: 600;
}
.flex-container {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
}
.card {
    width: 100%;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1.5rem;
    max-width: none;
    box-shadow:
        0 1px 3px 0 rgba(0, 0, 0, 0.1),
        0 1px 2px 0 rgba(0, 0, 0, 0.06);
}
.card-title {
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 2rem;
    margin-bottom: 1rem;
    text-align: center;
}
.admin-title {
    color: #1865cc;
}
.employee-title {
    color: #28a745;
}
.feature-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    color: #374151;
}
.feature-item {
    display: flex;
    align-items: flex-start;
}
.icon {
    width: 1.5rem;
    height: 1.5rem;
    margin-right: 0.5rem;
    flex-shrink: 0;
}
.check-icon-admin {
    color: #3b82f6;
}
.check-icon-employee {
    color: #22c55e;
}
.font-semibold {
    font-weight: 600;
}
.starter-plan-card {
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border: 2px solid #e2e8f0;
    border-radius: 20px;
    padding: 2rem;
    max-width: 480px;
    width: 100%;
    box-shadow:
        0 10px 25px -5px rgba(0, 0, 0, 0.1),
        0 10px 10px -5px rgba(0, 0, 0, 0.04);
    position: relative;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}
.starter-plan-card:hover {
    transform: translateY(-5px);
    box-shadow:
        0 20px 40px -10px rgba(0, 0, 0, 0.15),
        0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.starter-plan-header {
    text-align: center;
    margin-bottom: 2rem;
    position: relative;
}
.starter-plan-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: linear-gradient(135deg, #ed6c00 0%, #f97316 100%);
    color: white;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.5rem 1rem;
    border-radius: 50px;
    margin-bottom: 1rem;
    box-shadow: 0 4px 12px rgba(237, 108, 0, 0.3);
}
.starter-plan-title {
    font-size: 2rem;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 1.5rem;
    font-family: 'Noto Sans JP', sans-serif;
}
.starter-plan-price-section {
    margin-bottom: 1rem;
}
.starter-plan-price {
    font-size: 3rem;
    font-weight: 800;
    color: #059669;
    line-height: 1;
    margin-bottom: 0.5rem;
}
.starter-plan-price-label {
    font-size: 0.875rem;
    color: #64748b;
    font-weight: 500;
}
.starter-plan-description {
    text-align: center;
    margin-bottom: 2rem;
    padding: 1rem;
    background: #f1f5f9;
    border-radius: 12px;
    border-left: 4px solid #ed6c00;
}
.starter-plan-description p {
    color: #475569;
    font-size: 1.1rem;
    line-height: 1.6;
    margin: 0;
    font-weight: 500;
}
.starter-plan-features {
    margin-bottom: 2rem;
}
.starter-plan-features-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #334155;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #e2e8f0;
}
.starter-plan-features-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.starter-plan-feature-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    border-radius: 8px;
    transition: background-color 0.2s ease;
}
.starter-plan-feature-item:hover {
    background-color: #f8fafc;
}
.starter-plan-feature-item.featured {
    background: linear-gradient(135deg, #fef3e2 0%, #fed7aa 100%);
    border: 1px solid #fdba74;
}
.starter-plan-feature-icon {
    width: 1.25rem;
    height: 1.25rem;
    color: #059669;
    flex-shrink: 0;
}
.starter-plan-feature-icon.featured {
    color: #ea580c;
}
.starter-plan-feature-item span {
    color: #475569;
    font-size: 0.95rem;
    line-height: 1.4;
}
.starter-plan-feature-item.featured span {
    color: #9a3412;
    font-weight: 600;
}
.starter-plan-cta {
    text-align: center;
}
.starter-plan-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #ed6c00 0%, #f97316 100%);
    color: white;
    font-weight: 700;
    font-size: 1.1rem;
    padding: 1rem 2rem;
    border-radius: 50px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(237, 108, 0, 0.3);
    border: none;
    width: 100%;
    max-width: 280px;
}
.starter-plan-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(237, 108, 0, 0.4);
    background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
}
.starter-plan-note {
    font-size: 0.875rem;
    color: #64748b;
    margin-top: 1rem;
    margin-bottom: 0;
    font-style: italic;
}
.mv-group .mv-chara01,
.mv-group .mv-chara03 {
    object-fit: cover;
    animation-name: ani02;
    animation-duration: 1s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}
.mv-group .mv-chara01 {
    animation-name: ani02;
    animation-duration: 1.5s;
}
.text-gradient-orange {
    background: linear-gradient(90deg, #ff7302, #fa4301, #fd6e3c);
    background-size: 200% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
#demoOverlay .nav-icon {
    pointer-events: none;
}
#demoOverlay .nav-icon img {
    width: 100%;
    max-width: 300px;
    height: auto;
    animation-name: ani02;
    animation-duration: 1s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}
.foods-group .chara {
    object-fit: cover;
    animation-name: ani02;
    animation-duration: 1s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}
.foods-group .chara02 {
    animation-duration: 1.4s;
}
.foods-group .chara03 {
    animation-duration: 0.8s;
}
.foods-group .chara04 {
    animation-duration: 1.2s;
}
.plan-group {
    width: 100%;
    max-width: 1481px;
    margin-bottom: 40px;
    position: relative;
    padding-bottom: 40px !important;
    overflow: hidden;
    background: transparent !important;
}
.plan-group .swiper-slide {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    padding: 20px 0;
    transition: 0.3s;
    transform: scale(0.95);
}
.swiper-slide-active,
.swiper-slide-duplicate-active {
    opacity: 1;
    transform: scale(1);
}
.plan-group .swiper-slide > div {
    background-color: #fff;
    border: 2px solid;
    border-radius: 16px;
    padding: 26px;
    width: 100%;
    max-width: 352px;
    height: 500px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    position: relative;
    box-shadow:
        0px 2px 4px -1px rgba(0, 0, 0, 0.06),
        0px 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.plan-header {
    text-align: center;
    padding: 32px 0 0;
}
.plan-name {
    font-size: 32px;
    font-weight: 600;
    line-height: 1.125;
    font-family: 'Inter', 'Noto Sans JP', sans-serif;
    height: 2em;
}
.plan-badge {
    position: absolute;
    top: 18px;
    right: 0;
    background: linear-gradient(90deg, #ed6c00 0%, #ffc08a 100%);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 12px;
}
.plan-badge.premium {
    background: linear-gradient(90deg, #4f80ff 0%, #b3d0f6 100%);
}
.plan-price {
    text-align: center;
    padding: 16px 0;
}
.price-number {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
}
.price-unit {
    font-size: 15.4px;
    font-weight: 700;
}
.plan-description {
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    padding-bottom: 24px;
}
.plan-features {
    list-style: none;
    padding: 0 0 0 16px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
}
.plan-features li {
    padding: 0;
    border: none;
    margin-bottom: 7.5px;
    display: flex;
    align-items: center;
    width: 100%;
}
.bullet {
    margin-right: 10px;
    font-weight: 700;
}
.plan-starter {
    border-color: #4f80ff !important;
}
.plan-starter .plan-name {
    color: #4f80ff;
}
.plan-starter .price-number {
    color: #ff5900;
    font-size: 64px;
}
.plan-starter .bullet {
    color: #4f80ff;
}
.plan-lite {
    border-color: #22c55e !important;
}
.plan-lite .plan-name {
    color: #22c55e;
}
.plan-lite .price-number {
    color: #ff5900;
    font-size: 40px;
}
.plan-lite .bullet {
    color: #22c55e;
}
.plan-standard {
    border-color: #ed6c00 !important;
}
.plan-standard .plan-name {
    color: #ed6c00;
}
.plan-standard .price-number {
    color: #ff5900;
    font-size: 40px;
}
.plan-standard .bullet {
    color: #ed6c00;
}
.plan-enterprise {
    background-color: #f9fafb !important;
    border-color: #9ca3af !important;
}
.plan-enterprise .plan-name {
    color: #000;
}
.plan-enterprise .price-number {
    color: #1865cc;
    font-size: 36px;
}
.plan-enterprise .bullet {
    color: #6b7280;
}
@keyframes badge-grad-flow {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}
.plan-badge {
    position: absolute;
    top: 18px;
    right: 0;
    background: linear-gradient(90deg, #ed6c00 0%, #ffc08a 100%);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 12px;
    background-size: 200% 100%;
    animation: badge-grad-flow 3s linear infinite;
}
.plan-badge.premium {
    background: linear-gradient(90deg, #4f80ff 0%, #b3d0f6 100%);
    background-size: 200% 100%;
    animation: badge-grad-flow 3s linear infinite;
}
.swiper-button-prev,
.swiper-button-next {
    color: #000;
    display: none;
}
.swiper-pagination {
    position: absolute;
    bottom: 0 !important;
}
.swiper-pagination-bullet-active {
    background: #000;
}
.campaign-box {
    max-width: 896px;
    border: 5px solid #1865cc;
    border-radius: 16px;
    background-color: #fff;
    padding: 60px 60px 60px;
    position: relative;
    box-sizing: border-box;
    margin: 0 auto;
}
.campaign-box .chara {
    object-fit: cover;
    animation-name: ani01;
    animation-duration: 1.2s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}
.campaign-box .chara02 {
    animation-duration: 0.8s;
    animation-name: ani02;
}
.campaign-box .chara03 {
    animation-name: ani03;
    animation-duration: 1s;
}
.campaign-header {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}
.title-text {
    font-weight: 700;
    color: #ed6c00;
    margin: 0;
    line-height: 0.75;
    position: relative;
    z-index: 1;
    text-align: left !important;
}
.title-text .large {
    display: inline-block;
    background: linear-gradient(90deg, #ff7302, #ffc08a, #ff7302);
    background-size: 200% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    animation: grad-flow 3s linear infinite;
    font-weight: 900;
}
.campaign-body {
    text-align: center;
    position: relative;
    padding-top: 20px;
}
.campaign-text-main {
    font-size: 19px;
    font-weight: 700;
    color: #333;
}
.fadeIn {
    opacity: 0;
    transform: translateY(12px);
    transition:
        opacity 500ms ease,
        transform 500ms ease;
}
.fadeIn.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.underline-bar {
    z-index: -1;
}
@media (min-width: 768px) {
    .pricing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .flex-container {
        flex-wrap: nowrap;
    }
    .card {
        width: 50%;
    }
}
@media (min-width: 1024px) {
    .pricing-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 1540px) {
    .swiper-button-prev,
    .swiper-button-next {
        display: block;
        width: 30px !important;
        height: 30px !important;
        background-color: #0151be;
        border-radius: 100px;
        position: relative;
        font-weight: bold;
    }
    .swiper-button-next:before {
        content: '>';
        color: #fff;
        top: 2px;
        position: absolute;
    }
    .swiper-button-prev:before {
        content: '<';
        color: #fff;
        top: 2px;
        position: absolute;
    }
}
@media (max-width: 1535px) {
    .plan-group .swiper-slide > div {
        height: 500px;
    }
}
@media (max-width: 768px) {
    .plan-group .plan-header {
        padding: 24px 0 0;
    }
    .plan-group .swiper-slide > div {
        max-width: 480px;
        height: 500px;
        padding: 20px;
    }
    .plan-group {
        padding-bottom: 20px !important;
    }
}
@media (max-width: 680px) {
    .plan-group .swiper-slide > div {
        height: 520px;
        padding: 20px 10px 10px;
    }
    .campaign-box {
        padding: 60px 20px 40px;
    }
}
@media (max-width: 640px) {
    .starter-plan-card {
        padding: 1.5rem;
        margin: 0 1rem;
    }
    .starter-plan-title {
        font-size: 1.75rem;
    }
    .starter-plan-price {
        font-size: 2.5rem;
    }
    .starter-plan-button {
        font-size: 1rem;
        padding: 0.875rem 1.5rem;
    }
}
@keyframes ani01 {
    0% {
        transform: rotate(-15deg);
    }
    100% {
        transform: rotate(15deg);
    }
}
@keyframes ani02 {
    0% {
        transform: rotate(-10deg);
    }
    100% {
        transform: rotate(10deg);
    }
}
@keyframes ani03 {
    0% {
        transform: rotate(-5deg);
    }
    100% {
        transform: rotate(5deg);
    }
}
@keyframes pulse {
    0%,
    100% {
        opacity: 1;
    }
    50% {
        opacity: 0.7;
    }
}
@keyframes grad-flow {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}
@keyframes badge-grad-flow {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}
@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-shadow {
    syntax: '*';
    inherits: false;
    initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
    syntax: '*';
    inherits: false;
}
@property --tw-shadow-alpha {
    syntax: '<percentage>';
    inherits: false;
    initial-value: 100%;
}
@property --tw-inset-shadow {
    syntax: '*';
    inherits: false;
    initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
    syntax: '*';
    inherits: false;
}
@property --tw-inset-shadow-alpha {
    syntax: '<percentage>';
    inherits: false;
    initial-value: 100%;
}
@property --tw-ring-color {
    syntax: '*';
    inherits: false;
}
@property --tw-ring-shadow {
    syntax: '*';
    inherits: false;
    initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
    syntax: '*';
    inherits: false;
}
@property --tw-inset-ring-shadow {
    syntax: '*';
    inherits: false;
    initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
    syntax: '*';
    inherits: false;
}
@property --tw-ring-offset-width {
    syntax: '<length>';
    inherits: false;
    initial-value: 0px;
}
@property --tw-ring-offset-color {
    syntax: '*';
    inherits: false;
    initial-value: #fff;
}
@property --tw-ring-offset-shadow {
    syntax: '*';
    inherits: false;
    initial-value: 0 0 #0000;
}
@property --tw-outline-style {
    syntax: '*';
    inherits: false;
    initial-value: solid;
}
@property --tw-blur {
    syntax: '*';
    inherits: false;
}
@property --tw-brightness {
    syntax: '*';
    inherits: false;
}
@property --tw-contrast {
    syntax: '*';
    inherits: false;
}
@property --tw-grayscale {
    syntax: '*';
    inherits: false;
}
@property --tw-hue-rotate {
    syntax: '*';
    inherits: false;
}
@property --tw-invert {
    syntax: '*';
    inherits: false;
}
@property --tw-opacity {
    syntax: '*';
    inherits: false;
}
@property --tw-saturate {
    syntax: '*';
    inherits: false;
}
@property --tw-sepia {
    syntax: '*';
    inherits: false;
}
@property --tw-drop-shadow {
    syntax: '*';
    inherits: false;
}
@property --tw-drop-shadow-color {
    syntax: '*';
    inherits: false;
}
@property --tw-drop-shadow-alpha {
    syntax: '<percentage>';
    inherits: false;
    initial-value: 100%;
}
@property --tw-drop-shadow-size {
    syntax: '*';
    inherits: false;
}
@property --tw-ease {
    syntax: '*';
    inherits: false;
}
@keyframes pulse {
    50% {
        opacity: 0.5;
    }
}
@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-shadow: 0 0 #0000;
            --tw-shadow-color: initial;
            --tw-shadow-alpha: 100%;
            --tw-inset-shadow: 0 0 #0000;
            --tw-inset-shadow-color: initial;
            --tw-inset-shadow-alpha: 100%;
            --tw-ring-color: initial;
            --tw-ring-shadow: 0 0 #0000;
            --tw-inset-ring-color: initial;
            --tw-inset-ring-shadow: 0 0 #0000;
            --tw-ring-inset: initial;
            --tw-ring-offset-width: 0px;
            --tw-ring-offset-color: #fff;
            --tw-ring-offset-shadow: 0 0 #0000;
            --tw-outline-style: solid;
            --tw-blur: initial;
            --tw-brightness: initial;
            --tw-contrast: initial;
            --tw-grayscale: initial;
            --tw-hue-rotate: initial;
            --tw-invert: initial;
            --tw-opacity: initial;
            --tw-saturate: initial;
            --tw-sepia: initial;
            --tw-drop-shadow: initial;
            --tw-drop-shadow-color: initial;
            --tw-drop-shadow-alpha: 100%;
            --tw-drop-shadow-size: initial;
            --tw-ease: initial;
        }
    }
}
