@charset "UTF-8";

/* ====================================== 브릿메이츠 리뉴얼 메인 ====================================== */
/* 공통: reset.css, newcommon.css (1rem = 10px, 1500px 이하 자동 축소) */
/* 브레이크포인트: 991px(태블릿) / 767px(모바일) */
/* 범위: .newmain 하위에서만 사용 */

/* 모바일: 메인 페이지만 1rem = 10px (공통 reset.css 58.5% 덮어씀) */
@media (max-width: 767px) {
	html:has(#wrap.newmain) {
		font-size: 62.5%;
	}
}

/* reset.css의 button에 글꼴 지정이 없어 Arial로 표시되는 문제 보정 */
.newmain button {
	font-family: inherit;
}

.newmain {
	--nm-blue: #4b64ff;
	--nm-mint: #8ff0dc;
	--nm-black: #111;
	--nm-gray: #666;
}
.newmain .blind {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
.newmain em {
	font-style: normal;
}

/* ---------- 공통 버튼 ---------- */
.newmain .btn_main {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 17.6rem;
	height: 4.6rem;
	border-radius: 0.3rem;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	transition: background-color 0.2s, color 0.2s;
}
.newmain .btn_main.fill {
	background: var(--nm-blue);
	border: 1px solid var(--nm-blue);
	color: #fff;
}
.newmain .btn_main.fill:hover {
	background: #3a52e6;
}
.newmain .btn_main.line {
	background: #fff;
	border: 1px solid var(--nm-black);
	color: var(--nm-black);
}
.newmain .btn_main.line:hover {
	background: var(--nm-black);
	color: #fff;
}

/* ====================================== 메인 비주얼 ====================================== */
/* 배너 기본 높이 67rem(670px). 안의 크기는 모두 em 기준이라 1920 이하에선 배너 전체가 같은 비율로 축소 */
.newmain .mainv {
	position: relative;
	overflow: hidden;
	background: #1a2240;
}
.newmain .mainv_slide {
	position: relative;
	height: 67em;
	font-size: min(10px, 100vw / 192); /* 1920 이상 1em = 10px(높이 670px), 그 이하는 화면 폭에 비례 축소 → 배너 비율 1920:670 유지 */
	background: radial-gradient(ellipse 45% 65% at 50% 55%, #26315e 0%, #1c2547 55%, #1a2240 100%);
	overflow: hidden;
}
.newmain .mainv_ukflag {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 73em;
	max-width: none;
	pointer-events: none;
}
.newmain .mainv_inner {
	position: relative;
	font-size: 1.1754em; /* 57em 기준으로 잡은 내부 수치를 67em 높이에 맞게 확대 */
	width: 75em;
	height: 100%;
	margin: 0 auto;
	padding-top: 8.4em;
	color: #fff;
}
/* 쌓임 순서: 가로선(1) → 인물(2) → 글자(3) */
.newmain .mainv_ukperson {
	position: absolute;
	left: 50%;
	bottom: 0;
	z-index: 2;
	height: 53em;
	max-width: none;
	transform: translateX(-50%);
}
.newmain .mainv_tit {
	display: block;
	font-family: "GangwonEduPowerExtraBoldA", sans-serif; /* newcommon.css에 정의 */
	font-size: 6.5em;
	font-weight: normal;
	line-height: 1.04;
	letter-spacing: -0.05em;
}
.newmain .mainv_row {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.newmain .mainv_row .txt {
	position: relative;
	z-index: 3;
	white-space: nowrap;
	text-shadow: 0 0.06em 0.2em rgba(0, 0, 0, 0.35);
}
.newmain .mainv_row.line::after {
	content: "";
	position: relative;
	z-index: 1;
	order: 1;
	flex: 1;
	height: 2px;
	background: #c9cede;
}
.newmain .mainv_tit .mainv_row.line::after {
	margin-left: 0.28em;
}
.newmain .mainv_row.line .txt + .txt {
	order: 2;
}
.newmain .mainv_sub {
	margin-top: 0.45em;
	font-size: 2.4em;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -0.04em;
}
.newmain .mainv_sub.line::after {
	margin: 0 0.6em;
}

/* 이미지형 배너
   - 배경(.mainv_img): 영역을 꽉 채움(cover). 1920 이하는 배너 비율이 1920:670으로 고정이라
     1920x670 이미지면 잘림 없음 / 1920보다 넓으면 가로를 채우고 위아래가 살짝 잘림
   - 글자(.mainv_copy): 오른쪽 끝을 화면 가운데에 맞춰 배경의 캐릭터(가운데~오른쪽)와 겹치지 않게 함
   - 모바일은 통이미지(.mainv_mo)만 노출 */
.newmain .mainv_slide.type_img {
	background: var(--bg, #1a2240);
}
.newmain .mainv_link {
	display: block;
	position: relative;
	height: 100%;
}
.newmain .mainv_img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}
.newmain .mainv_copy {
	position: absolute;
	top: 0;
	bottom: 0;
	right: calc(50% + 4em);
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	width: 62em;
}
.newmain .mainv_copy img {
	width: 100%;
	height: auto;
}
.newmain .mainv_copy .mainv_copy_btn {
	width: auto;
	height: 4.4em;
	margin-top: 3.2em;
}
/* 글자+인물이 한 장인 배너: 가운데 아래 정렬 (라이브 1920x570 기준 높이 567px → 67em 배너에 맞춰 확대) */
.newmain .mainv_full {
	position: absolute;
	left: 50%;
	bottom: 0;
	z-index: 1;
	width: auto;
	height: 66.6em;
	max-width: none;
	transform: translateX(-50%);
}
/* 글자를 왼쪽에 붙이는 배너(발음 교정): 1920 기준 왼쪽 끝에서 약 77px, 라이브와 같은 비율 */
.newmain .mainv_copy.left {
	right: auto;
	left: calc(50% - 88.3em);
	width: 91.7em;
}
/* 글자 + 이미지 나란히, 가운데 아래 정렬 (Disney: 라이브와 같은 크기, 확대하면 왼쪽 위 로고와 겹침) */
.newmain .mainv_group {
	position: absolute;
	left: 50%;
	bottom: 0;
	z-index: 1;
	display: flex;
	align-items: flex-end;
	transform: translateX(-50%);
}
.newmain .mainv_group img {
	width: auto;
	max-width: none;
}
.newmain .mainv_group_txt {
	height: 45.8em;
	margin-bottom: 5em;
}
.newmain .mainv_group_img {
	height: 52.1em;
}
/* 왼쪽 위 로고 */
.newmain .mainv_logo {
	position: absolute;
	left: 2.4em;
	top: 2.4em;
	z-index: 1;
	width: auto;
	height: 8.2em;
}
.newmain .mainv_mo {
	display: none;
}

/* 정중앙 컨텐츠 배너 (기본형: .type_center)
   - 글자 이미지(.mainv_center)를 원본 크기 그대로 배너 영역 정가운데에 둠
   - 배경(.mainv_img)은 가로 100%, 아래 맞춤 → 위쪽 남는 곳은 --bg 색으로 채움
   - 타임라인이 필요하면 .has_timer 추가 + .mainv_timer 띠 넣기 (띠 높이만큼 배너 영역이 줄어듦) */
.newmain .type_center .mainv_link {
	display: flex;
	align-items: center;
	justify-content: center;
}
.newmain .type_center .mainv_img {
	inset: auto 0 0;
	height: auto;
	object-fit: initial;
}
/* 글자: 원본 크기 그대로, 영역이 좁아지면 위·아래 여백(--center-gap)을 남기고 축소
   - 여백은 em이라 배너와 함께 줄어듦 (1920 기준 70px → 1395px 화면에서 약 51px)
   - 1920에서 타임라인 배너 영역 610px - 여백 140px = 470px까지는 원본(451px) 그대로 */
.newmain .mainv_center {
	position: relative;
	z-index: 1;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: calc(100% - var(--center-gap, 7em) * 2);
}
/* 타임라인: 하단 띠 6em(1920 기준 60px) */
.newmain .has_timer .mainv_link {
	height: calc(100% - 6em);
}
.newmain .mainv_timer {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 6em;
	background: #ff0000;
	color: #fff;
}
.newmain .mainv_timer ul {
	display: flex;
	gap: 3em;
}
.newmain .mainv_timer li {
	display: flex;
	align-items: baseline;
	gap: 0.4em;
}
.newmain .mainv_timer span {
	min-width: 1.25em; /* 숫자 폭 고정 → 초가 바뀔 때 글자가 흔들리지 않음 */
	font-size: 4em;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	font-variant-numeric: tabular-nums;
}
.newmain .mainv_timer p {
	font-size: 2em;
	font-weight: 300;
	line-height: 1;
}

/* 좌우 화살표: 오른쪽 세로 배치 */
.newmain .mainv_arrow {
	position: absolute;
	right: 3.6rem;
	top: 50%;
	z-index: 5;
	width: 4.6rem;
	height: 4.6rem;
	border-radius: 50%;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M11 6l-6 6 6 6'/%3E%3C/svg%3E") center / 2rem no-repeat;
	box-shadow: 0 0.3rem 1rem rgba(0, 0, 0, 0.25);
	cursor: pointer;
}
.newmain .mainv_arrow.prev {
	margin-top: -5.2rem;
}
.newmain .mainv_arrow.next {
	margin-top: 0.6rem;
	transform: scaleX(-1);
}
.newmain .mainv_arrow.swiper-button-disabled {
	opacity: 0.4;
	cursor: default;
}

/* 하단 띠(영국남자배너 전용): PC는 인물 아래쪽을 덮으며 겹침 */
.newmain .mainv_band {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2rem;
	height: 6rem;
	padding: 0 2rem;
	background: linear-gradient(90deg, rgba(30, 52, 120, 0.94) 0%, rgba(37, 62, 140, 0.94) 50%, rgba(72, 60, 140, 0.94) 100%);
}
.newmain .mainv_band_txt {
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: -0.04em;
	color: #fff;
	text-shadow: 0 0.1rem 0.3rem rgba(0, 0, 0, 0.3);
}
.newmain .mainv_band_txt strong {
	font-weight: 800;
}
.newmain .mainv_band_btn {
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
	height: 3.4rem;
	padding: 0 1.8rem 0 2rem;
	border: 2px solid #fff;
	border-radius: 2rem;
	background: linear-gradient(90deg, #1f8bea 0%, #4a63e6 50%, #7d3fd8 100%);
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: -0.03em;
	color: #fff;
	box-shadow: 0.2rem 0.3rem 0 rgba(10, 14, 40, 0.55);
	transition: filter 0.2s;
}
.newmain .mainv_band_btn::after {
	content: "";
	width: 0.5rem;
	height: 0.5rem;
	border-top: 1.5px solid #fff;
	border-right: 1.5px solid #fff;
	transform: rotate(45deg);
}
.newmain .mainv_band_btn:hover {
	filter: brightness(1.1);
}

/* ====================================== 히어로 ====================================== */
.newmain .hero {
	padding: 18rem 2rem;
	background: #fff;
}
/* PC: 왼쪽 텍스트 / 오른쪽 영상, 텍스트 묶음은 영상 기준 세로 가운데 */
.newmain .hero_inner {
	display: grid;
	grid-template-columns: 36.8rem minmax(0, 61.5rem);
	grid-template-rows: 1fr auto auto 1fr;
	grid-template-areas:
		".    video"
		"head video"
		"btns video"
		".    video";
	column-gap: 6.3rem;
	justify-content: center;
	max-width: 104.6rem;
	margin: 0 auto;
}
/* h1 안에 제목 + 설명 */
.newmain .hero_head {
	grid-area: head;
	display: flex;
	flex-direction: column;
	font-weight: inherit;
}
.newmain .hero_tit {
	display: block;
	font-size: 4.6rem;
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.03em;
	color: var(--nm-black);
}
.newmain .hero_tit em {
	color: var(--nm-blue);
}
.newmain .hero_desc {
	display: block;
	margin-top: 2.8rem;
	font-weight: 400;
	font-size: 2rem;
	line-height: 1.45;
	letter-spacing: -0.02em;
	color: var(--nm-gray);
}
.newmain .hero_btns {
	grid-area: btns;
	display: flex;
	gap: 1.6rem;
	margin-top: 3.6rem;
}

/* 영상: 브라우저 창 모양 프레임 */
.newmain .hero_video {
	grid-area: video;
	overflow: hidden;
	border: 1px solid #e5e5e5;
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 0.6rem 2rem rgba(0, 0, 0, 0.12);
}
.newmain .hero_video_bar {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	height: 3rem;
	padding: 0 1.2rem;
}
.newmain .hero_video_bar span {
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 50%;
	background: #ff5f57;
}
.newmain .hero_video_bar span:nth-child(2) { background: #febc2e; }
.newmain .hero_video_bar span:nth-child(3) { background: #28c840; }
.newmain .hero_video_frame {
	position: relative;
	aspect-ratio: 16 / 9;
	background: #000;
}
.newmain .hero_video_frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	pointer-events: none; /* 배경 영상처럼 클릭으로 멈추지 않도록 */
}
/* 가림막: 재생 후 YouTube UI가 사라지면 페이드아웃 (JS가 .is-playing 추가) */
.newmain .hero_video_cover {
	position: absolute;
	inset: 0;
	background: #000 url(../../img/newmain/hero_video_poster.jpg) center / cover no-repeat;
	transition: opacity 0.4s ease, visibility 0.4s;
}
.newmain .hero_video_frame.is-playing .hero_video_cover {
	opacity: 0;
	visibility: hidden;
}

/* 스크롤 화살표: 모바일 전용 */
.newmain .hero_scroll {
	display: none;
}

/* ====================================== 성장 띠 ====================================== */
.newmain .growth {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 13.8rem;
	padding: 2rem;
	background: var(--nm-blue);
	text-align: center;
}
.newmain .growth_txt {
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: -0.03em;
	color: #fff;
}
.newmain .growth_txt em {
	color: var(--nm-mint);
}

/* ====================================== 공통 섹션 타이틀 ====================================== */
.newmain .sec_tit {
	font-size: 4.6rem;
	font-weight: 800;
	line-height: 1.17;
	letter-spacing: -0.03em;
	text-align: center;
	color: var(--nm-black);
}
.newmain .sec_tit em {
	color: var(--nm-blue);
}

/* ====================================== 과정 소개 ====================================== */
.newmain .course {
	padding: 12rem 0;
	overflow: hidden;
}
.newmain .course_slider {
	margin-top: 8rem;
	overflow: visible;
}
/* 카드 간격은 slide 좌우 패딩으로 처리 (rem 축소에 함께 맞춰짐) */
.newmain .course_slider .swiper-slide {
	width: auto;
	padding: 0 1.5rem;
}

/* 카드: 내부 크기는 전부 em → 모바일에서 font-size만 줄이면 카드 전체가 비율대로 축소 */
.newmain .course_card {
	--card-txt: var(--nm-black);
	--card-desc: #333;
	position: relative;
	display: block;
	overflow: hidden;
	width: 30.4em;
	height: 33.8em;
	padding: 2.3em 4.1em 0;
	border-radius: 3em;
	font-size: 1rem;
	color: var(--card-txt);
}
.newmain .course_card.is-light { background: #e3e6ff; }
.newmain .course_card.is-mid   { background: #c7ceff; }
.newmain .course_card.is-grad  { background: linear-gradient(200deg, #c3caff 0%, #8e9dff 100%); }
.newmain .course_card.is-dark  {
	--card-txt: #fff;
	--card-desc: rgba(255, 255, 255, 0.85);
	background: #828fe2;
}

.newmain .course_tag {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	height: 1.46em;
	padding: 0 0.6em;
	background: #f0f1f8;
	font-size: 1.3em;
	letter-spacing: -0.02em;
	color: #555;
}
.newmain .course_tag .ico {
	flex: none;
	width: 0.55em;
	height: 0.55em;
	background: var(--nm-blue);
}
.newmain .course_tag .ico.circle { border-radius: 50%; }
.newmain .course_tag .ico.square { width: 0.5em; height: 0.5em; }
.newmain .course_tag .ico.tri    { clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.newmain .course_tag .ico.star {
	/* 8방향 별 */
	clip-path: polygon(50% 0, 60% 35%, 95% 25%, 68% 50%, 95% 75%, 60% 65%, 50% 100%, 40% 65%, 5% 75%, 32% 50%, 5% 25%, 40% 35%);
	width: 0.7em;
	height: 0.7em;
}

.newmain .course_tit {
	position: relative;
	z-index: 1;
	display: block;
	margin-top: 0.44em;
	font-size: 2.4em;
	font-weight: 700;
	line-height: 1.46;
	letter-spacing: -0.03em;
}
.newmain .course_desc {
	display: block;
	margin-top: 0.66em;
	font-size: 1.6em;
	line-height: 1.625;
	letter-spacing: -0.02em;
	color: var(--card-desc);
}

/* 오른쪽 아래 화살표 */
.newmain .course_arrow {
	position: absolute;
	right: 3.9em;
	bottom: 4.2em;
	width: 9.3em;
	height: 1px;
	background: currentColor;
	transition: transform 0.3s;
}
.newmain .course_arrow::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 1.9em;
	height: 1px;
	background: currentColor;
	transform-origin: right center;
	transform: rotate(43deg);
}
.newmain .course_card.is-grad .course_arrow { color: #fff; }
.newmain .course_card:hover .course_arrow {
	transform: translateX(1em);
}

/* 인물 뒤 원형 배경 (시안 측정값: 지름 232 / 카드 기준 left 91, top 140) */
.newmain .course_circle {
	position: absolute;
	left: 9.1em;
	top: 14em;
	width: 23.2em;
	height: 23.2em;
	border-radius: 50%;
	background: #e3e6ff;
}
.newmain .course_circle.is-dark {
	left: -3.1em;
	top: 14.6em;
	background: #828fe2;
}

/* 인물 이미지 (2배 크기 투명 webp) */
.newmain .course_img {
	position: absolute;
	bottom: 0;
	max-width: none;
	height: auto;
}
.newmain .img_cambridge { left: 0;  width: 30.4em; }
.newmain .img_kids      { left: 0;  width: 23.9em; }
.newmain .img_brittalk  { left: 0;  width: 30.4em; }
.newmain .img_opic      { right: 0; width: 24.8em; }

/* 레벨테스트 카드 */
.newmain .img_leveltest {
	display: block;
	width: 16.8em;
	margin-top: 0.9em;
}
.newmain .course_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 11.2em;
	height: 3.2em;
	margin-top: 1.5em;
	border-radius: 0.2em;
	background: var(--nm-blue);
	font-size: 1.6em;
	color: #fff;
	transition: background-color 0.2s;
}
.newmain .course_card:hover .course_btn {
	background: #3a52e6;
}

.newmain .course_cta {
	margin-top: 8rem;
	text-align: center;
}
.newmain .btn_main.lg {
	width: 23rem;
	height: 5.2rem;
	font-size: 1.7rem;
}

/* ====================================== 강사 전문 분야 ====================================== */
.newmain .expert {
	padding: 12rem 2rem;
	background: #f5f6f8;
}
.newmain .expert .sec_sub {
	color: inherit;
}
.newmain .expert_grid {
	display: grid;
	grid-template-columns: minmax(0, 45.7rem) minmax(0, 22.1rem) minmax(0, 22.1rem);
	grid-template-areas:
		"photo link c1"
		"cta   c2   c3";
	gap: 1.5rem;
	justify-content: center;
	margin-top: 8rem;
}
.newmain .expert_photo,
.newmain .expert_cta,
.newmain .expert_link,
.newmain .expert_card {
	border-radius: 1.2rem;
	overflow: hidden;
}
.newmain .expert_photo {
	grid-area: photo;
	position: relative;
	background: #e9e9e9;
}
/* 이미지가 행 높이를 늘리지 않도록 절대 배치 (높이는 우측 정사각 카드 기준) */
.newmain .expert_photo img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.newmain .expert_cta {
	grid-area: cta;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 3rem;
	background: var(--nm-blue);
}
.newmain .expert_cta_txt {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.42;
	letter-spacing: -0.03em;
	color: #fff;
}
.newmain .expert_cta_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 14.1rem;
	height: 3.6rem;
	margin-top: 2rem;
	padding: 0 1.6rem;
	border-radius: 0.3rem;
	background: #fff;
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--nm-black);
	transition: background-color 0.2s, color 0.2s;
}
.newmain .expert_cta_btn:hover {
	background: var(--nm-black);
	color: #fff;
}
.newmain .expert_link {
	grid-area: link;
	display: flex;
	align-items: flex-end;
	aspect-ratio: 1;
	padding: 2.4rem;
	background: var(--nm-blue);
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.33;
	letter-spacing: -0.03em;
	color: #fff;
	transition: background-color 0.2s;
}
.newmain .expert_link:hover {
	background: #3a52e6;
}
.newmain .expert_c1 { grid-area: c1; }
.newmain .expert_c2 { grid-area: c2; }
.newmain .expert_c3 { grid-area: c3; }

/* 카드: 이미지 4장이 겹쳐 있고 .is_on 만 보임 (페이드 전환) */
.newmain .expert_card {
	position: relative;
	aspect-ratio: 1;
	background: #ddd;
	font-size: 1rem;
}
.newmain .expert_item {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 2s ease;
}
.newmain .expert_item.is_on {
	opacity: 1;
}
.newmain .expert_item::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 45%;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.7));
}
.newmain .expert_item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.newmain .expert_name {
	position: absolute;
	left: 1.2em;
	right: 1.2em;
	bottom: 1.2em;
	z-index: 1;
	font-size: 1.4em;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: -0.03em;
	color: #fff;
}
.newmain .expert_name span {
	display: block;
}

/* ====================================== 강사 소개 ====================================== */
.newmain .sec_sub {
	color: #777;
}
.newmain .teacher {
	padding: 12rem 0;
	overflow: hidden;
}
.newmain .teacher_slider {
	margin-top: 8rem;
	overflow: visible;
}
.newmain .teacher_slider .swiper-slide {
	width: auto;
	padding: 0 1.3rem 1.2rem; /* 하단: 그림자 여유 */
}

/* 카드 내부 크기는 em → 모바일에서 font-size만 줄여 비율 축소 */
.newmain .teacher_card {
	position: relative;
	display: block;
	overflow: hidden;
	width: 30.4em;
	border-radius: 1em;
	background: #eee;
	box-shadow: 0 0.4em 1em rgba(0, 0, 0, 0.15);
	font-size: 1rem;
}
.newmain .teacher_img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 447 / 634;
	object-fit: cover;
}
.newmain .teacher_info {
	position: absolute;
	left: 1.4em;
	right: 1.4em;
	bottom: 1.4em;
	padding: 1.4em 2.1em 1.3em;
	border-radius: 1em;
	background: #fff;
}
.newmain .teacher_name {
	display: block;
	font-size: 1.6em;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.01em;
	color: var(--nm-black);
}
/* h3 안에 이름 + 학력·경력 */
.newmain .teacher_head {
	font-weight: inherit;
}
.newmain .teacher_desc {
	display: block;
	margin-top: 0.25em;
	font-weight: 400;
	font-size: 1.3em;
	line-height: 1.77;
	letter-spacing: -0.02em;
	color: #555;
}
.newmain .teacher_tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4em;
	margin-top: 0.7em;
}
.newmain .teacher_tags li {
	display: inline-flex;
	align-items: center;
	height: 1.8em;
	padding: 0 0.55em;
	border-radius: 0.2em;
	background: #efefef;
	font-size: 1.05em;
	color: #555;
}

.newmain .teacher_cta {
	margin-top: 6.8rem; /* 슬라이드 하단 여유 1.2rem 포함 8rem */
	text-align: center;
}

/* ====================================== 수강생 이야기 ====================================== */
.newmain .story {
	padding-bottom: 12.5rem;
}
.newmain .story_head {
	padding: 3.2rem 2rem 3.4rem;
	background: var(--nm-blue);
	text-align: center;
	color: #fff;
}
.newmain .story_tit {
	display: block;
	font-size: 3.4rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.02em;
}
.newmain .story_en {
	display: block;
	margin-top: 0.4rem;
	font-size: 2rem;
	font-weight: 400;
	line-height: 1.3;
}
.newmain .story_inner {
	display: flex;
	align-items: center;
	gap: 5rem;
	max-width: 140rem;
	margin: 12.6rem auto 0;
	padding: 0 2rem;
}
.newmain .story_photo {
	flex: 0 0 49.7rem;
	overflow: hidden;
	border-radius: 1rem;
}
.newmain .story_photo img {
	display: block;
	width: 100%;
	height: auto;
}
.newmain .story_txt {
	flex: 1 1 auto;
	min-width: 0;
	color: var(--nm-black);
	word-break: keep-all; /* 한글 단어 중간 줄바꿈 방지 */
}
.newmain .story_quote,
.newmain .story_sub {
	text-wrap: balance; /* 제목 줄 길이 균등 */
}
.newmain .story_quote {
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.03em;
}
.newmain .story_quote em {
	color: var(--nm-blue);
}
.newmain .story_sub {
	margin-top: 1.8rem;
	font-size: 2.8rem;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.02em;
}
.newmain .story_desc {
	margin-top: 4rem;
	font-size: 2.2rem;
	line-height: 1.86;
	letter-spacing: -0.02em;
	color: #222;
}
.newmain .story_name {
	margin-top: 4rem;
	font-size: 1.9rem;
	font-weight: 700;
	letter-spacing: -0.02em;
}

/* ====================================== 커리큘럼 ====================================== */
/* PC/모바일 전용 요소 */
.newmain .only_mo { display: none !important; }

.newmain .curri {
	padding: 12rem 0;
	overflow: hidden;
	background: #f2f8ff;
}
/* 이 영역 안의 크기는 em (1em = 10px) → 태블릿/모바일에서 font-size만 줄여 비율 축소 */
.newmain .curri_wrap {
	position: relative;
	width: 85.3em;
	margin: 8rem auto 0;
	font-size: 1rem;
}
.newmain .curri_slider {
	padding: 2em;   /* 패널 그림자 여유 */
	margin: -2em;
}
.newmain .curri_item {
	display: flex;
	align-items: flex-start;
}

/* 왼쪽: 단계 */
.newmain .curri_label {
	flex: none;
	width: 20.9em;
}
.newmain .curri_num {
	display: block;
	font-size: 3em;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--nm-black);
}
.newmain .curri_tit {
	margin-top: 1.7em;
	font-size: 2.4em;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: var(--nm-black);
}

/* 오른쪽: 흰 패널 (내부 요소는 시안 좌표 그대로 absolute) */
.newmain .curri_panel {
	position: relative;
	flex: none;
	width: 64.4em;
	height: 38.8em;
	overflow: hidden;
	border-radius: 2em;
	background: #fff;
	box-shadow: 0 0.4em 2em rgba(76, 100, 255, 0.08);
}
.newmain .curri_desc {
	position: absolute;
	left: calc(3.4em / 2);
	top: calc(3.2em / 2);
	font-size: 2em;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: -0.02em;
	color: var(--nm-black);
}
.newmain .curri_cap {
	position: absolute;
	padding-left: 1em;
	border-left: 2px solid #aaa;
	line-height: 1.4;
	letter-spacing: -0.02em;
}
.newmain .curri_cap span {
	display: block;
	font-size: 1.2em;
	color: #333;
}
.newmain .curri_cap strong {
	display: block;
	font-size: 1.7em;
	font-weight: 600;
	color: var(--nm-black);
}
.newmain .step01 .curri_cap { left: 9em;    top: 13.2em; }
.newmain .step02 .curri_cap { left: 9.6em;  top: 29em; }
.newmain .step03 .curri_cap { left: 11.3em; top: 30.6em; }
.newmain .step04 .curri_cap { left: 10.5em; top: 29.7em; }
.newmain .step05 .curri_cap { left: 6.5em;  top: 26.4em; }
.newmain .step06 .curri_cap { left: 15.9em; top: 30em; }

/* 공통 흰 카드 */
.newmain .lv_table,
.newmain .lv_test,
.newmain .match_level,
.newmain .match_teacher,
.newmain .fb_card {
	position: absolute;
	background: #fff;
	box-shadow: 0 0.2em 1.2em rgba(0, 0, 0, 0.1);
}

/* ---------- 01 KNOW ---------- */
.newmain .lv_table {
	left: 8.8em;
	top: 19.8em;
	width: 26.3em;
	height: 17.6em;
	padding: 1.7em 2.4em;
	border-radius: 1em;
	z-index: 1; /* 작은 카드가 앞으로 */
}
.newmain .lv_table_tit {
	font-size: 1.5em;
	font-weight: 600;
	line-height: 1.2;
	color: var(--nm-black);
}
.newmain .lv_table dl {
	margin-top: 0.6em;
}
.newmain .lv_table dl div {
	display: flex;
	margin-top: 0.8em;
	font-size: 1.5em;
	line-height: 1.47;
}
.newmain .lv_table dt {
	flex: none;
	padding: 0 0.25em;
	background: #6378ff;
	color: #fff;
	font-weight: 500;
}
.newmain .lv_table dd {
	flex: 1;
	margin-left: 0.4em;
	background: #f2f2f2;
	text-align: center;
	color: #222;
}

.newmain .lv_test {
	left: 33.8em;
	top: 6.3em;
	width: 26.9em;
	height: 40em;
	padding: 1.8em 2.2em 0;
	border-radius: 1.2em;
}
.newmain .lv_back {
	position: relative;
	display: block;
	width: 2.8em;
	height: 2.8em;
	border: 1px solid #ddd;
	border-radius: 0.4em;
}
.newmain .lv_back::before {
	content: "";
	position: absolute;
	left: 1.1em;
	top: 0.95em;
	width: 0.7em;
	height: 0.7em;
	border-left: 1.5px solid #333;
	border-bottom: 1.5px solid #333;
	transform: rotate(45deg);
}
.newmain .lv_q {
	position: relative;
	margin-top: calc(1.5em / 1.5);
	padding-left: calc(2.5em / 1.5);
	font-size: 1.5em;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.02em;
	color: var(--nm-black);
}
.newmain .lv_q::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 0.6em;
	height: 0.6em;
	margin-top: -0.3em;
	border-radius: 50%;
	background: var(--nm-blue);
	box-shadow: 0 0 0 0.2em #ccd3ff;
}
.newmain .lv_q em {
	display: inline-block;
	padding: 0 0.3em;
	background: #fff8be;
	font-size: 0.65em;
	font-weight: 600;
	color: #ffb718;
	vertical-align: middle;
}
.newmain .lv_q em::before {
	content: "☼ ";
}
.newmain .lv_opts {
	position: relative;
	margin-top: 2.1em;
	padding-left: 2.5em;
}
/* 점선 타임라인 */
.newmain .lv_opts::before {
	content: "";
	position: absolute;
	left: 0.55em;
	top: -3em;
	bottom: -10em;
	border-left: 1.5px dotted #999;
}
.newmain .lv_opts li {
	position: relative;
	display: flex;
	align-items: center;
	height: calc(4em / 1.4);
	margin-top: calc(1.3em / 1.4);
	padding: 0 calc(1.6em / 1.4) 0 calc(1.2em / 1.4);
	border: 1px solid #e4e4e4;
	border-radius: calc(0.6em / 1.4);
	font-size: 1.4em;
	color: #333;
}
.newmain .lv_opts li:first-child {
	margin-top: 0;
}
.newmain .lv_opts li + li::before {
	content: "";
	position: absolute;
	left: calc(-2.5em / 1.4 + 0.1em);
	top: -0.75em;
	width: 0.55em;
	height: 0.55em;
	border: 1px solid #999;
	border-radius: 50%;
	background: #fff;
}
.newmain .lv_opts li.is-on {
	border-color: #ccd3ff;
	background: #e9ecff;
	box-shadow: 0 0.2em 0.6em rgba(76, 100, 255, 0.15);
}
.newmain .lv_opts b {
	margin-left: auto;
	font-weight: 500;
	color: var(--nm-black);
}
.newmain .ico_chk,
.newmain .ico_spk {
	flex: none;
	width: 0.85em;
	height: 0.85em;
	margin-right: 0.35em;
	background: center / contain no-repeat;
}
.newmain .ico_chk {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect width='12' height='12' rx='2.5' fill='%23333'/%3E%3Cpath d='M3 6.2l2 2 4-4.4' stroke='%23fff' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.newmain .ico_spk {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12' fill='none' stroke='%23666' stroke-width='1.1' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M1.5 4.2h2.2L7 1.5v9L3.7 7.8H1.5z'/%3E%3Cpath d='M9.2 4a2.8 2.8 0 010 4M11 2.5a5 5 0 010 7'/%3E%3C/svg%3E");
}

/* ---------- 02 MATCH ---------- */
.newmain .match_level {
	left: 34.5em;
	top: 6.3em;
	width: 25.8em;
	height: 29.9em;
	padding: 2.2em 1.6em;
	border-radius: 1.2em;
}
.newmain .match_lv {
	font-size: 1.3em;
	line-height: 1.45;
	color: #777;
}
.newmain .match_lv b {
	display: block;
	font-size: 1.077em;
	font-weight: 700;
	color: var(--nm-black);
}
.newmain .match_course {
	margin-top: 1.6em;
	letter-spacing: -0.01em;
	color: var(--nm-black);
}
.newmain .match_course b {
	font-size: 2.2em;
	font-weight: 400;
}
.newmain .match_course span {
	font-size: 1.3em;
	color: #888;
}
.newmain .match_rec {
	margin-top: 2em;
	font-size: 1.4em;
	font-weight: 600;
	color: var(--nm-black);
}
.newmain .match_list li {
	position: relative;
	padding-left: 1.6em;
	font-size: 1.3em;
	line-height: 1.85;
	color: #222;
}
.newmain .match_list li::before {
	content: "";
	position: absolute;
	left: 0.2em;
	top: 0.55em;
	width: 0.7em;
	height: 0.4em;
	border-left: 1.5px solid #555;
	border-bottom: 1.5px solid #555;
	transform: rotate(-45deg);
}
.newmain .match_btn {
	position: absolute;
	left: calc(1.6em / 1.3);
	top: calc(24em / 1.3);
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(22.6em / 1.3);
	height: calc(4.2em / 1.3);
	border-radius: calc(0.4em / 1.3);
	background: var(--nm-blue);
	font-size: 1.3em;
	color: #fff;
}
.newmain .match_bubble {
	position: absolute;
	left: calc(10.6em / 1.2);
	top: calc(12.8em / 1.2);
	width: calc(22.2em / 1.2);
	padding: 0.5em 0;
	border-radius: 0.5em;
	background: #e8ebff;
	font-size: 1.2em;
	text-align: center;
	letter-spacing: -0.03em;
	color: #333;
}
.newmain .match_bubble::before {
	content: "";
	position: absolute;
	left: -0.4em;
	top: 0.4em;
	border: 0.4em solid transparent;
	border-right-color: #e8ebff;
	border-left: 0;
}
.newmain .match_teacher {
	z-index: 1; /* 작은 카드가 앞으로 */
	left: 9.6em;
	top: 17.2em;
	display: flex;
	align-items: center;
	gap: 1.1em;
	width: 26em;
	height: 9.8em;
	padding: 0 1.4em 0 2.2em;
	border-radius: 0.8em;
}
.newmain .match_teacher img {
	flex: none;
	width: 7.6em;
	height: 7.6em;
	border-radius: 50%;
	object-fit: cover;
	object-position: center;
	background: #eee;
}
.newmain .match_teacher strong {
	display: block;
	font-size: 1.8em;
	font-weight: 700;
	color: var(--nm-black);
}
.newmain .match_teacher p {
	margin-top: 0.3em;
	font-size: 1.05em;
	line-height: 1.35;
	color: #888;
}
.newmain .match_teacher ul {
	display: flex;
	gap: 0.3em;
	margin-top: 0.4em;
}
.newmain .match_teacher li {
	padding: 0 0.4em;
	background: #eee;
	font-size: 0.85em;
	line-height: 1.6;
	color: #777;
}

/* ---------- 03 SPEAK ---------- */
.newmain .speak_media {
	position: absolute;
	left: 30.4em;
	top: 15.6em;
	width: 28.6em;
	height: 19em;
	overflow: hidden;
	background: #000;
}
/* 16:9 영상을 박스에 꽉 채움 (넘치는 부분은 잘림) */
.newmain .speak_media iframe {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 33.8em; /* 19em × 16/9 */
	height: 100%;
	border: 0;
	transform: translate(-50%, -50%);
	pointer-events: none; /* 슬라이드 드래그 방해 + 클릭으로 멈춤 방지 */
}
.newmain .speak_media_cover {
	position: absolute;
	inset: 0;
	background: #000 url(https://i.ytimg.com/vi/sRq5dAq9Mg0/mqdefault.jpg) center / cover no-repeat;
	transition: opacity 0.4s ease, visibility 0.4s;
}
.newmain .speak_media.is-playing .speak_media_cover {
	opacity: 0;
	visibility: hidden;
}

/* ---------- 04 REVIEW ---------- */
.newmain .review_laptop {
	position: absolute;
	z-index: 1; /* 작은 요소가 앞으로 */
	left: 7.8em; /* 피드백 카드와 간격 확보 (약 28px) */
	top: 12.3em;
	width: 25.4em;
	max-width: none;
}
.newmain .fb_card {
	overflow: hidden;
	border-radius: 1.2em;
}
.newmain .review_card {
	left: 35.6em;
	top: 2.2em;
	width: 25.8em;
	height: 50em;
	padding: 2.4em 1.6em;
}
.newmain .fb_head b {
	display: block;
	font-size: 1.8em;
	font-weight: 700;
	color: var(--nm-black);
}
.newmain .fb_head span {
	display: block;
	margin-top: 0.5em;
	font-size: 1.3em;
	color: #777;
}
.newmain .fb_body {
	margin-top: 2.2em;
}
.newmain .fb_body p {
	margin-top: 0.4em;
	font-size: 1.2em;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #222;
}
.newmain .fb_body .fb_h {
	margin-top: 1.2em;
	font-size: 1.3em;
	font-weight: 700;
	color: var(--nm-blue);
}
.newmain .fb_body .fb_h:first-child {
	margin-top: 0;
}
.newmain .fb_body p + p:not(.fb_h) {
	margin-top: 1em;
}
.newmain .fb_body p.fb_h + p {
	margin-top: 0.5em;
}
.newmain .fb_body .fb_gray {
	color: #888;
}
.newmain .fb_btn {
	position: absolute;
	left: calc(1.6em / 1.3);
	top: calc(28.7em / 1.3);
	width: calc(22.5em / 1.3);
	height: calc(4.2em / 1.3);
	border-radius: calc(0.6em / 1.3);
	background: var(--nm-blue);
	font-size: 1.3em;
	font-weight: 600;
	color: #fff;
	cursor: pointer;
	transition: background-color 0.2s;
}
.newmain .fb_btn:hover {
	background: #3a52e6;
}
/* 모바일 전용 '피드백 전체 보기' 오버레이 */
.newmain .fb_more {
	display: none;
}

/* ---------- 05 CHECK ---------- */
.newmain .monthly_card {
	left: 25.2em;
	top: 11.3em;
	width: 41em;
	height: 40em;
}
.newmain .monthly_head {
	display: flex;
	align-items: center;
	gap: 2em;
	padding: 2.3em 1.8em 0;
}
.newmain .monthly_head img {
	flex: none;
	width: 8em;
	height: 8em;
	border-radius: 50%;
	object-fit: cover;
	object-position: center;
	background: #eee;
}
.newmain .monthly_head b {
	display: block;
	font-size: 1.8em;
	font-weight: 700;
	color: var(--nm-black);
}
.newmain .monthly_head div > span {
	display: block;
	margin-top: 0.9em;
	font-size: 1.3em;
	color: #777;
}
/* 아래에서 위로 계속 올라가는 피드백 */
.newmain .monthly_scroll {
	position: absolute;
	left: 0.9em;
	right: 1.8em;
	top: 12.5em;
	bottom: 0;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 1.5em, #000 calc(100% - 2em), transparent 100%);
	mask-image: linear-gradient(to bottom, transparent 0, #000 1.5em, #000 calc(100% - 2em), transparent 100%);
}
.newmain .monthly_track {
	padding-top: 1em;
	animation: nmFeedbackUp 45s linear infinite;
}
.newmain .monthly_track .fb_content {
	padding-bottom: 2.4em;
}
.newmain .monthly_card:hover .monthly_track {
	animation-play-state: paused;
}
@keyframes nmFeedbackUp {
	from { transform: translateY(0); }
	to   { transform: translateY(-50%); }
}

/* 피드백 본문 (05 카드 + 팝업 공통) */
.newmain .fb_content p {
	font-size: 1.2em;
	line-height: 1.67;
	letter-spacing: -0.02em;
	color: #333;
	word-break: keep-all;
}
.newmain .fb_content .fb_h {
	margin-top: 1.2em;
	font-size: 1.3em;
	font-weight: 700;
	color: var(--nm-blue);
}
.newmain .fb_content .fb_h:first-child {
	margin-top: 0;
}
.newmain .fb_content .fb_li {
	position: relative;
	margin: 0.8em 0 0.4em;
	padding-left: 1.1em;
	font-weight: 600;
	color: #222;
}
.newmain .fb_content .fb_li::before {
	content: "•";
	position: absolute;
	left: 0.2em;
}
.newmain .fb_content .fb_indent {
	padding-left: 1.4em;
}

/* ---------- 06 ADJUST: 휴대폰 + 카톡 ---------- */
.newmain .phone {
	position: absolute;
	left: 31.9em;
	top: 3.9em;
	width: 26.3em;
	height: 44em;
	border: 0.4em solid #1a1a1a;
	border-radius: 4em;
	background: #abc1d1;
}
/* 다이내믹 아일랜드 */
.newmain .phone::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0.9em;
	width: 6.6em;
	height: 1.8em;
	margin-left: -3.3em;
	border-radius: 1em;
	background: #111;
}
.newmain .phone_status {
	position: absolute;
	left: 2.6em;
	right: 2.2em;
	top: 1.2em;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 0.8em;
	color: #333;
}
.newmain .phone_status i {
	width: 1.5em;
	height: 0.7em;
	border-radius: 0.15em;
	background: #333;
}
.newmain .phone_top {
	position: absolute;
	left: 0;
	right: 0;
	top: 4.2em;
	display: flex;
	align-items: center;
	justify-content: center;
}
.newmain .phone_top b {
	font-size: 1.05em;
	font-weight: 700;
	color: #222;
}
.newmain .phone_top .back {
	position: absolute;
	left: 2.4em;
	top: 50%;
	width: 0.8em;
	height: 0.8em;
	margin-top: -0.4em;
	border-left: 1.5px solid #333;
	border-bottom: 1.5px solid #333;
	transform: rotate(45deg);
}
.newmain .phone_top .menu {
	position: absolute;
	right: 2em;
	top: 50%;
	width: 1.2em;
	height: 0.9em;
	margin-top: -0.45em;
	border-top: 1.5px solid #333;
	border-bottom: 1.5px solid #333;
}
.newmain .phone_top .menu::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	border-top: 1.5px solid #333;
	transform: translateY(-50%);
}
/* 말풍선은 아래에 붙고, 새 말풍선이 생기면 위로 밀려 올라감 */
.newmain .chat {
	position: absolute;
	left: 0;
	right: 0;
	top: 7.1em;
	height: 23.2em;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 0 1.3em;
}
.newmain .chat_msg {
	display: grid;
	grid-template-rows: 1fr;
}
.newmain .chat_msg > div {
	min-height: 0;
	overflow: hidden;
}
.newmain .chat_msg + .chat_msg > div::before {
	content: "";
	display: block;
	height: 1.5em;
}
.newmain .chat_msg.is-me + .chat_msg > div::before,
.newmain .chat_msg + .chat_msg.is-me > div::before {
	height: 2.6em;
}
.newmain .chat_avatar {
	display: block;
	width: 3em;
	height: 3em;
	margin-bottom: 1.5em;
	border-radius: 50%;
	object-fit: cover;
}
.newmain .bubble {
	position: relative;
	display: inline-block;
	margin-left: 0.4em;
	padding: 0.7em 1em;
	border-radius: 0.6em;
	background: #fff;
	font-size: 0.95em;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #222;
}
.newmain .bubble::before {
	content: "";
	position: absolute;
	left: -0.35em;
	top: 0;
	border-top: 0.7em solid #fff;
	border-left: 0.5em solid transparent;
}
.newmain .chat_msg.is-me {
	text-align: right;
}
.newmain .chat_name {
	display: block;
	margin: 0 0.6em 0.6em 0;
	font-size: 0.75em;
	color: #7d8a96;
}
.newmain .chat_msg.is-me .bubble {
	margin: 0 0.4em 0 0;
	background: #ffeb34;
	font-size: 1.05em;
	line-height: 1.4;
	text-align: left;
}
.newmain .chat_msg.is-me .bubble::before {
	left: auto;
	right: -0.35em;
	border-top-color: #ffeb34;
	border-left: 0;
	border-right: 0.5em solid transparent;
}
.newmain .bubble b {
	font-weight: 700;
}
/* 06: 대화 3건·캡션 3개를 같은 자리에 겹쳐두고 .is-show만 노출 */
.newmain .step06 .chat,
.newmain .step06 .curri_cap {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.35s, visibility 0.35s;
}
.newmain .step06 .chat.is-show,
.newmain .step06 .curri_cap.is-show {
	opacity: 1;
	visibility: visible;
}
/* 재생: JS가 보이는 대화의 .chat에 .is-play 추가 */
.newmain .chat.is-play .chat_msg {
	animation: nmChatIn 0.45s ease-out both;
}
.newmain .chat.is-play .chat_msg:nth-child(1) { animation-delay: 0.4s; }
.newmain .chat.is-play .chat_msg:nth-child(2) { animation-delay: 1.5s; }
.newmain .chat.is-play .chat_msg:nth-child(3) { animation-delay: 2.8s; }
@keyframes nmChatIn {
	from { grid-template-rows: 0fr; opacity: 0; transform: translateY(1.2em); }
	to   { grid-template-rows: 1fr; opacity: 1; transform: none; }
}

/* ---------- 화살표 ---------- */
.newmain .curri_nav {
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 2.6em;
	height: 2.6em;
	margin-top: -1.3em;
	border: 1.5px solid #222;
	border-radius: 50%;
	background: transparent;
	font-size: inherit; /* button은 기본 13.33px → em 기준을 부모에 맞춤 */
	cursor: pointer;
	transition: background-color 0.2s;
}
.newmain .curri_nav::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 0.7em;
	height: 0.7em;
	border-left: 1.5px solid #222;
	border-bottom: 1.5px solid #222;
	transform: translate(-30%, -50%) rotate(45deg);
}
.newmain .curri_nav.next::before {
	transform: translate(-70%, -50%) rotate(-135deg);
}
.newmain .curri_nav.prev { left: -10.9em; }
.newmain .curri_nav.next { right: -10.7em; }
.newmain .curri_nav:hover {
	background: #fff;
}

.newmain .curri_cta {
	margin-top: 8rem;
	text-align: center;
}

/* ---------- 피드백 전체 보기 팝업 ---------- */
html.newmain_lock {
	overflow: hidden;
}
.newmain .fb_layer {
	position: fixed;
	inset: 0;
	z-index: 5000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem;
}
.newmain .fb_layer[hidden] {
	display: none;
}
.newmain .fb_layer_dim {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
}
.newmain .fb_layer_box {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 60rem;
	max-height: 80vh;
	overflow: hidden;
	border-radius: 2rem;
	background: #fff;
	animation: nmLayerIn 0.3s ease-out;
}
@keyframes nmLayerIn {
	from { opacity: 0; transform: translateY(2rem); }
	to   { opacity: 1; transform: none; }
}
.newmain .fb_layer_head {
	position: relative;
	flex: none;
	padding: 2.6rem 6rem 1.8rem 2.8rem;
	border-bottom: 1px solid #eee;
}
.newmain .fb_layer_head h3 {
	font-size: 2rem;
	font-weight: 800;
	color: var(--nm-black);
}
.newmain .fb_layer_head h3 span {
	margin-left: 0.6rem;
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--nm-blue);
}
.newmain .fb_layer_close {
	position: absolute;
	right: 2rem;
	top: 50%;
	width: 3.2rem;
	height: 3.2rem;
	margin-top: -1.6rem;
	background: none;
	cursor: pointer;
}
.newmain .fb_layer_close::before,
.newmain .fb_layer_close::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 2rem;
	height: 2px;
	margin: -1px 0 0 -1rem;
	background: #333;
	transform: rotate(45deg);
}
.newmain .fb_layer_close::after {
	transform: rotate(-45deg);
}
.newmain .fb_layer_body {
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 2.4rem 2.8rem 3.2rem;
	font-size: 1.2rem;
}
.newmain .fb_layer_body p + p:not(.fb_h):not(.fb_li) {
	margin-top: 0.5em;
}

/* ====================================== 새소식 + 수업 선택 ====================================== */
.newmain .pick {
	padding: 12rem 2rem;
}
.newmain .news {
	max-width: 79.8rem;
	margin: 0 auto;
}
.newmain .news_tit {
	font-size: 3rem;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.01em;
	color: #333;
}
.newmain .news_tit span {
	display: block;
	margin-top: 0.3rem;
	font-size: 2.2rem;
	font-weight: 400;
	letter-spacing: -0.02em;
	color: #999;
}
/* 배너 자리 (이미지 들어오면 안에 img) */
.newmain .news_banner {
	display: block;
	overflow: hidden;
	margin-top: 3.2rem;
	aspect-ratio: 798 / 187;
	border-radius: 1.4rem;
}
.newmain .news_banner img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.newmain .pick_tit {
	margin-top: 12rem;
}
.newmain .pick_list {
	display: flex;
	justify-content: center;
	gap: 2.4rem;
	margin-top: 9.4rem;
}
.newmain .pick_list li {
	flex: 0 1 43.2rem;
}
.newmain .pick_card {
	display: flex;
	height: 22.7rem;
	padding: 0.8rem 1.2rem;
	border-radius: 1.6rem;
	background: #fff;
	box-shadow: 0 0.2rem 1.4rem rgba(0, 0, 0, 0.08);
	transition: background-color 0.25s, box-shadow 0.25s;
}
.newmain .pick_card:hover,
.newmain .pick_card:focus-visible {
	background: #f2f8ff;
	box-shadow: 0 0.4rem 1.8rem rgba(76, 100, 255, 0.12);
}
.newmain .pick_img {
	flex: none;
	width: 16.5rem;
	height: 100%;
	border-radius: 0.8rem;
	object-fit: cover;
}
.newmain .pick_txt {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 2.4rem 1.4rem 2.6rem 2rem;
}
.newmain .pick_name {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: var(--nm-black);
}
.newmain .pick_name span {
	display: block;
	margin-top: 0.4rem;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0;
	color: #333;
}
.newmain .pick_desc {
	margin-top: auto;
	font-size: 1.2rem;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: #222;
	word-break: keep-all;
}

/* ====================================== 기업교육 ====================================== */
.newmain .biz {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 44.8rem;
	padding: 4rem 2rem;
	background: #333 url(../../img/newmain/sec6_bg_pc.webp) center / cover no-repeat;
	text-align: center;
}
.newmain .biz_tit {
	font-size: 4.4rem;
	font-weight: 700;
	line-height: 1.27;
	letter-spacing: -0.02em;
	color: #fff;
}
.newmain .biz_btns {
	display: flex;
	justify-content: center;
	gap: 1.6rem;
	margin-top: 5rem;
}
.newmain .biz_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 4.9rem;
	padding: 0 1.6rem;
	border: 1.5px solid #fff;
	border-radius: 0.8rem;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: -0.02em;
	transition: background-color 0.2s, color 0.2s;
}
.newmain .biz_btn.fill {
	background: #fff;
	color: var(--nm-black);
}
.newmain .biz_btn.fill:hover {
	background: #e9ecff;
}
.newmain .biz_btn.line {
	background: transparent;
	color: #fff;
}
.newmain .biz_btn.line:hover {
	background: rgba(255, 255, 255, 0.15);
}

/* ====================================== 후기 ====================================== */
.newmain .review {
	padding: 12rem 2rem;
	overflow: hidden;
	background: #f6f7ff;
}
.newmain .review_head,
.newmain .review_slider {
	max-width: 96.5rem;
	margin: 0 auto;
}
.newmain .review_tit {
	font-size: 4.2rem;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.03em;
	color: var(--nm-black);
}
.newmain .review_sub {
	margin-top: 2.2rem;
	font-size: 1.7rem;
	letter-spacing: -0.02em;
	color: #666;
}
.newmain .review_slider {
	margin-top: 6.8rem;
}
/* PC: Swiper 미사용 → 3열 엇갈림 (위→아래, 왼쪽 열부터) */
.newmain .review_slider .swiper-wrapper {
	display: block;
	column-count: 3;
	column-gap: 2.8rem;
}
.newmain .review_slider .swiper-slide {
	width: auto;
	height: auto;
	margin-bottom: 2.8rem;
	break-inside: avoid;
}

/* 카드 내부 크기는 em → 모바일에서 font-size만 줄여 비율 축소 */
.newmain .rv_card {
	padding: 2.5em 2.5em 2.8em;
	border: 1px solid #e8e9f2;
	border-radius: 1.2em;
	background: #fff;
	font-size: 1rem;
}
.newmain .rv_user {
	display: flex;
	align-items: center;
	gap: 1.4em;
}
.newmain .rv_ico {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4em;
	height: 4em;
	border-radius: 0.6em;
}
.newmain .rv_ico svg {
	width: 2.6em;
	height: 2.6em;
}
.newmain .rv_ico.c-pink   { background: #fdeaf4; color: #ef3197; }
.newmain .rv_ico.c-purple { background: #ece6fb; color: #6036c9; }
.newmain .rv_ico.c-teal   { background: #e5f7f5; color: #009184; }
.newmain .rv_ico.c-yellow { background: #fbf7e6; color: #c09d0f; }
.newmain .rv_ico.c-green  { background: #eff7e2; color: #609214; }
.newmain .rv_ico.c-blue   { background: #eef2ff; color: #5c7ef0; }
.newmain .rv_ico.c-red    { background: #fde5e5; color: #e00010; }
.newmain .rv_user p {
	font-size: 1.35em;
	line-height: 1.55;
	color: #777;
}
.newmain .rv_user strong {
	display: block;
	font-weight: 700;
	color: var(--nm-black);
}
.newmain .rv_tit {
	margin-top: 1.8em;
	font-size: 1.65em;
	font-weight: 700;
	line-height: 1.42;
	letter-spacing: -0.02em;
	color: var(--nm-black);
}
.newmain .rv_txt {
	margin-top: 1.4em;
	font-size: 1.45em;
	line-height: 1.86;
	letter-spacing: -0.02em;
	color: #222;
	word-break: keep-all;
}

/* ====================================== FAQ ====================================== */
.newmain .faq {
	padding: 12rem 2rem;
	background: #dae7ff;
}
.newmain .faq_tit {
	color: #21272a;
}
.newmain .faq_eng {
	display: block;
	margin-bottom: 1.4rem;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0;
	color: #001d6c;
}
.newmain .faq_list {
	max-width: 89.8rem;
	margin: 6.6rem auto 0;
}
.newmain .faq_item {
	border: 1px solid #e6e9f2;
	background: #fff;
}
.newmain .faq_item + .faq_item {
	margin-top: 1.8rem;
}
.newmain .faq_q {
	position: relative;
	display: block;
	width: 100%;
	padding: 1.4rem 5.6rem 1.4rem 1.6rem;
	background: none;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.02em;
	text-align: left;
	color: #21272a;
	cursor: pointer;
}
/* + / − 아이콘 */
.newmain .faq_q::before,
.newmain .faq_q::after {
	content: "";
	position: absolute;
	right: 1.8rem;
	top: 50%;
	width: 1.6rem;
	height: 2px;
	margin-top: -1px;
	background: #21272a;
	transition: transform 0.25s;
}
.newmain .faq_q::after {
	transform: rotate(90deg);
}
.newmain .faq_item.is-open .faq_q::after {
	transform: rotate(0deg);
}
/* 답변: 높이 0 → 내용 높이로 부드럽게 */
.newmain .faq_a {
	display: grid;
	grid-template-rows: 0fr;
	visibility: hidden;
	transition: grid-template-rows 0.3s ease, visibility 0.3s;
}
.newmain .faq_item.is-open .faq_a {
	grid-template-rows: 1fr;
	visibility: visible;
}
.newmain .faq_a > div {
	min-height: 0;
	overflow: hidden;
}
.newmain .faq_a > div::after {
	content: "";
	display: block;
	height: 1.8rem;
}
.newmain .faq_a p,
.newmain .faq_a li {
	font-size: 1.6rem;
	line-height: 1.4;
	letter-spacing: -0.02em;
	color: #333;
	word-break: keep-all;
}
.newmain .faq_a > div > * {
	margin: 0 1.6rem;
}
.newmain .faq_a > div > :first-child {
	margin-top: 0.4rem;
}
.newmain .faq_a > div > * + * {
	margin-top: 2.2rem;
}
.newmain .faq_a > div > p + .faq_ul_tight {
	margin-top: 0;
}
.newmain .faq_a li {
	position: relative;
	padding-left: 2.4rem;
}
.newmain .faq_a li::before {
	content: "•";
	position: absolute;
	left: 0.8rem;
}
.newmain .faq_cta {
	margin-top: 6.4rem;
	text-align: center;
}

/* ====================================== 마지막 CTA ====================================== */
.newmain .last_cta {
	padding: 13.6rem 2rem 12rem;
	background: var(--nm-blue);
	text-align: center;
	color: #fff;
}
.newmain .last_sub {
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: -0.02em;
}
.newmain .last_tit {
	margin-top: 2.6rem;
	font-size: 4.6rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: -0.02em;
}
.newmain .last_btns {
	display: flex;
	justify-content: center;
	gap: 1.6rem;
	margin-top: 5rem;
}
.newmain .last_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 5rem;
	padding: 0 1.6rem;
	border-radius: 0.8rem;
	font-size: 1.7rem;
	font-weight: 500;
	letter-spacing: -0.02em;
	transition: background-color 0.2s;
}
.newmain .last_btn.black {
	background: #000;
	color: #fff;
}
.newmain .last_btn.black:hover {
	background: #222;
}
.newmain .last_btn.white {
	background: #fff;
	color: var(--nm-black);
}
.newmain .last_btn.white:hover {
	background: #e9ecff;
}

/* ====================================== 작은 PC (1200px 이하) ====================================== */
@media (max-width: 1200px) {
	/* 수강생 이야기: 가로 배치 유지, 사진·글자 비율 축소 */
	.newmain .story_inner {
		gap: 4rem;
		margin-top: 10rem;
		padding: 0 4rem;
	}
	.newmain .story_photo {
		flex-basis: 42%;
	}
	.newmain .story_quote {
		font-size: 3.2rem;
	}
	.newmain .story_sub {
		margin-top: 1.4rem;
		font-size: 2.2rem;
	}
	.newmain .story_desc {
		margin-top: 3rem;
		font-size: 1.8rem;
		line-height: 1.8;
	}
	.newmain .story_name {
		margin-top: 3rem;
		font-size: 1.6rem;
	}
}

/* ====================================== 태블릿 ====================================== */
@media (max-width: 991px) {
	.newmain .hero {
		padding: 12rem 2rem;
	}
	.newmain .hero_inner {
		grid-template-columns: 30rem minmax(0, 1fr);
		column-gap: 4rem;
	}
	.newmain .hero_tit {
		font-size: 4rem;
	}
	.newmain .hero_desc {
		font-size: 1.8rem;
	}
	.newmain .hero_btns {
		gap: 1rem;
	}
	.newmain .btn_main {
		width: 14.5rem;
	}
	/* 커리큘럼: 화살표 포함 폭이 화면을 넘지 않도록 전체 비율 축소 */
	.newmain .curri_wrap {
		font-size: 0.75rem;
	}
	.newmain .review_slider .swiper-wrapper {
		column-count: 2;
	}
	/* 수강생 이야기: 사진 위, 글 아래 세로 배치 */
	.newmain .story {
		padding-bottom: 10rem;
	}
	.newmain .story_inner {
		flex-direction: column;
		gap: 5rem;
		max-width: 72rem;
		margin-top: 8rem;
		padding: 0 4rem;
		text-align: center;
	}
	.newmain .story_photo {
		flex: none;
		width: 100%;
	}
	.newmain .story_txt {
		width: 100%;
	}
	.newmain .story_quote {
		font-size: 3.4rem;
	}
	.newmain .story_sub {
		margin-top: 1.2rem;
		font-size: 2.2rem;
	}
	.newmain .story_desc {
		margin-top: 3rem;
		font-size: 1.8rem;
		line-height: 1.8;
	}
	.newmain .story_name {
		margin-top: 2.4rem;
		font-size: 1.6rem;
	}
}

/* ====================================== 모바일 ====================================== */
@media (max-width: 767px) {
	/* 모바일: 스와이프 때 높이가 변하지 않도록 모든 슬라이드를 375:460 비율로 고정 (375px 화면에서 46rem)
	   모바일 통이미지는 750x920으로 제작하면 영역에 꼭 맞음
	   영국남자배너는 라이브 모바일 레이아웃을 따름
	   - 글자·띠·화살표: 라이브와 같은 고정 크기(1em = 10px), 375px보다 좁은 화면만 비례 축소
	   - 인물·국기: 슬라이드 높이에 맞춰 비례 (375px 화면에서 라이브와 같은 크기) */
	.newmain .mainv_slide {
		height: auto;
		aspect-ratio: 375 / 460;
		font-size: calc(100vw / 37.5); /* 375px 화면에서 1em = 10px */
	}
	.newmain .mainv_inner {
		position: absolute;
		inset: 0;
		width: auto;
		height: auto;
		padding: 6em 2em 0;
		font-size: min(10px, 100vw / 37.5);
	}
	/* 제목: 왼쪽 정렬, 한 줄씩 쌓기 */
	.newmain .mainv_tit {
		font-size: 1em;
		line-height: normal;
		letter-spacing: 0;
	}
	.newmain .mainv_row {
		display: block;
	}
	.newmain .mainv_row .txt {
		display: block;
		text-shadow: 2px 2px 0 #222;
	}
	.newmain .mainv_tit .mainv_row.line {
		display: flex;
		align-items: center;
		height: 4em;
		margin-bottom: 1em;
	}
	.newmain .mainv_tit .mainv_row.line .txt {
		font-size: 3.4em;
		line-height: 1.18;
		letter-spacing: -0.1em;
	}
	.newmain .mainv_tit .mainv_row.line::after {
		height: 1px;
		margin: 1em 0 0 1.3em;
		background: #b6b9bd;
		box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);
	}
	.newmain .mainv_tit .mainv_row:not(.line) .txt {
		font-size: 4.6em;
		font-weight: normal;
		line-height: 1.12;
		letter-spacing: -0.04em;
	}
	.newmain .mainv_sub {
		margin-top: 1em;
		font-size: 1em;
		font-weight: 600;
		line-height: normal;
	}
	.newmain .mainv_sub .txt {
		font-size: 2em;
		line-height: 1.6;
		letter-spacing: -0.07em;
	}
	.newmain .mainv_sub.line::after {
		display: none;
	}
	/* 인물: 오른쪽 아래 / 국기: 오른쪽 아래 */
	.newmain .mainv_ukperson {
		left: auto;
		right: -3rem;
		bottom: 1rem;
		height: calc(100vw / 37.5 * 27.8);
		transform: none;
	}
	.newmain .mainv_ukflag {
		width: auto;
		height: calc(100vw / 37.5 * 35);
	}
	.newmain .mainv_slide.type_img .pc {
		display: none;
	}
	/* 모바일 통이미지(750x920)가 영역에 꼭 맞음 */
	.newmain .mainv_mo {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	/* 정중앙 컨텐츠 배너: 통이미지는 세로 가운데 (영역보다 짧으면 위·아래 여백이 생김)
	   - 위 여백은 --bg, 아래 여백은 --bg-mo-bottom(없으면 --bg) 색으로 채움 → 이미지 위·아래 끝 색을 넣으면 이어져 보임 */
	.newmain .type_center .mainv_link {
		background: linear-gradient(var(--bg, #1a2240) 50%, var(--bg-mo-bottom, var(--bg, #1a2240)) 50%);
	}
	.newmain .type_center .mainv_mo {
		position: absolute;
		left: 0;
		top: 50%;
		height: auto;
		object-fit: initial;
		transform: translateY(-50%);
	}
	/* 타임라인: 띠 4.6em(375px 화면에서 46px) */
	.newmain .has_timer .mainv_link {
		height: calc(100% - 4.6em);
	}
	.newmain .mainv_timer {
		height: 4.6em;
	}
	.newmain .mainv_timer ul {
		gap: 2em;
	}
	.newmain .mainv_timer li {
		gap: 0.2em;
	}
	.newmain .mainv_timer span {
		font-size: 2.6em;
	}
	.newmain .mainv_timer p {
		font-size: 1.2em;
	}

	/* 화살표: 띠 바로 위 좌우 (라이브와 동일) */
	.newmain .mainv_arrow {
		top: auto;
		right: auto;
		bottom: min(5.2rem, 100vw / 37.5 * 5.2);
		left: 1rem;
		width: min(3.4rem, 100vw / 37.5 * 3.4);
		height: min(3.4rem, 100vw / 37.5 * 3.4);
		margin-top: 0 !important;
		background-size: 45%;
	}
	.newmain .mainv_arrow.next {
		left: auto;
		right: 1rem;
	}
	/* 하단 띠: 왼쪽 문구 2줄 + 오른쪽 버튼 */
	.newmain .mainv_band {
		font-size: min(10px, 100vw / 37.5);
		height: 6em;
		justify-content: flex-start;
		gap: 0;
		padding: 0 16em 0 2em;
	}
	.newmain .mainv_band_txt {
		font-size: 1.3em;
		line-height: 1.54;
		letter-spacing: -0.02em;
		text-align: left;
	}
	.newmain .mainv_band_btn {
		position: absolute;
		top: 50%;
		right: 1.4em;
		height: 3.4em;
		padding: 0 1.4em;
		font-size: 1em;
		transform: translateY(-50%);
	}

	.newmain .hero {
		padding: 6rem 2rem 5.6rem;
	}
	/* 모바일 순서: 설명 → 제목 → 영상 → 버튼 → 화살표 */
	.newmain .hero_inner {
		grid-template-columns: minmax(0, 29.2rem);
		grid-template-rows: none;
		grid-template-areas:
			"head"
			"video"
			"btns"
			"scroll";
		text-align: center;
	}
	.newmain .hero_head {
		flex-direction: column-reverse;
	}
	.newmain .hero_desc {
		margin-top: 0;
		font-size: 1.1rem;
		line-height: 1.45;
	}
	.newmain .hero_tit {
		margin-top: 1rem;
		font-size: 2.4rem;
		line-height: 1.2;
	}
	.newmain .hero_video {
		margin-top: 4rem;
		border-radius: 0.6rem;
	}
	.newmain .hero_video_bar {
		height: 1.4rem;
		gap: 0.2rem;
		padding: 0 0.6rem;
	}
	/* 시안 비율(292x175)에 맞추고, 16:9 영상은 좌우를 잘라 꽉 채움 */
	.newmain .hero_video_frame {
		aspect-ratio: 292 / 175;
		overflow: hidden;
	}
	.newmain .hero_video_frame iframe {
		right: auto;
		left: 50%;
		width: auto;
		aspect-ratio: 16 / 9;
		transform: translateX(-50%);
	}
	.newmain .hero_video_bar span {
		width: 0.4rem;
		height: 0.4rem;
	}
	.newmain .hero_btns {
		justify-content: center;
		margin-top: 4rem;
	}
	.newmain .btn_main {
		width: 12.4rem;
		height: 4.5rem; /* 고객 요청: 모바일 버튼 45px */
		font-size: 1.2rem;
	}
	.newmain .hero_btns .btn_main.line {
		width: 11.6rem;
	}
	.newmain .hero_scroll {
		grid-area: scroll;
		display: block;
		justify-self: center;
		width: 4rem;
		height: 4rem;
		margin-top: 5.8rem;
		position: relative;
	}
	.newmain .hero_scroll::before {
		content: "";
		position: absolute;
		left: 50%;
		top: 30%;
		width: 2.2rem;
		height: 2.2rem;
		border-right: 2px solid #ddd;
		border-bottom: 2px solid #ddd;
		transform: translateX(-50%) rotate(45deg);
		transform-origin: center;
	}

	.newmain .growth {
		min-height: 10.4rem;
	}
	.newmain .growth_txt {
		font-size: 1.6rem;
		line-height: 1.4;
	}

	.newmain .sec_tit {
		font-size: 1.8rem;
		line-height: 1.2;
	}
	.newmain .course {
		padding: 6rem 0;
	}
	.newmain .course_slider {
		margin-top: 4rem;
	}
	.newmain .course_slider .swiper-slide {
		padding: 0 0.9rem;
	}
	.newmain .course_card {
		font-size: 0.71rem; /* 카드 214x240 */
	}
	.newmain .course_cta {
		margin-top: 4rem;
	}
	.newmain .btn_main.lg {
		width: 18.4rem;
		height: 4.5rem;
		font-size: 1.3rem;
	}

	/* 강사 전문 분야: CTA → 사진 → 2x2 */
	.newmain .expert {
		padding: 6rem 2rem;
	}
	.newmain .expert .sec_sub {
		color: #777;
	}
	.newmain .expert_grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-areas:
			"cta   cta"
			"photo photo"
			"link  c1"
			"c2    c3";
		gap: 0.9rem;
		max-width: 29.2rem;
		margin: 4rem auto 0;
	}
	.newmain .expert_photo {
		aspect-ratio: 292 / 142;
	}
	.newmain .expert_cta {
		padding: 2.4rem 1.6rem;
	}
	.newmain .expert_cta_txt {
		font-size: 1.5rem;
		line-height: 1.4;
	}
	.newmain .expert_cta_btn {
		min-width: 13.1rem;
		height: 4.5rem;
		margin-top: 1.6rem;
		font-size: 1.3rem;
	}
	.newmain .expert_link {
		padding: 1.6rem 1.6rem 1.9rem;
		font-size: 1.5rem;
		line-height: 1.2;
	}
	.newmain .expert_card {
		font-size: 0.73rem;
	}

	/* 강사 소개 */
	.newmain .pcBr {
		display: none;
	}
	.newmain .sec_sub {
		display: block;
		margin-bottom: 1rem;
		font-size: 1.1rem;
		line-height: 1.45;
		font-weight: 400;
	}
	.newmain .teacher {
		padding: 6rem 0;
	}
	.newmain .teacher_slider {
		margin-top: 4rem;
	}
	.newmain .teacher_slider .swiper-slide {
		padding: 0 0.6rem 1rem;
	}
	.newmain .teacher_card {
		font-size: 0.73rem; /* 카드 223x317 */
	}
	.newmain .teacher_cta {
		margin-top: 3rem;
	}

	/* 수강생 이야기: 사진 위, 글 아래 가운데 정렬 */
	.newmain .story {
		padding-bottom: 6rem;
	}
	.newmain .story_head {
		padding: 1.9rem 2rem 1.8rem;
	}
	.newmain .story_tit {
		font-size: 1.8rem;
	}
	.newmain .story_en {
		margin-top: 0.2rem;
		font-size: 1.1rem;
	}
	.newmain .story_inner {
		flex-direction: column;
		gap: 0;
		margin-top: 0;
		padding: 0;
		text-align: center;
	}
	.newmain .story_photo {
		flex: none;
		width: 100%;
		border-radius: 0;
	}
	.newmain .story_photo img {
		aspect-ratio: 360 / 277;
		object-fit: cover;
	}
	.newmain .story_inner {
		max-width: none;
	}
	.newmain .story_txt {
		width: auto;
		padding: 3.6rem 2rem 0;
	}
	.newmain .story_quote {
		font-size: 2rem;
		line-height: 1.3;
	}
	.newmain .story_sub {
		margin-top: 0.6rem;
		font-size: 1.5rem;
	}
	.newmain .story_desc {
		margin-top: 3rem;
		font-size: 1.1rem;
		line-height: 1.85;
	}
	.newmain .story_name {
		margin-top: 1.4rem;
		font-size: 1.1rem;
	}

	/* ---------- 커리큘럼: 카드형 슬라이드 (1em = 6px, 카드 290x315) ---------- */
	.newmain .only_pc { display: none !important; }
	.newmain .only_mo { display: revert !important; }
	.newmain .fb_bar.only_mo { display: flex !important; }

	.newmain .curri {
		padding: 6rem 0;
	}
	.newmain .curri_wrap {
		width: auto;
		margin-top: 4rem;
		font-size: 0.6rem;
	}
	.newmain .curri_cta {
		margin-top: 4rem;
	}
	.newmain .curri_nav {
		display: none;
	}
	.newmain .curri_slider {
		overflow: visible;
		padding: 0;
		margin: 0;
	}
	.newmain .curri_slider .swiper-slide {
		width: auto;
		padding: 0 2.5em;
	}
	.newmain .curri_item {
		position: relative;
		display: block;
		isolation: isolate;
		overflow: hidden;
		width: 48.3em;
		height: 52.5em;
		padding-top: 3.4em;
		border-radius: 2em;
		background: #fff;
		box-shadow: 0 0.4em 2em rgba(76, 100, 255, 0.08);
		text-align: center;
	}
	.newmain .curri_label {
		width: auto;
	}
	.newmain .curri_num,
	.newmain .curri_tit {
		font-size: 2.67em;
		font-weight: 700;
		line-height: 1.3;
	}
	.newmain .curri_tit {
		margin-top: 0;
	}
	.newmain .curri_panel {
		position: static;
		width: auto;
		height: auto;
		overflow: visible;
		border-radius: 0;
		background: none;
		box-shadow: none;
	}
	.newmain .curri_desc {
		position: static;
		margin-top: 0.8em;
		font-size: 2em;
		font-weight: 400;
		line-height: 1.3;
		color: #777;
	}
	.newmain .curri_cap,
	.newmain .lv_table,
	.newmain .review_laptop {
		display: none;
	}
	.newmain .lv_test,
	.newmain .match_level,
	.newmain .fb_card,
	.newmain .phone {
		text-align: left;
	}

	/* 01: 레벨테스트 카드 + 뒤에 겹친 카드 */
	.newmain .lv_test {
		left: 6em;
		top: 21.5em;
	}
	.newmain .lv_test::before,
	.newmain .lv_test::after {
		content: "";
		position: absolute;
		inset: 0;
		z-index: -1;
		border: 1px solid #e6e9f5;
		border-radius: inherit;
		background: #fff;
	}
	.newmain .lv_test::before { transform: translate(4.4em, 1.2em) scale(0.95); }
	.newmain .lv_test::after  { transform: translate(7.6em, 2.2em) scale(0.9); z-index: -2; }

	/* 02: 레벨 카드 + 말풍선 + 세로형 강사 카드 */
	.newmain .match_level {
		left: 8em;
		top: 21.5em;
		width: 19.2em;
		height: 40em;
		padding: 2em 1.6em 2em 3.3em;
	}
	.newmain .match_course b {
		font-size: 2.8em;
	}
	.newmain .match_course span {
		display: block;
		font-size: 1.7em;
	}
	.newmain .match_rec {
		margin-top: 1.5em;
	}
	.newmain .match_list li {
		padding-left: 1.7em;
		font-size: 1.45em;
		line-height: 1.8;
	}
	.newmain .match_btn {
		position: static;
		margin-top: 1.4em;
		width: calc(12.2em / 1.08);
		height: calc(3.5em / 1.08);
		font-size: 1.08em;
	}
	.newmain .match_bubble {
		left: calc(21em / 1.2);
		top: calc(22.5em / 1.2);
		width: calc(18.2em / 1.2);
		padding: 0.5em 0.6em;
		z-index: 1;
		line-height: 1.4;
		word-break: keep-all;
	}
	/* 말풍선 꼬리: 오른쪽 아래 → 강사 카드 방향 */
	.newmain .match_bubble::before {
		left: auto;
		right: 1em;
		top: 100%;
		border: 0.4em solid transparent;
		border-top-color: #e8ebff;
		border-bottom: 0;
	}
	.newmain .match_teacher {
		left: 25.2em;
		top: 29.2em;
		flex-direction: column;
		justify-content: flex-start;
		gap: 1.6em;
		width: 15.5em;
		height: 21em;
		padding: 1.5em 0.5em;
		text-align: center;
	}
	.newmain .match_teacher p {
		font-size: 0.95em;
		letter-spacing: -0.04em;
	}
	.newmain .match_teacher img {
		width: 9.3em;
		height: 9.3em;
	}
	.newmain .match_teacher strong {
		font-size: 2.4em;
	}
	.newmain .match_teacher ul {
		justify-content: center;
	}

	/* 03 */
	.newmain .speak_media {
		left: 8.8em;
		top: 30.7em;
		width: 30.7em;
		height: 16em;
	}
	.newmain .speak_media iframe {
		width: 100%;
		height: 17.3em; /* 30.7em × 9/16 */
	}

	/* 04 / 05: 파란 헤더 피드백 카드 + '전체 보기' 오버레이 */
	.newmain .review_card,
	.newmain .monthly_card {
		left: 6.8em;
		top: 21.5em;
		width: 34.5em;
		height: 40em;
		padding: 0;
		border-radius: 1em;
	}
	.newmain .fb_bar {
		align-items: center;
		justify-content: space-between;
		height: 5em;
		padding: 0 1.7em;
		background: var(--nm-blue);
		color: #fff;
	}
	.newmain .fb_bar b {
		font-size: 1.8em;
		font-weight: 600;
	}
	.newmain .fb_bar span {
		font-size: 1.4em;
	}
	.newmain .fb_body {
		margin: 0;
		padding: 2em 1.7em;
	}
	.newmain .fb_body p {
		font-size: 1.35em;
	}
	.newmain .monthly_head {
		gap: 1.6em;
		padding: 2em 1.7em 0;
	}
	.newmain .monthly_head img {
		width: 7.7em;
		height: 7.7em;
	}
	.newmain .monthly_scroll {
		left: 0.6em;
		right: 1em;
		top: 16.5em;
	}
	.newmain .monthly_track {
		font-size: 0.85em;
	}
	.newmain .fb_more {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 2;
		display: block;
		height: 16em;
		padding-top: 7.5em;
		background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 100%);
		font-size: 1em;
		cursor: pointer;
	}
	.newmain .fb_more::before {
		content: "피드백 전체 보기";
		display: block;
		font-size: 2em;
		font-weight: 700;
		color: #fff;
		text-shadow: 0 0 0.4em rgba(0, 0, 0, 0.3);
	}
	.newmain .fb_more::after {
		content: "";
		display: block;
		width: 2.6em;
		height: 2.6em;
		margin: 0 auto;
		border-right: 1.5px solid #fff;
		border-bottom: 1.5px solid #fff;
		transform: scaleY(0.5) rotate(45deg);
	}
	.newmain .fb_more {
		color: transparent; /* 버튼 텍스트는 스크린리더용, 화면 표시는 ::before */
	}

	/* 06 */
	.newmain .phone {
		left: 10.7em;
		top: 19.7em;
	}

	/* 팝업: 아래에서 올라오는 시트 */
	.newmain .fb_layer {
		align-items: flex-end;
		padding: 0;
	}
	.newmain .fb_layer_box {
		max-width: none;
		max-height: 85vh;
		border-radius: 2rem 2rem 0 0;
		animation-name: nmSheetIn;
	}
	@keyframes nmSheetIn {
		from { transform: translateY(100%); }
		to   { transform: none; }
	}
	.newmain .fb_layer_head {
		padding: 2.2rem 5.6rem 1.6rem 2rem;
	}
	.newmain .fb_layer_head h3 {
		font-size: 1.8rem;
	}
	.newmain .fb_layer_body {
		padding: 2rem 2rem 3rem;
		font-size: 1.15rem;
	}

	/* ---------- 새소식 + 수업 선택 ---------- */
	.newmain .pick {
		padding: 6rem 3.5rem;
	}
	.newmain .news {
		text-align: center;
	}
	.newmain .news_tit {
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.2;
	}
	.newmain .news_tit span {
		margin-top: 0;
		font-size: 1.1rem;
	}
	.newmain .news_banner {
		margin-top: 0.6rem;
		aspect-ratio: 798 / 187; /* 모바일 전용 이미지 없음: PC 이미지 비율 그대로 (290/88로 자르면 글자·62%가 잘림) */
		border-radius: 0.8rem;
	}
	.newmain .pick_tit {
		margin-top: 6rem;
	}
	.newmain .pick_list {
		flex-direction: column;
		align-items: center;
		gap: 1rem;
		margin-top: 3rem;
	}
	.newmain .pick_list li {
		flex: none;
		width: 100%;
		max-width: 40rem;
	}
	.newmain .pick_card {
		overflow: hidden;
		height: 10rem;
		padding: 0;
		border-radius: 1rem;
	}
	.newmain .pick_img {
		width: 11rem;
		border-radius: 0;
	}
	.newmain .pick_txt {
		padding: 1.2rem 1.4rem 1.2rem 1.6rem;
	}
	.newmain .pick_name {
		font-size: 1.5rem;
	}
	.newmain .pick_name span {
		margin-top: 0.1rem;
		font-size: 0.7rem;
	}
	.newmain .pick_desc {
		font-size: 0.9rem;
		line-height: 1.25;
	}

	/* ---------- 기업교육 ---------- */
	.newmain .biz {
		min-height: 30.2rem;
		background-image: url(../../img/newmain/sec6_bg_mo.webp);
	}
	.newmain .biz_tit {
		font-size: 1.7rem;
		line-height: 1.3;
	}
	.newmain .biz_btns {
		flex-direction: column;
		align-items: center;
		gap: 1rem;
		margin-top: 4.8rem;
	}
	.newmain .biz_btn {
		width: 14.6rem;
		height: 4.5rem;
		padding: 0;
		border-radius: 0.4rem;
		font-size: 1.25rem;
	}

	/* ---------- 후기: 자동 슬라이드 ---------- */
	.newmain .review {
		padding: 6rem 0;
	}
	.newmain .review_head {
		padding: 0 2rem;
		text-align: center;
	}
	.newmain .review_tit {
		font-size: 2rem;
		line-height: 1.1;
	}
	.newmain .review_sub {
		margin-top: 1.1rem;
		font-size: 1.2rem;
		line-height: 1.33;
	}
	.newmain .review_slider {
		max-width: none;
		margin-top: 6.2rem;
		overflow: visible;
	}
	.newmain .review_slider .swiper-wrapper {
		display: flex;
		align-items: flex-start;
		column-count: auto;
		column-gap: 0; /* flex에서는 column-gap이 카드 간격이 되어 Swiper 위치 계산이 어긋남 */
	}
	.newmain .review_slider .swiper-slide {
		margin-bottom: 0;
		padding: 0 1.1rem;
	}
	.newmain .rv_card {
		width: 30.3em;
		padding: 2.2em 2.5em 2.3em;
		font-size: 0.8rem; /* 1em = 8px, 카드 폭 242px */
	}
	.newmain .rv_ico {
		width: 3.5em;
		height: 3.5em;
	}
	.newmain .rv_ico svg {
		width: 2.3em;
		height: 2.3em;
	}
	.newmain .rv_tit {
		margin-top: 1.45em;
	}
	.newmain .rv_txt {
		margin-top: 1.7em;
		line-height: 1.72;
	}
	/* ---------- FAQ ---------- */
	.newmain .faq {
		padding: 6.1rem 3.5rem 6rem;
	}
	.newmain .faq_tit {
		font-size: 2rem;
	}
	.newmain .faq_eng {
		margin-bottom: 0.8rem;
		font-size: 1.7rem;
	}
	.newmain .faq_list {
		margin-top: 3.9rem;
	}
	.newmain .faq_item + .faq_item {
		margin-top: 1.1rem;
	}
	.newmain .faq_q {
		padding: 0.7rem 2.6rem 0.7rem 1rem;
		font-size: 1.15rem;
	}
	.newmain .faq_q::before,
	.newmain .faq_q::after {
		right: 1rem;
		width: 1.1rem;
		height: 1.5px;
	}
	.newmain .faq_a p,
	.newmain .faq_a li {
		font-size: 1.2rem;
		line-height: 1.5;
	}
	.newmain .faq_a > div > * {
		margin: 0 1rem;
	}
	.newmain .faq_a > div > * + * {
		margin-top: 1.4rem;
	}
	.newmain .faq_a > div::after {
		height: 1.2rem;
	}
	.newmain .faq_a li {
		padding-left: 1.6rem;
	}
	.newmain .faq_a li::before {
		left: 0.4rem;
	}
	.newmain .faq_cta {
		margin-top: 4rem;
	}
	.newmain .faq_cta .btn_main.lg {
		width: 14.6rem;
	}

	/* ---------- 마지막 CTA ---------- */
	.newmain .last_cta {
		padding: 6.1rem 2rem 5.9rem;
	}
	.newmain .last_sub {
		font-size: 1.2rem;
	}
	.newmain .last_tit {
		margin-top: 1.1rem;
		font-size: 1.7rem;
		line-height: 1.3;
	}
	.newmain .last_btns {
		gap: 1.2rem;
		margin-top: 4.7rem;
	}
	.newmain .last_btn.black { width: 14.6rem; }
	.newmain .last_btn.white { width: 12.8rem; }
	.newmain .last_btn {
		flex: none;
		height: 4.5rem;
		padding: 0;
		border-radius: 0.4rem;
		font-size: 1.25rem;
	}
}
