﻿@charset "utf-8";
:root { /* 트랜지션 */
	--transition: 0.15s ease-in;
	--q_trans: 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; /*큐빅*/

	/* 패딩,마진 */
	--sec_pd: 10rem;
	/* 모서리 곡률 */
	--br_xs:0.25rem;/*4px*/
	--br_s: 0.5rem;/*8px*/
	--br_m: 0.625rem;/*10px*/
	--br_r: 0.9375rem;/*15px*/
	--br_l: 1.25rem;/*20px*/
	--br_xl: 1.5625rem;/*25px*/
	--br_2xl: 1.875rem;/*30px*/
	--br_c: 9999px;

	--br_5: 0.3125rem;   /* 5px */
	--br_10: 0.625rem;   /* 10px */
	--br_15: 0.9375rem;  /* 15px */
	--br_20: 1.25rem;    /* 20px */
	--br_25: 1.5625rem;  /* 25px */
	--br_30: 1.875rem;   /* 30px */
	--br_35: 2.1875rem;  /* 35px */
	--br_40: 2.5rem;     /* 40px */
	/* 색상 숫자만 변수로 저장 (Ace Green 예시) */
    --point-rgb:51, 134, 255;
	/* 컬러 */
	--point: #002FA7;
	--dark_point: #002278;
	--darker_point: #00113C;
	--light_point:#3386ff;
	--sky:#b7d4ff;
	--lighter_point: #E7EEFF;

	--yellow: #ffffa3;
	--dark_yellow: #ffe30d;
	--purple: #960cff;
	--green: #17bd20;
	--lime:#a1e521;
	--white: #ffffff;
	--black: #181718;
    --red:#d91d1d;

	--gray_0: #000000;
    /* --gray_1: #111111;
    --gray_2: #222222;
    --gray_3: #333333;
    --gray_4: #444444;
    --gray_5: #555555;
    --gray_6: #666666;
    --gray_7: #777777;
    --gray_8: #888888;
    --gray_9: #999999;  */

	--gray_1: #1e252d; /* 아주 진한 톤 (.fc_gray_1) */
    --gray_2: #2c3642; /* 제목용 01 (.fc_gray_2) */
    --gray_3: #3a4755; /* 핵심 본문용 (.fc_gray_3) */
    --gray_4: #526071; /* 본문 강조용 (.fc_gray_4) */
    --gray_5: #728191; /* 본문 보조용 (.fc_gray_5) */
    --gray_6: #98a5b3; /* 일반 본문 기준점 (.fc_gray_6) */
    --gray_7: #b0bcc9; /* 비활성/보조 정보 (.fc_gray_7) */
    --gray_8: #ccd5df; /* 옅은 보조 텍스트 (.fc_gray_8) */
    --gray_9: #e1e7ed; /* 가이드 텍스트 (.fc_gray_9) */

	--gray_ee: #eeeeee;
	--gray_dd: #dddddd;
	--gray_aa: #aaaaaa;
    --gray_bb: #bbbbbb;
    --gray_cc: #cccccc;

	--gray_e0: #e0e0e0; /* 조금 더 선명한 회색 (경계선용으로 추천) */
    --gray_e1: #e1e1e1;
    --gray_e2: #e2e2e2;
    --gray_e3: #e3e3e3;
    --gray_e4: #e4e4e4;
    --gray_e5: #e5e5e5; /* 중간 정도의 안정적인 그레이 */
    --gray_e6: #e6e6e6;
    --gray_e7: #e7e7e7;
    --gray_e8: #e8e8e8;
    --gray_e9: #e9e9e9;

	--gray_f0: #f0f0f0; /* 가장 진한 그레이 (구분선/푸터 등) */
    --gray_f1: #f1f1f1;
    --gray_f2: #f2f2f2;
    --gray_f3: #f3f3f3;
    --gray_f4: #f4f4f4;
    --gray_f5: #f5f5f5; /* 중간 톤 (카드 배경 등) */
    --gray_f6: #f6f6f6;
    --gray_f7: #f7f7f7;
    --gray_f8: #f8f8f8;
    --gray_f9: #f9f9f9; /* 아주 연한 톤 (입력창 배경 등) */

    --gray_fa: #fafafa;
    --gray_fb: #fbfbfb;
    --gray_fc: #fcfcfc;
    --gray_fd: #fdfdfd;
    --gray_fe: #fefefe;
    --gray_ff: #ffffff; /* 완전 흰색 */

	--light_point_hover: rgba(179,226,226,0.7);
	--brt_point: #659BFF4d;
	--border_white: var(--white);
	--border_g: 1px solid #eeeeee;
	--opywhite: 1px solid rgba(255,255,255,	.15);
	--opyblack: 1px solid rgba(0,0,0,0.15);


	--gradientR: linear-gradient(to right,var(--point) 15%, var(--darker_point) 130%);
	--gradientRB: linear-gradient(to right bottom,var(--light_point),var(--point),var(--dark_point));



	/*폰트 16px */
	--base-font-size: 1rem;
	--base-px: 4px;

	--font-2xs: 0.625em;
	--font-xs: 0.75em;
	--font-sm: 0.875em;
	--font-md: 1em;/*기본*/
	--font-lg: 1.125em;
	--font-xl: 1.25em;
	--font-2xl: 1.5em;
	--font-3xl: 1.75em;
	--font-4xl: 2em;
	--font-5xl: 2.25em;
	--font-6xl: 2.5em;
	--font-7xl: 3em;
	--font-8xl: 3.5em;
	--font-9xl: 4em;
	--font-10xl: 4.5em;
	--font-11xl: 5em;
	--font-12xl: 6em;

}
.fullw{width: 100%;}
/*라인*/
hr {/*display:none;*/ width: 100%; height: 1px; background-color: rgba(212, 223, 236, 0.719); border : 0; margin-left : auto; margin-right : auto; padding: 0; margin-block-start: 0; margin-block-end: 0;}
.line{ width: 100%; height: 1pt; background-color: #bbbbbb; display: block; content: ""}

/*보더색상*/
.border_w { border: var(--opywhite); }
.border_b { border: var(--opyblack); }
.border_g { border: var(--border_g); }
.border_point { border:  1px solid var(--point); }
.border_light_point { border:  1px solid #3385ff3f; }

/*색상*/

.bg_gray_0 { background-color: var(--gray_0); }
.bg_gray_1 { background-color: var(--gray_1); }
.bg_gray_2 { background-color: var(--gray_2); }
.bg_gray_3 { background-color: var(--gray_3); }
.bg_gray_4 { background-color: var(--gray_4); }
.bg_gray_5 { background-color: var(--gray_5); }
.bg_gray_6 { background-color: var(--gray_6); }
.bg_gray_7 { background-color: var(--gray_7); }
.bg_gray_8 { background-color: var(--gray_8); }
.bg_gray_9 { background-color: var(--gray_9); }

.bg_gray_e0 { background-color: var(--gray_e0); }
.bg_gray_e1 { background-color: var(--gray_e1); }
.bg_gray_e2 { background-color: var(--gray_e2); }
.bg_gray_e3 { background-color: var(--gray_e3); }
.bg_gray_e4 { background-color: var(--gray_e4); }
.bg_gray_e5 { background-color: var(--gray_e5); }
.bg_gray_e6 { background-color: var(--gray_e6); }
.bg_gray_e7 { background-color: var(--gray_e7); }
.bg_gray_e8 { background-color: var(--gray_e8); }
.bg_gray_e9 { background-color: var(--gray_e9); }

.bg_gray_f0 { background-color: var(--gray_f0); }
.bg_gray_f1 { background-color: var(--gray_f1); }
.bg_gray_f2 { background-color: var(--gray_f2); }
.bg_gray_f3 { background-color: var(--gray_f3); } /* 기존 작업분 포함 */
.bg_gray_f4 { background-color: var(--gray_f4); }
.bg_gray_f5 { background-color: var(--gray_f5); }
.bg_gray_f6 { background-color: var(--gray_f6); }
.bg_gray_f7 { background-color: var(--gray_f7); }
.bg_gray_f8 { background-color: var(--gray_f8); }
.bg_gray_f9 { background-color: var(--gray_f9); }
.bg_white { background-color: var(--white); }
.bg_red { background-color: var(--red); }



.bg_lighter_point { background-color: var(--lighter_point);}
.bg_light_point { background-color: var(--light_point); }
.bg_dark_point { background-color: var(--dark_point); }
.bg_darker_point { background-color: var(--darker_point); }
.bg_point { background-color: var(--point); }

.bg_yellow { background-color: var(--yellow); }
.bg_dark_yellow { background-color: var(--dark_yellow); }
.bg_black { background-color: var(--black); }
.bg_none { background: none !important; }
.bg_lime { background-color: var(--lime); }



/*폰트색상*/
.fc_point { color: var(--point) !important; }
.fc_white { color: var(--white); }
.fc_navy { color: #2E2F5D; }
.fc_gray { color: #d0d0d0;}
.fc_red { color: #ff6363;}
.fc_light_point { color: var(--light_point) !important; }
.fc_lime { color: var(--lime); }
.marker_dark.fc_light_point { color: #53a6ff !important; }
.fc_lighter_point { color: var(--lighter_point) !important; }.fc_dark_point { color: var(--dark_point) !important; }
.fc_dark_point { color: var(--dark_point) !important; }
.fc_darker_point { color: var(--darker_point) !important; }

.fc_yellow { color: var(--yellow) !important; }
.fc_dark_yellow { color: var(--dark_yellow) !important; }
.fc_black { color: var(--black) !important; }

/* .fc_gray_0 { color: var(--gray_0); }
.fc_gray_1 { color: var(--gray_1); }
.fc_gray_2 { color: var(--gray_2); }
.fc_gray_3 { color: var(--gray_3); }
.fc_gray_4 { color: var(--gray_4); }
.fc_gray_5 { color: var(--gray_5); }
.fc_gray_6 { color: var(--gray_6); }
.fc_gray_7 { color: var(--gray_7); }
.fc_gray_8 { color: var(--gray_8); }
.fc_gray_9 { color: var(--gray_9); } */
.fc_gray_1 { color: #1e252d; } /* 거의 검정에 가까운 아주 진한 톤 */
.fc_gray_2 { color: #2c3642; } /* 제목용 01 */
.fc_gray_3 { color: #3a4755; } /* 제목/진한 본문용 (핵심 본문) */
.fc_gray_4 { color: #526071; } /* 일반 본문 강조 */
.fc_gray_5 { color: #728191; } /* 일반 본문 보조 */
.fc_gray_6 { color: #98a5b3; } /* 기준점: 일반 본문 / 아이콘 등 */
.fc_gray_7 { color: #b0bcc9; } /* 비활성 텍스트 / 보조 정보 */
.fc_gray_8 { color: #ccd5df; } /* 옅은 보조 텍스트 */
.fc_gray_9 { color: #e1e7ed; } /* 아주 연한 가이드 텍스트 */


.fc_gray_f0 { color: var(--gray_f0); }
.fc_gray_f1 { color: var(--gray_f1); }
.fc_gray_f2 { color: var(--gray_f2); }
.fc_gray_f3 { color: var(--gray_f3); }
.fc_gray_f4 { color: var(--gray_f4); }
.fc_gray_f5 { color: var(--gray_f5); }
.fc_gray_f6 { color: var(--gray_f6); }
.fc_gray_f7 { color: var(--gray_f7); }
.fc_gray_f8 { color: var(--gray_f8); }
.fc_gray_f9 { color: var(--gray_f9); }

.fc_gray_e0 { color: var(--gray_e0); }
.fc_gray_e1 { color: var(--gray_e1); }
.fc_gray_e2 { color: var(--gray_e2); }
.fc_gray_e3 { color: var(--gray_e3); }
.fc_gray_e4 { color: var(--gray_e4); }
.fc_gray_e5 { color: var(--gray_e5); }
.fc_gray_e6 { color: var(--gray_e6); }
.fc_gray_e7 { color: var(--gray_e7); }
.fc_gray_e8 { color: var(--gray_e8); }
.fc_gray_e9 { color: var(--gray_e9); }
:root {
    /* --- 1. 색상 변수 (Ace Green 브랜드 컬러 기반) --- */
    --shadow_color: rgba(0, 59, 105, 0.08);
    --shadow_color-strong: rgba(0, 59, 105, 0.15);
    --shadow_color-blue: rgba(0, 72, 196, 0.25);
    --shadow_color-black: rgba(0, 0, 0, 0.25);

    /* --- 2. Box Shadow (일반 박스/카드용) --- */
    --shadow_sm: 0 4px 11px rgba(59, 105, 0.05, 0.15);
    --shadow_md: 0 8px 16px var(--shadow_color), 0 2px 6px rgba(0, 59, 105, 0.05);
    --shadow_lg: 0 15px 30px var(--shadow_color-strong), 0 5px 15px var(--shadow_color); /* 기존 card_shade */
    --shadow_xl: 0 8px 30px rgba(0, 59, 105, 0.05), 0 20px 60px var(--shadow_color);

    --shadow_point: 0 0 1.5rem 0.25rem var(--shadow_color-blue);
    --shadow_bold: 0 0.25rem 0.8rem 0.15rem var(--shadow_color-black);
    --shadow_in: inset 0 2px 4px rgba(0, 0, 0, 0.06);

    /* --- 3. Filter Drop-Shadow (아이콘/SVG/이미지 실루엣용) --- */
    --drop-sm: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
    --drop-md: drop-shadow(0 4px 8px rgba(0, 59, 105, 0.12));
    --drop-lg: drop-shadow(0 10px 20px rgba(0, 59, 105, 0.15));
    --drop-blue: drop-shadow(0 4px 12px rgba(0, 72, 196, 0.3));

    --drop-std: drop-shadow(0 0.2rem 0.2rem rgba(0, 0, 0, 0.25));
    --drop-thin: drop-shadow(0 0.1rem 0.1rem rgba(0, 0, 0, 0.5));
    --drop-white: drop-shadow(0 0.15rem 0.2rem rgba(255, 255, 255, 0.9));
}

/* --- [A] Box Shadow Utility Classes --- */
.shadow { box-shadow: var(--shadow_sm); }               /* 기본/작은 요소 */
.shadow_mid { box-shadow: var(--shadow_md); }           /* 중간 (리뷰, 일반 카드) */
.shadow_big { box-shadow: var(--shadow_lg); }           /* 큰 (메인 섹션, 큰 카드) */
.shadow_biger { box-shadow: var(--shadow_xl); }         /* 매우 큰 (팝업 등) */
.shadow_blue { box-shadow: var(--shadow_point); }       /* 브랜드 포인트 강조 */
.shadow_strong { box-shadow: var(--shadow_bold); }       /* 강한 대비 효과 */
.shadow_inner { box-shadow: var(--shadow_in); }         /* 내부 그림자 */

/* --- [B] Filter Shadow Utility Classes (아이콘/이미지용) --- */
.filter_shd_sm { filter: var(--drop-sm); }              /* 작은 아이콘 */
.filter_shd_md { filter: var(--drop-md); }              /* 중간 아이콘 */
.filter_shd_lg { filter: var(--drop-lg); }              /* 큰 아이콘/이미지 */
.filter_shd_blue { filter: var(--drop-blue); }          /* 파란색 강조 아이콘 */

.filter_shadow { filter: var(--drop-std); }             /* 표준 이미지 그림자 */
.filter_shadow_s { filter: var(--drop-thin); }          /* 얇고 진한 그림자 */
.filter_shadow_white { filter: var(--drop-white); }     /* 화이트 그림자 (다크모드/이미지용) */

/* --- [C] 호버 효과 인터랙션 --- */
.ft_shd_hover { transition: all var(--q_trans); }
.ft_shd_hover:hover {
    /* [중요] 마이너스(-)를 붙여야 위로 올라갑니다! */
    transform: translateY(-10px) !important;

    /* 우리가 정의한 큰 그림자로 교체 */
    box-shadow: var(--shadow_lg) !important;

    border-color: var(--point);
}


/* 그라데이션배경 */
.bg_grd_point { background-image: linear-gradient(140deg,var(--white) -8%,var(--point) 100%); }
.bg_grdR { background-image: var(--gradientR); }
.bg_grdRB { background-image: var(--gradientRB); }



.night_grd{background: linear-gradient(to bottom, var(--dark_point), var(--point));}
.orange_grd{background: linear-gradient(70deg, #ff4e50, #ff5858, #f89b29);}
.green_grd{background: linear-gradient( 90deg, rgb(9, 255, 234) 0%, #ccff00 90%);}
.blue_grd{background: linear-gradient(135deg, #00A8F1 0%, #0065D1 70%);}
.mint_grd{background: linear-gradient(to bottom, hsla(138, 82%, 69%, 1)-1%, hsla(186, 100%, 50%, 1) 101%);}
.purple_grd{background: linear-gradient(90deg, hsla(307, 93%, 84%, 1) -1%, hsla(256, 96%, 44%, 1) 101%);}
.pb_grd{background: linear-gradient(297deg, #a115e7, var(--point) 101%);}
.pink_grd{background:  linear-gradient(90deg, hsla(335, 91%, 70%, 1) -1%, hsla(49, 89%, 61%, 1) 101%); }
.rainbow{background-image: linear-gradient( 109.6deg,  rgba(254,253,205,1) 11.2%, rgba(163,230,255,1) 91.1% ); }
.chick{background-image: radial-gradient( circle 314px at 95.1% 37.9%,  rgba(255,246,78,1) 1.4%, rgba(242,252,186,1) 100.7% );}
.blpink{background-image: linear-gradient( 114.2deg, rgba(252,251,224,1), rgba(245,212,212,1) 8.5%, rgba(255,180,239,1));}
.sky{background: linear-gradient(to bottom, var(--white) 30%, var(--lighter_point));}
.seassak{background-image: linear-gradient( 135deg,  rgba(252,255,222,1) 2.2%, #b6f1ab 99.3% );}
.sprout{background-image: linear-gradient(to bottom, #fcff99 30%, #c5ff08 120%);}
.baby{background-image: linear-gradient(180deg, #fff56a 11.5%,#ffb64f 91% );}
.puresky{background-color: #f8fafd; border: 1px solid #e9eff5;}
/*폰트 그라디언트 색상 -webkit-text-stroke: 1px rgba(255, 255, 255, 0.8);background-image: linear-gradient(to top, #c7ffd3 0%, #fbfff2 100%);*/
.fc_grd{background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
.black50{background-color: #00000080;}

/* 텍스트 마커 var(--lighter_point);*/
.marker_green {box-shadow: inset 0px -.5em 0 rgb(239 254 190);}
.marker_orange {box-shadow: inset 0px -.5em 0 #ffe0cd;}
.marker_blue {box-shadow: inset 0px -.5em 0 #006aff1e;}
.marker_sky {box-shadow: inset 0px -.5em 0 #3a7cff13}
.marker_purple {box-shadow: inset 0px -1.2em 0 #aa00ff2e;}
.marker_red {box-shadow: inset 0px -.3em 0 #b20a0a; padding: .1rem 0.3rem;}
.marker_dark {box-shadow: inset 0px -.5em 0 #00000023}
/* --- 기존 코드 유지 및 부족한 클래스 보완 --- */

/*디스플레이 기본*/
.CenCen { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; }
.d_flex { display: flex; }
.d_grid { display: grid; }
.d_inline_flex { display: inline-flex; }
.d_block { display: block; }
.d_inline_block { display: inline-block; } /* 추가: 박스 크기 자동 조절용 */

.d_none { display: none !important; }

/*방향 및 배치*/
.flex_wrap { flex-wrap: wrap; }
.flex_column { flex-direction: column; }
.flex_row { flex-direction: row; }
.flex_shrink0 { flex-shrink: 0; } /* 추가: 이미지 등 크기 고정용 */

.flex1 {
    flex: 1 1 0%;
    min-width: 0;
}

/*그리드 컬럼*/
.col4 { grid-template-columns: repeat(4, 1fr); }
.col3 { grid-template-columns: repeat(3, 1fr); }
.col2 { grid-template-columns: repeat(2, 1fr); }
.col1 { grid-template-columns: repeat(1, 1fr); } /* 추가: 모바일 대응용 */

/*수평 정렬 (Justify Content)*/
.jc_cen { justify-content: center; }
.jc_sb { justify-content: space-between; }
.jc_sa { justify-content: space-around; }
.jc_end { justify-content: flex-end; } /* jc_end -> flex-end 표준화 */
.jc_str { justify-content: flex-start; } /* 추가: 좌측 정렬 */

/*수직 정렬 (Align Items)*/
.ai_cen { align-items: center; }
.ai_str { align-items: flex-start; } /* 시작 지점 정렬 */
.ai_st { align-items: stretch; }
.ai_end { align-items: flex-end; }

/* 배경 및 기타 유틸리티 (철학 섹션 박스 구성용) */
.row_reverse { flex-direction: row-reverse; }

.overflow_h{overflow: hidden;}
/* 위치 기준점 설정을 위한 부모 클래스 */
/* Position Basis */
.pos_rel { position: relative !important; }
.pos_abt { position: absolute !important; }

/* Direction & Spacing (1 = 4px) */
/* Top */
.top0 { top: 0 !important; }
.top1 { top: 4px !important; }
.top2 { top: 8px !important; }
.top3 { top: 12px !important; }
.top4 { top: 16px !important; }
.top5 { top: 20px !important; }
.top10 { top: 40px !important; }

/* Bottom */
.bot0 { bottom: 0 !important; }
.bot1 { bottom: 4px !important; }
.bot2 { bottom: 8px !important; }
.bot5 { bottom: 20px !important; }
.bot10 { bottom: 40px !important; }

/* Left */
.left0 { left: 0 !important; }
.left1 { left: 4px !important; }
.left2 { left: 8px !important; }
.left3 { left: 12px !important; }
.left5 { left: 20px !important; }

/* Right */
.right0 { right: 0 !important; }
.right1 { right: 4px !important; }
.right2 { right: 8px !important; }
.right5 { right: 20px !important; }

/* Alignment Utilities */
.pos_center {
    position: absolute !important;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.pos_center_x {
    position: absolute !important;
    left: 50%;
    transform: translateX(-50%);
}

.pos_center_y {
    position: absolute !important;
    top: 50%;
    transform: translateY(-50%);
}

/* Layering */
.z_index1 { z-index: 1 !important; }
.z_index10 { z-index: 10 !important; }


.ta_l { text-align: left; }
.ta_cen { text-align: center; }
.ta_r { text-align: right; }
.italic{ font-style: italic;}
/* 보더 곡률(Radius) */
.br_xs { border-radius: var(--br_xs); }
.br_s { border-radius: var(--br_s); }
.br_r { border-radius: var(--br_r); }
.br_m { border-radius: var(--br_m); }
.br_l { border-radius: var(--br_l); }
.br_xl { border-radius: var(--br_xl); }
.br_2xl { border-radius: var(--br_2xl); }
.br_c{border-radius:var(--br_c); }
.br_5 { border-radius: var(--br_5); }
.br_10 { border-radius: var(--br_10); }
.br_15 { border-radius: var(--br_15); }
.br_20 { border-radius: var(--br_20); }
.br_25 { border-radius: var(--br_25); }
.br_30 { border-radius: var(--br_30); }
.br_35 { border-radius: var(--br_35); }
.br_40 { border-radius: var(--br_40); }

.btn_pd { padding: 0.65rem 1rem 0.5rem; line-height:  1}

.text_2xs { font-size: var(--font-2xs);}
.text_xs { font-size: var(--font-xs);}
.text_sm { font-size: var(--font-sm);}
.text_md { font-size: var(--font-md);}/*기본*/
.text_lg { font-size: var(--font-lg);}
.text_xl { font-size: var(--font-xl);}
.text_2xl { font-size: var(--font-2xl);}
.text_3xl { font-size: var(--font-3xl);}
.text_4xl { font-size: var(--font-4xl);}
.text_5xl { font-size: var(--font-5xl);}
.text_6xl { font-size: var(--font-6xl);}
.text_7xl { font-size: var(--font-7xl);}
.text_8xl { font-size: var(--font-8xl);}
.text_9xl { font-size: var(--font-9xl);}
.text_10xl { font-size: var(--font-10xl);}
.text_11xl { font-size: var(--font-11xl);}
.text_12xl { font-size: var(--font-12xl);}


/*텍스트 행간 높이*/
.lh_1_0{line-height: 1}
.lh_1_1{line-height: 1.1}
.lh_1_2{line-height: 1.2}
.lh_1_3{line-height: 1.3}
.lh_1_4{line-height: 1.4}
.lh_1_5{line-height: 1.5}
.lh_1_6{line-height: 1.6}
.lh_1_7{line-height: 1.7}
.lh_1_8{line-height: 1.8}

/*투명도*/
.opc_01 { opacity: 0.1}
.opc_02 { opacity: 0.2}
.opc_03 { opacity: 0.3}
.opc_04 { opacity: 0.4}
.opc_05 { opacity: 0.5}
.opc_06 { opacity: 0.6}
.opc_07 { opacity: 0.7}
.opc_08 { opacity: 0.8}
.opc_09 { opacity: 0.9}

/*폰트두께*/
.thin { font-weight: 100}
.light { font-weight: 200}
.extralight { font-weight: 300}
.regular { font-weight: 400}
.medium { font-weight: 500}
.semibold { font-weight: 600}
.bold { font-weight: 700}
.extrabold { font-weight: 800}
.black { font-weight: 900}

/* 폰트사이즈 16px기준 */
.fs_12 { font-size: 0.75rem; }
.fs_13 { font-size: 0.8125rem; }
.fs_14 { font-size: 0.875rem; }
.fs_15 { font-size: 0.9375rem; }
.fs_16 { font-size: var(--base-font-size); }
.fs_17 { font-size: 1.0625rem; }
.fs_18 { font-size: 1.125rem; }
.fs_19 { font-size: 1.1875rem; }
.fs_20 { font-size: 1.25rem; }
.fs_21 { font-size: 1.3125rem; }
.fs_22 { font-size: 1.375rem; }
.fs_23 { font-size: 1.4375rem; }
.fs_24 { font-size: 1.5rem; }
.fs_25 { font-size: 1.5625rem; }
.fs_26 { font-size: 1.625rem; }
.fs_27 { font-size: 1.6875rem; }
.fs_28 { font-size: 1.75rem; }
.fs_29 { font-size: 1.8125rem; }
.fs_30 { font-size: 1.875rem; }
.fs_31 { font-size: 1.9375rem; }
.fs_32 { font-size: 2rem; }
.fs_33 { font-size: 2.0625rem; }
.fs_34 { font-size: 2.125rem; }
.fs_35 { font-size: 2.1875rem; }
.fs_36 { font-size: 2.25rem; }
.fs_37 { font-size: 2.3125rem; }
.fs_38 { font-size: 2.375rem; }
.fs_39 { font-size: 2.4375rem; }
.fs_40 { font-size: 2.5rem; }
.fs_41 { font-size: 2.5625rem; }
.fs_42 { font-size: 2.625rem; }
.fs_43 { font-size: 2.6875rem; }
.fs_44 { font-size: 2.75rem; }
.fs_45 { font-size: 2.8125rem; }
.fs_46 { font-size: 2.875rem; }
.fs_47 { font-size: 2.9375rem; }
.fs_48 { font-size: 3rem; }
.fs_49 { font-size: 3.0625rem; }
.fs_50 { font-size: 3.125rem; }
.fs_51 { font-size: 3.1875rem; }
.fs_52 { font-size: 3.25rem; }
.fs_53 { font-size: 3.3125rem; }
.fs_54 { font-size: 3.375rem; }
.fs_55 { font-size: 3.4375rem; }
.fs_56 { font-size: 3.5rem; }
.fs_57 { font-size: 3.5625rem; }
.fs_58 { font-size: 3.625rem; }
.fs_59 { font-size: 3.6875rem; }
.fs_60 { font-size: 3.75rem; }
.fs_61 { font-size: 3.8125rem; }
.fs_62 { font-size: 3.875rem; }
.fs_63 { font-size: 3.9375rem; }
.fs_64 { font-size: 4rem; }
.fs_65 { font-size: 4.0625rem; }
.fs_66 { font-size: 4.125rem; }
.fs_67 { font-size: 4.1875rem; }
.fs_68 { font-size: 4.25rem; }
.fs_69 { font-size: 4.3125rem; }
.fs_70 { font-size: 4.375rem; }
.fs_80  { font-size: 5rem; }.fs_90  { font-size: 5.625rem; } .fs_100 { font-size: 6.25rem; } .fs_110 { font-size: 6.875rem; } .fs_120 { font-size: 7.5rem; }

/*간격마진패딩*/
.gap1 { gap: calc(var(--base-px) * 1); }
.gap2 { gap: calc(var(--base-px) * 2); }
.gap3 { gap: calc(var(--base-px) * 3); }
.gap4 { gap: calc(var(--base-px) * 4); }
.gap5 { gap: calc(var(--base-px) * 5); }
.gap6 { gap: calc(var(--base-px) * 6); }
.gap7 { gap: calc(var(--base-px) * 7); }
.gap8 { gap: calc(var(--base-px) * 8); }
.gap9 { gap: calc(var(--base-px) * 9); }
.gap10 { gap: calc(var(--base-px) * 10); }
.gap11 { gap: calc(var(--base-px) * 11); }
.gap12 { gap: calc(var(--base-px) * 12); }
.gap13 { gap: calc(var(--base-px) * 13); }
.gap14 { gap: calc(var(--base-px) * 14); }
.gap15 { gap: calc(var(--base-px) * 15); }
.gap16 { gap: calc(var(--base-px) * 16); }
.gap17 { gap: calc(var(--base-px) * 17); }
.gap18 { gap: calc(var(--base-px) * 18); }
.gap19 { gap: calc(var(--base-px) * 19); }
.gap20 { gap: calc(var(--base-px) * 20); }

/* 중앙 정렬 및 여백 */
.ml_auto { margin-left: auto !important; }
.mr_auto { margin-right: auto !important; }
.m_auto { margin: auto !important; }
.mx_auto{margin-left: auto!important; margin-right:auto!important;}

/*1px마진*/
.mt1px{margin-top: 1px;}.mb1px{margin-bottom: 1px;}
.mr1px{margin-right: 1px;}.ml1px{margin-left: 1px;}

/*2px마진*/
.mt2px{margin-top: 2px;}.mb2px{margin-bottom: 2px;}
.mr2px{margin-right: 2px;}.ml2px{margin-left: 2px;}
/* 1배 */
.mt1 { margin-top: calc(var(--base-px) * 1); }
.mb1 { margin-bottom: calc(var(--base-px) * 1); }
.mr1 { margin-right: calc(var(--base-px) * 1); }
.ml1 { margin-left: calc(var(--base-px) * 1); }
.mx1 { margin-left: calc(var(--base-px) * 1); margin-right: calc(var(--base-px) * 1); }
.my1 { margin-top: calc(var(--base-px) * 1); margin-bottom: calc(var(--base-px) * 1); }
.m1 { margin:  calc(var(--base-px) * 1); }
/* 2배 */
.mt2 { margin-top: calc(var(--base-px) * 2); }
.mb2 { margin-bottom: calc(var(--base-px) * 2); }
.mr2 { margin-right: calc(var(--base-px) * 2); }
.ml2 { margin-left: calc(var(--base-px) * 2); }
.mx2 { margin-left: calc(var(--base-px) * 2); margin-right: calc(var(--base-px) * 2); }
.my2 { margin-top: calc(var(--base-px) * 2); margin-bottom: calc(var(--base-px) * 2); }
.m2 { margin:  calc(var(--base-px) * 2); }
/* 3배 */
.mt3 { margin-top: calc(var(--base-px) * 3); }
.mb3 { margin-bottom: calc(var(--base-px) * 3); }
.mr3 { margin-right: calc(var(--base-px) * 3); }
.ml3 { margin-left: calc(var(--base-px) * 3); }
.mx3 { margin-left: calc(var(--base-px) * 3); margin-right: calc(var(--base-px) * 3); }
.my3 { margin-top: calc(var(--base-px) * 3); margin-bottom: calc(var(--base-px) * 3); }
.m3 { margin:  calc(var(--base-px) * 3); }
/* 4배 */
.mt4 { margin-top: calc(var(--base-px) * 4); }
.mb4 { margin-bottom: calc(var(--base-px) * 4); }
.mr4 { margin-right: calc(var(--base-px) * 4); }
.ml4 { margin-left: calc(var(--base-px) * 4); }
.mx4 { margin-left: calc(var(--base-px) * 4); margin-right: calc(var(--base-px) * 4); }
.my4 { margin-top: calc(var(--base-px) * 4); margin-bottom: calc(var(--base-px) * 4); }
.m4 { margin:  calc(var(--base-px) * 4); }
/* 5배 */
.mt5 { margin-top: calc(var(--base-px) * 5); }
.mb5 { margin-bottom: calc(var(--base-px) * 5); }
.mr5 { margin-right: calc(var(--base-px) * 5); }
.ml5 { margin-left: calc(var(--base-px) * 5); }
.mx5 { margin-left: calc(var(--base-px) * 5); margin-right: calc(var(--base-px) * 5); }
.my5 { margin-top: calc(var(--base-px) * 5); margin-bottom: calc(var(--base-px) * 5); }
.m5 { margin:  calc(var(--base-px) * 5); }
/* 6배 */
.mt6 { margin-top: calc(var(--base-px) * 6); }
.mb6 { margin-bottom: calc(var(--base-px) * 6); }
.mr6 { margin-right: calc(var(--base-px) * 6); }
.ml6 { margin-left: calc(var(--base-px) * 6); }
.mx6 { margin-left: calc(var(--base-px) * 6); margin-right: calc(var(--base-px) * 6); }
.my6 { margin-top: calc(var(--base-px) * 6); margin-bottom: calc(var(--base-px) * 6); }
.m6 { margin:  calc(var(--base-px) * 6); }
/* 7배 */
.mt7 { margin-top: calc(var(--base-px) * 7); }
.mb7 { margin-bottom: calc(var(--base-px) * 7); }
.mr7 { margin-right: calc(var(--base-px) * 7); }
.ml7 { margin-left: calc(var(--base-px) * 7); }
.mx7 { margin-left: calc(var(--base-px) * 7); margin-right: calc(var(--base-px) * 7); }
.my7 { margin-top: calc(var(--base-px) * 7); margin-bottom: calc(var(--base-px) * 7); }
.m7 { margin:  calc(var(--base-px) * 7); }
/* 8배 */
.mt8 { margin-top: calc(var(--base-px) * 8); }
.mb8 { margin-bottom: calc(var(--base-px) * 8); }
.mr8 { margin-right: calc(var(--base-px) * 8); }
.ml8 { margin-left: calc(var(--base-px) * 8); }
.mx8 { margin-left: calc(var(--base-px) * 8); margin-right: calc(var(--base-px) * 8); }
.my8 { margin-top: calc(var(--base-px) * 8); margin-bottom: calc(var(--base-px) * 8); }
.m8 { margin:  calc(var(--base-px) * 8); }
/* 9배 */
.mt9 { margin-top: calc(var(--base-px) * 9); }
.mb9 { margin-bottom: calc(var(--base-px) * 9); }
.mr9 { margin-right: calc(var(--base-px) * 9); }
.ml9 { margin-left: calc(var(--base-px) * 9); }
.mx9 { margin-left: calc(var(--base-px) * 9); margin-right: calc(var(--base-px) * 9); }
.my9 { margin-top: calc(var(--base-px) * 9); margin-bottom: calc(var(--base-px) * 9); }
.m9 { margin:  calc(var(--base-px) * 9); }
/* 10배 */
.mt10 { margin-top: calc(var(--base-px) * 10); }
.mb10 { margin-bottom: calc(var(--base-px) * 10); }
.mr10 { margin-right: calc(var(--base-px) * 10); }
.ml10 { margin-left: calc(var(--base-px) * 10); }
.mx10 { margin-left: calc(var(--base-px) * 10); margin-right: calc(var(--base-px) * 10); }
.my10 { margin-top: calc(var(--base-px) * 10); margin-bottom: calc(var(--base-px) * 10); }
.m10 { margin:  calc(var(--base-px) * 10); }
/* 11배 */
.mt11 { margin-top: calc(var(--base-px) * 11); }
.mb11 { margin-bottom: calc(var(--base-px) * 11); }
.mr11 { margin-right: calc(var(--base-px) * 11); }
.ml11 { margin-left: calc(var(--base-px) * 11); }
.mx11 { margin-left: calc(var(--base-px) * 11); margin-right: calc(var(--base-px) * 11); }
.my11 { margin-top: calc(var(--base-px) * 11); margin-bottom: calc(var(--base-px) * 11); }
.m11 { margin: calc(var(--base-px) * 11); }

/* 12배 */
.mt12 { margin-top: calc(var(--base-px) * 12); }
.mb12 { margin-bottom: calc(var(--base-px) * 12); }
.mr12 { margin-right: calc(var(--base-px) * 12); }
.ml12 { margin-left: calc(var(--base-px) * 12); }
.mx12 { margin-left: calc(var(--base-px) * 12); margin-right: calc(var(--base-px) * 12); }
.my12 { margin-top: calc(var(--base-px) * 12); margin-bottom: calc(var(--base-px) * 12); }
.m12 { margin: calc(var(--base-px) * 12); }

/* 13배 */
.mt13 { margin-top: calc(var(--base-px) * 13); }
.mb13 { margin-bottom: calc(var(--base-px) * 13); }
.mr13 { margin-right: calc(var(--base-px) * 13); }
.ml13 { margin-left: calc(var(--base-px) * 13); }
.mx13 { margin-left: calc(var(--base-px) * 13); margin-right: calc(var(--base-px) * 13); }
.my13 { margin-top: calc(var(--base-px) * 13); margin-bottom: calc(var(--base-px) * 13); }
.m13 { margin: calc(var(--base-px) * 13); }

/* 14배 */
.mt14 { margin-top: calc(var(--base-px) * 14); }
.mb14 { margin-bottom: calc(var(--base-px) * 14); }
.mr14 { margin-right: calc(var(--base-px) * 14); }
.ml14 { margin-left: calc(var(--base-px) * 14); }
.mx14 { margin-left: calc(var(--base-px) * 14); margin-right: calc(var(--base-px) * 14); }
.my14 { margin-top: calc(var(--base-px) * 14); margin-bottom: calc(var(--base-px) * 14); }
.m14 { margin: calc(var(--base-px) * 14); }

/* 15배 */
.mt15 { margin-top: calc(var(--base-px) * 15); }
.mb15 { margin-bottom: calc(var(--base-px) * 15); }
.mr15 { margin-right: calc(var(--base-px) * 15); }
.ml15 { margin-left: calc(var(--base-px) * 15); }
.mx15 { margin-left: calc(var(--base-px) * 15); margin-right: calc(var(--base-px) * 15); }
.my15 { margin-top: calc(var(--base-px) * 15); margin-bottom: calc(var(--base-px) * 15); }
.m15 { margin: calc(var(--base-px) * 15); }
/* 20배 */
.mt20 { margin-top: calc(var(--base-px) * 20); }
.mb20 { margin-bottom: calc(var(--base-px) * 20); }
.mr20 { margin-right: calc(var(--base-px) * 20); }
.ml20 { margin-left: calc(var(--base-px) * 20); }
.mx20 { margin-left: calc(var(--base-px) * 20); margin-right: calc(var(--base-px) * 20); }
.my20 { margin-top: calc(var(--base-px) * 20); margin-bottom: calc(var(--base-px) * 15); }
.m20{ margin: calc(var(--base-px) * 20); }

/*1px패딩*/
.pt1px{padding-top: 1px;}.pb1px{padding-bottom: 1px;}
.pr1px{padding-right: 1px;}.pl1px{padding-left: 1px;}

/*2px패딩*/
.pt2px{padding-top: 2px;}.pb2px{padding-bottom: 2px;}
.pr2px{padding-right: 2px;}.pl2px{padding-left: 2px;}

.pa1 { padding: calc(var(--base-px) * 1); }
.pt1, .py1 { padding-top: calc(var(--base-px) * 1); }
.pb1, .py1 { padding-bottom: calc(var(--base-px) * 1); }
.pr1, .px1 { padding-right: calc(var(--base-px) * 1); }
.pl1, .px1 { padding-left: calc(var(--base-px) * 1); }

.pa2 { padding: calc(var(--base-px) * 2); }
.pt2, .py2 { padding-top: calc(var(--base-px) * 2); }
.pb2, .py2 { padding-bottom: calc(var(--base-px) * 2); }
.pr2, .px2 { padding-right: calc(var(--base-px) * 2); }
.pl2, .px2 { padding-left: calc(var(--base-px) * 2); }

.pa3 { padding: calc(var(--base-px) * 3); }
.pt3, .py3 { padding-top: calc(var(--base-px) * 3); }
.pb3, .py3 { padding-bottom: calc(var(--base-px) * 3); }
.pr3, .px3 { padding-right: calc(var(--base-px) * 3); }
.pl3, .px3 { padding-left: calc(var(--base-px) * 3); }

.pa4 { padding: calc(var(--base-px) * 4); }
.pt4, .py4 { padding-top: calc(var(--base-px) * 4); }
.pb4, .py4 { padding-bottom: calc(var(--base-px) * 4); }
.pr4, .px4 { padding-right: calc(var(--base-px) * 4); }
.pl4, .px4 { padding-left: calc(var(--base-px) * 4); }

.pa5 { padding: calc(var(--base-px) * 5); }
.pt5, .py5 { padding-top: calc(var(--base-px) * 5); }
.pb5, .py5 { padding-bottom: calc(var(--base-px) * 5); }
.pr5, .px5 { padding-right: calc(var(--base-px) * 5); }
.pl5, .px5 { padding-left: calc(var(--base-px) * 5); }

.pa6 { padding: calc(var(--base-px) * 6); }
.pt6, .py6 { padding-top: calc(var(--base-px) * 6); }
.pb6, .py6 { padding-bottom: calc(var(--base-px) * 6); }
.pr6, .px6 { padding-right: calc(var(--base-px) * 6); }
.pl6, .px6 { padding-left: calc(var(--base-px) * 6); }

.pa7 { padding: calc(var(--base-px) * 7); }
.pl7, .px7 { padding-left: calc(var(--base-px) * 7); }
.pt7, .py7 { padding-top: calc(var(--base-px) * 7); }
.pb7, .py7 { padding-bottom: calc(var(--base-px) * 7); }
.pr7, .px7 { padding-right: calc(var(--base-px) * 7); }

.pa8 { padding: calc(var(--base-px) * 8); }
.pt8, .py8 { padding-top: calc(var(--base-px) * 8); }
.pb8, .py8 { padding-bottom: calc(var(--base-px) * 8); }
.pr8, .px8 { padding-right: calc(var(--base-px) * 8); }
.pl8, .px8 { padding-left: calc(var(--base-px) * 8); }

.pa9 { padding: calc(var(--base-px) * 9); }
.pt9, .py9 { padding-top: calc(var(--base-px) * 9); }
.pb9, .py9 { padding-bottom: calc(var(--base-px) * 9); }
.pr9, .px9 { padding-right: calc(var(--base-px) * 9); }
.pl9, .px9 { padding-left: calc(var(--base-px) * 9); }

.pa10 { padding: calc(var(--base-px) * 10); }
.pt10, .py10 { padding-top: calc(var(--base-px) * 10); }
.pb10, .py10 { padding-bottom: calc(var(--base-px) * 10); }
.pr10, .px10 { padding-right: calc(var(--base-px) * 10); }
.pl10, .px10 { padding-left: calc(var(--base-px) * 10); }

.pa11 { padding: calc(var(--base-px) * 11); }
.pt11, .py11 { padding-top: calc(var(--base-px) * 11); }
.pb11, .py11 { padding-bottom: calc(var(--base-px) * 11); }
.pr11, .px11 { padding-right: calc(var(--base-px) * 11); }
.pl11, .px11 { padding-left: calc(var(--base-px) * 11); }

.pa12 { padding: calc(var(--base-px) * 12); }
.pt12, .py12 { padding-top: calc(var(--base-px) * 12); }
.pb12, .py12 { padding-bottom: calc(var(--base-px) * 12); }
.pr12, .px12 { padding-right: calc(var(--base-px) * 12); }
.pl12, .px12 { padding-left: calc(var(--base-px) * 12); }

.pa13 { padding: calc(var(--base-px) * 13); }
.pt13, .py13 { padding-top: calc(var(--base-px) * 13); }
.pb13, .py13 { padding-bottom: calc(var(--base-px) * 13); }
.pr13, .px13 { padding-right: calc(var(--base-px) * 13); }
.pl13, .px13 { padding-left: calc(var(--base-px) * 13); }

.pa14 { padding: calc(var(--base-px) * 14); }
.pt14, .py14 { padding-top: calc(var(--base-px) * 14); }
.pb14, .py14 { padding-bottom: calc(var(--base-px) * 14); }
.pr14, .px14 { padding-right: calc(var(--base-px) * 14); }
.pl14, .px14 { padding-left: calc(var(--base-px) * 14); }

.pa15 { padding: calc(var(--base-px) * 15); }
.pt15, .py15 { padding-top: calc(var(--base-px) * 15); }
.pb15, .py15 { padding-bottom: calc(var(--base-px) * 15); }
.pr15, .px15 { padding-right: calc(var(--base-px) * 15); }
.pl15, .px15 { padding-left: calc(var(--base-px) * 15); }

.pa16 { padding: calc(var(--base-px) * 16); }
.pt16, .py16 { padding-top: calc(var(--base-px) * 16); }
.pb16, .py16 { padding-bottom: calc(var(--base-px) * 16); }
.pr16, .px16 { padding-right: calc(var(--base-px) * 16); }
.pl16, .px16 { padding-left: calc(var(--base-px) * 16); }

.pa17 { padding: calc(var(--base-px) * 17); }
.pt17, .py17 { padding-top: calc(var(--base-px) * 17); }
.pb17, .py17 { padding-bottom: calc(var(--base-px) * 17); }
.pr17, .px17 { padding-right: calc(var(--base-px) * 17); }
.pl17, .px17 { padding-left: calc(var(--base-px) * 17); }

.pa18 { padding: calc(var(--base-px) * 18); }
.pt18, .py18 { padding-top: calc(var(--base-px) * 18); }
.pb18, .py18 { padding-bottom: calc(var(--base-px) * 18); }
.pr18, .px18 { padding-right: calc(var(--base-px) * 18); }
.pl18, .px18 { padding-left: calc(var(--base-px) * 18); }

.pa19 { padding: calc(var(--base-px) * 19); }
.pt19, .py19 { padding-top: calc(var(--base-px) * 19); }
.pb19, .py19 { padding-bottom: calc(var(--base-px) * 19); }
.pr19, .px19 { padding-right: calc(var(--base-px) * 19); }
.pl19, .px19 { padding-left: calc(var(--base-px) * 19); }

.pa20 { padding: calc(var(--base-px) * 20); }
.pt20, .py20 { padding-top: calc(var(--base-px) * 20); }
.pb20, .py20 { padding-bottom: calc(var(--base-px) * 20); }
.pr20, .px20 { padding-right: calc(var(--base-px) * 20); }
.pl20, .px20 { padding-left: calc(var(--base-px) * 20); }

/* 전체 패딩 0 */
.pa0 { padding: 0 !important; }
.py0 { padding-top: 0 !important; padding-bottom: 0 !important; }
.px0 { padding-left: 0 !important; padding-right: 0 !important; }
.pt0 { padding-top: 0 !important; }
.pb0 { padding-bottom: 0 !important; }
.pl0 { padding-left: 0 !important; }
.pr0 { padding-right: 0 !important; }

/* ==================== 모바일 레이아웃 ==================== */
@media ( max-width: 1380px ) { body,html { font-size:  15px; }
	:root {
		/* 패딩,마진 */
		--sec_pd: 6rem;
		/* 폰트 */
		--base-font-size: 15px !important; }
}
@media ( max-width: 900px ) { body,html { font-size:  13px; }
	:root {
		/* 폰트 */
		--base-font-size: 13px !important;
		--base-px: 2px; }
}
@media ( max-width: 600px ) { body,html { font-size:  11px; }
	:root {
		/* 폰트 */
		--base-font-size: 11px !important;}
	.fs_12 { font-size: clamp(0.875rem, 0.525rem + 0.35vw, 1.25rem); }
	.fs_13 { font-size: clamp(0.9187rem, 0.5512rem + 0.6vw, 1.3125rem); }
	.fs_14 { font-size: clamp(0.9625rem, 0.5775rem + 0.6vw, 1.375rem); }
	.fs_15 { font-size: clamp(1.0062rem, 0.6037rem + 0.6vw, 1.4375rem); }
	.fs_16 { font-size: clamp(1.05rem, 0.63rem + 0.6vw, 1.5rem); }
	.fs_17 { font-size: clamp(1.0938rem, 0.6562rem + 0.6vw, 1.5625rem); }
	.fs_18 { font-size: clamp(1.1375rem, 0.6825rem + 0.6vw, 1.625rem); }
	.fs_19 { font-size: clamp(1.1812rem, 0.7087rem + 0.6vw, 1.6875rem); }
	.fs_20 { font-size: clamp(1.225rem, 0.735rem + 0.6vw, 1.75rem); }
	.fs_21 { font-size: clamp(1.2687rem, 0.7612rem + 0.6vw, 1.8125rem); }
	.fs_22 { font-size: clamp(1.3125rem, 0.7875rem + 0.6vw, 1.875rem); }
	.fs_23 { font-size: clamp(1.3562rem, 0.8137rem + 0.6vw, 1.9375rem); }
	.fs_24 { font-size: clamp(1.4rem, 0.84rem + 0.6vw, 2.0rem); }
	.fs_25 { font-size: clamp(1.4437rem, 0.8662rem + 0.6vw, 2.0625rem); }
	.fs_26 { font-size: clamp(1.4875rem, 0.8925rem + 0.6vw, 2.125rem); }
	.fs_27 { font-size: clamp(1.5312rem, 0.9187rem + 0.6vw, 2.1875rem); }
	.fs_28 { font-size: clamp(1.575rem, 0.945rem + 0.6vw, 2.25rem); }
	.fs_29 { font-size: clamp(1.6187rem, 0.9712rem + 0.6vw, 2.3125rem); }
	.fs_30 { font-size: clamp(1.6625rem, 0.9975rem + 0.6vw, 2.375rem); }
	.fs_31 { font-size: clamp(1.7062rem, 1.0237rem + 0.6vw, 2.4375rem); }
	.fs_32 { font-size: clamp(1.75rem, 1.05rem + 0.6vw, 2.5rem); }
	.fs_33 { font-size: clamp(1.7937rem, 1.0762rem + 1.0vw, 2.5625rem); }
	.fs_34 { font-size: clamp(1.8375rem, 1.1025rem + 1.0vw, 2.625rem); }
	.fs_35 { font-size: clamp(1.8812rem, 1.1287rem + 1.0vw, 2.6875rem); }
	.fs_36 { font-size: clamp(1.925rem, 1.155rem + 1.0vw, 2.75rem); }
	.fs_37 { font-size: clamp(1.9687rem, 1.1812rem + 1.0vw, 2.8125rem); }
	.fs_38 { font-size: clamp(2.0125rem, 1.2075rem + 1.0vw, 2.875rem); }
}

/* ==================== 효과 ==================== */
@keyframes MyScale {
	from {
		transform:  scale(1.2) translateY(-100 px);
		opacity:  0;
	}

	to {
		transform:  scale(1) translateY(0 px);
		opacity:  1;
	}
}

@keyframes MyScale2 {
	0%, 30% {
		transform:  scale(0);
		opacity:  0;
	}

	100% {
		transform:  scale(1);
		opacity:  1;
	}
}

@keyframes toLeft {
	0%, 30% {
		transform:  scale(0);
		transform-origin:  bottom right;
		opacity:  0;
	}

	100% {
		transform:  scale(1);
		transform-origin:  bottom right;
		opacity:  1;
	}
}

@keyframes toTop {
	0%, 30% {
		transform:  scale(0);
		transform-origin:  bottom bottom;
		opacity:  0;
	}

	100% {
		transform:  scale(1);
		transform-origin:  bottom bottom;
		opacity:  1;
	}
}

@keyframes toRight {
	0%, 30% {
		transform:  scale(0);
		transform-origin:  bottom left;
		opacity:  0;
	}

	100% {
		transform:  scale(1);
		transform-origin:  bottom left;
		opacity:  1;
	}
}

@keyframes opacity {
	0% {
		opacity:  0.5;
	}

	100% {
		opacity:  1;
	}
}

@keyframes zoom {
	2.5%, 7.5%, 12.5%, 17.5%, 100% {
		transform:  scale(1);
	}

	5%, 10%, 15% {
		transform:  scale(0.9);
	}
}

@keyframes float {
	0% {
		transform:  scale(1);
	}

	50% {
		transform:  scale(0.92);
	}

	100% {
		transform:  scale(1);
	}
}

@keyframes blink {
	0% {
		opacity:  0.9;
	}

	50% {
		opacity:  1;
		transform:  scale(1.05)
	}

	100% {
		opacity:  0.9;
	}
}

.blinking-text {
	animation:  blink 2 s infinite;
	/* 1초 간격으로 무한 반복 */
}

.wobble {
	animation:  wobble 2 s ease infinite;
}

@keyframes wobble {
	0% {
		transform:  translateX(0% );
	}

	15% {
		transform:  translateX(-25% ) rotate(-5 deg);
	}

	30% {
		transform:  translateX(20% ) rotate(3 deg);
	}

	45% {
		transform:  translateX(-15% ) rotate(-3 deg);
	}

	60% {
		transform:  translateX(10% ) rotate(2 deg);
	}

	75% {
		transform:  translateX(-5% ) rotate(-1 deg);
	}

	100% {
		transform:  translateX(0% );
	}
}
/* 바운스 애니메이션 */
@keyframes bounce {
    0%, 100% {
        transform: translateX(-50%) translateY(0);
    }

    50% {
        transform: translateX(-50%) translateY(-10px);
    }
}

.bounce {
    animation: bounce 1.5s infinite;
}

/* ==================== oneWaySend ==================== */
.result_page {
    text-align: center;
    position: absolute;
    width: 100%;
    height: inherit;
}

    .result_page .innerwrap {
        width: 100%;
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%,-50%);
        -moz-transform: translate(-50%,-50%);
        -ms-transform: translate(-50%,-50%);
        -o-transform: translate(-50%,-50%);
        transform: translate(-50%,-50%);
    }

    .result_page img {
        width: 110px;
    }

    .result_page strong {
        display: inline-block;
        font-size: 1.4em;
        margin-top: 1.5rem;
    }

    .result_page a {
        background-color: rgba(0,0,0,0.8);
        color: var(--white);
        padding: 0.7rem 2rem;
        border-radius: 500px;
        margin-top: 2.5rem !important;
    }

@media only screen and (min-width: 376px) and (max-width: 850px) {
    .result_page img {
        width: 85px;
    }

    .result_page strong {
        display: inline-block;
        font-size: 1.4em;
        margin-top: 1.2rem;
    }

    .result_page a {
        margin-top: 2rem !important;
    }
}