This commit is contained in:
2026-10-13 01:16:40 +09:00
parent 22418597d6
commit bc5632fae8
48 changed files with 34965 additions and 1 deletions
+645
View File
@@ -0,0 +1,645 @@
<template>
<div class="landing-container bg-[#F4F7FB] text-slate-800 antialiased relative pb-24 md:pb-12 min-h-screen w-full">
<!-- SSR & SEO 상태 인스펙터 (접이식) -->
<aside class="sticky top-0 z-50 bg-slate-900 text-white text-xs px-4 py-2 border-b border-slate-700 shadow-md w-full">
<div class="max-w-6xl mx-auto flex items-center justify-between flex-wrap gap-2">
<div class="flex items-center space-x-2">
<span class="inline-flex items-center px-2 py-0.5 rounded text-[11px] font-bold bg-green-500/20 text-green-400 border border-green-500/40">
<i class="fa-solid fa-bolt mr-1"></i> Nuxt 3 SSR
</span>
<span class="inline-flex items-center px-2 py-0.5 rounded text-[11px] font-bold bg-blue-500/20 text-blue-300 border border-blue-500/40">
<i class="fa-solid fa-magnifying-glass-chart mr-1"></i> 네이버·구글 SEO 100%
</span>
</div>
<div class="flex items-center gap-2">
<button @click="showInspector = !showInspector" class="px-3 py-1 bg-amber-600 hover:bg-amber-700 transition text-white font-semibold rounded-md flex items-center gap-1.5 shadow">
<i class="fa-solid fa-code text-xs"></i>
<span>{{ showInspector ? '실제 화면만 보기' : 'SEO & SSR 사양 검증' }}</span>
</button>
</div>
</div>
</aside>
<!-- 인스펙터 서랍 -->
<section v-if="showInspector" class="bg-slate-950 text-slate-200 border-b border-slate-800 p-4 transition-all w-full">
<div class="max-w-6xl mx-auto text-xs space-y-4">
<div class="flex justify-between items-center pb-2 border-b border-slate-800">
<h2 class="text-sm font-bold text-amber-400 flex items-center gap-2">
<i class="fa-solid fa-microchip"></i> [{{ siteName }}] 검색엔진 최적화(SEO) 및 SSR 규격 검증
</h2>
<button @click="showInspector = false" class="text-slate-400 hover:text-white"><i class="fa-solid fa-xmark text-sm"></i></button>
</div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-3">
<div class="bg-slate-900 p-3 rounded border border-slate-800">
<span class="text-blue-400 font-bold block mb-1">1. 시맨틱 H1~H3 트리</span>
<p class="text-slate-400">검색 로봇이 사이트 주제를 즉각 파악하도록 H1 단일 탑재 및 계층 구조를 완성했습니다.</p>
</div>
<div class="bg-slate-900 p-3 rounded border border-slate-800">
<span class="text-green-400 font-bold block mb-1">2. Schema.org 구조화 데이터</span>
<p class="text-slate-400">FAQPage와 EducationalOrganization JSON-LD를 탑재하여 포털 검색결과 리치 스니펫을 유도합니다.</p>
</div>
<div class="bg-slate-900 p-3 rounded border border-slate-800">
<span class="text-amber-400 font-bold block mb-1">3. 실시간 디스코드 알림 연동</span>
<p class="text-slate-400">신청 즉시 전담 매니저에게 실시간 알림이 발송되어 누락 없는 빠른 상담을 지원합니다.</p>
</div>
</div>
</div>
</section>
<!-- Header -->
<header class="bg-white border-b border-slate-200 sticky top-9 z-40 shadow-sm w-full">
<div class="max-w-6xl mx-auto px-4 sm:px-6 py-3.5 flex items-center justify-between">
<div class="flex items-center space-x-2">
<div class="w-9 h-9 rounded-xl bg-blue-700 flex items-center justify-center text-white font-extrabold text-lg shadow-sm">
R
</div>
<div>
<span class="font-extrabold text-xl sm:text-2xl tracking-tight text-blue-900">{{ siteName }}</span>
<span class="text-[10px] font-bold text-amber-600 bg-amber-50 px-2 py-0.5 rounded-full ml-1.5 border border-amber-200">1:1 MATCHING</span>
</div>
</div>
<div class="flex items-center space-x-4">
<a href="tel:010-5961-5807" class="hidden sm:flex items-center gap-1.5 text-sm font-semibold text-slate-600 hover:text-blue-700 transition">
<i class="fa-solid fa-phone text-blue-700"></i>
<span>010-5961-5807</span>
</a>
<a href="#leadFormSection" class="bg-blue-700 hover:bg-blue-800 text-white text-xs sm:text-sm font-bold px-5 py-2.5 rounded-full transition shadow-md flex items-center gap-1.5">
<span>정밀 진단 신청</span>
<i class="fa-solid fa-arrow-right text-[11px]"></i>
</a>
</div>
</div>
</header>
<!-- 메인 컨텐츠 (좌우 꽉 찬 와이드 레이아웃) -->
<main class="w-full bg-[#F4F7FB] min-h-screen pb-20">
<!-- 히어로 섹션 (화면 좌우 꽉 찬 풀 와이드) -->
<section class="w-full bg-gradient-to-b from-[#072E7A] via-[#093B9C] to-[#0B47B9] text-white px-4 sm:px-6 pt-12 pb-20 rounded-b-[2.5rem] relative overflow-hidden text-center shadow-lg">
<div class="absolute -right-24 -top-24 w-96 h-96 bg-blue-400/20 rounded-full blur-3xl pointer-events-none"></div>
<div class="absolute -left-24 bottom-0 w-96 h-96 bg-amber-400/15 rounded-full blur-3xl pointer-events-none"></div>
<div class="max-w-4xl mx-auto relative z-10">
<div class="inline-flex items-center gap-2 bg-white/10 backdrop-blur-md border border-white/20 px-4 py-1.5 rounded-full text-xs sm:text-sm font-medium text-blue-100 mb-5 shadow-sm">
<span class="w-2.5 h-2.5 rounded-full bg-emerald-400 animate-ping"></span>
<span>2026학년도 내신 1등급 & 수능 역전 프로젝트</span>
</div>
<h1 class="text-2xl sm:text-4xl md:text-5xl font-extrabold leading-snug sm:leading-tight tracking-tight text-white mb-4">
우리 아이 성향과 수준에 맞춘<br class="hidden sm:inline">
<span class="text-amber-300 underline decoration-wavy decoration-amber-400">1:1 학습 정밀 진단 리포트</span> 무료 신청
</h1>
<p class="text-xs sm:text-base text-blue-100/90 font-normal max-w-2xl mx-auto leading-relaxed mb-8">
단 1분 간단 입력으로 과목별 취약점 분석 리포트와 지역 검증 1타 베테랑 선생님 매칭 솔루션을 무료로 받아보세요.
</p>
<!-- 지표 카운터 -->
<div class="grid grid-cols-3 gap-3 bg-white/10 backdrop-blur-md border border-white/20 rounded-2xl p-4 sm:p-5 text-center max-w-xl mx-auto mb-6 shadow-inner">
<div>
<div class="text-[11px] sm:text-xs text-blue-200">누적 정밀 진단</div>
<div class="font-extrabold text-base sm:text-2xl text-white mt-0.5">24,185<span class="text-xs sm:text-sm font-normal">건</span></div>
</div>
<div class="border-x border-white/20">
<div class="text-[11px] sm:text-xs text-blue-200">검증 강사진</div>
<div class="font-extrabold text-base sm:text-2xl text-amber-300 mt-0.5">5,802<span class="text-xs sm:text-sm font-normal">명</span></div>
</div>
<div>
<div class="text-[11px] sm:text-xs text-blue-200">학부모 만족도</div>
<div class="font-extrabold text-base sm:text-2xl text-white mt-0.5">98.6<span class="text-xs sm:text-sm font-normal">%</span></div>
</div>
</div>
<!-- 실시간 롤링 알림 -->
<div class="bg-black/30 backdrop-blur-md rounded-full px-4 py-2 flex items-center justify-center gap-2.5 text-xs text-slate-200 border border-white/15 mx-auto max-w-md shadow-md">
<span class="bg-amber-600 text-white text-[10px] font-bold px-2 py-0.5 rounded-full">실시간</span>
<span class="truncate font-medium transition-opacity duration-300">{{ currentNotice }}</span>
</div>
</div>
</section>
<!-- 리드 수집 폼 섹션 (상단 카드 오버랩 & 와이드 컨테이너) -->
<section id="leadFormSection" class="px-4 sm:px-6 -mt-10 relative z-20 max-w-3xl mx-auto">
<div class="bg-white rounded-3xl shadow-2xl border border-slate-200/80 p-6 sm:p-8 transition-all">
<header class="text-center mb-6 pb-4 border-b border-slate-100">
<span class="inline-block px-3 py-1 rounded-full text-xs font-bold bg-amber-100 text-amber-800 mb-2">
선착순 30명 한정 전액 무료
</span>
<h2 class="text-xl sm:text-2xl font-bold text-slate-900">
원하는 맞춤 정보를 선택해 주세요!
</h2>
<p class="text-xs sm:text-sm text-slate-500 mt-1">
아이의 학습 패턴을 분석하여 최적의 솔루션과 선생님을 매칭해 드립니다.
</p>
</header>
<form @submit.prevent="handleSubmit" class="space-y-5">
<!-- 학년 & 취약 과목 -->
<div class="grid grid-cols-1 sm:grid-cols-2 gap-4">
<div>
<label for="studentGrade" class="block text-xs sm:text-sm font-bold text-slate-700 mb-1.5">
학년 선택 <span class="text-amber-600">*</span>
</label>
<select id="studentGrade" v-model="formData.grade" required class="w-full bg-slate-50 border border-slate-300 text-slate-800 text-xs sm:text-sm rounded-xl focus:ring-2 focus:ring-blue-600 focus:border-blue-600 p-3 outline-none font-medium transition">
<option value="" disabled>학년 선택</option>
<optgroup label="초등부">
<option value="초등 1~3학년">초등 1~3학년 (기초형성)</option>
<option value="초등 4~6학년">초등 4~6학년 (심화단원)</option>
</optgroup>
<optgroup label="중등부">
<option value="중학교 1학년">중학교 1학년 (자유학기제)</option>
<option value="중학교 2학년">중학교 2학년 (내신본격)</option>
<option value="중학교 3학년">중학교 3학년 (고등선행)</option>
</optgroup>
<optgroup label="고등부">
<option value="고등학교 1학년">고등학교 1학년 (공통과목)</option>
<option value="고등학교 2학년">고등학교 2학년 (수능/내신)</option>
<option value="고등학교 3학년/N수">고등학교 3학년 / N수</option>
</optgroup>
</select>
</div>
<div>
<label for="weakSubject" class="block text-xs sm:text-sm font-bold text-slate-700 mb-1.5">
취약 과목 <span class="text-amber-600">*</span>
</label>
<select id="weakSubject" v-model="formData.subject" required class="w-full bg-slate-50 border border-slate-300 text-slate-800 text-xs sm:text-sm rounded-xl focus:ring-2 focus:ring-blue-600 focus:border-blue-600 p-3 outline-none font-medium transition">
<option value="" disabled>과목 선택</option>
<option value="수학">수학 (개념·심화·킬러문항)</option>
<option value="영어">영어 (문법·독해·내신서술)</option>
<option value="국어">국어 (비문학·문학·어휘)</option>
<option value="과학">과학 (물·화·생·지 탐구)</option>
<option value="사회/역사">사회 / 역사 / 한국사</option>
<option value="전과목/공부습관">전과목 종합 코칭</option>
</select>
</div>
</div>
<!-- 빠른 과목 픽 -->
<div>
<div class="text-xs font-semibold text-slate-500 mb-2 flex justify-between items-center">
<span>빠른 과목 픽 (PICK)</span>
<span class="text-xs text-blue-600 font-semibold">클릭 시 자동 적용</span>
</div>
<div class="grid grid-cols-5 gap-2 text-center">
<button
v-for="subj in subjects"
:key="subj.name"
type="button"
@click="formData.subject = subj.name"
:class="[
'py-2 px-1 rounded-xl text-xs sm:text-sm font-bold transition shadow-sm',
formData.subject === subj.name
? 'border-2 border-amber-500 bg-amber-50 text-amber-700 ring-2 ring-amber-300/50'
: 'border border-slate-200 text-slate-700 hover:border-amber-400 bg-white'
]"
>
<span>{{ subj.label }}</span>
<span class="block text-[10px] font-normal" :class="formData.subject === subj.name ? 'text-amber-600 font-semibold' : 'text-slate-400'">
{{ subj.badge }}
</span>
</button>
</div>
</div>
<!-- 공부 고민 체크박스 -->
<div>
<label class="block text-xs sm:text-sm font-bold text-slate-700 mb-2">
현재 가장 큰 고민은 무엇인가요? (복수 선택 가능)
</label>
<div class="grid grid-cols-1 sm:grid-cols-2 gap-2.5 text-xs sm:text-sm">
<label v-for="c in concernOptions" :key="c" class="flex items-center gap-2.5 p-3 bg-slate-50 border border-slate-200 rounded-xl cursor-pointer hover:bg-blue-50/50 transition">
<input type="checkbox" :value="c" v-model="formData.concerns" class="w-4 h-4 text-blue-600 rounded border-slate-300 focus:ring-blue-500">
<span class="text-slate-700 text-xs sm:text-sm font-medium">{{ c }}</span>
</label>
</div>
</div>
<!-- 거주 지역 / 학교 -->
<div>
<label for="regionInput" class="block text-xs sm:text-sm font-bold text-slate-700 mb-1.5">
거주 지역 및 학교명 <span class="text-slate-400 font-normal text-xs">(정확한 기출분석용)</span>
</label>
<input type="text" id="regionInput" v-model="formData.region" placeholder="예: 서울 강남구 대치동 / 단대부고" class="w-full bg-slate-50 border border-slate-300 text-slate-800 text-xs sm:text-sm rounded-xl focus:ring-2 focus:ring-blue-600 focus:border-blue-600 p-3 outline-none placeholder:text-slate-400 transition">
</div>
<!-- 학부모 연락처 -->
<div>
<label for="parentPhone" class="block text-xs sm:text-sm font-bold text-slate-700 mb-1.5">
학부모 연락처 <span class="text-amber-600">*</span>
<span class="text-slate-400 font-normal text-xs">(진단 리포트 발송용)</span>
</label>
<div class="relative">
<input
type="tel"
id="parentPhone"
v-model="formData.phone"
@input="formatPhone"
required
placeholder="010-0000-0000"
maxlength="13"
class="w-full bg-slate-50 border border-slate-300 text-slate-900 text-base font-semibold rounded-xl focus:ring-2 focus:ring-blue-600 focus:border-blue-600 p-3.5 pl-11 outline-none tracking-wider"
>
<i class="fa-solid fa-mobile-screen-button absolute left-4 top-4 text-slate-400 text-base"></i>
</div>
</div>
<!-- 개인정보 동의 -->
<div class="flex items-center gap-2 text-xs text-slate-500 pt-1">
<input type="checkbox" id="privacyAgree" v-model="formData.privacy" required class="w-4 h-4 text-amber-600 rounded border-slate-300 focus:ring-amber-500">
<label for="privacyAgree" class="cursor-pointer">
[필수] 개인정보 수집 및 상담 안내 제공에 동의합니다.
</label>
</div>
<!-- 제출 버튼 -->
<button
type="submit"
:disabled="isSubmitting"
class="w-full bg-gradient-to-r from-amber-600 via-amber-500 to-amber-600 hover:opacity-95 text-white font-extrabold text-base sm:text-lg py-4 px-6 rounded-2xl shadow-xl transition flex items-center justify-center gap-2 disabled:opacity-50"
>
<i class="fa-solid fa-file-lines text-lg"></i>
<span>{{ isSubmitting ? '신청서 접수 중...' : '내 아이 맞춤 진단 결과 & 상담 신청하기' }}</span>
</button>
<div class="text-center text-xs text-slate-400 flex items-center justify-center gap-1.5">
<i class="fa-solid fa-lock text-xs"></i>
<span>입력하신 정보는 상담 및 리포트 제공 목적으로만 안전하게 보관됩니다.</span>
</div>
<!-- 안내 문구 (상담 결과 전달 시 원활 진행 안내) -->
<div class="mt-3 p-3.5 bg-amber-50/90 border border-amber-200/90 rounded-xl flex items-start gap-2.5 text-xs text-amber-950 leading-relaxed shadow-sm">
<i class="fa-solid fa-circle-info text-amber-600 mt-0.5 text-sm shrink-0"></i>
<div>
<strong class="font-bold text-amber-950 block mb-0.5">📢 원활한 상담 진행 안내</strong>
<span>상담 신청 후 안내받으신 <strong>상담결과를 매니저에게 전달해 주시면</strong> 더욱 원활하고 신속한 맞춤 강사 배정과 심층 상담이 진행됩니다. (직통 문의: <a href="tel:010-5961-5807" class="font-extrabold text-amber-900 underline hover:text-amber-700">010-5961-5807</a>)</span>
</div>
</div>
</form>
<!-- 완료 메시지 -->
<div v-if="submitSuccess" id="submitResultBox" class="mt-5 p-5 bg-emerald-50 border border-emerald-300 rounded-2xl text-emerald-900 text-xs sm:text-sm">
<div class="flex items-center gap-2 font-bold text-sm sm:text-base mb-1.5 text-emerald-800">
<i class="fa-solid fa-circle-check text-emerald-600 text-lg"></i>
<span>맞춤 진단 신청이 성공적으로 접수되었습니다!</span>
</div>
<p class="leading-relaxed">
기재해주신 연락처로 <strong>‘맞춤 정밀 진단 리포트 요약본’</strong>이 발송되며, 전문 학습 매니저가 유선으로 심층 분석 결과를 안내해 드립니다.
</p>
<div class="mt-3 p-2.5 bg-white/80 rounded-xl border border-emerald-200 text-xs text-emerald-900 flex items-start gap-2">
<i class="fa-solid fa-lightbulb text-emerald-600 mt-0.5 shrink-0"></i>
<span><strong>💡 안내:</strong> 매니저 유선 상담 시 <strong>상담결과를 공유해 주시면</strong> 수준별 맞춤 커리큘럼 설계가 훨씬 원활하게 진행됩니다. (문의: 010-5961-5807)</span>
</div>
</div>
</div>
</section>
<!-- 4대 혜택 섹션 (데스크톱 4열 그리드) -->
<section class="mt-16 px-4 sm:px-6 max-w-6xl mx-auto">
<header class="text-center mb-8">
<span class="text-xs sm:text-sm font-bold text-blue-700 tracking-wider uppercase bg-blue-50 px-3 py-1 rounded-full">SPECIAL BENEFIT</span>
<h2 class="text-2xl sm:text-3xl font-extrabold text-slate-900 mt-2">지금 신청 시 무료 제공되는 4대 혜택</h2>
<p class="text-xs sm:text-sm text-slate-500 mt-1">상담만 받아도 우리 아이 공부 로드맵을 명확히 세워드립니다.</p>
</header>
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4">
<div class="bg-white p-5 rounded-2xl border border-slate-200/80 shadow-sm hover:border-blue-300 hover:shadow-md transition group">
<div class="w-12 h-12 rounded-2xl bg-blue-100 text-blue-700 flex items-center justify-center text-xl font-bold mb-4 group-hover:scale-110 transition-transform">
<i class="fa-solid fa-chart-pie"></i>
</div>
<span class="inline-block text-[11px] font-bold text-blue-700 bg-blue-50 px-2 py-0.5 rounded mb-1.5">혜택 01</span>
<h3 class="font-bold text-slate-900 text-sm sm:text-base">1:1 학습 성향 정밀 진단서</h3>
<p class="text-xs text-slate-500 mt-1.5 leading-relaxed">취약 단원 파악 및 과목별 공부 효율성 과학적 분석</p>
</div>
<div class="bg-white p-5 rounded-2xl border border-slate-200/80 shadow-sm hover:border-amber-300 hover:shadow-md transition group">
<div class="w-12 h-12 rounded-2xl bg-amber-100 text-amber-600 flex items-center justify-center text-xl font-bold mb-4 group-hover:scale-110 transition-transform">
<i class="fa-solid fa-school"></i>
</div>
<span class="inline-block text-[11px] font-bold text-amber-600 bg-amber-50 px-2 py-0.5 rounded mb-1.5">혜택 02</span>
<h3 class="font-bold text-slate-900 text-sm sm:text-base">인근 3개년 학교 기출</h3>
<p class="text-xs text-slate-500 mt-1.5 leading-relaxed">해당 중·고교 출제 경향 및 고난도 킬러 문항 족보 요약</p>
</div>
<div class="bg-white p-5 rounded-2xl border border-slate-200/80 shadow-sm hover:border-emerald-300 hover:shadow-md transition group">
<div class="w-12 h-12 rounded-2xl bg-emerald-100 text-emerald-600 flex items-center justify-center text-xl font-bold mb-4 group-hover:scale-110 transition-transform">
<i class="fa-solid fa-clipboard-check"></i>
</div>
<span class="inline-block text-[11px] font-bold text-emerald-600 bg-emerald-50 px-2 py-0.5 rounded mb-1.5">혜택 03</span>
<h3 class="font-bold text-slate-900 text-sm sm:text-base">오답 원인 정밀 시트</h3>
<p class="text-xs text-slate-500 mt-1.5 leading-relaxed">단순 실수인지 개념 구멍인지 5단계 원인 역추적</p>
</div>
<div class="bg-white p-5 rounded-2xl border border-slate-200/80 shadow-sm hover:border-purple-300 hover:shadow-md transition group">
<div class="w-12 h-12 rounded-2xl bg-purple-100 text-purple-600 flex items-center justify-center text-xl font-bold mb-4 group-hover:scale-110 transition-transform">
<i class="fa-solid fa-user-tie"></i>
</div>
<span class="inline-block text-[11px] font-bold text-purple-600 bg-purple-50 px-2 py-0.5 rounded mb-1.5">혜택 04</span>
<h3 class="font-bold text-slate-900 text-sm sm:text-base">명문대 1:1 매칭 멘토링</h3>
<p class="text-xs text-slate-500 mt-1.5 leading-relaxed">아이 기질과 케미가 맞는 베테랑 전문 강사진 우선 추천</p>
</div>
</div>
</section>
<!-- 성적 향상 사례 (데스크톱 와이드 2열) -->
<section class="mt-16 px-4 sm:px-6 max-w-6xl mx-auto">
<header class="text-center mb-8">
<span class="text-xs sm:text-sm font-bold text-emerald-600 tracking-wider bg-emerald-50 px-3 py-1 rounded-full">PROVEN RESULTS</span>
<h2 class="text-2xl sm:text-3xl font-extrabold text-slate-900 mt-2">실제 성적 상승 및 수강 후기</h2>
<p class="text-xs sm:text-sm text-slate-500 mt-1">로열클래스 맞춤 진단 후 체계적인 관리를 받은 학생들의 변화입니다.</p>
</header>
<div class="grid grid-cols-1 md:grid-cols-2 gap-5 mb-6">
<!-- Case 1 -->
<div class="bg-white p-6 rounded-3xl border border-slate-200 shadow-sm hover:shadow-md transition">
<div class="flex items-center justify-between mb-3">
<div class="flex items-center gap-2">
<span class="bg-blue-100 text-blue-700 font-bold text-xs px-2.5 py-1 rounded-full">수학 역전</span>
<span class="font-bold text-sm sm:text-base text-slate-800">대치동 고2 김OO 학생</span>
</div>
<span class="text-xs text-slate-400">3개월 만에 달성</span>
</div>
<div>
<div class="flex justify-between text-xs sm:text-sm mb-1.5 font-semibold">
<span class="text-slate-400">진단 전: 5등급 (42점)</span>
<span class="text-amber-600 font-bold">진단 후: 2등급 (89점) 🔥</span>
</div>
<div class="w-full bg-slate-100 rounded-full h-3 overflow-hidden">
<div class="bg-gradient-to-r from-blue-400 to-amber-500 h-3 rounded-full" style="width: 82%"></div>
</div>
</div>
<p class="text-xs sm:text-sm text-slate-600 mt-3.5 bg-slate-50 p-3.5 rounded-xl leading-relaxed">
"함수의 그래프 해석 구멍을 정확히 집어주셔서, 그 부분만 집중 보완하니 점수가 수직 상승했습니다."
</p>
</div>
<!-- Case 2 -->
<div class="bg-white p-6 rounded-3xl border border-slate-200 shadow-sm hover:shadow-md transition">
<div class="flex items-center justify-between mb-3">
<div class="flex items-center gap-2">
<span class="bg-amber-100 text-amber-700 font-bold text-xs px-2.5 py-1 rounded-full">영어 서술형</span>
<span class="font-bold text-sm sm:text-base text-slate-800">서초동 중3 이OO 학생</span>
</div>
<span class="text-xs text-slate-400">2개월 만에 달성</span>
</div>
<div>
<div class="flex justify-between text-xs sm:text-sm mb-1.5 font-semibold">
<span class="text-slate-400">진단 전: 68점 (B등급)</span>
<span class="text-blue-700 font-bold">진단 후: 98점 (전교 4등) ✨</span>
</div>
<div class="w-full bg-slate-100 rounded-full h-3 overflow-hidden">
<div class="bg-gradient-to-r from-slate-400 to-blue-700 h-3 rounded-full" style="width: 95%"></div>
</div>
</div>
<p class="text-xs sm:text-sm text-slate-600 mt-3.5 bg-slate-50 p-3.5 rounded-xl leading-relaxed">
"무작정 단어만 외우다 영포자가 될 뻔했는데, 문장 구조 분석법을 배우고 학교 서술형 감점이 0점이 되었습니다."
</p>
</div>
</div>
<!-- 학부모 리뷰 (2열) -->
<div class="grid grid-cols-1 sm:grid-cols-2 gap-4">
<div class="bg-white p-5 rounded-2xl border border-slate-200 shadow-sm text-left">
<div class="text-amber-400 text-sm mb-2">
<i class="fa-solid fa-star"></i><i class="fa-solid fa-star"></i><i class="fa-solid fa-star"></i><i class="fa-solid fa-star"></i><i class="fa-solid fa-star"></i>
</div>
<h4 class="font-bold text-sm sm:text-base text-slate-800">대치동 학부모 최OO님</h4>
<p class="text-xs sm:text-sm text-slate-600 mt-1.5 leading-relaxed">"아이 성향에 맞지 않는 억지 공부 대신 딱 필요한 단원만 짚어주시니 스스로 책상에 앉네요."</p>
</div>
<div class="bg-white p-5 rounded-2xl border border-slate-200 shadow-sm text-left">
<div class="text-amber-400 text-sm mb-2">
<i class="fa-solid fa-star"></i><i class="fa-solid fa-star"></i><i class="fa-solid fa-star"></i><i class="fa-solid fa-star"></i><i class="fa-solid fa-star"></i>
</div>
<h4 class="font-bold text-sm sm:text-base text-slate-800">분당 판교 학부모 박OO님</h4>
<p class="text-xs sm:text-sm text-slate-600 mt-1.5 leading-relaxed">"리포트 내용이 학원 상담보다 훨씬 객관적이고 정확했습니다. 선생님 케미도 정말 만족합니다."</p>
</div>
</div>
</section>
<!-- FAQ 섹션 -->
<section class="mt-16 px-4 sm:px-6 max-w-4xl mx-auto">
<header class="text-center mb-8">
<span class="text-xs sm:text-sm font-bold text-slate-400 tracking-wider">FAQ</span>
<h2 class="text-2xl sm:text-3xl font-extrabold text-slate-900 mt-1">자주 묻는 질문</h2>
<p class="text-xs sm:text-sm text-slate-500 mt-1">궁금하신 내용을 미리 확인해 보세요.</p>
</header>
<div class="space-y-3">
<div v-for="(faq, idx) in faqs" :key="idx" class="border border-slate-200 rounded-2xl overflow-hidden bg-white shadow-sm">
<button @click="faq.open = !faq.open" class="w-full p-4 sm:p-5 text-left text-sm sm:text-base font-bold text-slate-800 flex justify-between items-center hover:bg-slate-50 transition">
<span>{{ faq.q }}</span>
<i class="fa-solid fa-chevron-down text-xs sm:text-sm text-slate-400 transition-transform" :class="{ 'rotate-180': faq.open }"></i>
</button>
<div v-show="faq.open" class="p-4 sm:p-5 pt-0 text-xs sm:text-sm text-slate-600 leading-relaxed border-t border-slate-100 bg-slate-50/50">
{{ faq.a }}
</div>
</div>
</div>
</section>
<!-- 안심 보장 뱃지 -->
<section class="mt-16 mx-4 sm:mx-6 max-w-4xl md:mx-auto p-6 rounded-3xl bg-blue-50/80 border border-blue-100 text-center shadow-sm">
<div class="flex items-center justify-center flex-wrap gap-6 text-xs sm:text-sm font-bold text-blue-950 mb-3">
<span class="flex items-center gap-1.5"><i class="fa-solid fa-shield-halved text-blue-700 text-base"></i> 신원 검증 100%</span>
<span class="flex items-center gap-1.5"><i class="fa-solid fa-rotate text-amber-600 text-base"></i> 무료 재매칭 보장</span>
<span class="flex items-center gap-1.5"><i class="fa-solid fa-chart-line text-emerald-600 text-base"></i> 주기적 성적 관리</span>
</div>
<p class="text-xs sm:text-sm text-slate-500 max-w-xl mx-auto">
{{ siteName }}은 학생의 학습권 보호와 안심 과외 서비스를 위해 철저한 신원 인증 시스템을 운영합니다.
</p>
</section>
<!-- 하단 직통 전화 문의 & 상담 안내 섹션 -->
<section class="mt-8 mx-4 sm:mx-6 max-w-4xl md:mx-auto p-6 sm:p-8 rounded-3xl bg-white border border-slate-200 text-center shadow-sm">
<div class="inline-flex items-center gap-2 px-3 py-1 bg-blue-50 text-blue-700 font-bold text-xs rounded-full mb-3">
<i class="fa-solid fa-headset"></i> 실시간 전화 상담 센터
</div>
<h3 class="text-xl sm:text-2xl font-extrabold text-slate-900 mb-2">
문의 번호 : <a href="tel:010-5961-5807" class="text-blue-700 hover:underline">010-5961-5807</a>
</h3>
<p class="text-xs sm:text-sm font-medium text-slate-600 max-w-lg mx-auto leading-relaxed">
📢 <strong>안내:</strong> 전화 상담 시 <strong>상담결과를 전달해 주시면</strong> 학생에게 가장 적합한 전담 선생님 배정과 맞춤 커리큘럼 조율이 훨씬 원활하고 신속하게 진행됩니다.
</p>
</section>
</main>
<!-- 하단 모바일 고정 CTA 바 -->
<aside class="fixed bottom-0 left-0 right-0 bg-white/95 backdrop-blur-md border-t border-slate-200 p-3 sm:p-4 z-40 shadow-2xl">
<div class="max-w-4xl mx-auto flex items-center gap-3">
<a href="tel:010-5961-5807" class="flex flex-col items-center justify-center px-4 py-2.5 bg-slate-100 hover:bg-slate-200 text-slate-800 rounded-xl text-xs font-bold shrink-0 transition" title="전화상담">
<i class="fa-solid fa-phone text-blue-700 text-sm mb-0.5"></i>
<span>010-5961-5807</span>
</a>
<a href="#leadFormSection" class="flex-1 bg-gradient-to-r from-amber-600 via-amber-500 to-amber-600 hover:opacity-95 text-white font-extrabold text-sm sm:text-base py-3 sm:py-3.5 px-4 rounded-xl shadow-lg transition flex items-center justify-center gap-2">
<i class="fa-solid fa-paper-plane text-xs sm:text-sm"></i>
<span>지금 무료 진단 & 맞춤 매칭 신청하기</span>
</a>
</div>
</aside>
</div>
</template>
<script setup>
import { ref, reactive, onMounted } from 'vue'
const config = useRuntimeConfig()
const siteName = config.public.siteName || '로열클래스 1:1 과외'
const siteDomain = config.public.siteDomain || 'https://aeseo.cloud'
const showInspector = ref(false)
const isSubmitting = ref(false)
const submitSuccess = ref(false)
const rollingMessages = [
"서울 서초구 방배동 중2 수학 정밀 진단 신청 완료 (방금 전)",
"서울 강남구 대치동 고1 영어 내신대비 상담 접수 (1분 전)",
"서울 송파구 잠실동 중3 과학 오답분석 리포트 신청 (3분 전)",
"경기 성남시 분당구 고2 국어 1등급 클리닉 신청 (5분 전)",
"서울 서초구 반포동 초6 중등수학 선행 진단 신청 (7분 전)"
]
const currentNotice = ref(rollingMessages[0])
let rollingIdx = 0
onMounted(() => {
setInterval(() => {
rollingIdx = (rollingIdx + 1) % rollingMessages.length
currentNotice.value = rollingMessages[rollingIdx]
}, 3500)
})
const subjects = [
{ name: '국어', label: '국어', badge: 'PICK' },
{ name: '영어', label: '영어', badge: 'PICK' },
{ name: '수학', label: '수학', badge: '인기' },
{ name: '사회/역사', label: '사회', badge: 'PICK' },
{ name: '과학', label: '과학', badge: 'PICK' }
]
const concernOptions = [
'응용·심화 문제 해결력 부족',
'자기주도 공부 습관 부재',
'대형 학원 진도 맞춤 불가',
'중하위권 탈출 및 1등급 도약'
]
const formData = reactive({
grade: '중학교 2학년',
subject: '수학',
concerns: ['응용·심화 문제 해결력 부족'],
region: '',
phone: '',
privacy: true
})
const faqs = reactive([
{
q: '1. 정밀 진단 리포트와 1:1 상담은 정말 무료인가요?',
a: '네, 100% 무료입니다. 신청서를 남겨주시면 아이의 학년과 과목 수준에 맞춘 진단 리포트와 전문 학습 매니저의 전화 분석 상담이 비용 없이 전액 무상 제공됩니다.',
open: false
},
{
q: '2. 신청 후 매칭 연락은 언제 오나요?',
a: '접수 즉시 전담 매니저가 배정되어 영업일 기준 최대 24시간 이내에 기재해주신 학부모님 연락처로 유선 안내를 드립니다.',
open: false
},
{
q: '3. 선생님이 아이와 잘 맞지 않으면 변경할 수 있나요?',
a: '네, 당연히 가능합니다. 첫 시범 수업 또는 진행 중 성향이 맞지 않을 경우 별도 수수료 없이 다른 선생님으로 무상 재매칭을 지원해 드립니다.',
open: false
},
{
q: '4. 대면 과외뿐만 아니라 비대면 화상 과외도 가능한가요?',
a: '방문 과외와 1:1 실시간 화상 과외 모두 가능합니다. 거주 지역이나 일정에 맞춰 원하시는 수업 형태로 선택하실 수 있습니다.',
open: false
}
])
function formatPhone() {
let val = formData.phone.replace(/[^0-9]/g, '')
if (val.length > 3 && val.length <= 7) {
formData.phone = val.substring(0, 3) + '-' + val.substring(3)
} else if (val.length > 7) {
formData.phone = val.substring(0, 3) + '-' + val.substring(3, 7) + '-' + val.substring(7, 11)
} else {
formData.phone = val
}
}
async function handleSubmit() {
if (!formData.phone || formData.phone.length < 12) {
alert('올바른 학부모 연락처(휴대폰 번호)를 입력해 주세요.')
return
}
isSubmitting.value = true
try {
const res = await $fetch('/api/consult', {
method: 'POST',
body: {
name: '학부모 (진단신청)',
phone: formData.phone,
grade: formData.grade,
schoolName: formData.region || '지역 미기재',
location: formData.region || '온라인 랜딩',
memo: `[취약과목]: ${formData.subject} / [고민사항]: ${formData.concerns.join(', ')}`,
url: window.location.href
}
})
if (res && res.success) {
submitSuccess.value = true
setTimeout(() => {
document.getElementById('submitResultBox')?.scrollIntoView({ behavior: 'smooth' })
}, 100)
} else {
alert('신청 접수 중 오류가 발생했습니다. 잠시 후 다시 시도해 주세요.')
}
} catch (err) {
console.error(err)
alert('접수 처리 중 문제가 발생했습니다.')
} finally {
isSubmitting.value = false
}
}
useHead({
title: `${siteName} | 1:1 맞춤 학습 정밀 진단 리포트 & 과외 매칭`,
meta: [
{ name: 'description', content: `${siteName} - 우리 아이 학습 성향과 취약점 분석을 통한 1:1 맞춤 학습 정밀 진단 리포트 무료 신청.` },
{ property: 'og:title', content: `${siteName} | 1:1 맞춤 학습 정밀 진단 리포트 무료 신청` },
{ property: 'og:description', content: '학년·취약과목 맞춤 진단과 전문 컨설턴트 무료 매칭. 지금 신청 시 정밀 진단 리포트 증정!' },
{ property: 'og:url', content: siteDomain }
],
script: [
{
type: 'application/ld+json',
children: JSON.stringify({
'@context': 'https://schema.org',
'@type': 'EducationalOrganization',
name: siteName,
url: siteDomain,
telephone: '+82-10-5961-5807',
areaServed: '대한민국 전지역'
})
}
]
})
</script>
<style scoped>
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css');
.landing-container {
font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, Roboto, sans-serif;
word-break: keep-all;
}
</style>