/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
@layer properties {
    @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {

        *,
        :before,
        :after,
        ::backdrop {
            --tw-rotate-x: initial;
            --tw-rotate-y: initial;
            --tw-rotate-z: initial;
            --tw-skew-x: initial;
            --tw-skew-y: initial;
            --tw-divide-y-reverse: 0;
            --tw-border-style: solid;
            --tw-font-weight: initial;
            --tw-tracking: initial;
            --tw-ordinal: initial;
            --tw-slashed-zero: initial;
            --tw-numeric-figure: initial;
            --tw-numeric-spacing: initial;
            --tw-numeric-fraction: 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-scale-x: 1;
            --tw-scale-y: 1;
            --tw-scale-z: 1;
        }
    }
}

@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-orange-600: oklch(64.6% 0.222 41.116);
        --color-emerald-50: oklch(97.9% 0.021 166.113);
        --color-emerald-600: oklch(59.6% 0.145 163.225);
        --color-emerald-700: oklch(50.8% 0.118 165.612);
        --color-indigo-50: oklch(96.2% 0.018 272.314);
        --color-indigo-600: oklch(51.1% 0.262 276.966);
        --color-indigo-900: oklch(35.9% 0.144 278.697);
        --color-rose-400: oklch(71.2% 0.194 13.428);
        --color-rose-600: oklch(58.6% 0.253 17.585);
        --color-slate-50: oklch(98.4% 0.003 247.858);
        --color-slate-100: oklch(96.8% 0.007 247.896);
        --color-slate-200: oklch(92.9% 0.013 255.508);
        --color-slate-400: oklch(70.4% 0.04 256.788);
        --color-slate-500: oklch(55.4% 0.046 257.417);
        --color-slate-600: oklch(44.6% 0.043 257.281);
        --color-slate-700: oklch(37.2% 0.044 257.287);
        --color-slate-800: oklch(27.9% 0.041 260.031);
        --color-white: #fff;
        --spacing: 0.25rem;
        --container-6xl: 72rem;
        --text-xs: 0.75rem;
        --text-xs--line-height: calc(1/0.75);
        --text-sm: 0.875rem;
        --text-sm--line-height: calc(1.25/0.875);
        --text-3xl: 1.875rem;
        --text-3xl--line-height: calc(2.25/1.875);
        --font-weight-medium: 500;
        --font-weight-semibold: 600;
        --font-weight-bold: 700;
        --font-weight-extrabold: 800;
        --tracking-tight: -0.025em;
        --tracking-wider: 0.05em;
        --radius-lg: 0.5rem;
        --radius-2xl: 1rem;
        --default-transition-duration: 0.15s;
        --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 {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0;
    }

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

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

    hr {
        height: 0;
        color: inherit;
        border-top-width: 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: -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 {
        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 {
    .collapse {
        visibility: collapse;
    }

    .invisible {
        visibility: hidden;
    }

    .visible {
        visibility: visible;
    }

    .absolute {
        position: absolute;
    }

    .fixed {
        position: fixed;
    }

    .relative {
        position: relative;
    }

    .static {
        position: static;
    }

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

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

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

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

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

    .block {
        display: block;
    }

    .contents {
        display: contents;
    }

    .flex {
        display: flex;
    }

    .hidden {
        display: none;
    }

    .inline {
        display: inline;
    }

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

    .table {
        display: table;
    }

    .table\! {
        display: table !important;
    }

    .w-full {
        width: 100%;
    }

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

    .flex-shrink,
    .shrink {
        flex-shrink: 1;
    }

    .grow {
        flex-grow: 1;
    }

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

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

    .resize {
        resize: both;
    }

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

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

    :where(.divide-y > :not(:last-child)) {
        --tw-divide-y-reverse: 0;
        border-bottom-style: var(--tw-border-style);
        border-top-style: var(--tw-border-style);
        border-top-width: calc(1px * var(--tw-divide-y-reverse));
        border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
    }

    :where(.divide-slate-100 > :not(:last-child)) {
        border-color: var(--color-slate-100);
    }

    .truncate {
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
    }

    .overflow-hidden {
        overflow: hidden;
    }

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

    .rounded {
        border-radius: 0.25rem;
    }

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

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

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

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

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

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

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

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

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

    .bg-slate-50\/50 {
        background-color: #f8fafc80;
    }

    @supports (color: color-mix(in lab, red, red)) {
        .bg-slate-50\/50 {
            background-color: color-mix(in oklab,
                    var(--color-slate-50) 50%,
                    transparent);
        }
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

    .font-mono {
        font-family: var(--font-mono);
    }

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

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

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

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

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

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

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

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

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

    .break-all {
        word-break: break-all;
    }

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

    .text-indigo-600 {
        color: var(--color-indigo-600);
    }

    .text-rose-400 {
        color: var(--color-rose-400);
    }

    .text-slate-400 {
        color: var(--color-slate-400);
    }

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

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

    .text-slate-800 {
        color: var(--color-slate-800);
    }

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

    .capitalize {
        text-transform: capitalize;
    }

    .lowercase {
        text-transform: lowercase;
    }

    .uppercase {
        text-transform: uppercase;
    }

    .italic {
        font-style: italic;
    }

    .ordinal {
        --tw-ordinal: ordinal;
        font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
    }

    .shadow,
    .shadow-sm {
        --tw-shadow:
            0 1px 3px 0 var(--tw-shadow-color, #0000001a),
            0 1px 2px -1px var(--tw-shadow-color, #0000001a);
        box-shadow:
            var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
            var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .ring,
    .ring-1 {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow:
            var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
            var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .ring-emerald-600\/20 {
        --tw-ring-color: #00976733;
    }

    @supports (color: color-mix(in lab, red, red)) {
        .ring-emerald-600\/20 {
            --tw-ring-color: color-mix(in oklab,
                    var(--color-emerald-600) 20%,
                    transparent);
        }
    }

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

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

    .transition {
        transition-property:
            color,
            background-color,
            border-color,
            outline-color,
            text-decoration-color,
            fill,
            stroke,
            --tw-gradient-from,
            --tw-gradient-via,
            --tw-gradient-to,
            opacity,
            box-shadow,
            transform,
            translate,
            scale,
            rotate,
            filter,
            -webkit-backdrop-filter,
            backdrop-filter,
            display,
            content-visibility,
            overlay,
            pointer-events;
        transition-timing-function: var(--tw-ease,
                var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration));
    }

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

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

    .ring-inset {
        --tw-ring-inset: inset;
    }

    @media (hover: hover) {
        .hover\:bg-orange-600:hover {
            background-color: var(--color-orange-600);
        }

        .hover\:bg-slate-50\/80:hover {
            background-color: #f8fafccc;
        }

        @supports (color: color-mix(in lab, red, red)) {
            .hover\:bg-slate-50\/80:hover {
                background-color: color-mix(in oklab,
                        var(--color-slate-50) 80%,
                        transparent);
            }
        }

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

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

    .active\:scale-95:active {
        --tw-scale-x: 95%;
        --tw-scale-y: 95%;
        --tw-scale-z: 95%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
    }
}

@font-face {
    font-family: Pretendard;
    font-weight: 100 200 300 400 500 600 700 800 900;
    font-style: normal;
    font-display: swap;
    src: url(../font/PretendardVariable.woff2) format("woff2-variations");
}

:root {
    --gcolor1: #000;
    --gcolor2: #e9e8e8;
    --tb-width: 1680px;
    --c-width: 1520px;
    --s-width: 1360px;
    --transition1: all 0.4s ease;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    font: inherit;
    border: 0;
    margin: 0;
    padding: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

html {
    scroll-behavior: smooth;
    font-size: 10px;
}

body {
    color: #444;
    background-color: #fff;
    margin: 0;
    font-family:
        pretendard,
        나눔고딕,
        NanumGothic,
        Nanum Gothic,
        돋움,
        Dotum,
        Arial,
        sans-serif;
    line-height: 1.15;
    overflow-y: scroll;
}

form {
    display: inline;
}

img {
    border: 0;
}

label {
    cursor: pointer;
}

A:link,
A:visited {
    color: #444;
    text-decoration: none;
}

A:hover {
    color: var(--gcolor1);
    text-decoration: none;
    transition: all 0.2s;
}

A:active {
    color: #444;
    text-decoration: none;
}

li {
    list-style: none;
}

ul {
    margin: 0;
    padding: 0;
}

IMG {
    border: 0;
}

.break {
    page-break-before: always;
}

::selection {
    background: var(--gcolor2);
    color: #fff;
}

.d-flex {
    display: flex !important;
}

.con-start,
.justify-content-start {
    justify-content: flex-start !important;
}

.con-end,
.justify-content-end {
    justify-content: flex-end !important;
}

.con-center,
.justify-content-center {
    justify-content: center !important;
}

.item-center,
.align-items-center {
    align-items: center !important;
}

.item-start,
.align-items-start {
    -webkit-box-align: flex-start !important;
    -ms-flex-align: flex-start !important;
    align-items: flex-start !important;
}

.item-end,
.align-items-end {
    -webkit-box-align: flex-end !important;
    -ms-flex-align: flex-end !important;
    align-items: flex-end !important;
}

.item-stretch,
.align-items-stretch {
    align-items: stretch !important;
}

.con-btw,
.justify-content-space-between {
    -webkit-box-align: space-between !important;
    -ms-flex-align: space-between !important;
    justify-content: space-between !important;
}

.con-vert {
    flex-direction: column;
}

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

.con-rev {
    flex-direction: row-reverse;
}

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

.con-left {
    float: left;
}

.con-right {
    float: right;
}

.w5 {
    width: 5%;
    display: inline-block;
}

.w10 {
    width: 10%;
    display: inline-block;
}

.w15 {
    width: 15%;
    display: inline-block;
}

.w20 {
    width: 20%;
    display: inline-block;
}

.w25 {
    width: 25%;
    display: inline-block;
}

.w30 {
    width: 30%;
    display: inline-block;
}

.w40 {
    width: 40%;
    display: inline-block;
}

.w45 {
    width: 44%;
    display: inline-block;
}

.w50 {
    width: 50%;
    display: inline-block;
}

.w60 {
    width: 60%;
    display: inline-block;
}

.w70 {
    width: 70%;
    display: inline-block;
}

.w80 {
    width: 80%;
    display: inline-block;
}

.w90 {
    width: 90%;
    display: inline-block;
}

.w100 {
    width: 100%;
    display: inline-block;
}

.h50 {
    height: 50px !important;
}

.h70 {
    height: 70px !important;
}

.h100 {
    height: 100px !important;
}

.h150 {
    height: 150px !important;
}

.mt5 {
    margin-top: 5px !important;
}

.mt10 {
    margin-top: 10px !important;
}

.mt20 {
    margin-top: 20px !important;
}

.mt30 {
    margin-top: 30px !important;
}

.mt40 {
    margin-top: 40px !important;
}

.mt50 {
    margin-top: 50px !important;
}

.mb5 {
    margin-bottom: 5px !important;
}

.mb0 {
    margin-bottom: 0 !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}

.mb40 {
    margin-bottom: 40px !important;
}

.mb50 {
    margin-bottom: 50px !important;
}

.mb60 {
    margin-bottom: 60px !important;
}

.mr5 {
    margin-right: 5px !important;
}

.mr10 {
    margin-right: 10px !important;
}

.mr20 {
    margin-right: 20px !important;
}

.mr30 {
    margin-right: 30px !important;
}

.mr40 {
    margin-right: 40px;
}

.mr50 {
    margin-right: 50px;
}

.mr100 {
    margin-right: 100px;
}

.ml10 {
    margin-left: 10px !important;
}

.ml20 {
    margin-left: 20px !important;
}

.ml30 {
    margin-left: 30px !important;
}

.ml40 {
    margin-left: 40px;
}

.ml50 {
    margin-left: 50px;
}

.pd0 {
    padding: 0 !important;
}

.btn {
    color: #444;
    text-align: center;
    cursor: pointer;
    box-sizing: border-box;
    vertical-align: middle;
    -webkit-user-select: none;
    user-select: none;
    background: #f2f2f2;
    border: 1px solid #dbdbdb;
    border-radius: 4px;
    outline: 0;
    height: 40px;
    padding: 0 15px;
    font-family: pretendard;
    font-weight: 400;
    line-height: 40px;
    transition:
        color 0.15s ease-in-out,
        background-color 0.15s ease-in-out,
        border-color 0.15s ease-in-out,
        box-shadow 0.15s ease-in-out;
    display: inline-block;
}

.btn:hover {
    border: 1px solid #aaa;
}

.btn_agree {
    background: #46a5da;
    border: 0;
    outline: 0;
    font-weight: 500;
    color: #fff !important;
}

.btn_agree:hover {
    background: #41bad4;
    border: 0;
}

.btn_cancle {
    background: #de5454;
    border: 0;
    color: #fff !important;
}

.btn_cancle:hover {
    background: #ba3434;
    border: 0;
}

.btn_save {
    background: #467ee1;
    border: 0;
    font-family: pretendard;
    font-size: 15px;
    font-weight: 400;
    color: #fff !important;
}

.btn_save:hover {
    background: #083fa9;
    border: 0;
}

.custom-select {
    -o-transition: all 0.3s ease;
    color: #444;
    border: 1px solid silver;
    transition: all 0.3s;
}

select {
    width: auto;
    display: inline-block;
}

select.form-control {
    background-color: #fff;
    width: auto;
    padding: 0 8px;
}

#background {
    z-index: -1;
    background: --gcolor2;
    width: 100vw;
    height: 100vh;
    position: fixed;
}

#wrapmain {
    width: 100%;
    position: relative;
}

#wrapsub {
    width: 100%;
    transition: all 0.2s linear;
    position: relative;
}

.header {
    z-index: 99;
    width: 100%;
    height: 100px;
    transition: var(--transition1);
    background: 0 0;
    border-bottom: 1px solid #0000;
    margin: 0 auto;
    position: fixed;
    top: 0;
    left: 0;
}

.header.gnb-open,
.header.headerFix {
    transition: var(--transition1);
}

.header .inner_wrap {
    width: 100%;
    max-width: none;
    height: 100%;
    padding: 0 3rem;
    position: relative;
}

.header .inner_wrap svg.mlogo {
    box-sizing: content-box;
    padding: 0 0 0 2rem;
}

.header .inner_wrap svg.mlogo * {
    fill: #fff;
    stroke: #fff;
}

#wrapsub .header .inner_wrap svg.mlogo *,
.header.headerFix .inner_wrap svg.mlogo * {
    fill: #000;
    stroke: #000;
}

.header .inner_wrap .gnbs {
    padding: 0 7vw 0 0;
    transition: all 0.2s linear;
    position: relative;
}

.header .inner_wrap .top_side {
    margin: 0;
}

.header .inner_wrap .top_side .bro_btn {
    color: #fff;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
    transition: var(--transition1);
    background: #fff3;
    border-top: 0 solid #ddd;
    border-radius: 99px;
    margin-left: 16px;
    padding: 1.2rem 2.5rem;
    font-size: 1.4rem;
}

.header .inner_wrap .top_side .bro_btn span:first-child {
    margin-right: 1.5rem;
}

.header .inner_wrap .top_side .bro_btn:hover,
#wrapmain .header.gnb-open .inner_wrap .top_side .bro_btn,
#wrapmain .header.headerFix .inner_wrap .top_side .bro_btn,
#wrapsub .header .inner_wrap .top_side .bro_btn {
    background: var(--gcolor1);
}

#wrapmain .header.gnb-open .inner_wrap .top_side .bro_btn:hover,
#wrapmain .header.headerFix .inner_wrap .top_side .bro_btn:hover,
#wrapsub .header .inner_wrap .top_side .bro_btn:hover {
    background: var(--gcolor2);
}

.header .inner_wrap .gnbs ul.sub_depth0>li {
    padding: 0 4rem;
    transition: all 0.2s linear;
    display: flex;
    position: relative;
    align-items: center !important;
}

.header .inner_wrap .gnbs ul.sub_depth0>li>a {
    color: #fff;
    height: 100%;
    padding: 2rem 0;
    font-size: 1.8rem;
    font-weight: 500;
    transition: all 0.2s linear;
    position: relative;
}

.header.headerFix .inner_wrap .gnbs ul.sub_depth0>li>a {
    color: #000;
}

#wrapmain .header.gnb-open .inner_wrap .gnbs ul.sub_depth0>li>a,
#wrapmain .header.headerFix .inner_wrap .gnbs ul.sub_depth0>li>a,
#wrapsub .header .inner_wrap .gnbs ul.sub_depth0>li>a {
    color: #000;
    font-weight: 500;
}

.header .inner_wrap .top_side .navBtn3 {
    text-align: center;
    width: 32px;
    height: 32px;
    margin: auto;
    display: none;
    position: relative;
    overflow: hidden;
}

.header .inner_wrap .top_side .navBtn3 .bar {
    width: inherit;
    background: #fff;
    height: 2px;
    transition:
        transform 0.3s cubic-bezier(0.25, 0.1, 0, 1.34),
        top 0.3s,
        left 0.45s cubic-bezier(0.26, 0.54, 0, 1.39);
    display: block;
    position: absolute;
    top: 15px;
}

.header .inner_wrap .top_side .navBtn3:hover .bar {
    background: var(--gcolor1);
}

.header .inner_wrap .top_side .navBtn3 .bar:first-child {
    top: 6px;
}

.header .inner_wrap .top_side .navBtn3 .bar:nth-child(2) {
    left: 0;
}

.header .inner_wrap .top_side .navBtn3 .bar:nth-child(3) {
    top: 24px;
}

.header .inner_wrap .top_side .navBtn3:hover .bar:nth-child(2) {
    left: 20%;
}

#wrapmain .header.gnb-open .inner_wrap .top_side .navBtn3 .bar,
#wrapmain .header.headerFix .inner_wrap .top_side .navBtn3 .bar,
#wrapsub .header .inner_wrap .top_side .navBtn3 .bar {
    background: #191919;
}

.main_vis {
    width: 100%;
    height: 100vh;
    position: relative;
    overflow: hidden;
}

.main_vis_img {
    background-size: cover;
    width: 100%;
    height: 100%;
    animation: 3s cubic-bezier(0.1, 0.89, 0.33, 0.96) main_img_zoom;
}

@keyframes main_img_zoom {
    0% {
        transform: scale(1.3);
    }

    to {
        transform: scale(1);
    }
}

.main_text {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.main_text_wrap {
    max-width: var(--tb-width);
    box-sizing: border-box;
    width: 100%;
    margin: 0 auto;
    padding: 43rem 3rem 0;
    position: relative;
    overflow: hidden;
}

.main_t01 {
    letter-spacing: 0;
    color: #fff;
    text-shadow: 1px 1px 5px #0000001a;
    margin: 0 0 15px;
    font-size: min(8vw, 6.6rem);
    font-weight: 700;
    overflow: hidden;
}

.main_t02 {
    color: #fff;
    font-size: min(2.6vw, 3rem);
    font-weight: 400;
    overflow: hidden;
}

.letter {
    opacity: 0;
    transform-origin: 0;
    animation: 1.2s cubic-bezier(0.77, 0, 0.175, 1) 0.4s forwards reveal;
    display: block;
}

.letter2 {
    opacity: 0;
    transform-origin: 0;
    animation: 1.2s cubic-bezier(0.77, 0, 0.175, 1) 0.7s forwards reveal;
    display: block;
}

@keyframes reveal {
    0% {
        opacity: 0;
        transform: translateY(100%);
    }

    30% {
        opacity: 0;
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

section {
    width: 100%;
    margin: 0;
    padding: 0;
    display: block;
}

.main_outer {
    max-width: var(--c-width);
    clear: both;
    margin: 0 auto;
    padding: 45vh 5vw;
    display: block;
    position: relative;
}

.main_hd_vision {
    z-index: 1;
    width: 93%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.main_hd_vision span {
    color: #333;
    text-align: center;
    margin: 0 0 1.5rem;
    font-family: Times New Roman;
    font-size: min(2.8vw, 3rem);
    font-weight: 300;
    line-height: 1.2;
}

.main_hd_vision p {
    color: #222;
    text-align: center;
    margin: 0 0 1.5rem;
    font-size: min(5.4vw, 5.6rem);
    font-weight: 700;
    line-height: 1.2;
}

.content--sticky {
    --offset: 0px;
    width: 100%;
    top: 0;
    top: var(--offset);
    height: calc(100vh - var(--offset));
    position: sticky;
}

.parallax {
    height: 100vh;
    position: relative;
    overflow: hidden;
}

.bg-1 {
    border-radius: 50px 50px 0 0;
    margin: 0 auto;
    overflow: hidden;
}

.bg-2 {
    background: #e9e8e8;
    border-radius: 0;
    overflow: hidden;
}

.bg-3 {
    border-radius: 50px 50px 0 0;
    margin: 0 auto;
    overflow: hidden;
}

.bg-4 {
    background: #e9e8e8;
    border-radius: 0;
    overflow: hidden;
}

.bg-5 {
    border-radius: 50px 50px 0 0;
    margin: 0 auto;
    overflow: hidden;
}

.bg-6 {
    background: #e9e8e8;
    border-radius: 0;
    overflow: hidden;
}

.pcontent1,
.pcontent3,
.pcontent5 {
    height: calc(17vh - var(--offset));
    background-image: url(../img/title_bg_01.jpg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    width: 100%;
}

.pcontent3 {
    background-image: url(../img/title_bg_02.jpg);
}

.pcontent5 {
    background-image: url(../img/title_bg_03.jpg);
}

.content_01_title {
    letter-spacing: -10px;
    color: #fff;
    opacity: 0.4;
    width: 200vw;
    font-size: 230px;
    font-weight: 700;
    position: absolute;
    top: 0%;
    left: 80vw;
}

.pcontent3 .content_01_title,
.pcontent5 .content_01_title {
    left: 80vw;
}

.pcontent2,
.pcontent4,
.pcontent6 {
    padding-top: 190px;
}

.pcontent6 {
    height: 90vh;
}

.ml_left {
    width: 35vw;
    padding: 0 0 0 5vw;
}

.ml_left h3 {
    color: #999;
    font-size: min(2.7vw, 30px);
    font-weight: 600;
}

.ml_left h2 {
    color: #111;
    font-size: min(5vw, 58px);
    font-weight: 800;
}

.ml_left .ml_left_con1 {
    margin: 20px 0;
    font-size: min(1.5vw, 18px);
    font-weight: 400;
    line-height: 1.4;
}

.ml_left .ml_left_con2 {
    font-size: min(1.4vw, 16px);
    font-weight: 700;
}

.ml_right {
    z-index: 1;
    flex-wrap: wrap;
    width: 60.4vw;
    position: absolute;
    left: 53vw;
}

.ml_right img {
    border-radius: 10px;
    width: calc(70% - 1vw);
    max-width: 620px;
    margin: 10px;
}

.main_hd {
    text-align: center;
    margin: 0;
}

.main_hd p {
    color: #222;
    text-align: center;
    width: 100%;
    font-size: min(5.5vw, 6.6rem);
    font-weight: 800;
    display: block;
}

.main_hd span {
    color: #333;
    text-align: center;
    width: 100%;
    margin: 2rem 0 4rem;
    font-size: min(2.7vw, 3rem);
    font-weight: 400;
    display: block;
}

a.con_btn {
    color: #fff;
    background: #444;
    border-radius: 40px;
    padding: 7px 40px;
    font-size: min(2vw, 2rem);
    font-weight: 500;
}

a.con_btn:hover {
    background: #000;
}

a.contact_btn {
    font-size: min(1vw, 1.8rem);
}

.s_con {
    text-align: center;
    color: #222;
    width: 100%;
    font-size: 17px;
    font-weight: 400;
    position: relative;
}

.overv {
    background: #fafafa;
    height: 100vh;
    position: relative;
    overflow: hidden;
}

.overvwrap {
    z-index: 1;
    width: 93%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.overv h1 {
    color: #111;
    text-align: center;
    margin: 7rem 0 5rem;
    font-size: 13rem;
    font-weight: 700;
}

.overv .overv_t {
    color: #555;
    text-align: center;
    width: 50vw;
    margin: 0 auto;
    font-size: 17px;
    font-weight: 400;
    line-height: 27px;
}

.overv .overv_t h2 {
    color: #222;
    margin: 0 0 5px;
    padding: 0;
    font-size: 22px;
    font-weight: 600;
}

.h_scroll {
    overflow: hidden;
}

.scrollwrap {
    z-index: 9;
    height: 580vh;
    position: relative;
}

.scrollwrap.his {
    z-index: 9;
    height: 720vh;
    position: relative;
}

.scrollstatic {
    align-items: center;
    width: 100vw;
    height: 100vh;
    display: flex;
    overflow: hidden;
}

.scrollstatic.Fix {
    z-index: 19;
    position: fixed;
    top: 0;
    left: 0;
}

.h_scroll h1 {
    text-transform: none;
    text-align: center;
    flex-wrap: wrap;
    justify-content: center;
    width: 100vw;
    max-width: 100vw;
    font-size: 13rem;
    font-weight: 700;
    line-height: 1;
    display: flex;
    position: absolute;
}

.scroll-box {
    position: absolute;
}

.scroll-box.loaded {
    transform: translate(65vw);
}

.scroll-box img {
    border-radius: 10px;
}

.portfolio-item {
    width: 40vw;
    min-width: 768px;
    height: 25vw;
    min-height: 480px;
    margin: 1vw;
    position: relative;
    overflow: hidden;
}

.portfolio-item img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

#work .portfolio-item img {
    transition: filter 0.3s;
}

#work .portfolio-item img:hover {
    filter: brightness(70%);
}

.his {
    width: 100vw;
    height: 25vw;
}

.his h3 {
    text-transform: none;
    max-width: 100vw;
    font-size: 13vw;
    font-weight: 700;
    line-height: 1;
}

.portfolio-item .sub_tit {
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    position: absolute;
    bottom: 5px;
    left: 10px;
}

.his_wrap {
    box-sizing: border-box;
    background: #fff;
    border-radius: 10px;
    width: 100%;
    height: 100%;
    padding: 30px;
}

.his_hd {
    margin: 5px 0 30px;
    font-size: 33px;
    font-weight: 800;
}

.his_text {
    word-break: keep-all;
    text-align: left;
    padding: 10px 20px;
    font-size: 1.72rem;
    line-height: 1.4;
}

.his_img {
    width: initial;
    width: 10vw;
    margin-top: 30px;
}

.his_img img.naroo {
    width: 243px;
}

.his_img img.ntree {
    width: 125px;
}

.contdiv {
    height: 100vh;
    position: relative;
    overflow: hidden;
}

.conwrap {
    z-index: 1;
    width: 93%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.h_scroll h1 span {
    color: #777;
    margin-left: 10px;
    font-size: 1.6rem;
    font-weight: 300;
    line-height: 1;
}

.roll {
    text-align: left;
    color: #222;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512'%3E%3Cpath fill='%23999999' d='m228.59-.177 3.919-.039c1.404-.008 2.809-.016 4.214-.022l2.177-.013c3.817-.02 7.634-.035 11.452-.044 3.114-.009 6.227-.03 9.34-.062 41-.412 77.17 7.475 107.57 36.654 15.805 15.602 26.727 33.654 33.05 54.953l.699 2.301c5.414 19.554 5.445 39.612 5.392 59.73-.008 3.882 0 7.765.004 11.648.006 6.514-.001 13.029-.016 19.543-.016 7.468-.01 14.936.006 22.404.013 6.479.015 12.958.007 19.436-.004 3.84-.005 7.68.005 11.52.11 48.768-10.41 90.769-45.221 126.418-27.81 27.431-66.4 41.79-105.188 42.125-42.037-.404-80.462-16.973-109.84-46.866-16.29-17.113-27.644-38.085-34.41-60.634l-.71-2.288c-5.62-19.873-5.497-40.535-5.443-61.002.008-3.883 0-7.766-.004-11.65-.006-6.512.001-13.025.016-19.537.016-7.469.01-14.937-.006-22.406-.013-6.48-.015-12.96-.007-19.44.004-3.84.005-7.68-.005-11.521-.099-43.636 7.63-82.26 38.659-114.719C164.363 16.858 188.764 6.132 216 1l2.83-.534c3.294-.484 6.431-.614 9.76-.643ZM198.813 50.75l-2.027 1.048c-23.229 12.312-37.938 31.808-45.842 56.5-.924 3.625-1.198 6.63-1.205 10.358l-.021 3.937.007 4.268-.015 4.536c-.014 4.096-.014 8.191-.012 12.287.001 3.43-.003 6.862-.008 10.293-.011 8.108-.012 16.215-.006 24.323.006 8.327-.006 16.655-.027 24.983-.018 7.176-.024 14.351-.02 21.527.001 4.274-.001 8.548-.015 12.822-.013 4.03-.01 8.058.002 12.088.002 1.465 0 2.93-.009 4.396-.071 13.538 1.627 26.735 6.51 39.446l.905 2.393c9.842 24.991 29.515 45.85 53.97 57.045 29.653 11.928 60.14 12.483 89.731.025 23.415-10.581 43.635-30.56 53.268-54.507 1.005-2.7 1.955-5.413 2.876-8.143l.867-2.564c3.628-11.334 4.557-22.388 4.549-34.242a2648.73 2648.73 0 0 0 .044-15.575c0-2.378.005-4.756.01-7.133.019-8.33.027-16.66.026-24.99-.002-7.707.02-15.412.051-23.118.026-6.662.037-13.324.036-19.986 0-3.959.005-7.917.026-11.875.158-31.187-1.82-59.472-24.613-83.04-13.952-14.013-33.449-24.862-53.642-25.029l-2.003-.02c-2.178-.02-4.356-.031-6.535-.041l-2.273-.013c-3.978-.02-7.956-.035-11.933-.044-4.072-.011-8.142-.046-12.214-.085-3.161-.027-6.323-.035-9.485-.038a483.053 483.053 0 0 1-4.495-.035c-13.06-.154-24.795 2.052-36.478 8.203ZM204 429c2.96 2.042 5.66 4.333 8.375 6.688l4.52 3.82 2.162 1.845c2.3 1.95 4.641 3.839 7.006 5.71a725.628 725.628 0 0 1 8.886 7.167l2.146 1.756c1.402 1.147 2.8 2.296 4.198 3.448 6.662 5.875 6.662 5.875 14.695 9.093 3.887-.68 6.254-2.494 9.2-4.964l1.717-1.382c1.71-1.38 3.403-2.779 5.095-4.181l2.727-2.21A1463.62 1463.62 0 0 0 283 449c28.203-23.227 28.203-23.227 43-22 6.226 1.667 10.46 5.722 14 11 2.09 6.27 2.232 14.296-.563 20.375-4.348 7.187-11.07 12.019-17.616 17.083-4.876 3.773-9.64 7.667-14.384 11.604C285.63 505.072 285.63 505.072 276 509l-2.137.96c-12.168 4.63-27.486 3.312-39.414-1.292-9.91-4.792-18.145-11.906-26.41-19.055a244.14 244.14 0 0 0-7.851-6.488c-4.515-3.586-9.015-7.19-13.5-10.813l-2.068-1.657c-13.569-10.975-13.569-10.975-14.972-19.89-.27-7.15 1.699-12.962 6.102-18.577 7.674-8.239 18.69-8.002 28.25-3.188Z'/%3E%3Cpath fill='%23666666' d='M269.023 87.527c4.724 3.52 7.815 8.737 8.977 14.473.1 1.698.148 3.4.161 5.1l.03 3.076.012 3.308.017 3.423c.01 2.39.016 4.781.02 7.172.01 3.643.041 7.286.072 10.929.007 2.325.012 4.65.016 6.976l.038 3.284c-.022 7.526-1.116 12.925-4.991 19.482-5.044 4.779-10.483 6.495-17.375 6.75-5.638-.237-10.409-1.08-15-4.5-4.912-5.647-7.104-10.656-7.161-18.1l-.03-3.076-.012-3.308-.017-3.423c-.01-2.39-.016-4.781-.02-7.172-.01-3.643-.041-7.286-.072-10.929-.007-2.325-.012-4.65-.016-6.976l-.038-3.284c.022-7.526 1.116-12.925 4.991-19.482 8.16-7.731 20.467-8.76 30.398-3.723Z'/%3E%3C/svg%3E");
    background-size: cover;
    width: 26px;
    height: 26px;
    padding: 0;
    font-size: 15px;
    font-weight: 400;
    display: inline-block;
    position: relative;
}

#scroll {
    overflow: hidden;
}

.work-item-page {
    z-index: 10;
    text-align: left;
    position: relative;
}

.work-item-page-left {
    width: 35vw;
    position: fixed;
    left: 0;
}

.work-item-page h1 {
    justify-content: flex-start;
    width: 100%;
    margin-top: 12vh;
    padding: 0 2.5vw;
    font-size: 2.1rem;
    font-weight: 800;
}

.work-description {
    color: #444;
    padding: 1vw 2.5vw;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.4;
}

.work-item-page strong {
    font-size: 1.4rem;
    font-weight: 800;
}

.work-item-page .backbtn {
    margin-right: 10px;
}

.work-item-page .backbtn a {
    color: #fff;
    background: #444;
    border-radius: 40px;
    padding: 4px 20px;
    font-size: min(2vw, 1.4rem);
    font-weight: 500;
}

.work-item-page .backbtn a:hover,
.work-item-page .backbtn.launch a:hover {
    background: #000;
}

.work-item-page .backbtn.launch a {
    background: #444;
}

.work-photo {
    width: 60.4vw;
    padding-top: 10vh;
    padding-bottom: 6vw;
    position: relative;
    left: 37.2vw;
}

.work-photo img {
    border-radius: 10px;
    width: calc(100% - 1vw);
    height: auto;
    margin: 1vw;
    display: block;
}

.f_menu {
    z-index: 10000;
    isolation: isolate;
    width: 100%;
    height: 100%;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
}

.f_menu:after {
    content: "";
    z-index: -1;
    opacity: 1;
    background: #000;
    position: absolute;
    inset: 0;
}

.stop-scrolling {
    height: 100%;
    overflow: hidden;
}

.menu_area {
    width: 79%;
    margin: 50px auto 0;
    padding: 40px 0 0;
}

.menu_head {
    width: 100%;
}

.navBtn4 {
    text-align: center;
    width: 32px;
    height: 32px;
    margin: auto;
    display: block;
    position: relative;
}

.navBtn4 .bar {
    width: inherit;
    background: #fff;
    height: 2px;
    display: block;
    position: absolute;
    top: 1.2rem;
    left: 0;
}

.navBtn4:hover .bar {
    background: var(--gcolor2);
}

.navBtn4 .bar:first-child {
    transform: rotate(45deg);
}

.navBtn4 .bar:nth-child(2) {
    transform: rotate(-45deg);
}

.menu_lnb0 {
    width: 100%;
    padding: 0 40px 0 0;
}

.menu_lnb1 {
    width: 70%;
}

.fm_gnb {
    width: 100%;
    padding: 50px 0;
}

.menu_lnb0 {
    color: #fff;
    padding: 0;
    font-size: min(5.5vw, 40px);
    font-weight: 500;
}

.menu_lnb0 a {
    color: #fff;
}

.menu_lnb0.on {
    color: var(--gcolor1);
}

.menu_lnb1 li {
    margin-right: 50px;
}

.fm_dep01 {
    width: 100%;
    margin-bottom: 40px;
}

.dep02 a {
    color: #fff;
    font-size: 24px;
    font-weight: 300;
}

.dep02 a:hover {
    color: var(--gcolor2);
}

input,
select {
    color: #555;
    border: 1px solid silver;
    border-radius: 4px;
    height: 20px;
    padding: 9px 5px;
    font-size: 15px;
}

.table-basic {
    border-top: 2px solid #444;
    border-left: 1px solid #ddd;
    width: 100%;
    margin: 20px 0;
}

.table-basic th,
.table-basic td {
    vertical-align: middle;
    border-bottom: 1px solid #ddd;
    border-right: 1px solid #ddd;
    height: 41px;
    padding: 7px;
}

.table-basic thead th,
.table-basic tbody th {
    vertical-align: middle;
    background-color: #f4f4f4;
    font-size: 15px;
    font-weight: 500;
}

.table-basic td {
    text-align: left;
    background-color: #fff;
    padding: 10px 12px;
    font-size: 15px;
    line-height: 20px;
}

.table-basic td.text-c {
    text-align: center;
    background-color: #fff;
}

.uline {
    border-bottom: 1px solid #ccc;
}

.btn_wrap {
    flex-flow: row;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 20px 0 0;
    display: flex;
}

.table-basic2 {
    border-collapse: separate;
    border-spacing: 0;
    color: #555;
    border-top: 1px solid #e1e1e1;
    border-bottom: 1px solid #e1e1e1;
    border-left: 1px solid #e1e1e1;
    border-radius: 4px;
    width: 100%;
    font-size: 16px;
    display: table;
}

.table-basic2 th,
.table-basic2 td {
    vertical-align: middle;
    text-align: center;
    word-break: break-all;
    border-bottom: 1px solid #e4e4e4;
    border-right: 1px solid #e4e4e4;
    padding: 12px 10px;
}

.table-basic2 thead th,
.table-basic2 tbody th {
    vertical-align: middle;
    background-color: #f9fafc;
    font-size: 16px;
    font-weight: 600;
}

.table-basic2 th,
.table-basic2 thead th {
    padding: 15px 10px;
}

.table-basic2 td {
    background-color: #fff;
}

.table-basic2 td b {
    font-weight: 500;
}

.table-basic2 tr:last-child th,
.table-basic2 tbody tr:last-child th,
.table-basic2 tr:last-child td,
.table-basic2 tbody tr:last-child td {
    border-bottom: 0 solid #e4e4e4;
}

.certi_hd2 {
    margin: 0 0 2rem;
    font-size: 25px;
    font-weight: 700;
}

.flow1 {
    color: #fff;
    background: #219ebc;
    border: 1px solid #15839d;
    border-radius: 10px;
    flex-basis: 20%;
    height: 70px;
    font-size: 17px;
}

.flow2 {
    background: #f9fafc;
    border: 1px solid #ddd;
    border-radius: 10px;
    flex-basis: 60%;
    height: 70px;
    margin: 0 1rem;
    font-size: 17px;
}

.flow3 {
    color: #fff;
    background: #3f6b81;
    border: 1px solid #2a4a5a;
    border-radius: 10px;
    flex-basis: 20%;
    height: 70px;
    font-size: 17px;
}

.flow31 {
    flex-basis: 20%;
    height: 70px;
}

.dotvert {
    background: #ddd;
    border-radius: 6px;
    width: 6px;
    height: 6px;
    margin: 0.4rem;
}

.app-smart-popup {
    z-index: 999;
    border: 2px solid #555;
    margin: 10px;
    position: absolute;
    top: 0;
    left: 0;
}

.smart-popup-img {
    cursor: pointer;
    justify-content: center;
    align-items: center;
    height: 100%;
    display: flex !important;
}

.app-smart-popup .smart-popup-btns {
    border-top: 1px solid #919196;
    overflow: hidden;
}

.app-smart-popup .smart-popup-btns button.smart-popup-close {
    background-color: #fff;
    border-left: 1px solid #cdd2d7;
}

.app-smart-popup .smart-popup-btns button {
    float: left;
    cursor: pointer;
    color: #000;
    background-color: #fafafc;
    border: 0;
    outline: 0;
    width: 50%;
    height: 60px;
    font-family: sans-serif;
    font-size: 16px;
}

.b_write {
    box-sizing: border-box;
    border-spacing: 0;
    border-collapse: collapse;
    border: 0 solid #fff;
    width: 30vw;
    margin: 0 auto;
    display: block;
}

.b_write .w_input,
.b_write textarea.w_input {
    color: #444;
    background: 0 0;
    border: 0 solid #fff;
    border-bottom: 1px solid #888;
    border-radius: 0;
    width: 100%;
    height: 34px;
    margin-bottom: 20px;
    padding: 0;
    font-family: Pretendard;
    font-size: 17px;
    font-weight: 500;
    line-height: 27px;
}

.b_write textarea.w_input {
    margin-bottom: 40px;
}

@media (max-width: 950px) {
    .header .inner_wrap .gnbs {
        display: none;
    }

    .header .inner_wrap .top_side .navBtn3 {
        display: block;
    }

    .header .inner_wrap {
        padding: 0 3rem 0 0;
    }

    .main_text_wrap {
        text-align: center;
        word-break: keep-all;
        word-wrap: break-word;
        padding: 40vh 1rem 0;
    }

    .content_01_title {
        letter-spacing: -1px;
        opacity: 0.4;
        width: 200vw;
        font-size: 120px;
        font-weight: 700;
        top: 0%;
    }

    .pcontent1,
    .pcontent3,
    .pcontent5 {
        height: 9.5rem;
    }

    .main_t01 {
        font-size: 13vw;
    }

    .main_t02 {
        font-size: 5vw;
    }

    .main_hd_vision span {
        letter-spacing: -0.1vw;
        font-size: 4.5vw;
    }

    .main_hd_vision p {
        letter-spacing: -0.6vw;
        font-size: 9vw;
    }

    .content--sticky {
        position: relative;
    }

    .pcontent2,
    .pcontent4,
    .pcontent6 {
        box-sizing: border-box;
        padding: 7vh 3vw;
    }

    .main_con {
        flex-direction: column;
    }

    .ml_left {
        width: 100%;
        padding: 0;
        position: relative;
    }

    .ml_left h3 {
        font-size: 5vw;
    }

    .ml_left h2 {
        font-size: 12vw;
    }

    .ml_left .ml_left_con1 {
        width: 100%;
        font-size: 3.5vw;
        overflow: hidden;
    }

    .ml_left .ml_left_con2 {
        font-size: 2.6vw;
    }

    .ml_right {
        flex-wrap: wrap;
        width: 100%;
        margin-top: 20px;
        position: relative;
        left: 0;
        justify-content: space-between !important;
    }

    .bg-2 {
        overflow: visible;
    }

    .content--sticky.bg-2,
    .content--sticky.bg-4,
    .content--sticky.bg-6 {
        height: auto;
    }

    .ml_right img {
        box-sizing: border-box;
        border-radius: 10px;
        width: 49%;
        margin: 10px 0;
    }

    .main_hd p {
        font-size: 9.5vw;
    }

    .main_hd span {
        margin: 2rem 0 4rem;
        font-size: 4.5vw;
    }

    a.con_btn {
        font-size: 3.5vw;
    }

    .menu_lnb0 {
        font-size: 7vw;
    }

    .overv h1 {
        letter-spacing: -0.3vw;
        font-size: 17vw;
    }

    .overv .overv_t {
        width: 70vw;
    }

    .his h3 {
        font-size: 17vw;
    }

    .portfolio-item {
        width: 95vw;
        min-width: auto;
        height: 80vw;
        min-height: auto;
        margin: 2vw;
    }

    .his_wrap {
        padding: 4vw;
    }

    .his_hd {
        margin: 5px 0 4vw;
        font-size: 5.7vw;
    }

    .his_text {
        font-size: 2.6vw;
        line-height: 1.4;
    }

    .his_img {
        width: initial;
        width: 30%;
        margin-top: 20px;
    }

    .his_img img.naroo {
        width: 100%;
    }

    .his_img img.ntree {
        width: 60%;
    }

    .h_scroll h1 {
        font-size: 19vw;
    }

    .scrollwrap {
        height: 580vh;
    }

    .scrollwrap.his {
        height: 680vh;
    }

    .scroll-box.loaded {
        transform: translate(75vw);
    }

    #scroll {
        box-sizing: border-box;
        padding: 5vh 3vw 7vh;
        overflow: hidden;
    }

    .work-item-page-left {
        width: 100%;
        position: relative;
        left: 0;
    }

    .work-item-page h1 {
        margin-top: 12vh;
        padding: 0 2.5vw;
        font-size: 7vw;
    }

    .work-photo {
        width: 100%;
        padding-top: 10vh;
        padding-bottom: 6vw;
        position: relative;
        left: 0;
    }

    .work-description {
        margin-top: 10px;
        padding: 1vw 2.5vw;
        font-size: 4.2vw;
    }

    .work-item-page strong {
        font-size: 3.6vw;
    }

    .work-item-page .backbtn a {
        font-size: 3.5vw;
    }

    .work-photo img {
        margin-bottom: 2vw;
    }
}

@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-divide-y-reverse {
    syntax: "*";
    inherits: false;
    initial-value: 0;
}

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

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

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

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

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

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

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

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

@property --tw-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000;
}

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

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

@property --tw-inset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000;
}

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

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

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

@property --tw-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
    syntax: "*";
    inherits: false;
}

@property --tw-inset-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000;
}

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

@property --tw-ring-offset-width {
    syntax: "<length>";
    inherits: false;
    initial-value: 0;
}

@property --tw-ring-offset-color {
    syntax: "*";
    inherits: false;
    initial-value: #fff;
}

@property --tw-ring-offset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000;
}

@property --tw-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-scale-x {
    syntax: "*";
    inherits: false;
    initial-value: 1;
}

@property --tw-scale-y {
    syntax: "*";
    inherits: false;
    initial-value: 1;
}

@property --tw-scale-z {
    syntax: "*";
    inherits: false;
    initial-value: 1;
}