@import url("./reset.css?5");
header {
    position:absolute;
    top:0; 
    left:0;
    width:100%;
    height:auto;
    z-index:1000;
    background:var(--body-bg-color);
    padding:0;
}
header .header_inner {
    /*max-width:var(--body-max-width);*/
    margin:0 auto;
    padding:0 5em;
    display:flex;
    align-items:center;
    justify-content:space-between;
}
header .logo a {
    font-size:2em;
    font-weight:400;
    color:#fff;
    text-decoration:none;
    font-family : 'Bagerich', sans-serif;
}
header ul {
    display:flex;
    align-items:center;
    gap:2em;
    margin:0;
    padding:0;
}
header ul li a {
    display:block;
    font-size:1em;
    color:#fff;
    text-decoration:none;
    font-family : 'Bagerich', sans-serif;
    border-bottom:2px solid transparent;
    padding:1.25em 0.5em;
}
header ul li.active a,
header ul li a:hover{
    color:var(--body-highlights-color);
    border-bottom:2px solid var(--body-highlights-color);
}

section.main_section {
    position:relative;
    width:100%;
    margin:0 auto;
    padding:0;
    background:var(--body-bg-color);
    color:#fff;
    font-size:1em;
    text-align:center;
}
section.main_section h2 {
    font-size:1.5em;
    font-weight:400;
    margin-bottom:3.75em;
    color:var(--body-highlights-color);
    font-family : 'Bagerich', sans-serif;
    text-align:left;
}



section.main_section.hero {
    position:relative;
    width:100%;
    height:100vh;
    overflow:hidden;
    z-index:1;
}
section.main_section.hero .videos {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index:-2
}
section.main_section.hero .videos video
{
    width:100%;
    height:100%;

    object-fit: cover;

}
section.main_section.hero .videos .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /*background: rgba(22,31,44,0.75);*/
    background: rgba(0,0,0,0.5);
    z-index: 1;
}
section.main_section.hero .slogan .desc {
    position:absolute;
    top:50%;
    transform: translateY(-50%);
    width:100%;
    text-align:center;
    color:#fff;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:#fff;

    font-size:1em;
    font-weight:100;
    line-height:1.25;
}
section.main_section.hero .slogan .desc .top-wrap {
    display:flex;
    align-items:flex-end;
    height:6.25em;
}
section.main_section.hero .slogan .desc .text-wrap {
    display:flex;
    align-items:flex-start;
    height:6.25em;
    white-space:nowrap;
}
section.main_section.hero .slogan .desc1 .logo {
    font-size:4.5em;
    font-weight:400;
    letter-spacing:1px;
    font-family : 'Bagerich', sans-serif
}
section.main_section.hero .slogan .desc p {
    font-size:1.75em;
    margin-top:0.75em;
}

section.main_section.hero .slogan .desc1 strong {
    font-weight:800;
}

section.main_section.hero .slogan .desc2 strong {
    font-weight:600;
    font-size:2.5em;
}


section.main_section.sub_slogan {
    padding:8.75em 5em;
    border-top:1px solid rgba(255,255,255,0.1);
}
section.main_section.sub_slogan h2 {
    color:#fff;
    font-size:3.5em;
    line-height:1.8;
    font-weight:800;
    text-align:center;
    margin-bottom:0;
}

section.main_section.sub_slogan h2 strong {
    color:var(--body-highlights-color)
}

section.main_section.sub_slogan p {
    font-size:1.75em;
    line-height:1.6;
    margin-top:1em;
    color:rgba(195,195,195, 1);
    font-weight:500;

}

section.main_section.services_preview {
    font-size:1em;
    padding:8.75em 5em;
    text-align:left;
    border-top:1px solid rgba(255,255,255,0.1);
    border-bottom:1px solid rgba(255,255,255,0.1);
}

section.main_section.services_preview h2 {
    font-family: "Pretendard", sans-serif;
}

section.main_section.services_preview ul {
    display:flex;
    width:100%;
    gap:1.5em;
    flex-wrap:wrap;
    margin:0;
    padding:0;
    list-style:none;
    justify-content:center;
}
section.main_section.services_preview ul li {
    font-size:1em;
    width:calc(25% - 1.125em);
    border-radius:0.875em;
    border:1px solid rgba(255, 255, 255, 0.15);
    padding:3.5em 3em;
    background: linear-gradient(161.53deg, rgba(255, 255, 255, 0.05) 11.57%, rgba(67, 241, 200, 0.05) 76.36%);
    position:relative;
    z-index:1;
}
section.main_section.services_preview ul li:before {
    content:"";
    position:absolute;
    display:block;
    top:50%;
    left:0;
    transform:translate(calc(-50% - 0.75em), -50%);
    width:4.0625em;
    height:auto;
    aspect-ratio: 1/1;
    border-radius:100%;
    background:url('/images/icon_services_preview_arrow.png') no-repeat center/contain;
    z-index:2;
}
section.main_section.services_preview ul li:first-child:before{
    content:"";
    display:none;
}

section.main_section.services_preview ul li icon {
    display: block;
    width:100%;
    min-height:6.875em;
    height:auto;
    margin-bottom:11.5em;
}
section.main_section.services_preview ul li icon img {
    width:6.875em;
    height:auto;
}
section.main_section.services_preview ul li .title {
    font-size:1.25em;
    font-weight:600;
    line-height:2.9375em;
}
section.main_section.services_preview ul li .desc {
    font-weight: 400;
    font-size: 1.125em;
    line-height: 150%;
    color:rgba(129, 151, 167, 1);
}
section.main_section.services_preview ul li .desc strong {
    color:#fff;
    font-weight:500;
}


section.main_section.our_approach {
    text-align:left;
    padding:8.75em 5em;
}
section.main_section.our_approach .title {
    font-size:4em;
    font-weight:700;
    color:#fff;
}
section.main_section.our_approach ul {
    display:flex;
    margin-top:4.0625em;
    padding:0;
    list-style:none;
}

section.main_section.our_approach ul li {
    position:relative;
    margin-top:1.875em;
    z-index:1;
    width:25%;
    font-size:1em;
}
section.main_section.our_approach ul li:before {
    content:"01";
    position:absolute;
    display:block;
    top:calc(0px - 1.875em);
    left:0;
    height:auto;
    font-size:1.25em;
    font-weight:700;
    color:rgba(106, 127, 158, 1);
    z-index:2;
}
section.main_section.our_approach ul li:nth-child(2):before {
    content:"02";
}
section.main_section.our_approach ul li:nth-child(3):before {
    content:"03";
}
section.main_section.our_approach ul li:nth-child(4):before {
    content:"04";
}

section.main_section.our_approach ul li .gradation_wrap {
    width:100%;
    height:auto;
    border-left:2px dashed rgba(49, 64, 86, 1);
    padding: 0.9375em 0 ;
}
section.main_section.our_approach ul li .gradation_wrap .gradation {
    width:100%;
    height:auto;
    font-size:1.25em;
    line-height:2.5em;
    color:#000;
    font-weight:700;
    padding:0 1.5625em;
    border-top-left-radius:1.875em;
    border-bottom-left-radius:1.875em;
    background: linear-gradient(90deg, var(--body-highlights-color) 0%, rgba(67, 241, 200, 0) 93.84%);

}
section.main_section.our_approach ul li:nth-child(1) .gradation_wrap .gradation {margin:calc(3.125em*0) 0 calc(3.125em*3) 0;}
section.main_section.our_approach ul li:nth-child(2) .gradation_wrap .gradation {margin:calc(3.125em*1) 0 calc(3.125em*2) 0;}
section.main_section.our_approach ul li:nth-child(3) .gradation_wrap .gradation {margin:calc(3.125em*2) 0 calc(3.125em*1) 0;}
section.main_section.our_approach ul li:nth-child(4) .gradation_wrap .gradation {margin:calc(3.125em*3) 0 calc(3.125em*0) 0;}
section.main_section.our_approach ul li .desc {
    font-size:1em;
    margin-top:5em;
}
section.main_section.our_approach ul li .desc strong {
    font-size:1.75em;
    font-weight:700;
    color:#fff;

}
section.main_section.our_approach ul li .desc strong icon {
    display:inline-flex;
    color:#000;
    font-size:0.75em;
    padding:0.25em;
    width:1.5em;
    aspect-ratio:1/1;
    background:var(--body-highlights-color);
    border-radius:1.75em;
    line-height:1;
    align-items:center;
    justify-content:center;
}

section.main_section.our_approach ul li .desc .text {
    font-size: 1.375em;
    color: rgba(195,195,195, 1);
    font-weight: 500;
    line-height: 175%;
    margin-top: 1em;
    white-space: normal;
    padding-right: 1em;

    word-break: keep-all;
    overflow-wrap: anywhere
}

section.main_section.our_approach ul li .desc .text strong {
    font-size:1em;
    font-weight:700;
}

section.main_section.with_us {
    text-align:center;
    padding:140em 5em;
    background:rgba(233, 242, 255, 1)
}
section.main_section.with_us h2 {
    text-align:center;
    color:rgba(124, 154, 199, 1);
}
section.main_section.with_us p.title {
    font-size:4em;
    font-weight:700;
    color:rgba(44, 48, 53, 1);
    margin-top:1em;
}
section.main_section.with_us p.title2 {
    font-size:1.875em;
    font-weight:500;
    color:rgba(106, 127, 158, 1);
    margin-top:0.5em;
    line-height:1.6;
}

section.main_section.with_us ul.subctt {
    width:max-content;
    text-align:left;
    padding:0;
    margin:0 auto;
    color:rgba(44, 48, 53, 1);
}
section.main_section.with_us ul.subctt li {
    list-style: disc;
    font-size:1.875em;
    font-weight:400;
    color:rgba(124, 154, 199, 1);
}
section.main_section.with_us ul.subctt li strong {
    font-weight:700;
    color:rgba(44, 48, 53, 1);
}
section.main_section.with_us ul.subctt li.title {
    list-style: none;
    font-size:3.125em;
    color:rgba(44, 48, 53, 1);
    font-weight:700;
    margin-top:1.5em;
}

section.main_section.with_us ul.logos {
    width:100%;
    max-width:1200px;
    margin:50px auto 0 auto;
    display:flex;
    flex-wrap:wrap;
    align-content:center;
    justify-content:space-between;
}
section.main_section.with_us ul.logos li {
    width:18%;
    height:auto;
    padding:2em 3em;
    background:#fff;
    border-radius:0.9375em;
    box-shadow: 0 0.25em 2.5em 0 rgba(215, 229, 248, 0.72);
    margin:1.25em 0;
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0.8;
}
section.main_section.with_us ul.logos li img {
    width:auto;
    height:auto;
    max-width:100%;
    max-height:2.5em;
}

section.main_section.with_us_v2 {
    position:relative;
    background:url('../images/bg_with_us_v2.png') no-repeat center/cover;
    padding:8.75em 5em;
    text-align:left;
    z-index:1;
}
section.main_section.with_us_v2:after {
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(22, 31, 44, 0.85);
    z-index:2;
}
section.main_section.with_us_v2 .header {
    position:relative;
    z-index:3;
}
section.main_section.with_us_v2 .header strong {
    position:relative;
    font-weight: 700;
    font-size: 4em;
    line-height: 1.4;
    color:#fff;
}
section.main_section.with_us_v2 .header p {
    font-weight: 400;
    font-size: 1.625em;
    line-height: 1.74;
    color: rgba(156, 173, 198, 1);
    margin-top:1.5em;
}
section.main_section.with_us_v2 ul.per {
    position:relative;
    z-index:3;
    display:flex;
    justify-content:space-between;
    margin-top:9.6875em;
    padding:0;
    list-style:none;
    width:70%;
    min-width:1000px;
    margin-left:auto;
}
section.main_section.with_us_v2 ul.per li {
    position:relative;
    width:auto;
    text-align:center;
}

section.main_section.with_us_v2 ul.per li strong {
    display:block;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 7.8125em;
    line-height: 1.1;
    color: var(--body-highlights-color)
}
section.main_section.with_us_v2 ul.per li span {
    position:absolute;
    left:50%;
    bottom:-1em;
    transform:translateX(-50%);
    white-space:nowrap;
    font-weight: 500;
    font-size: 1.375em;
    line-height: 1.75;
    color:#fff;
}

section.main_section.with_us_v2_brand ul.bg {
    position:relative;
    display:flex;
    flex-wrap:wrap;
    gap:0;
    justify-content:flex-start;
    align-items: stretch;
    z-index:1;
}
section.main_section.with_us_v2_brand ul.bg  li {
    width:calc(100% / 7);
    height:auto;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(196,215,242, 1);
    padding:3em;
}
section.main_section.with_us_v2_brand ul.bg:after {
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0, 0.6);
    z-index:2;
}
section.main_section.with_us_v2_brand ul.bg  li:nth-child(odd) {
    background:rgba(233,242,255, 1);
}
section.main_section.with_us_v2_brand ul.bg  li img {
    width:auto;
    height:auto;
    max-width:80%;
    max-height:2.5em;
}
section.main_section.with_us_v2_brand .text {
    position:absolute;
    width:100%;
    height:100%;
    padding: 8.5em 5em;
    top:0;
    left:0;
    color:#fff;
    display:flex;
    flex-direction:column;
    align-items:center;
    z-index:3;
}
section.main_section.with_us_v2_brand .text h2 {
    text-align:center;
    margin-bottom:1em;
}
section.main_section.with_us_v2_brand .text .title {
    font-size:4em;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    text-shadow: 2px 2px 5px rgba(0,0,0,0.8);
}
section.main_section.with_us_v2_brand .text ul {
    margin-top:2.5em;
    padding:5em 0 0 0;
    margin-top:3.75em;
}
section.main_section.with_us_v2_brand .text ul li {
    text-align:left;
    font-weight: 500;
    font-size: 1.75em;
    line-height: 1.85;
    color:#fff;
    text-shadow: 2px 2px 5px rgba(0,0,0,0.8);
}
section.main_section.with_us_v2_brand .text ul li span {
    display:inline-block;
    padding:1.0625em;
    font-weight:700;
    background: linear-gradient(100.77deg, var(--body-highlights-color) 28.81%, #fdffb1 132.88%);
    border-radius:2em;
    margin-bottom:1.375em;
    line-height:1;
    color:#000;
    margin-right:0.5em;
    text-shadow:none;
}
section.main_section.with_us_v2_brand .text ul li:last-child span {
    margin-bottom:0;
}

section.main_section.contact2 {
    background:var(--body-bg-color);
    padding: 10em 6.25em;
}

section.main_section.contact2 .inner {
    position:relative;
    color:#fff;
    display:flex;
    text-align:center;
    justify-content:center;
    flex-direction:column;
    gap:3em;
}
section.main_section.contact2 .inner:before {
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background-color:rgba(30, 58, 138, 0.2);
    border-radius:9999px;
    filter:blur(6.25em);
}

section.main_section.contact2 .inner .t1 {
    font-size:4em;
    font-weight:700;
    color:#fff;
    line-height:1;
}

section.main_section.contact2 .inner p.t1 span {
    color:var(--body-highlights-color);
}
section.main_section.contact2 .inner p.t2 {
    font-size:1.25em;
    font-weight:500;
    color:rgb(209, 213, 219, 1);
    line-height:1.5;
    font-weight:300;
}

section.main_section.contact2 .inner a {
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:3em;
    margin:0 auto;
    background-image: linear-gradient(to right bottom, rgb(17, 24, 39), rgb(0, 0, 0), rgb(17, 24, 39));
    border-radius:1em;
    border:1px solid rgba(107, 114, 128, 0.7);
    box-shadow:rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.25) 0px 25px 50px -12px;
    color:#fff;
    padding:2.5em;
}
section.main_section.contact2 .inner a:hover {
    border-color: rgba(107, 114, 128, 1);
    box-shadow:0 0 5em 1em rgba(255,255,255,0.2);
    transform: scale(1.02);
}

section.main_section.contact2 .inner a div {
    width:auto;
    text-align:left;
}
section.main_section.contact2 .inner a div span {
    font-size:1em;
    color:#fff;
    opacity:0.5;
}
section.main_section.contact2 .inner a:hover div span {
    opacity:1;
}
section.main_section.contact2 .inner a div p {
    color:#fff;
    font-size:2.5em;
    font-weight:700;
    white-space:nowrap;
}

section.main_section.contact2 .inner a svg {
    fill:rgb(75,85,99);
    stroke:rgb(156,163,175);
    stroke-width:1.5px;
    width:2em;
    height:2em;
    transition: transform 240ms ease;
}
section.main_section.contact2 .inner a:hover svg {
    transform: translate(-5px, -5px);
}




section.main_section.contact {
    background:var(--body-bg-color) url('./images/contact_bg.png') no-repeat center/cover;
    padding: 10em 6.25em;
}
section.main_section.contact p.t1 {
    font-size:3em;
    font-weight:700;
    color:#fff;
    line-height:1.8;
}
section.main_section.contact p.t1 span {
    color:var(--body-highlights-color);
}
section.main_section.contact p.t2 {
    font-size:1.75em;
    font-weight:500;
    color:rgba(195,195,195, 1);
    line-height:1.8;
}
section.main_section.contact a {
    display:inline-flex;
    align-items:center;
    margin-top:1.875em;
    padding:0.75em 4.0625em;
    font-size:var(--size36);
    font-weight:700;
    color:#0A1B1B;
    background: linear-gradient(135deg, rgba(67,241,200,1) 0%, rgba(42,200,255,1) 100%);
    border-radius:18px;
    text-decoration:none;

    /* 3D 깊이감 */
    box-shadow:
        0 8px 18px rgba(0,0,0,0.08),       /* 부드러운 아래 그림자 */
        0 3px 6px rgba(0,0,0,0.05) inset,  /* 안쪽 살짝 움푹 */
        0 -3px 6px rgba(255,255,255,0.4) inset; /* 윗면 하이라이트 */

    /* 반사광(Glass highlight) */
    position: relative;
    overflow: hidden;
}

section.main_section.contact a span {
    font-size:0.75em;
    font-weight:500;
}

/* Hover */
section.main_section.contact a:hover {
    transform: translateY(-6px);
    background: linear-gradient(135deg, rgba(67,241,200,1) 0%, rgba(78,211,255,1) 100%);
    box-shadow:
        0 14px 28px rgba(0,0,0,0.12),    /* 더 깊은 그림자 */
        0 4px 8px rgba(0,0,0,0.06) inset,
        0 -4px 8px rgba(255,255,255,0.45) inset;
    filter: saturate(1.15);
    color:#030F0F;
}

/* 버튼 광택 애니메이션(반짝임 효과) */
section.main_section.contact a::before {
    content:"";
    position:absolute;
    top:0;
    left:-80%;
    width:50%;
    height:100%;
    background: linear-gradient(
        120deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.4) 50%,
        rgba(255,255,255,0) 100%
    );
    transform: skewX(-30deg);
    transition: 0.5s ease;
}

section.main_section.contact a:hover::before {
    left:130%;
}

/* Pressed 상태 */
section.main_section.contact a:active,
section.main_section.contact a:focus {
    transform: translateY(-2px) scale(0.98);
    box-shadow:
        0 6px 12px rgba(0,0,0,0.1),
        0 2px 4px rgba(0,0,0,0.05) inset,
        0 -2px 4px rgba(255,255,255,0.35) inset;
    outline:none;
}

/* 부드러운 애니메이션 */
section.main_section.contact a {
    transition:
        transform 240ms cubic-bezier(.2,.9,.2,1),
        box-shadow 240ms cubic-bezier(.2,.8,.2,1),
        background 240ms ease,
        filter 240ms ease;
    will-change: transform, box-shadow, filter;
}




section.main_section.contact a svg {
    width: 2em;
    height: 2em;
    cursor: pointer;
    transform-origin: center;
    animation: pulse 1.5s infinite ease-in-out;
    
}


/* 부드러운 펄스 + 회전 */
@keyframes pulse {
    0%   { transform: scale(1) rotate(0deg); }
    20%  { transform: scale(1.08) rotate(5deg); }
    40%  { transform: scale(1) rotate(0deg); }
    60%  { transform: scale(1.08) rotate(-5deg); }
    80%  { transform: scale(1) rotate(0deg); }
    100% { transform: scale(1) rotate(0deg); }
}

/* 그라데이션 자연스럽게 이동 */
#gradient stop:nth-child(1) {
    animation: colorPulse1 1.5s infinite alternate ease-in-out;
}
#gradient stop:nth-child(2) {
    animation: colorPulse2 1.5s infinite alternate ease-in-out;
}

@keyframes colorPulse1 {
    0%   { stop-color: rgba(67,92,116,1); }
    50%  { stop-color: rgba(67,92,116,0.7); }
    100% { stop-color: rgba(67,92,116,1); }
}
@keyframes colorPulse2 {
    0%   { stop-color: rgba(67,92,116,0.7); }
    50%  { stop-color: rgba(67,92,116,1); }
    100% { stop-color: rgba(67,92,116,0.7); }
}




#nCanvasRender {
    position:relative;
    width:100%;
    height:100vh;
    margin:0; 
    padding:0;
}

section.main_section.hero .slogan .desc {
    align-items:flex-start;
    padding:0 5em;
    text-align:left;
}


.sub_visual {
    position:relative;
    width:100%;
    height:auto;
    background-position:center center;
    background-size:cover;
    background-repeat:no-repeat;
    margin-top:5.3125em;
    z-index:1;
}
.sub_visual:after {
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.6);
    z-index:2;}

.sub_visual h1 {
    position:relative;
    font-family : 'Bagerich', sans-serif;
    font-weight: 400;
    font-size: 4.25em;
    line-height: 100%;
    letter-spacing: 0%;
    padding:3.75em 1em 1em 2em;
    color:#fff;
    z-index:3;
}

.titleEffect .inlineBlock {
    display: inline-block;
}
.animation-scaleUp {
    opacity:0;
}
.sub_page {
    position:relative;
    width:100%;
    margin:0 auto;
    height:auto;
    padding:10em 5em;
}

.sub_page h2 {
    font-weight: 700;
    font-size: 3em;
    line-height: 155%;
    letter-spacing: 0%;
}

.sub_page h2 span {
    color:var(--body-highlights-color);
}

.sub_page p.desc {
    font-weight: 500;
    font-size: 1.25em;
    line-height: 200%;
    color:rgba(155, 174, 201, 1);
    margin-top:1em;
    word-break: keep-all;
}

#about .inner {
    display:flex;
    gap:1em;
    align-items:flex-start;
    justify-content:flex-start;
}

#about .inner .left,
#about .inner .right {
    flex:1;
}

#about .inner .left p {
    font-weight: 500;
    font-size: 1.25em;
    line-height: 200%;
    letter-spacing: 0;
    color:rgba(155, 174, 201, 1);
    margin-top:1em;
}

#about .inner .right ul {
    border-left:1px dashed var(--body-highlights-color)
}

#about .inner .right ul li {
    position:relative;
    z-index:1;
    padding-left:2em;
    padding-bottom:5em;
}

#about .inner .right ul li:before {
    content:"";
    position:absolute;
    display:inline-block;
    width:1.25em;
    height:1.25em;
    left:0;
    top:0;
    transform:translate(-50%, -50%);
    border-radius:1.25em;
    background:var(--body-highlights-color);
    z-index:2;
}

#about .inner .right ul li span {
    display:block;
    font-family : 'Bagerich', sans-serif;
    font-weight: 400;
    font-size: 2.25em;
    line-height: 100%;
    letter-spacing: 0%;
    transform:translateY(-50%);
    color:var(--body-highlights-color);
}

#about .inner .right ul li p {
    font-weight: 600;
    font-size: 2.5em;
    line-height: 155%;
    letter-spacing: 0%;
}

#about .inner .right ul li img {
    width:auto;
    max-width:100%;
    height:auto;
    border-radius:1.25em;
    margin-top:2em;
}

#about .tail {
    margin-top:6.25em;
    position:relative;
}

#about .tail ul {
    display:flex;
    gap:3em;
    padding:0;
    margin:0;
    list-style:none;
    gap:6.25em;
}

#about .tail ul li {
    flex:1;
    background: linear-gradient(161.53deg, rgba(255, 255, 255, 0.05) 11.57%, rgba(0, 0, 0, 0.05) 76.36%);
    width:100%;
    height:auto;
    aspect-ratio: 1/1;
    border-radius:100vw;
    position:relative;
    display:flex;
    align-items:center;
    justify-content: center;
    flex-direction: column;
}

#about .tail ul li::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: inherit;

  background: linear-gradient(
    0deg,
    rgba(255, 255, 255, 0.15) -0.2%,
    rgba(26, 42, 53, 0.15) 93.47%
  );

  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

#about .tail ul li span {
    font-family : 'Bagerich', sans-serif;
    font-weight: 400;
    font-size: 1.75em;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: center;
    color:var(--body-highlights-color);
}

#about .tail ul li p.subtitle {
    font-weight: 600;
    font-size: 1.25em;
    line-height: 200%;
    letter-spacing: 0%;
    text-align: center;
    margin-bottom:1.25em;
    color:rgba(255, 255, 255, 0.52);
}

#about .tail ul li p.desc {
    font-weight: 500;
    font-size: 2em;
    line-height: 200%;
    letter-spacing: 0%;
    text-align: center;

}

#about .tail ul li p.desc:before {
    content:"";
    width:0.5em;
    height:0.5em;
    border-radius:0.5em;
    position:absolute;
    left:0;
    top:50%;
    transform:translate(-50%, -50%);
    background:var(--body-highlights-color);
}

#about .tail ul li::after {
    content:"";
    position:absolute;
    left:0;
    top:50%;
    transform:translate(-100%, -50%);
    background: linear-gradient(90deg, #161F2C 0%, #D9DD22 100%);
    width:6.25em;
    height:1px;

}

#about .tail ul li:first-child::after,
#about .tail ul li:first-child  p.desc:before {
    display:none;
}


#service .inner {
    margin:0 auto;
    padding:0;
    width:100%;
    position:relative;
    height:auto;
}

#service .inner ul {
    display:flex;
    padding:0;
    margin:0;
    list-style:none;
    flex-wrap:wrap;
    justify-content:center;
    gap:6em;
    margin-top:108px;
}
#service .inner ul li {
    position:relative;
    width:calc((100% - 12em) / 3);
    background: linear-gradient(161.53deg, rgba(255, 255, 255, 0.05) 11.57%, rgba(67, 241, 200, 0.05) 76.36%);
    padding:3.75em ;
    padding-bottom:13em;
    border-radius:1.875em;
    border:1px solid rgba(255, 255, 255, 0.15);
}

#service .inner ul li span {
    font-family : 'Bagerich', sans-serif;
    font-weight: 400;
    font-size: 1.5em;
    line-height: 100%;
    color:var(--body-highlights-color);
}

#service .inner ul li .title {
    font-weight: 700;
    font-size: 2.25em;
    line-height: 155%;
    color:#fff;
}

#service .inner ul li .desc {
    font-weight: 500;
    font-size: 1.75em;
    line-height: 150%;
    color:#fff;
    border-bottom:1px solid rgba(255, 255, 255, 0.15);
    padding-bottom:1em;
    margin-top:1em;
}

#service .inner ul li .list {
    position:relative;
    font-weight: 500;
    font-size: 1.75em;
    line-height: 150%;
    color:rgba(155, 174, 201, 1);
    margin-top:1em;
    padding-left:1.5em;
}

#service .inner ul li .list:before {
    content:"";
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
    width:0.75em;
    height:0.5em;
    border-left:3px solid var(--body-highlights-color);
    border-bottom:3px solid var(--body-highlights-color);
    transform: translateY(calc(-50% - 0.1em)) rotate(-45deg);
    transform-origin: center center;
}

#service .inner ul li a {
    position:absolute;
    bottom:0;
    left:0;
    width:calc(100% - 3.75em * 2);
    text-align:center;
    padding:1.5em 0;
    font-weight: 600;
    font-size: 1em;
    color:var(--body-highlights-color);
    text-decoration:none;
    padding:24px;
    background: linear-gradient(100.77deg, #D9DD22 28.81%, #92DD22 132.88%);
    border-radius: 13px;
    margin:3.75em;
}

#service .inner ul li a span {
    font-weight: 700;
    font-size: 2em;
    line-height: 1;
    color:#000;
}

#approach .approach_graphic {
    position:relative;
    width:100%;
    height:auto;
    padding:0;
    margin-top:12.5em;
}

#approach .approach_graphic ul {
    position:absolute;
    width:100%;
    height:100%;
    display:flex;
    justify-content:space-between;
    padding:0;
    z-index:2;
    border-left:1px solid rgba(255,255,255,0.2);
}

#approach .approach_graphic ul li {
    position:relative;
    width:calc(100% / 3);
    padding:3.125em;
    z-index:1;
    border-right:1px solid rgba(255,255,255,0.2);

}
#approach .approach_graphic ul li>* {
    opacity:0;
    transform:translateY(20px);
    transition:all 0.8s;
}
#approach .approach_graphic ul li.show>* {
    opacity:1;
    transform:translateY(0);
}

#approach .approach_graphic ul li span {
    font-family : 'Bagerich', sans-serif;
    font-weight: 400;
    font-size: 1.5em;
    line-height: 100%;
    color:var(--body-highlights-color);
}

#approach .approach_graphic ul li p.title {
    font-weight: 700;
    font-size: 2.25em;
    line-height: 1.25;
    padding:0.5em 0 0.35em 0;
    color:#fff;
}

#approach .approach_graphic ul li p.desc {
    font-weight: 500;
    font-size: 1.75em;
    color:#fff;
}

#approach .approach_graphic  svg {
    position:relative;
    width:100%;
    height:auto;
    z-index:1;
}
#approach .approach_graphic  svg .line1,
#approach .approach_graphic  svg .line2 {
    stroke-linecap: round;
}
#approach .approach_graphic  svg .circle {
    filter: drop-shadow(0 0 8px rgba(217,221,34,0.7));
}



#insight .list {
    width:100%;
    margin:0 auto;
    padding:0;
    margin-top:6.25em;
    position:relative;
    border-radius:30px;
    overflow:hidden;
}

#insight .list ul {
    display:flex;
    padding:0;
    margin:0 auto;
    gap:1.5em;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:stretch;
}
#insight .list ul li {
    position:relative;
    width:calc((100% - 50px) / 3);
    height:auto;
    color:rgba(22, 31, 44, 1);
    padding-bottom:5em;
}
#insight .list ul li a {
    position:relative;
    display:block;
    width:100%;
    height:auto;
}
#insight .list ul li .thumb {
    width:100%;
    height:auto;
    aspect-ratio: 550 / 470;
    overflow:hidden;
}
#insight .list ul li .thumb img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition: transform 0.5s ease;
}

#insight .list ul li .inner {
    position:relative;
    width:100%;
    height:auto;
    border-radius:1.5em;
    
    overflow:hidden;
}

#insight .list ul li .desc {
    position:relative;
    padding:1.75em;
    font-weight: 600;
    line-height: 1.25;
    background:var(--body-highlights-color);
}

#insight .list ul li .desc span.cate {
    background:rgba(22, 31, 44, 1);
    display:inline-block;
    padding:3px 8px;
    border-radius:8px;
    font-size:24px;
    line-height:1.55;
    color:var(--body-highlights-color);
}

#insight .list ul li .desc p.title {
    display:block;
    font-weight: 600;
    font-size: 2em;
    line-height: 1.25;
    padding:0.35em 0;
    min-height:3.2em;
}

#insight .list ul li .desc p.date {
    font-weight: 500;
    font-size: 1.375em;
    line-height: 1.5;
    color:rgba(114, 117, 1, 1);
}

#contact .inner {
    width:100%;
    max-width:870px;
    height:auto;
    margin:0 auto;
    padding:0;
    margin-top:6.25em;
}

#contact .inner .form_group{
    margin-bottom:2em;
    display:flex;
    flex-direction: column;
}

#contact .inner .form_group label,
#contact .inner .select_group label {
    display:none;
}

#contact .inner .form_group input,
#contact .inner .form_group select,
#contact .inner .form_group textarea {
    padding: 0.75em;
    border: 2px solid #5E646D;
    border-radius: 15px;
    font-size: 1.5em;
    transition: border-color 0.3s, box-shadow 0.3s;
    background-color:rgba(255,255,255,0.1);
    outline: none;
}
#contact .inner .form_group input:focus,
#contact .inner .form_group select:focus,
#contact .inner .form_group textarea:focus {
    box-shadow: 0 0 0 5px var(--body-highlights-color);
    border-color:transparent;
}

#contact .inner .form_group input::placeholder,
#contact .inner .form_group textarea::placeholder,
#contact .inner .form_group input::-webkit-input-placeholder,
#contact .inner .form_group textarea::-webkit-input-placeholder {
    color: rgb(89, 95, 105);
    opacity: 1;
}

#contact .inner .form_group select {
    appearance: none; /* 기본 화살표 제거 */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='rgb(89, 95, 105)'%3E%3Cpath d='M13.0001 16.1716L18.3641 10.8076L19.7783 12.2218L12.0001 20L4.22192 12.2218L5.63614 10.8076L11.0001 16.1716V4H13.0001V16.1716Z'%3E%3C/path%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 1em center;
    background-size:1em;
    background-color: rgba(255,255,255,0.1);
}

#contact .inner .form_group select option {
    background-color: #1b212b;
    color: #fff;
}

#contact .inner .form_group textarea {
    min-height: 7em;
}


#contact .inner button[type="submit"] {
    display:block;
    background: linear-gradient(100.77deg, #D9DD22 28.81%, #92DD22 132.88%);
    font-weight: 700;
    font-size: 44px;
    line-height: 1.5;
    color:#000;
    border-radius:15px;
    width:100%;
    margin:1.5em auto;
    padding:0.75em;
    margin-top:1.5em;
}

#contact .inner .online {
    display:flex;
    position:relative;
    align-items:stretch;
    justify-content: space-between;
    gap:24px;
}
#contact .inner .online > div {
    flex:1;
    background:rgba(255,255,255,0.1);
    border-radius:15px;
    padding:1.5em;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:1.5em;
}

#contact .inner .online .desc {
    flex:1;
}

#contact .inner .online .desc span {
font-weight: 400;
font-size: 22px;
line-height: 1.83;
color:#fff;
display:block;
}

#contact .inner .online .desc a {
    display:inline-block;
    width:auto;
    height:auto;
    font-weight: 700;
    font-size: 28px;
    line-height: 1.83;
    color:rgba(159, 176, 200, 1);
    background:rgba(34, 44, 58, 1);
    border-radius:8px;
    text-align:center;
    padding: 0.25em 0.75em;
}

.modal {
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.6);
    z-index:1000;
    align-items:center;
    justify-content: center;
}


.modal .inner {
    background:#fff;
    position:relative;
    width:90%;
    max-height:90vh;
    max-width:600px;
    height:auto;
    margin:0 auto;
    padding:1em;
    border:1px solid rgba(0,0,0,0.1);
    border-radius:1em;
    color:var(--body-bg-color);
}

.modal .inner p {
    font-size:1em;
    text-align:center;
    padding-bottom:0.5em;
}

.modal .inner img {
    width:auto;
    height:auto;
    max-height:calc(100% - 2em);
    max-width:100%;
    margin:0 auto;
    display:block;
    overflow:hidden;
}
.modal .close_btn {
    position:absolute;
    top:0;
    right:0;
    transform: translate(50%, -50%);
    width:2em;
    height:2em;
    border-radius:1em;
    background:#e5e5e5;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    text-indent:-99em;
    overflow:hidden;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M10.5859 12L2.79297 4.20706L4.20718 2.79285L12.0001 10.5857L19.793 2.79285L21.2072 4.20706L13.4143 12L21.2072 19.7928L19.793 21.2071L12.0001 13.4142L4.20718 21.2071L2.79297 19.7928L10.5859 12Z'%3E%3C/path%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:center center;
    background-size:50% 50%;
    box-shadow:0 0 5px 0 rgba(0,0,0,0.1);
}

footer {
    width:100%;
    height:auto;
    margin:0 auto;
    background:#000;
    border-top:1px solid rgba(255,255,255,0.1);
    box-shadow:0px 5px 20px 0px rgba(255 255 255 / 10%);
}

footer .inner {
    width:100%;
    max-width:var(--body-max-width);
    height:auto;
    margin:0 auto;
    padding:3em 1em;
}

footer .inner>a {
    font-family : 'Bagerich', sans-serif;
    font-weight:400;
    font-size:2.5em;
    line-height:100%;
    color:var(--body-highlights-color);
    text-decoration:none;
}

footer .inner .desc {
    font-weight: 400;
    font-size: 0.875em;
    line-height: 200%;
    color:rgb(255,255,255,0.2);
    text-align:center;
}
footer .inner .desc span {
    display:inline-block;
    letter-spacing:-0.05em;
}

#mobile_menu, 
#mobile_menu_btn,
.d-mobile {
    display:none;
}
.d-pc {
    display:inline;
}


.pagination {
    position:relative;
    width:100%;
    height:auto;;
    padding:2em;
}
.pagination nav[aria-label="Page navigation"] {
    display: flex;
    justify-content: center;
    margin: 0 auto;
}

.pagination nav[aria-label="Page navigation"] .pagination {
    display: flex;
    gap: 0.5em;
    list-style: none;
    padding: 0;
    margin: 0;
    width:auto;
    height:auto;
}
.pagination nav[aria-label="Page navigation"] .pagination li {
    display: inline-block;
}

.pagination nav[aria-label="Page navigation"] .pagination li a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 0.75em;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 6px;
    font-size: 15px;
    font-weight: 500;
    color: #555;
    text-decoration: none;
    transition: all 0.2s ease;
}

.pagination nav[aria-label="Page navigation"] .pagination li a:hover {
    background: rgba(255, 255, 255, 0.3);
    border-color: #bbb;
    color:#fff;
}

.pagination nav[aria-label="Page navigation"] .pagination li.active a {
    background: #222;
    color: #fff;
    border-color: #222;
    cursor: default;
}

@media (max-width: 768px) {

    .pagination nav[aria-label="Page navigation"] .pagination li a {
        min-width: 34px;
        height: 34px;
        font-size: 14px;
    }


    .d-mobile {
        display:inline;
    }
    .d-pc {
        display:none;
    }
    header {
        position:fixed;
        top:0;
        left:0;
        width:100%;
        border-bottom:1px solid rgba(255,255,255,0.1);
        z-index:5000;
    }
    header .header_inner {
        padding:1.5em;
        line-height:1;
    }
    header .header_inner > ul {
        display:none;
    }
    #mobile_menu {
        display:block;
        position:fixed;
        top:0;
        left:0;
        width:100vw;
        height:100vh;
        background:var(--body-bg-color);
        flex-direction:column;
        align-items:flex-start;
        padding:1.5em;
        z-index:4090;
        transition: 0.3s;
        transform:translateX(-100%);
    }
    #mobile_menu.show {
        transform:translateX(0);
    }
    #mobile_menu ul {
        position:absolute;
        display:flex;
        flex-direction:column;
        gap:2em;
        padding-top:4em;
        left:50%;
        top:50%;
        transform: translate(-50%, -50%);
    }
    #mobile_menu ul  li {
        font-family: 'Bagerich', sans-serif;
        font-size:10vw;
    }
    #mobile_menu ul  li a {
        white-space:nowrap;
    }

    
    /* 햄버거 버튼 */
    #mobile_menu_btn {
        display:block;
        padding:1.5em;
        width: 3em;
        height: 2em;
        position: relative;
        background: none;
        border: none;
        cursor: pointer;
    }

    #mobile_menu_btn span {
      position: absolute;
      width: 80%;
      left:10%;
      height: 3px;
      background: white;
      border-radius: 3px;
      transition: 0.3s;
    }

    #mobile_menu_btn span:nth-child(1) {
      top: 0.5em;
    }

    #mobile_menu_btn span:nth-child(2) {
      top: 50%;
        transform: translateY(-50%);
    }

    #mobile_menu_btn span:nth-child(3) {
      top: auto;
      bottom:0.5em;
    }

    /* 클릭 시 애니메이션 */
    #mobile_menu_btn.active span:nth-child(1) {
      top: 50%;
      transform: rotate(45deg);
    }

    #mobile_menu_btn.active span:nth-child(2) {
      opacity: 0;
    }

    #mobile_menu_btn.active span:nth-child(3) {
      top: 50%;
      transform: rotate(-45deg);
    }

    section.main_section.hero .slogan .desc {
        transform:translateY(0%);
        padding:0 1em;
        align-items:center;
        top:75%;
        transform:translateY(-50%)
    }

    section.main_section.hero .slogan .desc .top-wrap,
    section.main_section.hero .slogan .desc p {
        text-align:center;
    }

    section.main_section.sub_slogan {
        padding:10em 1em;
    }
    section.main_section.sub_slogan h2 {
        font-size:3em;
    }
    section.main_section.sub_slogan p {
        word-break:keep-all;
    }

    section.main_section.services_preview {
        padding:2em;
        padding-bottom:10em;
    }
    section.main_section h2 {
        margin-bottom:1em;
    }
    section.main_section.services_preview ul {
        flex-direction:column;
        gap:2em;
    }
    section.main_section.services_preview ul li {
        width:100%;
    }
    section.main_section.services_preview ul li:before {
        bottom:0;
        left:50%;
        top:auto;
        transform:translate(-50%, calc(100% - 0.75em)) rotate(90deg);
    }
    section.main_section.services_preview ul li:first-child:before{
        display:block;
    }
    section.main_section.services_preview ul li:last-child:before{
        display:none;
    }

    section.main_section.our_approach {
        padding:2em;
        padding-bottom:10em;
    }

    section.main_section.our_approach .title {
        font-size:2.7em;
        letter-spacing:-0.05em;
    }

    section.main_section.our_approach ul {
        flex-direction:column;
        gap:1em;
    }
    section.main_section.our_approach ul li {
        width:100%;
        border:0;
        background: linear-gradient(100.77deg, #D9DD22 28.81%, #92DD22 132.88%);
        padding:1.5em;
        border-radius:1em;
    }
    section.main_section.our_approach ul li:before {
        display:none;
    }
    section.main_section.our_approach ul li .gradation_wrap {
        border-left:0;
        padding:0;
    }
    section.main_section.our_approach ul li:nth-child(1) .gradation_wrap .gradation,
    section.main_section.our_approach ul li:nth-child(2) .gradation_wrap .gradation,
    section.main_section.our_approach ul li:nth-child(3) .gradation_wrap .gradation,
    section.main_section.our_approach ul li:nth-child(4) .gradation_wrap .gradation {
        display:none;
    }

    section.main_section.our_approach ul li .desc {
        margin-top:0;
    }

    section.main_section.our_approach ul li .desc strong icon {
        background:#000;
        color:var(--body-highlights-color);
        margin-right:0.5em;
    }
    section.main_section.our_approach ul li .desc strong {
        color:rgba(22, 31, 44, 1);
        display:flex;
        align-items:center;
        justify-content:flex-start;
    }
    section.main_section.our_approach ul li .desc .text {
        color:rgba(45, 45, 14, 1);
    }

    section.main_section.with_us_v2 {
        padding:2em;
        padding-bottom:10em;
    }
    section.main_section.with_us_v2 .header strong {
        font-size:2.7em;
    
    }
    section.main_section.with_us_v2 ul.per {
        flex-direction:column;
        min-width:auto;
        width:100%;
        margin:0;
        margin-top:5em;
        gap:5em;
    }

    section.main_section.with_us_v2 ul.per li span {
        margin-top:1.5em;
    }

    section.main_section.with_us_v2_brand .text {
        padding:0;
        padding-top:8em;
    }
    section.main_section.with_us_v2_brand .text .title {
        font-size:2.5em;
    }

    section.main_section.with_us_v2_brand .text ul {
        margin-top:0;
    }

    section.main_section.with_us_v2_brand .text ul li {
        text-align:center;
        padding-bottom:2em;
        font-size:1.5em;
    }
    section.main_section.with_us_v2_brand .text ul li span {
        display:inline-block;
        margin:0 auto;
        font-size:1em;
        width:auto;
        padding:0.5em 1em;
        margin-bottom:0.25em;
    }
    
    section.main_section.with_us_v2_brand ul.bg li {
        width:calc(100% / 3 );
    }
    section.main_section.with_us_v2_brand ul.bg li:nth-child(n+25) {
        display:none;
    }

    section.main_section.contact2 {
        padding:5em 2em;
    }

    section.main_section.contact2 .inner a {
        padding:1.5em;
    }
    section.main_section.contact2 .inner a div p  {
        font-size:1.75em;
    }


    .sub_visual {
        display:flex;
        align-items:center;
        justify-content:center;
        height:30vh;
    }
    .sub_visual h1 {
        padding:0;
    }

    .sub_page {
        padding:2em;
        padding-bottom:10em;
        padding-top:5em;
    }

    .sub_page h2 {
        font-size:2.5em;
        line-height:1.25;
        word-break: keep-all;
    }

    #about .inner {
        flex-direction:column;
    }

    #about .inner .left p {
        line-height:1.25;
    }

    #about .inner .right {
        padding-top:3em;
    }

    #about .tail ul {
        flex-direction:column;
        gap:6.25em;
    }
    #about .tail ul li {
        width:80%;
        margin:0 auto;
    }
    #about .tail ul li span {
        margin:0;
    }
    #about .tail ul li p.subtitle {
        margin:0;
    }
    #about .tail ul li p.desc {
        margin:0;
        line-height:1.25;
        font-size:1.5em;
    }

    #about .tail ul li::after {
        width:6.25em;
        height:1px;
        transform:translate(-50%, -3.125em) rotate(90deg);
        left:50%;
        top:0;
    }

    #about .tail ul li p.desc:before {
        left:50%;
        top:0;
    }

    #service .inner ul {
        flex-direction:column;
        gap:3em;
    }

    #service .inner ul li {
        width:100%;
    }

    #approach .approach_graphic {
        margin-top:0;
        padding-top:5em;
    }

    #approach .approach_graphic svg {
        display:none;
    }

    #approach .approach_graphic ul {
        position:relative;
        height:auto;
        flex-direction: column;
        border-left:0;
    }

    #approach .approach_graphic ul li {
        position:relative;
        width:100%;
        border-right:0;
        border-left: 2px solid rgba(212, 225, 87, 0.2);
        padding:0 2em;
        margin-top:2em;
        margin-bottom:3em;
    }
    #approach .approach_graphic ul li:before {
        content:"";
        position:absolute;
        left:calc(-0.5em - 1px);
        top:-0.5em;
        width:1em;
        height:1em;
        border-radius:1em;
        background: var(--body-highlights-color)
    }
    #approach .approach_graphic ul li::after {
        content: "";
        position: absolute;
        left: calc(-0.5em - 1px);
        top: -0.5em;
        width: 1em;
        height: 1em;
        border-radius: 50%;
        background: var(--body-highlights-color);
        z-index: 1;

        animation: pulse2 2.5s ease-out infinite;
    }
    @keyframes pulse2 {
        0% {
            transform: scale(1);
            opacity: 0.6;
        }
        70% {
            transform: scale(2.5);
            opacity: 0;
        }
        100% {
            transform: scale(2.5);
            opacity: 0;
        }
    }

    #approach .approach_graphic ul li>* {
        transform:translateY(0);
        opacity:1;
    }

    #approach .approach_graphic ul li span {
        position:absolute;
        top:0;
        left:1.3334em;
        display:block;
        transform:translateY(-50%);
    }
    #approach .approach_graphic ul li p.title {
        margin-top:1em;
        padding:0;
        font-size:2em;
    }
    #approach .approach_graphic ul li p.desc{
        margin-top:0.5em;
        padding-bottom:1em;
        font-size:1.25em;
        color:#a0a0a0;
    }

    #insight .list ul {
        gap:1.5em;
    }
    #insight .list ul li {
        width:100%;
    }

    #contact .inner button[type="submit"] {
        font-size:2em;
    }

    #contact .inner .online {
        flex-direction:column;
    }

    #contact .inner .online .desc a {
        font-size:1.5em;
    }

    .modal .inner p {
        font-size:1.5em;
    }
    footer .inner .desc span.d-pc {
        display:none;
    }

}