{"title":"อังกฤษจ่ายเท่าที่เรียน! | ชั้นเรียนภาษาอังกฤษออนไลน์แบบยืดหยุ่น","description":"\u003cstyle\u003e\n .rc-adults-wrap{\n   max-width:1080px;\n   margin:0 auto;\n   padding:18px 18px 40px;\n   color:#1f2937;\n   line-height:1.74;\n }\n\n .rc-adults-hero{\n   position:relative;\n   overflow:hidden;\n   border-radius:30px;\n   padding:34px 26px 30px;\n   background:\n     radial-gradient(circle at top left, rgba(147,197,253,.42) 0%, rgba(147,197,253,0) 30%),\n     radial-gradient(circle at bottom right, rgba(196,181,253,.30) 0%, rgba(196,181,253,0) 28%),\n     linear-gradient(135deg, #f8fbff 0%, #eef6ff 52%, #f8f7ff 100%);\n   border:1px solid rgba(0,0,0,.06);\n   box-shadow:0 18px 40px rgba(0,0,0,.06);\n   margin-bottom:22px;\n }\n\n .rc-adults-hero-grid{\n   display:grid;\n   grid-template-columns:1.35fr .95fr;\n   gap:24px;\n   align-items:center;\n }\n\n .rc-adults-hero h1{\n   margin:0 0 12px;\n   font-size:clamp(2rem, 4vw, 3.2rem);\n   line-height:1.08;\n   letter-spacing:-.02em;\n }\n\n .rc-adults-sub{\n   font-size:1.08rem;\n   color:#4b5563;\n   max-width:730px;\n   margin:0 0 18px;\n }\n\n .rc-adults-highlight{\n   display:inline-block;\n   padding:14px 18px;\n   border-radius:18px;\n   background:linear-gradient(135deg, #ffffff 0%, #f7fbff 100%);\n   border:1px solid rgba(29,78,216,.10);\n   box-shadow:0 10px 24px rgba(29,78,216,.08);\n   font-weight:700;\n   color:#1e3a8a;\n   margin-bottom:16px;\n }\n\n .rc-adults-buttons{\n   display:flex;\n   flex-wrap:wrap;\n   gap:12px;\n   margin-top:10px;\n }\n\n .rc-adults-btn{\n   display:inline-block;\n   padding:12px 18px;\n   border-radius:999px;\n   text-decoration:none;\n   font-weight:800;\n   border:1px solid rgba(0,0,0,.08);\n   box-shadow:0 8px 18px rgba(0,0,0,.06);\n   transition:transform .15s ease, opacity .15s ease, box-shadow .15s ease;\n }\n\n .rc-adults-btn:hover{\n   transform:translateY(-1px);\n   opacity:.96;\n   box-shadow:0 12px 24px rgba(0,0,0,.08);\n }\n\n .rc-adults-btn-primary{\n   background:linear-gradient(145deg,#4fc8c4 0%,#2ca7b1 58%,#1f7d95 100%);\n   color:#fff !important;\n   border-color:rgba(16, 94, 105, .18);\n   box-shadow:0 10px 22px rgba(29, 120, 133, .18);\n }\n\n .rc-adults-btn-secondary{\n   background:linear-gradient(145deg,#ffffff 0%,#f2fcfc 100%);\n   color:#1f2937 !important;\n   border:1px solid rgba(80, 170, 180, .18);\n   box-shadow:0 10px 22px rgba(29, 120, 133, .08);\n }\n\n .rc-adults-bubbles{\n   position:relative;\n   min-height:355px;\n }\n\n .rc-adults-bubble{\n   position:absolute;\n   border-radius:24px;\n   padding:16px 18px;\n   box-shadow:0 18px 34px rgba(0,0,0,.08);\n   border:1px solid rgba(0,0,0,.05);\n   animation-timing-function:ease-in-out;\n   animation-iteration-count:infinite;\n   will-change:transform;\n }\n\n .rc-adults-bubble:before{\n   content:\"\";\n   position:absolute;\n   inset:0;\n   border-radius:24px;\n   box-shadow:inset 0 1px 0 rgba(255,255,255,.6);\n   pointer-events:none;\n }\n\n .rc-adults-bubble-a{\n   top:10px;\n   right:18px;\n   width:230px;\n   background:linear-gradient(145deg, #dbeafe 0%, #eff6ff 100%);\n   animation-name:rcAdultsFloatA;\n   animation-duration:8.8s;\n }\n\n .rc-adults-bubble-b{\n   top:120px;\n   left:8px;\n   width:210px;\n   background:linear-gradient(145deg, #fde68a 0%, #fff7cc 100%);\n   animation-name:rcAdultsFloatB;\n   animation-duration:9.5s;\n   animation-delay:.65s;\n }\n\n .rc-adults-bubble-c{\n   bottom:16px;\n   right:10px;\n   width:250px;\n   background:linear-gradient(145deg, #ddd6fe 0%, #f5f3ff 100%);\n   animation-name:rcAdultsFloatC;\n   animation-duration:8.9s;\n   animation-delay:1.1s;\n }\n\n .rc-adults-bubble-title{\n   font-weight:800;\n   margin:0 0 6px;\n   font-size:1rem;\n }\n\n .rc-adults-bubble p{\n   margin:0;\n   font-size:.98rem;\n }\n\n @keyframes rcAdultsFloatA{\n   0%{transform:translate3d(0,0,0) rotate(-1deg);}\n   50%{transform:translate3d(4px,-8px,0) rotate(1deg);}\n   100%{transform:translate3d(0,0,0) rotate(-1deg);}\n }\n\n @keyframes rcAdultsFloatB{\n   0%{transform:translate3d(0,0,0) rotate(1deg);}\n   50%{transform:translate3d(-5px,-7px,0) rotate(-1deg);}\n   100%{transform:translate3d(0,0,0) rotate(1deg);}\n }\n\n @keyframes rcAdultsFloatC{\n   0%{transform:translate3d(0,0,0) rotate(-.5deg);}\n   50%{transform:translate3d(3px,-9px,0) rotate(.8deg);}\n   100%{transform:translate3d(0,0,0) rotate(-.5deg);}\n }\n\n .rc-adults-grid{\n   display:grid;\n   grid-template-columns:repeat(3, minmax(0, 1fr));\n   gap:16px;\n   margin:0 0 24px;\n }\n\n .rc-adults-card{\n   background:linear-gradient(180deg, #ffffff 0%, #f4fcfc 100%);\n   border:1px solid rgba(80, 170, 180, .14);\n   border-radius:24px;\n   padding:20px 18px;\n   box-shadow:0 12px 28px rgba(29, 120, 133, .06);\n }\n\n .rc-adults-card h3{\n   margin:0 0 10px;\n   font-size:1.08rem;\n   line-height:1.3;\n }\n\n .rc-adults-card p{\n   margin:0;\n }\n\n .rc-adults-section{\n   margin-bottom:24px;\n }\n\n .rc-adults-section h2{\n   margin:0 0 12px;\n   font-size:1.5rem;\n   line-height:1.2;\n }\n\n .rc-adults-softbox{\n   background:linear-gradient(145deg, #ffffff 0%, #f5fcfc 100%);\n   border:1px solid rgba(80, 170, 180, .14);\n   border-radius:24px;\n   padding:20px 18px;\n   box-shadow:0 12px 28px rgba(29, 120, 133, .06);\n }\n\n .rc-adults-softbox p{\n   margin:0 0 12px;\n }\n\n .rc-adults-list{\n   margin:0;\n   padding-left:1.2rem;\n }\n\n .rc-adults-list li{\n   margin-bottom:10px;\n }\n\n .rc-adults-proof{\n   margin-top:12px;\n   padding:16px 18px;\n   border-radius:20px;\n   background:linear-gradient(145deg, #eefdfd 0%, #f5fffe 100%);\n   border:1px solid rgba(80, 170, 180, .16);\n   box-shadow:0 10px 24px rgba(29, 120, 133, .07);\n }\n\n .rc-adults-proof strong{\n   color:#0f5f66;\n }\n\n .rc-payg-shell{\n   background:linear-gradient(145deg, #ffffff 0%, #f3fbfb 100%);\n   border:1px solid rgba(80, 170, 180, .16);\n   border-radius:24px;\n   padding:20px 18px;\n   box-shadow:0 12px 28px rgba(29, 120, 133, .06);\n }\n\n .rc-payg-head{\n   display:flex;\n   align-items:flex-start;\n   justify-content:space-between;\n   gap:14px;\n   margin-bottom:2px;\n }\n\n .rc-payg-head h2{\n   margin:0 0 12px;\n }\n\n .rc-payg-head-ship{\n   flex:0 0 auto;\n   display:flex;\n   align-items:flex-start;\n   justify-content:center;\n   min-width:54px;\n   padding-top:2px;\n }\n\n .rc-payg-head-ship img{\n   display:block;\n   width:54px;\n   height:auto;\n   max-height:54px;\n   object-fit:contain;\n   filter:drop-shadow(0 4px 10px rgba(31,127,150,.16));\n }\n\n .rc-payg-topline{\n   margin:0 0 8px;\n   color:#4b5563;\n }\n\n .rc-payg-timezone{\n   display:inline-block;\n   margin:0 0 16px;\n   padding:8px 12px;\n   border-radius:999px;\n   background:linear-gradient(145deg,#f3ffff 0%,#e7fbfb 100%);\n   border:1px solid rgba(78, 170, 176, .22);\n   color:#116466;\n   font-weight:700;\n   font-size:.95rem;\n }\n\n .rc-payg-grid{\n   display:grid;\n   grid-template-columns:repeat(2, minmax(0, 1fr));\n   gap:14px;\n }\n\n .rc-payg-day{\n   border-radius:20px;\n   padding:16px;\n   background:linear-gradient(180deg, #ffffff 0%, #f7fefe 100%);\n   border:1px solid rgba(80, 170, 180, .12);\n   box-shadow:0 10px 22px rgba(29, 120, 133, .04);\n }\n\n .rc-payg-day h3{\n   margin:0 0 10px;\n   font-size:1.05rem;\n   color:#111827;\n }\n\n .rc-payg-slots{\n   margin:0;\n   padding-left:1.1rem;\n }\n\n .rc-payg-slots li{\n   margin-bottom:8px;\n }\n\n .rc-payg-note{\n   margin-top:14px;\n   color:#6b7280;\n   font-size:.96rem;\n }\n\n .rc-payg-empty,\n .rc-payg-loading,\n .rc-payg-error{\n   padding:14px 16px;\n   border-radius:18px;\n   background:linear-gradient(145deg,#ffffff 0%,#f5fdfd 100%);\n   border:1px solid rgba(80, 170, 180, .12);\n }\n\n .rc-payg-error{\n   background:#fff7f7;\n   border-color:rgba(185,28,28,.12);\n   color:#991b1b;\n }\n\n @media (max-width:920px){\n   .rc-adults-hero-grid{grid-template-columns:1fr;}\n   .rc-adults-bubbles{min-height:310px;}\n   .rc-adults-grid{grid-template-columns:1fr;}\n   .rc-payg-grid{grid-template-columns:1fr;}\n }\n\n @media (max-width:640px){\n   .rc-adults-hero{padding:26px 18px 24px;}\n   .rc-adults-bubbles{min-height:340px;}\n   .rc-adults-bubble-a,\n   .rc-adults-bubble-b,\n   .rc-adults-bubble-c{\n     position:relative;\n     top:auto;\n     left:auto;\n     right:auto;\n     bottom:auto;\n     width:auto;\n     margin-bottom:14px;\n   }\n\n   .rc-payg-head{\n     gap:10px;\n   }\n\n   .rc-payg-head-ship img{\n     width:48px;\n     max-height:48px;\n   }\n }\n\u003c\/style\u003e\n\n\u003cdiv class=\"rc-adults-wrap\"\u003e\n \u003csection class=\"rc-adults-hero\"\u003e\n   \u003cdiv class=\"rc-adults-hero-grid\"\u003e\n     \u003cdiv\u003e\n       \u003ch1\u003e\u003cstrong\u003eภาษาอังกฤษทั่วไป \u003cem\u003eจ่ายตามการใช้งาน!\u003c\/em\u003e สำหรับผู้ใหญ่ (16+)\u003c\/strong\u003e\u003c\/h1\u003e\n       \u003cp class=\"rc-adults-sub\"\u003eบทสนทนาจริง คำแนะนำที่ชัดเจน และรูปแบบจ่ายตามการใช้งานที่ไม่เหมือนใครสำหรับผู้ใหญ่ที่ต้องการความยืดหยุ่นโดยไม่ติดกับดักสมาชิกภาพ\u003c\/p\u003e\n       \u003cdiv class=\"rc-adults-highlight\"\u003eไม่มีสัญญาระยะยาว ไม่มีแรงกดดันจากแพ็กเกจที่เกินความจำเป็น แค่จ่ายเฉพาะเวลาภาษาอังกฤษที่คุณต้องการและใช้จริง\u003c\/div\u003e\n       \u003cdiv class=\"rc-adults-buttons\"\u003e\n         \u003ca href=\"\/th-es\/appointment\" class=\"rc-adults-btn rc-adults-btn-primary\"\u003eนัดหมาย\u003c\/a\u003e\n       \u003c\/div\u003e\n     \u003c\/div\u003e\n\n     \u003cdiv class=\"rc-adults-bubbles\"\u003e\n       \u003cdiv class=\"rc-adults-bubble rc-adults-bubble-a\"\u003e\n         \u003cdiv class=\"rc-adults-bubble-title\"\u003eการสื่อสารจริง\u003c\/div\u003e\n         \u003cp\u003eการฟัง พูด คำศัพท์ และความมั่นใจที่สร้างขึ้นในแบบที่รู้สึกมีประโยชน์ในชีวิตจริง\u003c\/p\u003e\n       \u003c\/div\u003e\n       \u003cdiv class=\"rc-adults-bubble rc-adults-bubble-b\"\u003e\n         \u003cdiv class=\"rc-adults-bubble-title\"\u003eยืดหยุ่นตามการออกแบบ\u003c\/div\u003e\n         \u003cp\u003eถ้าชีวิตของคุณยุ่งหรือไม่แน่นอน รูปแบบนี้จะช่วยให้คุณรักษาภาษาอังกฤษไว้ในกิจวัตรได้ง่ายขึ้น\u003c\/p\u003e\n       \u003c\/div\u003e\n       \u003cdiv class=\"rc-adults-bubble rc-adults-bubble-c\"\u003e\n         \u003cdiv class=\"rc-adults-bubble-title\"\u003eมากกว่าการสอนแบบสุ่ม\u003c\/div\u003e\n         \u003cp\u003eคุณกำลังเรียนกับครูจริง ไม่ใช่เดาไปเรื่อยๆ ผ่านแพลตฟอร์มขนาดใหญ่ที่เต็มไปด้วยโปรไฟล์\u003c\/p\u003e\n       \u003c\/div\u003e\n     \u003c\/div\u003e\n   \u003c\/div\u003e\n \u003c\/section\u003e\n\n \u003csection class=\"rc-adults-grid\"\u003e\n   \u003cdiv class=\"rc-adults-card\"\u003e\n     \u003ch3\u003eชั้นเรียนออนไลน์สดกับ Ross Cline\u003c\/h3\u003e\n     \u003cp\u003eได้รับคำแนะนำจากครูที่มีประสบการณ์ด้วยสไตล์ที่ใช้งานได้จริงและให้กำลังใจซึ่งถูกพัฒนามากว่า 20 ปีในวงการ ESL\u003c\/p\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rc-adults-card\"\u003e\n     \u003ch3\u003eกลุ่มเล็กและเป็นมิตร\u003c\/h3\u003e\n     \u003cp\u003eมีโครงสร้างเพียงพอที่จะก้าวหน้า และความผ่อนคลายเพียงพอที่จะช่วยให้คุณพูดและสนุกกับกระบวนการเรียนรู้จริงๆ\u003c\/p\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rc-adults-card\"\u003e\n     \u003ch3\u003eจ่ายเฉพาะเวลาที่คุณใช้\u003c\/h3\u003e\n     \u003cp\u003eระบบจ่ายตามการใช้งานที่เรียบง่ายออกแบบมาสำหรับผู้ใหญ่ที่ต้องการอิสระมากขึ้นและลดการเสียเปล่า\u003c\/p\u003e\n   \u003c\/div\u003e\n \u003c\/section\u003e\n\n \u003csection class=\"rc-adults-section\"\u003e\n   \u003cdiv class=\"rc-adults-softbox\"\u003e\n     \u003ch2\u003eโปรแกรมนี้เกี่ยวกับอะไรจริงๆ\u003c\/h2\u003e\n     \u003cp\u003eโปรแกรมนี้สำหรับผู้ใหญ่ที่ต้องการภาษาอังกฤษที่รู้สึกมีชีวิตชีวา มีประโยชน์ และคุ้มค่าที่จะกลับมาเรียนอีก ออกแบบโดยเน้นการสื่อสารจริง ไม่ใช่แค่แบบฝึกหัดในตำราเรียนหรือการสอนทั่วไป ไม่ว่าจุดมุ่งหมายของคุณจะเป็นงาน การเดินทาง ความมั่นใจ ความคล่องแคล่ว หรือแค่ต้องการก้าวผ่านอุปสรรค จุดเน้นคือการพูด ฟัง เข้าใจ และสร้างแรงผลักดันจริงๆ\u003c\/p\u003e\n     \u003cp\u003eถ้าคุณเบื่อกับระบบที่เข้มงวด การผูกมัดแบบสมาชิก หรือแพลตฟอร์มที่ไม่เป็นส่วนตัวที่คุณไม่รู้จริงๆ ว่าจะได้ครูแบบไหน นี่คือทางเลือกที่เหมาะสม\u003c\/p\u003e\n   \u003c\/div\u003e\n \u003c\/section\u003e\n\n \u003csection class=\"rc-adults-section\"\u003e\n   \u003cdiv class=\"rc-adults-softbox\"\u003e\n     \u003ch2\u003eวิธีเริ่มต้น\u003c\/h2\u003e\n     \u003cul class=\"rc-adults-list\"\u003e\n       \u003cli\u003eนัดหมายเพื่อพูดคุยเกี่ยวกับเป้าหมายของคุณและหาวิธีที่เหมาะสมกับระดับของคุณที่สุด\u003c\/li\u003e\n       \u003cli\u003eกรอกแบบฟอร์มลงทะเบียนเมื่อคุณพร้อม\u003c\/li\u003e\n       \u003cli\u003eทำแบบทดสอบวัดระดับภาษาอังกฤษฟรีเพื่อให้เราสามารถแนะนำคุณได้อย่างถูกต้อง\u003c\/li\u003e\n       \u003cli\u003eรับเอกสารเวลาของคุณพร้อมรายละเอียดชั้นเรียน ข้อมูลการเข้าร่วม และขั้นตอนถัดไป\u003c\/li\u003e\n     \u003c\/ul\u003e\n     \u003cdiv class=\"rc-adults-proof\"\u003e\n       \u003cstrong\u003eตัวเลือกปัจจุบันจะแสดงอยู่บนหน้านี้โดยตรง\u003c\/strong\u003e เวลาชั้นเรียนที่มีด้านล่างจะแสดงตามโซนเวลาท้องถิ่นของผู้เข้าชมโดยอัตโนมัติ\n     \u003c\/div\u003e\n   \u003c\/div\u003e\n \u003c\/section\u003e\n\n \u003csection class=\"rc-adults-section\"\u003e\n   \u003cdiv class=\"rc-payg-shell\"\u003e\n     \u003cdiv class=\"rc-payg-head\"\u003e\n       \u003ch2\u003eเวลาชั้นเรียนที่มีให้เลือก\u003c\/h2\u003e\n       \u003cdiv class=\"rc-payg-head-ship\" aria-hidden=\"true\"\u003e\n         \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0567\/6148\/3312\/files\/sail-1.gif?v=1692956642\" alt=\"\"\u003e\n       \u003c\/div\u003e\n     \u003c\/div\u003e\n     \u003cp class=\"rc-payg-topline\"\u003eนี่คือเวลาชั้นเรียนภาษาอังกฤษทั่วไปแบบจ่ายตามการใช้งานในปัจจุบัน\u003c\/p\u003e\n     \u003cdiv id=\"rc-payg-timezone\" class=\"rc-payg-timezone\"\u003eกำลังตรวจสอบโซนเวลาของคุณ…\u003c\/div\u003e\n     \u003cdiv id=\"rc-payg-output\" class=\"rc-payg-loading\"\u003eกำลังโหลดเวลาที่มีให้เลือก…\u003c\/div\u003e\n     \u003cp class=\"rc-payg-note\"\u003eเวลาทั้งหมดจะแสดงตามโซนเวลาท้องถิ่นของผู้ชมโดยอัตโนมัติ\u003c\/p\u003e\n   \u003c\/div\u003e\n \u003c\/section\u003e\n\n \u003csection class=\"rc-adults-section\"\u003e\n   \u003cdiv class=\"rc-adults-softbox\"\u003e\n     \u003ch2\u003eเกี่ยวกับ Ross\u003c\/h2\u003e\n     \u003cp\u003eRoss Cline ทำงานในวงการ ESL มากว่า 20 ปี สอนในโตรอนโต เยอรมนี และไต้หวัน เขาก่อตั้งบริษัทสอนภาษาในปี 2009 และได้สอนนักเรียนหลายพันคนทั้งในห้องเรียนและออนไลน์ สไตล์การสอนของเขาเป็นมิตร อดทน และมุ่งเน้นช่วยให้คุณใช้ภาษาอังกฤษในชีวิตจริงได้จริงๆ\u003c\/p\u003e\n     \u003cp\u003eถ้าคุณพร้อมที่จะสร้างแรงผลักดันภาษาอังกฤษจริงๆ กับครูที่คุณไว้วางใจ ขั้นตอนถัดไปก็ง่ายมาก\u003c\/p\u003e\n   \u003c\/div\u003e\n \u003c\/section\u003e\n\n \u003csection class=\"rc-adults-section\"\u003e\n   \u003cdiv class=\"rc-adults-buttons\"\u003e\n     \u003ca href=\"\/th-es\/appointment\" class=\"rc-adults-btn rc-adults-btn-primary\"\u003eนัดหมาย\u003c\/a\u003e\n     \u003ca href=\"\/th-es\/pages\/english-level-test\" class=\"rc-adults-btn rc-adults-btn-secondary\"\u003eทำแบบทดสอบวัดระดับ\u003c\/a\u003e\n     \u003ca href=\"\/th-es\/pages\/contact\" class=\"rc-adults-btn rc-adults-btn-secondary\"\u003eติดต่อ Ross\u003c\/a\u003e\n   \u003c\/div\u003e\n \u003c\/section\u003e\n\u003c\/div\u003e\n\n\u003cp\u003e \u003c\/p\u003e\n\u003cscript\u003e\n(function() {\n var RC_PAYG_CONFIG = {\n   jsonUrl: 'https:\/\/script.google.com\/macros\/s\/AKfycbyWDjNwMVjT11Rg2iKkPDQB0w6Wc54xsiA_PwREweoccZ_LbIeVmapI_ocq_9N6XkkQIw\/exec',\n   strings: {\n     timezonePrefix: 'โซนเวลา:',\n     loading: 'กำลังโหลดเวลาที่มีให้เลือก…',\n     empty: 'ไม่มีเวลาชั้นเรียนที่พร้อมให้บริการในขณะนี้ กรุณาตรวจสอบอีกครั้งในเร็วๆ นี้',\n     error: 'เราไม่สามารถโหลดตารางชั้นเรียนได้ในขณะนี้',\n     localTimeSuffix: 'เวลาท้องถิ่น',\n     dayLabelFallback: 'เวลาที่มีให้เลือก'\n   }\n };\n\n var timezoneEl = document.getElementById('rc-payg-timezone');\n var outputEl = document.getElementById('rc-payg-output');\n\n if (!timezoneEl || !outputEl) return;\n\n var viewerTimeZone = '';\n try {\n   viewerTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone || '';\n } catch (e) {\n   viewerTimeZone = '';\n }\n\n timezoneEl.textContent = RC_PAYG_CONFIG.strings.timezonePrefix + ' ' + (viewerTimeZone || 'เวลาท้องถิ่น');\n outputEl.className = 'rc-payg-loading';\n outputEl.textContent = RC_PAYG_CONFIG.strings.loading;\n\n function escapeHtml(str) {\n   return String(str).replace(\/[\u0026\u003c\u003e\"']\/g, function(match) {\n     return ({\n       '\u0026':'\u0026amp;',\n       '\u003c':'\u0026lt;',\n       '\u003e':'\u0026gt;',\n       '\"':'\u0026quot;',\n       \"'\":'\u0026#39;'\n     })[match];\n   });\n }\n\n function weekdayIndexFromDate(date) {\n   var weekday = new Intl.DateTimeFormat('en-US', {\n     weekday: 'short',\n     timeZone: viewerTimeZone || undefined\n   }).format(date);\n\n   var map = { Sun:0, Mon:1, Tue:2, Wed:3, Thu:4, Fri:5, Sat:6 };\n   return map[weekday] != null ? map[weekday] : date.getDay();\n }\n\n function weekdayNameFromDate(date) {\n   return new Intl.DateTimeFormat(undefined, {\n     weekday: 'long',\n     timeZone: viewerTimeZone || undefined\n   }).format(date);\n }\n\n function timeLabelFromDate(date) {\n   return new Intl.DateTimeFormat(undefined, {\n     hour: 'numeric',\n     minute: '2-digit',\n     timeZone: viewerTimeZone || undefined\n   }).format(date);\n }\n\n function minuteValueFromDate(date) {\n   var parts = new Intl.DateTimeFormat('en-GB', {\n     hour: '2-digit',\n     minute: '2-digit',\n     hourCycle: 'h23',\n     timeZone: viewerTimeZone || undefined\n   }).formatToParts(date);\n\n   var hour = 0;\n   var minute = 0;\n\n   for (var i = 0; i \u003c parts.length; i++) {\n     if (parts[i].type === 'hour') hour = parseInt(parts[i].value, 10) || 0;\n     if (parts[i].type === 'minute') minute = parseInt(parts[i].value, 10) || 0;\n   }\n\n   return (hour * 60) + minute;\n }\n\n function groupByWeekday(slots) {\n   var groups = {};\n   var ordered = [];\n\n   for (var i = 0; i \u003c slots.length; i++) {\n     var date = new Date(slots[i].iso);\n     if (isNaN(date.getTime())) continue;\n\n     var weekdayIndex = weekdayIndexFromDate(date);\n     var weekdayName = weekdayNameFromDate(date);\n     var timeLabel = timeLabelFromDate(date);\n     var uniqueKey = weekdayIndex + '|' + timeLabel;\n\n     if (!groups[weekdayIndex]) {\n       groups[weekdayIndex] = {\n         weekdayIndex: weekdayIndex,\n         weekdayName: weekdayName,\n         items: []\n       };\n       ordered.push(groups[weekdayIndex]);\n     }\n\n     var exists = false;\n     for (var j = 0; j \u003c groups[weekdayIndex].items.length; j++) {\n       if (groups[weekdayIndex].items[j].uniqueKey === uniqueKey) {\n         exists = true;\n         break;\n       }\n     }\n\n     if (!exists) {\n       groups[weekdayIndex].items.push({\n         uniqueKey: uniqueKey,\n         timeLabel: timeLabel,\n         minuteValue: minuteValueFromDate(date)\n       });\n     }\n   }\n\n   ordered.sort(function(a, b) {\n     return a.weekdayIndex - b.weekdayIndex;\n   });\n\n   for (var k = 0; k \u003c ordered.length; k++) {\n     ordered[k].items.sort(function(a, b) {\n       return a.minuteValue - b.minuteValue;\n     });\n   }\n\n   return ordered;\n }\n\n function renderSchedule(slots) {\n   if (!slots || !slots.length) {\n     outputEl.className = 'rc-payg-empty';\n     outputEl.textContent = RC_PAYG_CONFIG.strings.empty;\n     return;\n   }\n\n   var groups = groupByWeekday(slots);\n   var html = '\u003cdiv class=\"rc-payg-grid\"\u003e';\n\n   for (var i = 0; i \u003c groups.length; i++) {\n     html += '\u003cdiv class=\"rc-payg-day\"\u003e';\n     html += '\u003ch3\u003e' + escapeHtml(groups[i].weekdayName || RC_PAYG_CONFIG.strings.dayLabelFallback) + '\u003c\/h3\u003e';\n     html += '\u003cul class=\"rc-payg-slots\"\u003e';\n\n     for (var j = 0; j \u003c groups[i].items.length; j++) {\n       html += '\u003cli\u003e' + escapeHtml(groups[i].items[j].timeLabel) + ' \u003cspan style=\"color:#6b7280;\"\u003e(' + escapeHtml(RC_PAYG_CONFIG.strings.localTimeSuffix) + ')\u003c\/span\u003e\u003c\/li\u003e';\n     }\n\n     html += '\u003c\/ul\u003e';\n     html += '\u003c\/div\u003e';\n   }\n\n   html += '\u003c\/div\u003e';\n   outputEl.className = '';\n   outputEl.innerHTML = html;\n }\n\n function renderError(message) {\n   outputEl.className = 'rc-payg-error';\n   outputEl.textContent = message || RC_PAYG_CONFIG.strings.error;\n }\n\n window.rcPaygScheduleCallback = function(data) {\n   try {\n     if (!data || !data.ok || !data.slots) {\n       throw new Error(data \u0026\u0026 data.error ? data.error : RC_PAYG_CONFIG.strings.error);\n     }\n     renderSchedule(data.slots);\n   } catch (err) {\n     renderError(err \u0026\u0026 err.message ? err.message : RC_PAYG_CONFIG.strings.error);\n   }\n };\n\n function loadSchedule() {\n   var url = RC_PAYG_CONFIG.jsonUrl\n     + '?callback=rcPaygScheduleCallback\u0026_rcv='\n     + Date.now();\n\n   var script = document.createElement('script');\n   script.src = url;\n   script.async = true;\n   script.onerror = function() {\n     renderError('โหลดล้มเหลว');\n   };\n   document.head.appendChild(script);\n }\n\n loadSchedule();\n})();\n\u003c\/script\u003e","products":[{"product_id":"onehour","title":"ชั้นเรียนจ่ายตามชั่วโมง 1 ชั่วโมง","description":"\u003cstyle\u003e\n  .rc-ge-product{\n    max-width: 760px;\n    margin: 0 auto;\n    padding: 24px 20px 22px;\n    border-radius: 26px;\n    background: linear-gradient(145deg, #ffffff 0%, #f5fcfc 100%);\n    border: 1px solid rgba(80,170,180,.16);\n    box-shadow: 0 14px 30px rgba(29,120,133,.08);\n    color: #1f2937;\n    line-height: 1.7;\n  }\n\n  .rc-ge-product *,\n  .rc-ge-product h2,\n  .rc-ge-product h3,\n  .rc-ge-product p,\n  .rc-ge-product li,\n  .rc-ge-product a,\n  .rc-ge-product span,\n  .rc-ge-product div,\n  .rc-ge-product strong{\n    font-family: inherit !important;\n  }\n\n  .rc-ge-product-hero{\n    text-align: center;\n    margin-bottom: 18px;\n  }\n\n  .rc-ge-product-hero h2{\n    margin: 0 0 10px;\n    font-size: clamp(1.7rem, 3.2vw, 2.3rem);\n    line-height: 1.15;\n    color: #111827;\n    letter-spacing: -.02em;\n  }\n\n  .rc-ge-product-sub{\n    max-width: 620px;\n    margin: 0 auto 12px;\n    font-size: 1.03rem;\n    color: #4b5563;\n  }\n\n  .rc-ge-product-highlight{\n    display: inline-block;\n    padding: 12px 16px;\n    border-radius: 18px;\n    background: linear-gradient(135deg, #f3ffff 0%, #eafcfc 100%);\n    border: 1px solid rgba(78,170,176,.20);\n    box-shadow: 0 10px 22px rgba(29,120,133,.08);\n    font-weight: 700;\n    color: #116466;\n  }\n\n  .rc-ge-product-bubbles{\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: center;\n    gap: 10px;\n    margin: 16px 0 20px;\n  }\n\n  .rc-ge-product-bubble{\n    display: inline-flex;\n    align-items: center;\n    padding: 10px 14px;\n    border-radius: 999px;\n    border: 1px solid rgba(0,0,0,.06);\n    box-shadow: 0 6px 14px rgba(0,0,0,.05);\n    font-weight: 700;\n    font-size: .95rem;\n    color: #1f2937;\n  }\n\n  .rc-ge-product-bubble:nth-child(1){ background: #eafcfc; }\n  .rc-ge-product-bubble:nth-child(2){ background: #eefdf2; }\n  .rc-ge-product-bubble:nth-child(3){ background: #fff4df; }\n  .rc-ge-product-bubble:nth-child(4){ background: #eef6ff; }\n\n  .rc-ge-product-copy{\n    margin-bottom: 18px;\n  }\n\n  .rc-ge-product-copy p{\n    margin: 0 0 12px;\n  }\n\n  .rc-ge-product-copy ul{\n    margin: 0;\n    padding-left: 1.2rem;\n  }\n\n  .rc-ge-product-copy li{\n    margin-bottom: 8px;\n  }\n\n  .rc-ge-times-shell{\n    margin: 18px 0 18px;\n    padding: 18px 16px;\n    border-radius: 22px;\n    background: linear-gradient(145deg, #ffffff 0%, #f3fbfb 100%);\n    border: 1px solid rgba(80,170,180,.16);\n    box-shadow: 0 12px 24px rgba(29,120,133,.06);\n  }\n\n  .rc-ge-times-head{\n    display: flex;\n    align-items: flex-start;\n    justify-content: space-between;\n    gap: 12px;\n    margin-bottom: 4px;\n  }\n\n  .rc-ge-times-head h3{\n    margin: 0 0 8px;\n    font-size: 1.18rem;\n    line-height: 1.2;\n    color: #111827;\n  }\n\n  .rc-ge-times-ship{\n    flex: 0 0 auto;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-width: 52px;\n  }\n\n  .rc-ge-times-ship img{\n    display: block;\n    width: 52px;\n    height: auto;\n    max-height: 52px;\n    object-fit: contain;\n    filter: drop-shadow(0 4px 10px rgba(31,127,150,.16));\n  }\n\n  .rc-ge-times-topline{\n    margin: 0 0 8px;\n    color: #4b5563;\n    font-size: .98rem;\n  }\n\n  .rc-ge-timezone{\n    display: inline-block;\n    margin: 0 0 14px;\n    padding: 8px 12px;\n    border-radius: 999px;\n    background: linear-gradient(145deg,#f3ffff 0%,#e7fbfb 100%);\n    border: 1px solid rgba(78,170,176,.22);\n    color: #116466;\n    font-weight: 700;\n    font-size: .93rem;\n  }\n\n  .rc-ge-times-grid{\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 12px;\n  }\n\n  .rc-ge-day{\n    border-radius: 18px;\n    padding: 14px;\n    background: linear-gradient(180deg, #ffffff 0%, #f8fefe 100%);\n    border: 1px solid rgba(80,170,180,.12);\n    box-shadow: 0 8px 18px rgba(29,120,133,.04);\n  }\n\n  .rc-ge-day h4{\n    margin: 0 0 8px;\n    font-size: 1rem;\n    color: #111827;\n  }\n\n  .rc-ge-slots{\n    margin: 0;\n    padding-left: 1rem;\n  }\n\n  .rc-ge-slots li{\n    margin-bottom: 6px;\n  }\n\n  .rc-ge-times-loading,\n  .rc-ge-times-empty,\n  .rc-ge-times-error{\n    padding: 14px 16px;\n    border-radius: 18px;\n    background: linear-gradient(145deg,#ffffff 0%,#f5fdfd 100%);\n    border: 1px solid rgba(80,170,180,.12);\n  }\n\n  .rc-ge-times-error{\n    background: #fff7f7;\n    border-color: rgba(185,28,28,.12);\n    color: #991b1b;\n  }\n\n  .rc-ge-note{\n    margin-top: 12px;\n    color: #6b7280;\n    font-size: .95rem;\n  }\n\n  .rc-ge-product-buttons{\n    display: flex;\n    flex-wrap: wrap;\n    gap: 12px;\n    margin-top: 18px;\n  }\n\n  .rc-ge-btn{\n    display: inline-block;\n    padding: 12px 18px;\n    border-radius: 999px;\n    text-decoration: none;\n    font-weight: 800;\n    border: 1px solid rgba(0,0,0,.08);\n    box-shadow: 0 8px 18px rgba(0,0,0,.06);\n    transition: transform .15s ease, opacity .15s ease, box-shadow .15s ease;\n  }\n\n  .rc-ge-btn:hover{\n    transform: translateY(-1px);\n    opacity: .96;\n    box-shadow: 0 12px 24px rgba(0,0,0,.08);\n  }\n\n  .rc-ge-btn-primary{\n    background: linear-gradient(145deg,#4fc8c4 0%,#2ca7b1 58%,#1f7d95 100%);\n    color: #fff !important;\n    border-color: rgba(16,94,105,.18);\n    box-shadow: 0 10px 22px rgba(29,120,133,.18);\n  }\n\n  .rc-ge-btn-secondary{\n    background: linear-gradient(145deg,#ffffff 0%,#f2fcfc 100%);\n    color: #1f2937 !important;\n    border: 1px solid rgba(80,170,180,.18);\n    box-shadow: 0 10px 22px rgba(29,120,133,.08);\n  }\n\n  @media (max-width: 700px){\n    .rc-ge-times-grid{\n      grid-template-columns: 1fr;\n    }\n  }\n\n  @media (max-width: 640px){\n    .rc-ge-product{\n      padding: 20px 16px 20px;\n      border-radius: 22px;\n    }\n\n    .rc-ge-product-buttons{\n      flex-direction: column;\n    }\n\n    .rc-ge-btn{\n      width: 100%;\n      text-align: center;\n      box-sizing: border-box;\n    }\n\n    .rc-ge-times-head{\n      gap: 10px;\n    }\n\n    .rc-ge-times-ship img{\n      width: 46px;\n      max-height: 46px;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"rc-ge-product\"\u003e\n  \u003cdiv class=\"rc-ge-product-hero\"\u003e\n    \u003ch2\u003eภาษาอังกฤษทั่วไป 1 ชั่วโมง\u003c\/h2\u003e\n    \u003cp class=\"rc-ge-product-sub\"\u003eวิธีง่าย ๆ และไม่กดดันในการลองเรียน คลาสที่คุณสามารถเข้าร่วมได้เมื่อสะดวก หรือเริ่มต้นสร้างพื้นฐานภาษาอังกฤษกับ Ross Cline\u003c\/p\u003e\n    \u003cdiv class=\"rc-ge-product-highlight\"\u003eขั้นตอนแรก: นัดหมายกับ Ross แล้วเราจะหาวิธีที่เหมาะสมที่สุดด้วยกัน\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rc-ge-product-bubbles\"\u003e\n    \u003cspan class=\"rc-ge-product-bubble\"\u003eลองเรียนครั้งเดียว\u003c\/span\u003e\n    \u003cspan class=\"rc-ge-product-bubble\"\u003eยืดหยุ่น\u003c\/span\u003e\n    \u003cspan class=\"rc-ge-product-bubble\"\u003eออนไลน์ 1 ชั่วโมง\u003c\/span\u003e\n    \u003cspan class=\"rc-ge-product-bubble\"\u003eครูจริง\u003c\/span\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rc-ge-product-copy\"\u003e\n    \u003cp\u003eตัวเลือกนี้เหมาะสำหรับนักเรียนครั้งแรก ผู้เรียนเป็นครั้งคราว หรือผู้ใหญ่ที่มีเวลาจำกัดที่ต้องการรักษาภาษาอังกฤษไว้ในชีวิตโดยไม่ต้องผูกมัดกับการเรียนระยะยาวทันที\u003c\/p\u003e\n    \u003cul\u003e\n      \u003cli\u003e\n\u003cstrong\u003eเหมาะสำหรับ:\u003c\/strong\u003e ลองเรียน คลาสที่กลับมาเรียนได้เมื่อสะดวก หรือเริ่มต้น\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003eระยะเวลาคลาส:\u003c\/strong\u003e ออนไลน์ 1 ชั่วโมง\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003eแนวทาง:\u003c\/strong\u003e การสนทนาจริง คำแนะนำที่ชัดเจน และภาษาอังกฤษที่ใช้งานได้จริง\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rc-ge-times-shell\"\u003e\n    \u003cdiv class=\"rc-ge-times-head\"\u003e\n      \u003ch3\u003eเวลาคลาสที่เปิดสอนในขณะนี้\u003c\/h3\u003e\n      \u003cdiv class=\"rc-ge-times-ship\" aria-hidden=\"true\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0567\/6148\/3312\/files\/sail-1.gif?v=1692956642\" alt=\"\"\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cp class=\"rc-ge-times-topline\"\u003eนี่คือเวลาคลาสภาษาอังกฤษทั่วไปในเขตเวลาท้องถิ่นของคุณ\u003c\/p\u003e\n    \u003cdiv id=\"rc-ge-timezone\" class=\"rc-ge-timezone\"\u003eกำลังตรวจสอบเขตเวลาของคุณ…\u003c\/div\u003e\n    \u003cdiv id=\"rc-ge-output\" class=\"rc-ge-times-loading\"\u003eกำลังโหลดเวลาที่เปิดสอน…\u003c\/div\u003e\n    \u003cp class=\"rc-ge-note\"\u003eเมื่อคุณได้นัดหมายแล้ว Ross จะช่วยคุณเลือกตัวเลือกและเวลาคลาสที่ดีที่สุด\u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rc-ge-product-buttons\"\u003e\n    \u003ca class=\"rc-ge-btn rc-ge-btn-primary\" href=\"\/th-es\/appointment\"\u003eนัดหมาย\u003c\/a\u003e\n    \u003ca class=\"rc-ge-btn rc-ge-btn-secondary\" href=\"\/th-es\/register\"\u003eลงทะเบียน\u003c\/a\u003e\n    \u003ca class=\"rc-ge-btn rc-ge-btn-secondary\" href=\"\/th-es\/policy\"\u003eนโยบาย\u003c\/a\u003e\n    \u003ca class=\"rc-ge-btn rc-ge-btn-secondary\" href=\"\/th-es\/pages\/time-document\"\u003eเอกสารเวลา\u003c\/a\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n(function() {\n  var RC_GE_CONFIG = {\n    jsonUrl: 'https:\/\/script.google.com\/macros\/s\/AKfycbyWDjNwMVjT11Rg2iKkPDQB0w6Wc54xsiA_PwREweoccZ_LbIeVmapI_ocq_9N6XkkQIw\/exec',\n    strings: {\n      timezonePrefix: 'เขตเวลา:',\n      loading: 'กำลังโหลดเวลาที่เปิดสอน…',\n      empty: 'ขณะนี้ไม่มีเวลาคลาสเปิดสอน กรุณาตรวจสอบอีกครั้งในเร็ว ๆ นี้',\n      error: 'เราไม่สามารถโหลดตารางคลาสได้ในขณะนี้',\n      localTimeSuffix: 'เวลาท้องถิ่น',\n      dayLabelFallback: 'เวลาที่เปิดสอน'\n    }\n  };\n\n  var timezoneEl = document.getElementById('rc-ge-timezone');\n  var outputEl = document.getElementById('rc-ge-output');\n\n  if (!timezoneEl || !outputEl) return;\n\n  var viewerTimeZone = '';\n  try {\n    viewerTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone || '';\n  } catch (e) {\n    viewerTimeZone = '';\n  }\n\n  timezoneEl.textContent = RC_GE_CONFIG.strings.timezonePrefix + ' ' + (viewerTimeZone || 'เวลาท้องถิ่น');\n  outputEl.className = 'rc-ge-times-loading';\n  outputEl.textContent = RC_GE_CONFIG.strings.loading;\n\n  function escapeHtml(str) {\n    return String(str).replace(\/[\u0026\u003c\u003e\"']\/g, function(match) {\n      return ({\n        '\u0026':'\u0026amp;',\n        '\u003c':'\u0026lt;',\n        '\u003e':'\u0026gt;',\n        '\"':'\u0026quot;',\n        \"'\":'\u0026#39;'\n      })[match];\n    });\n  }\n\n  function weekdayIndexFromDate(date) {\n    var weekday = new Intl.DateTimeFormat('en-US', {\n      weekday: 'short',\n      timeZone: viewerTimeZone || undefined\n    }).format(date);\n\n    var map = { Sun:0, Mon:1, Tue:2, Wed:3, Thu:4, Fri:5, Sat:6 };\n    return map[weekday] != null ? map[weekday] : date.getDay();\n  }\n\n  function weekdayNameFromDate(date) {\n    return new Intl.DateTimeFormat(undefined, {\n      weekday: 'long',\n      timeZone: viewerTimeZone || undefined\n    }).format(date);\n  }\n\n  function timeLabelFromDate(date) {\n    return new Intl.DateTimeFormat(undefined, {\n      hour: 'numeric',\n      minute: '2-digit',\n      timeZone: viewerTimeZone || undefined\n    }).format(date);\n  }\n\n  function minuteValueFromDate(date) {\n    var parts = new Intl.DateTimeFormat('en-GB', {\n      hour: '2-digit',\n      minute: '2-digit',\n      hourCycle: 'h23',\n      timeZone: viewerTimeZone || undefined\n    }).formatToParts(date);\n\n    var hour = 0;\n    var minute = 0;\n\n    for (var i = 0; i \u003c parts.length; i++) {\n      if (parts[i].type === 'hour') hour = parseInt(parts[i].value, 10) || 0;\n      if (parts[i].type === 'minute') minute = parseInt(parts[i].value, 10) || 0;\n    }\n\n    return (hour * 60) + minute;\n  }\n\n  function groupByWeekday(slots) {\n    var groups = {};\n    var ordered = [];\n\n    for (var i = 0; i \u003c slots.length; i++) {\n      var date = new Date(slots[i].iso);\n      if (isNaN(date.getTime())) continue;\n\n      var weekdayIndex = weekdayIndexFromDate(date);\n      var weekdayName = weekdayNameFromDate(date);\n      var timeLabel = timeLabelFromDate(date);\n      var uniqueKey = weekdayIndex + '|' + timeLabel;\n\n      if (!groups[weekdayIndex]) {\n        groups[weekdayIndex] = {\n          weekdayIndex: weekdayIndex,\n          weekdayName: weekdayName,\n          items: []\n        };\n        ordered.push(groups[weekdayIndex]);\n      }\n\n      var exists = false;\n      for (var j = 0; j \u003c groups[weekdayIndex].items.length; j++) {\n        if (groups[weekdayIndex].items[j].uniqueKey === uniqueKey) {\n          exists = true;\n          break;\n        }\n      }\n\n      if (!exists) {\n        groups[weekdayIndex].items.push({\n          uniqueKey: uniqueKey,\n          timeLabel: timeLabel,\n          minuteValue: minuteValueFromDate(date)\n        });\n      }\n    }\n\n    ordered.sort(function(a, b) {\n      return a.weekdayIndex - b.weekdayIndex;\n    });\n\n    for (var k = 0; k \u003c ordered.length; k++) {\n      ordered[k].items.sort(function(a, b) {\n        return a.minuteValue - b.minuteValue;\n      });\n    }\n\n    return ordered;\n  }\n\n  function renderSchedule(slots) {\n    if (!slots || !slots.length) {\n      outputEl.className = 'rc-ge-times-empty';\n      outputEl.textContent = RC_GE_CONFIG.strings.empty;\n      return;\n    }\n\n    var groups = groupByWeekday(slots);\n    var html = '\u003cdiv class=\"rc-ge-times-grid\"\u003e';\n\n    for (var i = 0; i \u003c groups.length; i++) {\n      html += '\u003cdiv class=\"rc-ge-day\"\u003e';\n      html += '\u003ch4\u003e' + escapeHtml(groups[i].weekdayName || RC_GE_CONFIG.strings.dayLabelFallback) + '\u003c\/h4\u003e';\n      html += '\u003cul class=\"rc-ge-slots\"\u003e';\n\n      for (var j = 0; j \u003c groups[i].items.length; j++) {\n        html += '\u003cli\u003e' + escapeHtml(groups[i].items[j].timeLabel) + ' \u003cspan style=\"color:#6b7280;\"\u003e(' + escapeHtml(RC_GE_CONFIG.strings.localTimeSuffix) + ')\u003c\/span\u003e\u003c\/li\u003e';\n      }\n\n      html += '\u003c\/ul\u003e';\n      html += '\u003c\/div\u003e';\n    }\n\n    html += '\u003c\/div\u003e';\n    outputEl.className = '';\n    outputEl.innerHTML = html;\n  }\n\n  function renderError(message) {\n    outputEl.className = 'rc-ge-times-error';\n    outputEl.textContent = message || RC_GE_CONFIG.strings.error;\n  }\n\n  window.rcGeScheduleCallback = function(data) {\n    try {\n      if (!data || !data.ok || !data.slots) {\n        throw new Error(data \u0026\u0026 data.error ? data.error : RC_GE_CONFIG.strings.error);\n      }\n      renderSchedule(data.slots);\n    } catch (err) {\n      renderError(err \u0026\u0026 err.message ? err.message : RC_GE_CONFIG.strings.error);\n    }\n  };\n\n  function loadSchedule() {\n    var url = RC_GE_CONFIG.jsonUrl\n      + '?callback=rcGeScheduleCallback\u0026_rcv='\n      + Date.now();\n\n    var script = document.createElement('script');\n    script.src = url;\n    script.async = true;\n    script.onerror = function() {\n      renderError('โหลดล้มเหลว');\n    };\n    document.head.appendChild(script);\n  }\n\n  loadSchedule();\n})();\n\u003c\/script\u003e","brand":"rosscline.com","offers":[{"title":"ชื่อเริ่มต้น","offer_id":40388041506864,"sku":"","price":13.81,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0567\/6148\/3312\/files\/ross-cline-pay-as-you-go-one-class-square.jpg?v=1778589935"},{"product_id":"pay-as-you-go-subscription","title":"สมัครสมาชิกแบบจ่ายตามการใช้งาน","description":"\u003cstyle\u003e\n  .rc-ge-product{\n    max-width: 760px;\n    margin: 0 auto;\n    padding: 24px 20px 22px;\n    border-radius: 26px;\n    background: linear-gradient(145deg, #ffffff 0%, #f5fcfc 100%);\n    border: 1px solid rgba(80,170,180,.16);\n    box-shadow: 0 14px 30px rgba(29,120,133,.08);\n    color: #1f2937;\n    line-height: 1.7;\n  }\n\n  .rc-ge-product *,\n  .rc-ge-product h2,\n  .rc-ge-product h3,\n  .rc-ge-product p,\n  .rc-ge-product li,\n  .rc-ge-product a,\n  .rc-ge-product span,\n  .rc-ge-product div,\n  .rc-ge-product strong{\n    font-family: inherit !important;\n  }\n\n  .rc-ge-product-hero{\n    text-align: center;\n    margin-bottom: 18px;\n  }\n\n  .rc-ge-product-hero h2{\n    margin: 0 0 10px;\n    font-size: clamp(1.7rem, 3.2vw, 2.3rem);\n    line-height: 1.15;\n    color: #111827;\n    letter-spacing: -.02em;\n  }\n\n  .rc-ge-product-sub{\n    max-width: 620px;\n    margin: 0 auto 12px;\n    font-size: 1.03rem;\n    color: #4b5563;\n  }\n\n  .rc-ge-product-highlight{\n    display: inline-block;\n    padding: 12px 16px;\n    border-radius: 18px;\n    background: linear-gradient(135deg, #f3ffff 0%, #eafcfc 100%);\n    border: 1px solid rgba(78,170,176,.20);\n    box-shadow: 0 10px 22px rgba(29,120,133,.08);\n    font-weight: 700;\n    color: #116466;\n  }\n\n  .rc-ge-product-bubbles{\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: center;\n    gap: 10px;\n    margin: 16px 0 20px;\n  }\n\n  .rc-ge-product-bubble{\n    display: inline-flex;\n    align-items: center;\n    padding: 10px 14px;\n    border-radius: 999px;\n    border: 1px solid rgba(0,0,0,.06);\n    box-shadow: 0 6px 14px rgba(0,0,0,.05);\n    font-weight: 700;\n    font-size: .95rem;\n    color: #1f2937;\n  }\n\n  .rc-ge-product-bubble:nth-child(1){ background: #eafcfc; }\n  .rc-ge-product-bubble:nth-child(2){ background: #eefdf2; }\n  .rc-ge-product-bubble:nth-child(3){ background: #fff4df; }\n  .rc-ge-product-bubble:nth-child(4){ background: #eef6ff; }\n\n  .rc-ge-product-copy{\n    margin-bottom: 18px;\n  }\n\n  .rc-ge-product-copy p{\n    margin: 0 0 12px;\n  }\n\n  .rc-ge-product-copy ul{\n    margin: 0;\n    padding-left: 1.2rem;\n  }\n\n  .rc-ge-product-copy li{\n    margin-bottom: 8px;\n  }\n\n  .rc-ge-times-shell{\n    margin: 18px 0 18px;\n    padding: 18px 16px;\n    border-radius: 22px;\n    background: linear-gradient(145deg, #ffffff 0%, #f3fbfb 100%);\n    border: 1px solid rgba(80,170,180,.16);\n    box-shadow: 0 12px 24px rgba(29,120,133,.06);\n  }\n\n  .rc-ge-times-head{\n    display: flex;\n    align-items: flex-start;\n    justify-content: space-between;\n    gap: 12px;\n    margin-bottom: 4px;\n  }\n\n  .rc-ge-times-head h3{\n    margin: 0 0 8px;\n    font-size: 1.18rem;\n    line-height: 1.2;\n    color: #111827;\n  }\n\n  .rc-ge-times-ship{\n    flex: 0 0 auto;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-width: 52px;\n  }\n\n  .rc-ge-times-ship img{\n    display: block;\n    width: 52px;\n    height: auto;\n    max-height: 52px;\n    object-fit: contain;\n    filter: drop-shadow(0 4px 10px rgba(31,127,150,.16));\n  }\n\n  .rc-ge-times-topline{\n    margin: 0 0 8px;\n    color: #4b5563;\n    font-size: .98rem;\n  }\n\n  .rc-ge-timezone{\n    display: inline-block;\n    margin: 0 0 14px;\n    padding: 8px 12px;\n    border-radius: 999px;\n    background: linear-gradient(145deg,#f3ffff 0%,#e7fbfb 100%);\n    border: 1px solid rgba(78,170,176,.22);\n    color: #116466;\n    font-weight: 700;\n    font-size: .93rem;\n  }\n\n  .rc-ge-times-grid{\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 12px;\n  }\n\n  .rc-ge-day{\n    border-radius: 18px;\n    padding: 14px;\n    background: linear-gradient(180deg, #ffffff 0%, #f8fefe 100%);\n    border: 1px solid rgba(80,170,180,.12);\n    box-shadow: 0 8px 18px rgba(29,120,133,.04);\n  }\n\n  .rc-ge-day h4{\n    margin: 0 0 8px;\n    font-size: 1rem;\n    color: #111827;\n  }\n\n  .rc-ge-slots{\n    margin: 0;\n    padding-left: 1rem;\n  }\n\n  .rc-ge-slots li{\n    margin-bottom: 6px;\n  }\n\n  .rc-ge-times-loading,\n  .rc-ge-times-empty,\n  .rc-ge-times-error{\n    padding: 14px 16px;\n    border-radius: 18px;\n    background: linear-gradient(145deg,#ffffff 0%,#f5fdfd 100%);\n    border: 1px solid rgba(80,170,180,.12);\n  }\n\n  .rc-ge-times-error{\n    background: #fff7f7;\n    border-color: rgba(185,28,28,.12);\n    color: #991b1b;\n  }\n\n  .rc-ge-note{\n    margin-top: 12px;\n    color: #6b7280;\n    font-size: .95rem;\n  }\n\n  .rc-ge-product-buttons{\n    display: flex;\n    flex-wrap: wrap;\n    gap: 12px;\n    margin-top: 18px;\n  }\n\n  .rc-ge-btn{\n    display: inline-block;\n    padding: 12px 18px;\n    border-radius: 999px;\n    text-decoration: none;\n    font-weight: 800;\n    border: 1px solid rgba(0,0,0,.08);\n    box-shadow: 0 8px 18px rgba(0,0,0,.06);\n    transition: transform .15s ease, opacity .15s ease, box-shadow .15s ease;\n  }\n\n  .rc-ge-btn:hover{\n    transform: translateY(-1px);\n    opacity: .96;\n    box-shadow: 0 12px 24px rgba(0,0,0,.08);\n  }\n\n  .rc-ge-btn-primary{\n    background: linear-gradient(145deg,#4fc8c4 0%,#2ca7b1 58%,#1f7d95 100%);\n    color: #fff !important;\n    border-color: rgba(16,94,105,.18);\n    box-shadow: 0 10px 22px rgba(29,120,133,.18);\n  }\n\n  .rc-ge-btn-secondary{\n    background: linear-gradient(145deg,#ffffff 0%,#f2fcfc 100%);\n    color: #1f2937 !important;\n    border: 1px solid rgba(80,170,180,.18);\n    box-shadow: 0 10px 22px rgba(29,120,133,.08);\n  }\n\n  @media (max-width: 700px){\n    .rc-ge-times-grid{\n      grid-template-columns: 1fr;\n    }\n  }\n\n  @media (max-width: 640px){\n    .rc-ge-product{\n      padding: 20px 16px 20px;\n      border-radius: 22px;\n    }\n\n    .rc-ge-product-buttons{\n      flex-direction: column;\n    }\n\n    .rc-ge-btn{\n      width: 100%;\n      text-align: center;\n      box-sizing: border-box;\n    }\n\n    .rc-ge-times-head{\n      gap: 10px;\n    }\n\n    .rc-ge-times-ship img{\n      width: 46px;\n      max-height: 46px;\n    }\n  }\n\u003c\/style\u003e\n\u003cdiv class=\"rc-ge-product\"\u003e\n\u003cdiv class=\"rc-ge-product-hero\"\u003e\n\u003ch2\u003eการสมัครสมาชิกแบบจ่ายตามการใช้งานรายเดือน\u003c\/h2\u003e\n\u003cp class=\"rc-ge-product-sub\"\u003eวิธีที่ง่ายขึ้นในการรักษาคลาสภาษาอังกฤษรายสัปดาห์ของคุณให้ดำเนินต่อไปในแต่ละเดือนโดยไม่ต้องยุ่งยากกับการจ่ายเงินรายสัปดาห์\u003c\/p\u003e\n\u003cdiv class=\"rc-ge-product-highlight\"\u003eชำระเงินเพียงครั้งเดียวในแต่ละเดือนสำหรับเวลาคลาสรายสัปดาห์ของคุณ ต้องการปรับเวลาปกติของคุณบางครั้ง? แจ้ง Ross ได้เลย\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rc-ge-product-bubbles\"\u003e\n\u003cspan class=\"rc-ge-product-bubble\"\u003eชำระเงินรายเดือน\u003c\/span\u003e \u003cspan class=\"rc-ge-product-bubble\"\u003eเวลาคลาสรายสัปดาห์\u003c\/span\u003e \u003cspan class=\"rc-ge-product-bubble\"\u003eเปลี่ยนแปลงได้อย่างยืดหยุ่น\u003c\/span\u003e \u003cspan class=\"rc-ge-product-bubble\"\u003eครูจริง\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rc-ge-product-copy\"\u003e\n\u003cp\u003eตัวเลือกนี้สำหรับนักเรียนที่ต้องการความเรียบง่ายในการจ่ายเงินครั้งเดียวต่อเดือนแทนการจัดการการชำระเงินรายสัปดาห์ นักเรียนส่วนใหญ่เลือกเวลาคลาสปกติหนึ่งครั้งต่อสัปดาห์และยึดตามนั้น แต่ถ้าคุณต้องการเปลี่ยนเวลารายสัปดาห์เป็นครั้งคราว โดยปกติจะไม่มีปัญหา แจ้ง Ross ได้เลยและเอกสารเวลาของคุณจะได้รับการอัปเดตตามนั้น\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eเหมาะสำหรับ:\u003c\/strong\u003e นักเรียนที่ต้องการการชำระเงินรายเดือนที่ง่ายสำหรับคลาสภาษาอังกฤษรายสัปดาห์ปกติ\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eตารางเวลา:\u003c\/strong\u003e ปกติหนึ่งเวลาคลาสต่อสัปดาห์\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eความยืดหยุ่น:\u003c\/strong\u003e การเปลี่ยนแปลงตารางเวลามักจะโอเคเมื่อจำเป็น — เพียงแค่แจ้งล่วงหน้า\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eนโยบาย:\u003c\/strong\u003e นโยบายการยกเลิก 5+ ชั่วโมงตามปกติยังคงใช้บังคับ\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rc-ge-times-shell\"\u003e\n\u003cdiv class=\"rc-ge-times-head\"\u003e\n\u003ch3\u003eเวลาคลาสที่มีอยู่ในปัจจุบัน\u003c\/h3\u003e\n\u003cdiv class=\"rc-ge-times-ship\" aria-hidden=\"true\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0567\/6148\/3312\/files\/sail-1.gif?v=1692956642\" alt=\"\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"rc-ge-times-topline\"\u003eนี่คือเวลาภาษาอังกฤษทั่วไปในเขตเวลาท้องถิ่นของคุณในปัจจุบัน\u003c\/p\u003e\n\u003cdiv id=\"rc-ge-timezone\" class=\"rc-ge-timezone\"\u003eกำลังตรวจสอบเขตเวลาของคุณ…\u003c\/div\u003e\n\u003cdiv id=\"rc-ge-output\" class=\"rc-ge-times-loading\"\u003eกำลังโหลดเวลาที่มีอยู่…\u003c\/div\u003e\n\u003cp class=\"rc-ge-note\"\u003eนักเรียนส่วนใหญ่เลือกเวลาปกติรายสัปดาห์หนึ่งครั้ง แต่โดยปกติสามารถปรับเปลี่ยนเล็กน้อยได้ แจ้ง Ross ได้เลย\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rc-ge-product-buttons\"\u003e\n\u003ca class=\"rc-ge-btn rc-ge-btn-primary\" href=\"\/th-es\/appointment\"\u003eนัดหมาย\u003c\/a\u003e \u003ca class=\"rc-ge-btn rc-ge-btn-secondary\" href=\"\/th-es\/register\"\u003eลงทะเบียน\u003c\/a\u003e \u003ca class=\"rc-ge-btn rc-ge-btn-secondary\" href=\"\/th-es\/policy\"\u003eนโยบาย\u003c\/a\u003e \u003ca class=\"rc-ge-btn rc-ge-btn-secondary\" href=\"\/th-es\/pages\/time-document\"\u003eเอกสารเวลา\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"rosscline.com","offers":[{"title":"ชื่อเริ่มต้น","offer_id":42906910785584,"sku":null,"price":49.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0567\/6148\/3312\/files\/ross-cline-pay-as-you-go-four-classes-subscription-offer-square_b2e38195-6693-47aa-99e2-df63aa298e77.jpg?v=1778590988"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0567\/6148\/3312\/collections\/english-pay-as-you-go-243791.jpg?v=1691658081","url":"https:\/\/rosscline.com\/th-es\/collections\/%e0%b8%84%e0%b8%a5%e0%b8%b2%e0%b8%aa%e0%b8%aa%e0%b8%b4%e0%b8%81-%e0%b8%88%e0%b9%88%e0%b8%b2%e0%b8%a2%e0%b8%95%e0%b8%b2%e0%b8%a1%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%83%e0%b8%8a%e0%b9%89%e0%b8%87%e0%b8%b2%e0%b8%99.oembed","provider":"rosscline.com","version":"1.0","type":"link"}