feat: 대전(daejeon)을 울산(ulsan)으로 개편 및 전체 7개 광역 지역(seoul, gyeonggi, incheon, gwangju, busan, daegu, ulsan) 세팅 완료
This commit is contained in:
@@ -0,0 +1,141 @@
|
||||
<template>
|
||||
<div class="landing-page-wrap">
|
||||
<!-- 1. 광고 랜딩 전용 지역 식별 바 (외부 이탈 링크 없음) -->
|
||||
<div class="ad-location-bar">
|
||||
<span class="loc-badge-tag">[지역센터]</span>
|
||||
<span class="loc-text">{{ parsed.shortRegionName }} ({{ parsed.sigungu }}) 관내 초·중·고 전담</span>
|
||||
<span class="loc-tag">1:1 맞춤 배정 센터</span>
|
||||
</div>
|
||||
|
||||
<!-- 2. 상단 히어로 배너 (Header 제거, H1 태그 포함) -->
|
||||
<HeroBanner
|
||||
:region="parsed.region"
|
||||
:shortRegionName="parsed.shortRegionName"
|
||||
:grade="parsed.grade"
|
||||
:subjectName="parsed.subjectName"
|
||||
/>
|
||||
|
||||
<!-- 3. 실시간 성과 지표 4선 -->
|
||||
<QuickMetrics :regionDong="parsed.dong" />
|
||||
|
||||
<!-- 4. 인근 학교별 내신 기출 정밀 분석 -->
|
||||
<NearbySchools
|
||||
:regionDong="parsed.dong"
|
||||
:grade="parsed.grade"
|
||||
:subjectName="parsed.subjectName"
|
||||
/>
|
||||
|
||||
<!-- 5. 과목별 상세 커리큘럼 & 1등급 도약 솔루션 -->
|
||||
<SubjectMastery
|
||||
:regionDong="parsed.dong"
|
||||
:grade="parsed.grade"
|
||||
:curriculum="curriculum"
|
||||
/>
|
||||
|
||||
<!-- 6. 1:1 강사진 4단계 검증 프로세스 -->
|
||||
<TeacherVerification />
|
||||
|
||||
<!-- 7. 메타인지 스터디 플래너 & 밀착 코칭 시스템 -->
|
||||
<CoachingSystem />
|
||||
|
||||
<!-- 8. 실제 성적 향상 수기 (해당 학년/과목 100% 매칭) -->
|
||||
<SuccessStories
|
||||
:regionDong="parsed.dong"
|
||||
:grade="parsed.grade"
|
||||
:subjectName="parsed.subjectName"
|
||||
/>
|
||||
|
||||
<!-- 9. 수업 진행 4단계 절차 안내 -->
|
||||
<ProcessGuide />
|
||||
|
||||
<!-- 10. 자주 묻는 질문 (FAQ) -->
|
||||
<FaqAccordion
|
||||
:regionDong="parsed.dong"
|
||||
:grade="parsed.grade"
|
||||
:subjectName="parsed.subjectName"
|
||||
/>
|
||||
|
||||
<!-- 11. 네이버 5개 멀티 이미지 매칭용 핵심 과외 프로그램 빠른 보기 -->
|
||||
<FastConsultFocus
|
||||
:regionDong="parsed.dong"
|
||||
:grade="parsed.grade"
|
||||
:subjectName="parsed.subjectName"
|
||||
/>
|
||||
|
||||
<!-- 웹 광고 단일 목적: 해당 학년과 과목이 기본 선택된 무료 상담 신청 폼 -->
|
||||
<ConsultForm
|
||||
:regionName="parsed.shortRegionName"
|
||||
:defaultGrade="parsed.grade"
|
||||
:defaultSubject="parsed.subjectName"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { useRoute } from 'vue-router'
|
||||
import { parseRouteSlug, getCurriculumBySubject, getAllSubjectsList, getPopularRegions } from '~/utils/dataHelper'
|
||||
import { generateSeoMeta } from '~/utils/seoHelper'
|
||||
|
||||
const route = useRoute()
|
||||
const config = useRuntimeConfig()
|
||||
|
||||
// URL 파라미터 파싱
|
||||
const slug = route.params.slug
|
||||
const parsed = parseRouteSlug(slug)
|
||||
|
||||
// 커리큘럼 데이터 로드
|
||||
const curriculum = getCurriculumBySubject(parsed.subjectKey)
|
||||
const allSubjects = getAllSubjectsList()
|
||||
const popularRegions = getPopularRegions(12)
|
||||
|
||||
// 네이버 Yeti 봇 100% 대응 SEO 메타태그 설정
|
||||
const seo = generateSeoMeta(
|
||||
parsed,
|
||||
config.public.siteName,
|
||||
config.public.siteDomain
|
||||
)
|
||||
|
||||
useHead({
|
||||
title: seo.title,
|
||||
meta: seo.meta,
|
||||
link: seo.link,
|
||||
script: seo.script
|
||||
})
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.landing-page-wrap {
|
||||
width: 100%;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.ad-location-bar {
|
||||
max-width: 1080px;
|
||||
margin: 10px auto;
|
||||
padding: 8px 16px;
|
||||
font-size: clamp(0.78rem, 2vw, 0.88rem);
|
||||
color: #334155;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.loc-pin {
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.loc-text {
|
||||
font-weight: 700;
|
||||
color: var(--primary-color, #1e3a8a);
|
||||
}
|
||||
|
||||
.loc-tag {
|
||||
font-size: 0.75rem;
|
||||
font-weight: 800;
|
||||
background: var(--badge-bg, rgba(30, 58, 138, 0.08));
|
||||
color: var(--primary-color, #1e3a8a);
|
||||
padding: 2px 8px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,572 @@
|
||||
<template>
|
||||
<div class="landing-container bg-[#F0FDF4] text-slate-800 antialiased relative pb-24 md:pb-12 min-h-screen w-full">
|
||||
|
||||
<!-- Header -->
|
||||
<header class="bg-white border-b border-slate-200 sticky top-0 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-emerald-700 flex items-center justify-center text-white font-extrabold text-lg shadow-sm">
|
||||
S
|
||||
</div>
|
||||
<div>
|
||||
<span class="font-extrabold text-xl sm:text-2xl tracking-tight text-emerald-900">{{ siteName }}</span>
|
||||
<span class="text-[10px] font-bold text-emerald-700 bg-emerald-50 px-2 py-0.5 rounded-full ml-1.5 border border-emerald-200">초·중등 습관코칭</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-emerald-700 transition">
|
||||
<i class="fa-solid fa-phone text-emerald-700"></i>
|
||||
<span>010-5961-5807</span>
|
||||
</a>
|
||||
<a href="#leadFormSection" class="bg-emerald-700 hover:bg-emerald-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-[#F0FDF4] min-h-screen pb-20">
|
||||
|
||||
<!-- 히어로 섹션 (에메랄드/그린 그라데이션 풀와이드) -->
|
||||
<section class="w-full bg-gradient-to-b from-[#064E3B] via-[#056D4E] to-[#047857] 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-emerald-400/20 rounded-full blur-3xl pointer-events-none"></div>
|
||||
<div class="absolute -left-24 bottom-0 w-96 h-96 bg-teal-400/20 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-emerald-100 mb-5 shadow-sm">
|
||||
<span class="w-2.5 h-2.5 rounded-full bg-amber-400 animate-ping"></span>
|
||||
<span>우리 아이 평생 성적을 결정짓는 공부 습관</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-emerald-200 underline decoration-wavy decoration-emerald-300">초·중등 1:1 맞춤 학습 습관 진단</span> 무료 신청
|
||||
</h1>
|
||||
|
||||
<p class="text-xs sm:text-base text-emerald-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-emerald-200">누적 습관 코칭</div>
|
||||
<div class="font-extrabold text-base sm:text-2xl text-white mt-0.5">18,920<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-emerald-200">자기주도 멘토</div>
|
||||
<div class="font-extrabold text-base sm:text-2xl text-emerald-200 mt-0.5">4,120<span class="text-xs sm:text-sm font-normal">명</span></div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="text-[11px] sm:text-xs text-emerald-200">학부모 만족도</div>
|
||||
<div class="font-extrabold text-base sm:text-2xl text-white mt-0.5">99.1<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-emerald-500 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-emerald-100 text-emerald-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-emerald-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-emerald-600 focus:border-emerald-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~2학년">고등학교 1~2학년 (공통과목·내신)</option>
|
||||
<option value="고등학교 3학년">고등학교 3학년 (수능 실전)</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-emerald-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-emerald-600 focus:border-emerald-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>
|
||||
</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-emerald-700 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-emerald-600 bg-emerald-50 text-emerald-800 ring-2 ring-emerald-300/50'
|
||||
: 'border border-slate-200 text-slate-700 hover:border-emerald-400 bg-white'
|
||||
]"
|
||||
>
|
||||
<span>{{ subj.label }}</span>
|
||||
<span class="block text-[10px] font-normal" :class="formData.subject === subj.name ? 'text-emerald-700 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-emerald-50/50 transition">
|
||||
<input type="checkbox" :value="c" v-model="formData.concerns" class="w-4 h-4 text-emerald-600 rounded border-slate-300 focus:ring-emerald-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-emerald-600 focus:border-emerald-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-emerald-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-emerald-600 focus:border-emerald-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-emerald-600 rounded border-slate-300 focus:ring-emerald-500">
|
||||
<label for="privacyAgree" class="cursor-pointer">
|
||||
[필수] 개인정보 수집 및 상담 안내 제공에 동의합니다.
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<!-- 제출 버튼 -->
|
||||
<button
|
||||
type="submit"
|
||||
:disabled="isSubmitting"
|
||||
class="w-full bg-gradient-to-r from-emerald-600 via-teal-600 to-emerald-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-seedling 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-emerald-50/90 border border-emerald-200/90 rounded-xl flex items-start gap-2.5 text-xs text-emerald-950 leading-relaxed shadow-sm">
|
||||
<i class="fa-solid fa-circle-info text-emerald-600 mt-0.5 text-sm shrink-0"></i>
|
||||
<div>
|
||||
<strong class="font-bold text-emerald-950 block mb-0.5">📢 원활한 상담 진행 안내</strong>
|
||||
<span>상담 신청 후 안내받으신 <strong>상담결과를 매니저에게 전달해 주시면</strong> 더욱 원활하고 신속한 맞춤 강사 배정과 심층 상담이 진행됩니다. (직통 문의: <a href="tel:010-5961-5807" class="font-extrabold text-emerald-900 underline hover:text-emerald-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-emerald-700 tracking-wider uppercase bg-emerald-100 px-3 py-1 rounded-full">EXCLUSIVE BENEFITS</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-emerald-300 hover:shadow-md transition group">
|
||||
<div class="w-12 h-12 rounded-2xl bg-emerald-100 text-emerald-700 flex items-center justify-center text-xl font-bold mb-4 group-hover:scale-110 transition-transform">
|
||||
<i class="fa-solid fa-brain"></i>
|
||||
</div>
|
||||
<span class="inline-block text-[11px] font-bold text-emerald-700 bg-emerald-50 px-2 py-0.5 rounded mb-1.5">혜택 01</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">아이의 집중 시간과 공부 방해 요인 정밀 분석</p>
|
||||
</div>
|
||||
|
||||
<div class="bg-white p-5 rounded-2xl border border-slate-200/80 shadow-sm hover:border-teal-300 hover:shadow-md transition group">
|
||||
<div class="w-12 h-12 rounded-2xl bg-teal-100 text-teal-700 flex items-center justify-center text-xl font-bold mb-4 group-hover:scale-110 transition-transform">
|
||||
<i class="fa-solid fa-book-open"></i>
|
||||
</div>
|
||||
<span class="inline-block text-[11px] font-bold text-teal-700 bg-teal-50 px-2 py-0.5 rounded mb-1.5">혜택 02</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">초·중등 핵심 교과 개념을 한눈에 정리하는 워크시트</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-700 flex items-center justify-center text-xl font-bold mb-4 group-hover:scale-110 transition-transform">
|
||||
<i class="fa-solid fa-arrows-rotate"></i>
|
||||
</div>
|
||||
<span class="inline-block text-[11px] font-bold text-amber-700 bg-amber-50 px-2 py-0.5 rounded mb-1.5">혜택 03</span>
|
||||
<h3 class="font-bold text-slate-900 text-sm sm:text-base">매일 15분 복습 플래너</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-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-hand-holding-heart"></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">혜택 04</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">아이의 눈높이에 맞춰 동기부여를 북돋워주는 전문 선생님</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-700 tracking-wider bg-emerald-100 px-3 py-1 rounded-full">SUCCESS STORIES</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">새솔 1: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-emerald-100 text-emerald-800 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">2개월 만에 달성</span>
|
||||
</div>
|
||||
<div>
|
||||
<div class="flex justify-between text-xs sm:text-sm mb-1.5 font-semibold">
|
||||
<span class="text-slate-400">코칭 전: 55점 (수포자 직전)</span>
|
||||
<span class="text-emerald-700 font-bold">코칭 후: 92점 (단원평가 만점) 🎉</span>
|
||||
</div>
|
||||
<div class="w-full bg-slate-100 rounded-full h-3 overflow-hidden">
|
||||
<div class="bg-gradient-to-r from-slate-300 to-emerald-600 h-3 rounded-full" style="width: 88%"></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-teal-100 text-teal-800 font-bold text-xs px-2.5 py-1 rounded-full">자기주도 습관</span>
|
||||
<span class="font-bold text-sm sm:text-base text-slate-800">명일동 초6 최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">코칭 전: 스마트폰 중독 (공부 30분 미만)</span>
|
||||
<span class="text-teal-700 font-bold">코칭 후: 일일 2시간 자기주도 습관 완성 ✨</span>
|
||||
</div>
|
||||
<div class="w-full bg-slate-100 rounded-full h-3 overflow-hidden">
|
||||
<div class="bg-gradient-to-r from-slate-300 to-teal-600 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">
|
||||
"플래너 쓰는 법을 배우고 스티커를 채우면서 매일 해야 할 공부를 스스로 끝내는 습관이 생겼습니다."
|
||||
</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-xs text-slate-800">위례신도시 학부모 한OO님</h4>
|
||||
<p class="text-xs sm:text-sm text-slate-600 mt-1.5 leading-relaxed">"대형 학원에서 기죽어 있던 아이가 1:1로 칭찬을 많이 받더니 표정부터 밝아졌습니다."</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>
|
||||
|
||||
</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-emerald-700 text-sm mb-0.5"></i>
|
||||
<span>010-5961-5807</span>
|
||||
</a>
|
||||
<a href="#leadFormSection" class="flex-1 bg-gradient-to-r from-emerald-600 via-teal-600 to-emerald-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-seedling 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.shop'
|
||||
|
||||
const isSubmitting = ref(false)
|
||||
const submitSuccess = ref(false)
|
||||
|
||||
const rollingMessages = [
|
||||
"서울 송파구 잠실동 중2 수학 개념 정밀 진단 접수 (방금 전)",
|
||||
"서울 강동구 명일동 초6 중등선행 영어 신청 완료 (2분 전)",
|
||||
"경기 하남시 미사동 중1 자기주도 공부습관 리포트 신청 (4분 전)",
|
||||
"경기 성남시 위례동 초5 문해력 진단 신청 (6분 전)",
|
||||
"서울 송파구 문정동 초4 기초연산 클리닉 접수 완료 (8분 전)"
|
||||
]
|
||||
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: '인기' },
|
||||
{ name: '영어', label: '영어', badge: 'PICK' },
|
||||
{ name: '국어', label: '국어', badge: 'PICK' },
|
||||
{ name: '과학', label: '과학', badge: 'PICK' },
|
||||
{ name: '전과목/공부습관', label: '전과목', badge: '추천' }
|
||||
]
|
||||
|
||||
const concernOptions = [
|
||||
'스스로 책상에 앉지 않는 공부습관',
|
||||
'교과서 기초 개념 및 연산 부족',
|
||||
'대형 학원 진도 스트레스',
|
||||
'중등 진학 대비 선행 불안'
|
||||
]
|
||||
|
||||
const formData = reactive({
|
||||
grade: '초등 4~6학년',
|
||||
subject: '수학',
|
||||
concerns: ['스스로 책상에 앉지 않는 공부습관'],
|
||||
region: '',
|
||||
phone: '',
|
||||
privacy: true
|
||||
})
|
||||
|
||||
const faqs = reactive([
|
||||
{
|
||||
q: '1. 초등학생이나 기초가 부족한 아이도 수업이 가능한가요?',
|
||||
a: '네, 물론입니다. 새솔 맞춤과외는 기초가 약하거나 공부에 흥미를 잃은 아이들을 위해 칭찬과 성취감 중심의 1:1 맞춤 커리큘럼을 제공합니다.',
|
||||
open: false
|
||||
},
|
||||
{
|
||||
q: '2. 진단 신청 후 상담 절차는 어떻게 되나요?',
|
||||
a: '신청 즉시 전담 학습 매니저가 유선으로 아이의 현재 학습 상태와 성향을 파악한 후, 가장 잘 맞는 공감형 선생님을 매칭해 드립니다.',
|
||||
open: false
|
||||
},
|
||||
{
|
||||
q: '3. 선생님 성향이 아이와 맞지 않으면 어떻게 하나요?',
|
||||
a: '수업 진행 중 아이와 성향이 맞지 않을 경우 별도의 추가 비용 없이 즉시 다른 전문 선생님으로 무상 재매칭을 진행해 드립니다.',
|
||||
open: false
|
||||
},
|
||||
{
|
||||
q: '4. 방문 수업 외에 화상 수업도 지원되나요?',
|
||||
a: '네, 대면 방문 과외뿐만 아니라 실시간 양방향 화상 과외도 가능하여 가정의 환경에 맞춰 선택하실 수 있습니다.',
|
||||
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: 'naver-site-verification', content: 'bfbfcb6ed8c107d05503feed914769a29b07cf06' },
|
||||
{ name: 'description', content: `${siteName} - 초·중등 기초 개념 완성 및 올바른 공부 습관 정밀 진단 리포트 무료 신청.` },
|
||||
{ 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>
|
||||
Reference in New Issue
Block a user