PageSourceSearch

https://eiken-academy.com/lecturer-blog/

html eiken-academy.com collected 2026-10-06 13:24:55 UTC 157,655 bytes, 4,243 lines download raw bytes

1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="ja" xml:lang="ja">
3<head>
4<meta name="description" content="英検の合格率は93%!英検の面接・ライティング・リスニング対策等を総合的にサポート!採用率1%のプロの講師陣が丁寧に指導します。完全個別指導のオンラインコースも充実!英検アカデミーでは小学生・中学生・高校生・社会人まで幅広い年齢に受講頂いています。">
5
6  <!-- Google Tag Manager -->
7  
7<script>
vendor: 335 bytes, lines 7-11
7(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
8  new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
9  j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
10  'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
11  })(window,document,'script','dataLayer','
11GTM-TS3SHTNB
vendor: 3 bytes, line 11
11');
11</script>
11
12  <!-- End Google Tag Manager -->
13	<title>講師ブログ|英検対策特化の英語塾-英検アカデミー</title>
14	<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"><!-- 追加 -->
15	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
16	<meta http-equiv="Content-Style-Type" content="text/css" />
17	<meta http-equiv="Content-Script-Type" content="text/javascript" />
18	<meta http-equiv="X-UA-Compatible" content="IE=edge" />
19	<meta name="author" content="eiken academy" />
20	<link rel="stylesheet" type="text/css" href="https://eiken-academy.com/wp-content/themes/eiken/css/yui.css">
21	<link rel="stylesheet" type="text/css" href="https://eiken-academy.com/wp-content/themes/eiken/style.css" />
22	<link rel="stylesheet" type="text/css" href="https://eiken-academy.com/wp-content/themes/eiken/css/school.css" />
23	<link rel="stylesheet" type="text/css" href="https://eiken-academy.com/wp-content/themes/eiken/css/news.css" />
24<!--!追加-->
25	<link rel="stylesheet" type="text/css" href="https://eiken-academy.com/wp-content/themes/eiken/css/nav.css" />
26  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css" />
27	<link rel="alternate" type="application/rss+xml" title="英検対策特化の英語塾-英検アカデミー" href="https://eiken-academy.com/feed/" />
28	
28<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
28
29	
29<script type="text/javascript" src="https://eiken-academy.com/wp-content/themes/eiken/js/origin.js"></script>
vendor: 1 bytes, line 29
29
30<script type='text/javascript' src='https://ajaxzip3.googlecode.com/svn/trunk/ajaxzip3/ajaxzip3-https.js'></script>
vendor: 1 bytes, line 30
30
31<script type="text/javascript">
32jQuery(function(){
33  jQuery('#zip').keyup(function(event){
34    AjaxZip3.zip2addr(this,'','addr','addr');
35  })
36})
37</script>
37
38	<!--[if lt IE 9]>
39	
39<script src="//ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
39
40	<![endif]-->
41
42<meta name="keywords" content="英検,対策,オンライン,英語,プログレス,ニュートレジャー,高校生,中学生,小学生,私立中高一貫校,入試,塾" />
43
44<meta name='robots' content='max-image-preview:large' />
45<script data-api-url="https://eiken-academy.com/wp-json/wordpress-popular-posts" data-debug="0" data-lang="0" data-post="0" data-sampling-rate="100" data-sampling="0" data-token="16652fb6fe" id="wpp-js" src="https://eiken-academy.com/wp-content/plugins/wordpress-popular-posts/assets/js/wpp.min.js?ver=7.4.2"></script>
45
46<link rel="alternate" type="application/rss+xml" title="英検対策特化の英語塾-英検アカデミー &raquo; 講師ブログ フィード" href="https://eiken-academy.com/lecturer-blog/feed/" />
47<style id="wp-img-auto-sizes-contain-inline-css">
48img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
49/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
50</style>
51<style id="wp-block-library-inline-css">
52:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
52--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
53
54/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */
55</style>
56<style id="classic-theme-styles-inline-css">
57/*! This file is auto-generated */
58.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
59/*# sourceURL=/wp-includes/css/classic-themes.min.css */
60</style>
61
62<style id="global-styles-inline-css">
63:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,
630) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
63.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
64/*# sourceURL=global-styles-inline-css */
65</style>
66
67<link rel='stylesheet' id='child-pages-shortcode-css-css' href='https://eiken-academy.com/wp-content/plugins/child-pages-shortcode/css/child-pages-shortcode.min.css?ver=1.1.4' media='all' />
68<link rel='stylesheet' id='wordpress-popular-posts-css-css' href='https://eiken-academy.com/wp-content/plugins/wordpress-popular-posts/assets/css/wpp.css?ver=7.4.2' media='all' />
69<link rel='stylesheet' id='nearby-school-css' href='https://eiken-academy.com/wp-content/themes/eiken/assets/css/nearby-school.css?ver=1.0.0' media='all' />
70<link rel='stylesheet' id='wp-pagenavi-css' href='https://eiken-academy.com/wp-content/plugins/wp-pagenavi/pagenavi-css.css?ver=2.70' media='all' />
71<script id="jquery-core-js" src="https://eiken-academy.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 71
71
72<script id="jquery-migrate-js" src="https://eiken-academy.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
vendor: 1 bytes, line 72
72
73<script id="child-pages-shortcode-js" src="https://eiken-academy.com/wp-content/plugins/child-pages-shortcode/js/child-pages-shortcode.min.js?ver=1.1.4"></script>
73
74<link rel="https://api.w.org/" href="https://eiken-academy.com/wp-json/" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://eiken-academy.com/xmlrpc.php?rsd" />
75<meta name="generator" content="WordPress 7.1.2" />
76            <style id="wpp-loading-animation-styles">@-webkit-keyframes bgslide{from{background-position-x:0}to{background-position-x:-200%}}@keyframes bgslide{from{background-position-x:0}to{background-position-x:-200%}}.wpp-widget-block-placeholder,.wpp-shortcode-placeholder{margin:0 auto;width:60px;height:3px;background:#dd3737;background:linear-gradient(90deg,#dd3737 0%,#571313 10%,#dd3737 100%);background-size:200% auto;border-radius:3px;-webkit-animation:bgslide 1s infinite linear;animation:bgslide 1s infinite linear}</style>
77            <link rel="icon" href="https://eiken-academy.com/wp-content/uploads/2025/08/cropped-favicon-32x32.png" sizes="32x32" />
78<link rel="icon" href="https://eiken-academy.com/wp-content/uploads/2025/08/cropped-favicon-192x192.png" sizes="192x192" />
79<link rel="apple-touch-icon" href="https://eiken-academy.com/wp-content/uploads/2025/08/cropped-favicon-180x180.png" />
80<meta name="msapplication-TileImage" content="https://eiken-academy.com/wp-content/uploads/2025/08/cropped-favicon-270x270.png" />
81<style id="wp-custom-css">
82/* ============================================================
83   英検アカデミー|追加CSS(修正版)
84   2026-08-25 作成
85
86   ■ このファイルについて
87     WordPress管理画面 →「外観」→「カスタマイズ」→「追加CSS」の中身を
88     まるごと置き換えるための全文です。
89     現行の追加CSSを全選択して削除し、このファイルの中身を貼り付けてください。
90     (念のため、貼り替え前に現行の内容をどこかに控えておくと安全です)
91
92   ■ 現行版からの変更点
93
94     1.【不具合】CTAのチェックリスト白背景エリアの幅指定が、スマホ用の
95        @media ブロックの内側に紛れ込み、さらに @media が入れ子になっていた。
96        PCでは無効になっていたため、死んでいた指定を削除。
97        実際に効いている幅指定(PC:92% / スマホ:96%)はファイル後半に一本化。
98
99     2.【不具合】.eiken-writing-cta__lead のスマホ用 font-size:15px が、
100        後に書かれたトップレベル定義(18px)に上書きされて効いていなかった。
101        死んでいた15pxを削除(表示は現行のまま18px)。
102        スマホだけ小さくしたい場合の手順は該当箇所のコメントに記載。
103
104     3.【不具合】CTAボタン内バッジの指定に全角スペースが混入し、
105        margin-top の1行がCSSとして壊れていた。該当行を削除。
106        (この行は後半の !important 指定にも負けるため、直しても効きません)
107
108     4.【不具合】ファイル途中にあった @charset "UTF-8"; を削除。
109        @charset はファイルの先頭にしか書けず、途中のものは無視されます。
110
111     5.【空振り】末尾にあった「行間(余白)調整用CSS」約140行を削除。
112        body.postid-40867 と .entry-content 等を使っていましたが、
113        このテーマは <body> にクラスを出力せず、.entry-content も存在しないため
114        (本文の入れ物は <main class="content">)、どの要素にも一致せず
115        まったく効いていませんでした。削除しても見た目は変わりません。
116        → 行間調整をあらためて入れる場合は、main.content 起点で書き直した
117          「行間調整_追加CSS.css」を、このファイルの末尾に追記してください。
118
119     6.【追加】箇条書きの「・」が二重に表示される不具合の対策を末尾に追加。
120        詳細はファイル末尾のコメントを参照。
121
122     ※ 上記1〜5はいずれも「効いていなかった指定の削除」なので、
123       6を除いて見た目は変わりません。
124
125   ■ 積み残し(今回は手を付けていません)
126     ・ブレークポイントが 600px と 767px で混在しています
127       (tab-box / summary-box / answer-box / CTA / teacher-balloon は600px、
128         eiken-time-table / eiken-ui-* は767px)。
129       運用ルールは767px統一のため、いずれ揃えることを推奨します。
130       ただし600〜767pxの表示が変わるため、今回は現状維持としました。
131     ・同じセレクタが複数回登場する箇所が残っています。後の定義が前を
132       上書きして正しく表示されているため、あえて残しています。
133   ============================================================ */
134
135
136
137.about p {
138    line-height:1.9;
139}
140
141.marker-yellow {
142 background: linear-gradient(transparent 60%, #fff3a6 60%);
143 font-weight: 600;
144}
145
146.tab-box {
147  position: relative;
148  border: 1px solid #cfe3f8;
149  border-radius: 10px;
150  padding: 28px 24px 22px;
151  margin: 36px 0;
152  background: #fff;
153}
154
155.tab-label {
156  position: absolute;
157  top: -16px;
158  left: 0;
159  background: #1f66b3;
160  color: #fff;
161  font-size: 13px;
162  font-weight: 700;
163  padding: 6px 28px;
164  border-radius: 8px 8px 0 0;
165  letter-spacing: 0.08em;
166}
167
168.tab-inner {
169  display: flex;
170  gap: 20px;
171  align-items: center;
172}
173
174.tab-icon {
175  width: 72px;
176  height: 72px;
177  flex-shrink: 0;
178  border-radius: 50%;
179  background: #eef6ff;
180  color: #1f66b3;
181  display: flex;
182  align-items: center;
183  justify-content: center;
184}
185
186.tab-icon::before {
187  content: "";
188  width: 36px;
189  height: 36px;
190  display: block;
191  background-color: currentColor;
192
193  -webkit-mask-repeat: no-repeat;
194  -webkit-mask-position: center;
195  -webkit-mask-size: contain;
196
197  mask-repeat: no-repeat;
198  mask-position: center;
199  mask-size: contain;
200}
201
202/* POINT:電球アイコン */
203.tab-icon-lightbulb::before {
204  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21h6'/%3E%3Cpath d='M10 18h4'/%3E%3Cpath d='M12 3a6 6 0 0 0-3.5 10.9c.9.6 1.5 1.6 1.5 2.6h4c0-1 .6-2 1.5-2.6A6 6 0 0 0 12 3z'/%3E%3C/svg%3E");
205  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21h6'/%3E%3Cpath d='M10 18h4'/%3E%3Cpath d='M12 3a6 6 0 0 0-3.5 10.9c.9.6 1.5 1.6 1.5 2.6h4c0-1 .6-2 1.5-2.6A6 6 0 0 0 12 3z'/%3E%3C/svg%3E");
206}
207
208/* CHECK:リストアイコン */
209.tab-icon-list::before {
210  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6h11'/%3E%3Cpath d='M9 12h11'/%3E%3Cpath d='M9 18h11'/%3E%3Cpath d='M4 6l1 1 2-2'/%3E%3Cpath d='M4 12l1 1 2-2'/%3E%3Cpath d='M4 18l1 1 2-2'/%3E%3C/svg%3E");
211  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6h11'/%3E%3Cpath d='M9 12h11'/%3E%3Cpath d='M9 18h11'/%3E%3Cpath d='M4 6l1 1 2-2'/%3E%3Cpath d='M4 12l1 1 2-2'/%3E%3Cpath d='M4 18l1 1 2-2'/%3E%3C/svg%3E");
212}
213
214/* ADVICE:吹き出しアイコン */
215.tab-icon-comment::before {
216  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H8l-4 4V5z'/%3E%3Cpath d='M8 9h8'/%3E%3Cpath d='M8 13h5'/%3E%3C/svg%3E");
217  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H8l-4 4V5z'/%3E%3Cpath d='M8 9h8'/%3E%3Cpath d='M8 13h5'/%3E%3C/svg%3E");
218}
219
220.tab-title {
221  font-weight: 700;
222  color: #222;
223  font-size: 18px;
224  margin: 0 0 8px;
225}
226
227@media screen and (max-width: 600px) {
228  .tab-title {
229    font-size: 16px;
230  }
231}
232
233.tab-text p {
234  margin: 0;
235  line-height: 1.8;
236}
237
238/* POINT */
239.tab-box-point .tab-label {
240  background: #1f66b3;
241}
242
243.tab-box-point .tab-icon {
244  background: #eef6ff;
245  color: #1f66b3;
246}
247
248/* CHECK */
249.tab-box-check {
250  border-color: #bfe3c9;
251}
252
253.tab-box-check .tab-label {
254  background: #2f8a5b;
255}
256
257.tab-box-check .tab-icon {
258  background: #eefaf3;
259  color: #2f8a5b;
260}
261
262/* ADVICE */
263.tab-box-advice .tab-label {
264  background: #1f66b3;
265}
266
267.tab-box-advice .tab-icon {
268  background: #eef6ff;
269  color: #1f66b3;
270}
271
272/* スマホ対応 */
273@media screen and (max-width: 600px) {
274  .tab-box {
275    padding: 26px 18px 20px;
276  }
277
278  .tab-inner {
279    align-items: flex-start;
280    gap: 14px;
281  }
282
283  .tab-icon {
284    width: 56px;
285    height: 56px;
286  }
287
288  .tab-icon::before {
289    width: 28px;
290    height: 28px;
291  }
292
293  .tab-title {
294    font-size: 15px;
295  }
296
297  .tab-text p {
298    font-size: 14px;
299  }
300}
301
302.caution-box {
303  background: #fff8e6;
304  border: 1px solid #f3d28b;
305  border-radius: 8px;
306  padding: 18px 20px;
307  margin: 28px 0;
308}
309
310.caution-heading {
311  display: flex;
312  align-items: center;
313  gap: 10px;
314  color: #9a6a00;
315  font-weight: 700;
316  font-size: 18px;
317  margin-bottom: 10px;
318}
319
320@media screen and (max-width: 600px) {
321  .caution-heading {
322    font-size: 16px;
323  }
324}
325
326
327/* 三角アイコン本体 */
328.caution-heading::before {
329  content: "!";
330  width: 22px;
331  height: 22px;
332  flex-shrink: 0;
333  background: #f5b82e;
334  color: #fff;
335  font-size: 14px;
336  font-weight: 700;
337  line-height: 22px;
338  text-align: center;
339  clip-path: polygon(50% 0%, 100% 90%, 0% 90%);
340  padding-top: 2px;
341  box-sizing: border-box;
342}
343
344.caution-box p {
345  margin: 0;
346  line-height: 1.8;
347}
348
349.summary-box {
350 display: flex;
351 gap: 24px;
352 align-items: center;
353 background: #f4f9ff;
354 border: 1px solid #d7e8f8;
355 border-radius: 16px;
356 padding: 28px 32px;
357 margin: 32px 0 40px;
358 box-shadow: 0 8px 24px rgba(47, 111, 168, 0.06);
359}
360
361.summary-icon {
362 width: 88px;
363 height: 88px;
364 flex-shrink: 0;
365 border-radius: 50%;
366 background: #e7f2ff;
367 color: #2f6fa8;
368 display: flex;
369 align-items: center;
370 justify-content: center;
371 font-size: 40px;
372}
373
374.summary-title {
375 color: #1f5f9f;
376 font-size: 24px;
377 font-weight: 700;
378 margin: 0 0 18px;
379}
380
381.summary-list {
382 display: grid;
383 grid-template-columns: repeat(2, 1fr);
384 gap: 14px 32px;
385}
386
387.summary-item {
388 position: relative;
389 padding-left: 34px;
390 font-size: 16px;
391 line-height: 1.7;
392 color: #333;
393}
394
395.summary-item::before {
396 content: "✓";
397 position: absolute;
398 left: 0;
399 top: 0.1em;
400 width: 22px;
401 height: 22px;
402 border-radius: 50%;
403 background: #1f66b3;
404 color: #fff;
405 font-size: 14px;
406 line-height: 22px;
407 text-align: center;
408 font-weight: 700;
409}
410
411@media screen and (max-width: 600px) {
412 .summary-box {
413   flex-direction: column;
414   align-items: flex-start;
415   padding: 24px 20px;
416 }
417
418 .summary-icon {
419   width: 64px;
420   height: 64px;
421   font-size: 30px;
422 }
423
424 .summary-title {
425   font-size: 21px;
426 }
427
428 .summary-list {
429   grid-template-columns: 1fr;
430   gap: 12px;
431 }
432}
433
434/* チェックリスト */
435.check-list {
436  list-style: none;
437  padding: 0;
438  margin: 12px 0 0;
439}
440
441.check-list li {
442  position: relative;
443  padding-left: 24px;
444  margin-bottom: 8px;
445  line-height: 1.8;
446}
447
448.check-list li:last-child {
449  margin-bottom: 0;
450}
451
452.check-list li::before {
453  content: "✓";
454  position: absolute;
455  left: 0;
456  top: 0;
457  color: #f5b82e;
458  background: none;
459  font-size: 16px;
460  font-weight: 700;
461  line-height: 1.8;
462}
463
464.answer-box {
465  position: relative;
466  border: 2px solid #2d63b3;
467  border-radius: 16px;
468  padding: 22px 20px 18px;
469  margin: 24px 0;
470  background: #fff;
471}
472
473.answer-box-label {
474  display: inline-block;
475  margin-bottom: 14px;
476  padding: 6px 14px;
477  border-radius: 10px 10px 10px 2px;
478  font-size: 14px;
479  font-weight: 700;
480  line-height: 1.4;
481  color: #fff;
482}
483
484.answer-box-english {
485  margin: 0 0 10px;
486  font-size: 20px;
487  font-weight: 700;
488  line-height: 1.5;
489  color: #1f2d3d;
490}
491
492.answer-box-comment {
493  margin: 0;
494  font-size: 14px;
495  font-weight: 500;
496  line-height: 1.6;
497}
498
499/* Bad */
500.answer-box-bad {
501  border-color: #d48b3a;
502  background: #fffaf4;
503}
504
505.answer-box-bad .answer-box-label {
506  background: #d48b3a;
507}
508
509.answer-box-bad .answer-box-comment {
510  color: #333;
511}
512
513/* Good */
514.answer-box-good {
515  border-color: #2d63b3;
516  background: #fff;
517}
518
519.answer-box-good .answer-box-label {
520  background: #2d63b3;
521}
522
523.answer-box-good .answer-box-comment {
524  color: #333;
525}
526
527/* スマホ対応 */
528@media screen and (max-width: 600px) {
529  .answer-box {
530    padding: 18px 16px 16px;
531    border-radius: 14px;
532  }
533
534  .answer-box-label {
535    font-size: 13px;
536    padding: 5px 12px;
537    margin-bottom: 12px;
538  }
539
540  .answer-box-english {
541    font-size: 17px;
542    line-height: 1.6;
543  }
544
545  .answer-box-comment {
546    font-size: 15px;
547    line-height: 1.6;
548  }
549}
550
551.eiken-writing-cta {
552  max-width: 760px;
553  margin: 40px auto;
554  padding: 18px;
555  background: #0e4389;
556  border-radius: 18px;
557  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.22);
558  font-family: inherit;
559}
560
561.eiken-writing-cta__inner {
562  overflow: hidden;
563}
564
565.eiken-writing-cta__title {
566  margin: 0 0 18px;
567  color: #fff;
568  font-size: 28px;
569  font-weight: 700;
570  line-height: 1.45;
571  text-align: center;
572  letter-spacing: 0.03em;
573}
574
575.eiken-writing-cta__check-box {
576  margin: 0 auto 20px;
577  padding: 16px 20px;
578  background: #fff;
579  border-radius: 10px;
580}
581
582.eiken-writing-cta__check-list {
583  margin: 0;
584  padding: 0;
585  list-style: none;
586}
587
588.eiken-writing-cta__check-list li {
589  position: relative;
590  margin: 0;
591  padding: 10px 0 10px 42px;
592  color: #111;
593  font-size: 21px;
594  font-weight: 700;
595  line-height: 1.45;
596  border-bottom: 1px dashed #b8b8b8;
597}
598
599.eiken-writing-cta__check-list li:last-child {
600  border-bottom: none;
601}
602
603.eiken-writing-cta__check-list li::before {
604  content: "";
605  position: absolute;
606  left: 0;
607  top: 50%;
608  width: 24px;
609  height: 24px;
610  background: #fff;
611  border: 2px solid #777;
612  transform: translateY(-50%);
613}
614
615.eiken-writing-cta__check-list li::after {
616  content: "";
617  position: absolute;
618  left: 6px;
619  top: 50%;
620  width: 20px;
621  height: 10px;
622  border-left: 4px solid #d71920;
623  border-bottom: 4px solid #d71920;
624  transform: translateY(-70%) rotate(-45deg);
625}
626
627.eiken-writing-cta__lead {
628  margin: 0 0 18px;
629  color: #fff;
630  font-size: 18px;
631  font-weight: 700;
632  line-height: 1.6;
633  text-align: center;
634}
635
636.eiken-writing-cta__banner {
637  margin: 0 -18px;
638  background: #fff;
639}
640
641.eiken-writing-cta__banner img {
642  display: block;
643  width: 100%;
644  height: auto;
645}
646
647.eiken-writing-cta__copy-box {
648  margin: 18px 0 20px;
649  padding: 14px 18px;
650  background: linear-gradient(180deg, #fffde8 0%, #d7ce8f 100%);
651  border: 2px solid #cfc37d;
652  border-radius: 12px;
653  text-align: center;
654  box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.7);
655}
656
657.eiken-writing-cta__copy-sub {
658  margin: 0 0 4px;
659  color: #111;
660  font-size: 21px;
661  font-weight: 700;
662  line-height: 1.4;
663}
664
665.eiken-writing-cta__copy-main {
666  margin: 0;
667  color: #111;
668  font-size: 30px;
669  font-weight: 800;
670  line-height: 1.35;
671  text-shadow: 1px 1px 0 #fff;
672}
673
674.eiken-writing-cta__button {
675  display: flex;
676  align-items: center;
677  justify-content: center;
678  gap: 14px;
679  width: min(560px, 100%);
680  margin: 0 auto 4px;
681  padding: 12px 20px 12px 14px;
682  background: #e60012;
683  color: #fff;
684  border-radius: 18px;
685  text-decoration: none;
686  box-shadow: 0 5px 0 #9f0010;
687  transition: transform 0.2s ease, box-shadow 0.2s ease;
688}
689
690.eiken-writing-cta__button:hover {
691  transform: translateY(2px);
692  box-shadow: 0 3px 0 #9f0010;
693  opacity: 0.95;
694}
695
696.eiken-writing-cta__button-badge {
697  display: grid;
698  place-items: center;
699  flex: 0 0 74px;
700  width: 74px;
701  height: 74px;
702  background: #fff200;
703  color: #e60012;
704  border-radius: 50%;
705  font-size: 18px;
706  font-weight: 800;
707  line-height: 1.15;
708  text-align: center;
709}
710
711.eiken-writing-cta__button-badge strong {
712  font-size: 25px;
713}
714
715.eiken-writing-cta__button-text {
716  display: block;
717  color: #fff;
718  font-size: 28px;
719  font-weight: 800;
720  line-height: 1.25;
721  text-align: center;
722}
723
724.eiken-writing-cta__button-text small {
725  display: block;
726  margin-bottom: 2px;
727  font-size: 16px;
728  font-weight: 700;
729}
730
731.eiken-writing-cta__button-icon {
732  display: grid;
733  place-items: center;
734  flex: 0 0 54px;
735  width: 54px;
736  height: 54px;
737  background: #fff;
738  color: #e60012;
739  border-radius: 50%;
740  font-size: 24px;
741  font-weight: 700;
742}
743
744.sp-only {
745  display: none;
746}
747
748@media screen and (max-width: 600px) {
749  .eiken-writing-cta {
750    margin: 28px auto;
751    padding: 12px;
752    border-radius: 14px;
753  }
754
755  .eiken-writing-cta__title {
756    font-size: 21px;
757  }
758
759  /* [2026-08-25 整理] ここには check-box の幅指定(width:99%/max-width:620px)と、
760     さらにその中に @media が入れ子で書かれていました。全体がこのスマホ用ブロックの
761     内側にあったためPCでは無効で、有効な幅指定はファイル後半にまとめてあります。 */
762
763  .eiken-writing-cta__check-list li {
764    padding: 8px 0 8px 34px;
765    font-size: 16px;
766  }
767
768  .eiken-writing-cta__check-list li::before {
769    width: 21px;
770    height: 21px;
771  }
772
773  .eiken-writing-cta__check-list li::after {
774    left: 5px;
775    width: 18px;
776    height: 9px;
777  }
778
779  /* [2026-08-25 整理] .eiken-writing-cta__lead の font-size:15px を削除。
780     ファイル後半のトップレベル定義(font-size:18px)が後に書かれているため、
781     この15pxは上書きされて効いていませんでした(スマホでも18pxで表示)。
782     スマホだけ小さくしたい場合は、後半の定義のあとに @media を足してください。 */
783
784  .eiken-writing-cta__banner {
785    margin: 0 -12px;
786  }
787
788  .eiken-writing-cta__copy-box {
789    margin: 14px 0 16px;
790    padding: 12px 10px;
791  }
792
793  /* [2026-08-25 整理] .eiken-writing-cta__copy-sub(16px)と __copy-main(22px)を削除。
794     どちらもファイル末尾の @media 内 !important 指定に負けて効いていませんでした。
795     実際に効いているのは copy-sub:15px / copy-main:clamp(18px,5.2vw,22px) です。 */
796
797  .eiken-writing-cta__button {
798    gap: 8px;
799    padding: 10px 12px 10px 10px;
800    border-radius: 14px;
801  }
802
803  .eiken-writing-cta__button-badge {
804    flex-basis: 60px;
805    width: 60px;
806    height: 60px;
807    font-size: 15px;
808    /* [2026-08-25 整理] line-height:0.95 を削除。後半の line-height:1 !important に負けて無効でした。 */
809  }
810
811  .eiken-writing-cta__button-badge strong {
812    font-size: 20px;
813    /* [2026-08-25 整理] display:block(後半と重複)と margin-top:-4px を削除。
814       margin-top の行には全角スペースが混入してCSSとして壊れており、かつ後半の
815       margin-top:-1px !important に負けるため、直しても効きません。
816       -4px にしたい場合は、後半の .eiken-writing-cta__button-badge strong の値を変えてください。 */
817  }
818
819  .eiken-writing-cta__button-text {
820    font-size: 21px;
821  }
822
823  .eiken-writing-cta__button-text small {
824    font-size: 13px;
825  }
826
827  .eiken-writing-cta__button-icon {
828    flex-basis: 42px;
829    width: 42px;
830    height: 42px;
831    font-size: 18px;
832  }
833
834  .sp-only {
835    display: block;
836  }
837}
838
839.eiken-writing-cta__check-list,
840.eiken-writing-cta__check-list li {
841  list-style: none !important;
842}
843
844.eiken-writing-cta__check-list li::marker {
845  content: "" !important;
846  font-size: 0 !important;
847}
848
849.eiken-writing-cta__lead {
850  margin: 0 0 18px;
851  color: #fff3b0;
852  font-size: 18px;
853  font-weight: 700;
854  line-height: 1.6;
855  text-align: center;
856  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
857}
858
859.eiken-writing-cta__copy-sub,
860.eiken-writing-cta__copy-main {
861  color: #111;
862  font-weight: 800;
863  text-align: center;
864
865  /* 白フチを細く見せる */
866  -webkit-text-stroke: 0;
867  text-shadow:
868    1px 1px 0 #fff,
869    -1px 1px 0 #fff,
870    1px -1px 0 #fff,
871    -1px -1px 0 #fff,
872    0 1px 0 #fff,
873    1px 0 0 #fff,
874    0 -1px 0 #fff,
875    -1px 0 0 #fff;
876}
877
878.eiken-writing-cta__copy-sub {
879  margin: 0 0 4px;
880  font-size: 22px;
881  font-weight: 900;
882  line-height: 1.4;
883  letter-spacing: 0.03em;
884  color: #111;
885  text-shadow:
886    1.3px 1.3px 0 #fff,
887    -1.3px 1.3px 0 #fff,
888    1.3px -1.3px 0 #fff,
889    -1.3px -1.3px 0 #fff,
890    0 1.3px 0 #fff,
891    1.3px 0 0 #fff,
892    0 -1.3px 0 #fff,
893    -1.3px 0 0 #fff;
894}
895
896.eiken-writing-cta__copy-main {
897  text-shadow:
898    1.5px 1.5px 0 #fff,
899    -1.5px 1.5px 0 #fff,
900    1.5px -1.5px 0 #fff,
901    -1.5px -1.5px 0 #fff,
902    0 1.5px 0 #fff,
903    1.5px 0 0 #fff,
904    0 -1.5px 0 #fff,
905    -1.5px 0 0 #fff;
906}
907
908.eiken-writing-cta__button-badge {
909  display: flex !important;
910  flex-direction: column !important;
911  align-items: center !important;
912  justify-content: center !important;
913  gap: 0 !important;
914  line-height: 1 !important;
915}
916
917.eiken-writing-cta__button-badge br {
918  display: none !important;
919}
920
921.eiken-writing-cta__button-badge strong {
922  display: block !important;
923  margin-top: -1px !important;
924  line-height: 0.95 !important;
925}
926
927/* CTA:チェックリスト白背景エリアの幅調整 */
928.eiken-writing-cta .eiken-writing-cta__check-box {
929  width: 92% !important;
930  max-width: 650px !important;
931  margin: 0 auto 20px !important;
932  padding: 12px 18px !important;
933  box-sizing: border-box !important;
934}
935
936/* スマホでは狭くしすぎない */
937@media screen and (max-width: 600px) {
938  .eiken-writing-cta .eiken-writing-cta__check-box {
939    width: 96% !important;
940    max-width: none !important;
941    padding: 10px 12px !important;
942  }
943}
944
945@media screen and (max-width: 600px) {
946  .eiken-writing-cta .eiken-writing-cta__copy-sub {
947    font-size: 15px !important;
948    line-height: 1.35 !important;
949    letter-spacing: 0 !important;
950    white-space: nowrap !important;
951    text-shadow:
952      1px 1px 0 #fff,
953      -1px 1px 0 #fff,
954      1px -1px 0 #fff,
955      -1px -1px 0 #fff,
956      0 1px 0 #fff,
957      1px 0 0 #fff,
958      0 -1px 0 #fff,
959      -1px 0 0 #fff;
960  }
961}
962
963@media screen and (max-width: 600px) {
964  .eiken-writing-cta .eiken-writing-cta__copy-main {
965    font-size: clamp(18px, 5.2vw, 22px) !important;
966    line-height: 1.25 !important;
967    letter-spacing: -0.03em !important;
968    white-space: nowrap !important;
969    text-shadow:
970      1px 1px 0 #fff,
971      -1px 1px 0 #fff,
972      1px -1px 0 #fff,
973      -1px -1px 0 #fff,
974      0 1px 0 #fff,
975      1px 0 0 #fff,
976      0 -1px 0 #fff,
977      -1px 0 0 #fff;
978  }
979}
980
981.eiken-teacher-balloon {
982  display: flex;
983  align-items: flex-start;
984  gap: 16px;
985  margin: 28px 0;
986}
987
988.eiken-teacher-balloon__person {
989  flex: 0 0 84px;
990  text-align: center;
991}
992
993.eiken-teacher-balloon__person img {
994  display: block;
995  width: 76px;
996  height: 76px;
997  margin: 0 auto 6px;
998  object-fit: cover;
999  border-radius: 50%;
1000}
1001
1002.eiken-teacher-balloon__person span {
1003  display: block;
1004  font-size: 12px;
1005  line-height: 1.5;
1006  color: #444;
1007}
1008
1009.eiken-teacher-balloon__body {
1010  position: relative;
1011  flex: 1;
1012  padding: 20px 22px;
1013  border: 2px solid #1757a6;
1014  border-radius: 14px;
1015  background: #f4f8ff;
1016}
1017
1018.eiken-teacher-balloon__body::before {
1019  position: absolute;
1020  top: 28px;
1021  left: -13px;
1022  width: 22px;
1023  height: 22px;
1024  content: "";
1025  background: #f4f8ff;
1026  border-bottom: 2px solid #1757a6;
1027  border-left: 2px solid #1757a6;
1028  transform: rotate(45deg);
1029}
1030
1031.eiken-teacher-balloon__body p {
1032  margin: 0;
1033  font-size: 16px;
1034  line-height: 1.9;
1035}
1036
1037.eiken-teacher-balloon__body strong {
1038  color: #0d4389;
1039  font-weight: 700;
1040}
1041
1042@media screen and (max-width: 600px) {
1043  .eiken-teacher-balloon {
1044    gap: 10px;
1045  }
1046
1047  .eiken-teacher-balloon__person {
1048    flex-basis: 58px;
1049  }
1050
1051  .eiken-teacher-balloon__person img {
1052    width: 54px;
1053    height: 54px;
1054  }
1055
1056  .eiken-teacher-balloon__person span {
1057    font-size: 10px;
1058  }
1059
1060  .eiken-teacher-balloon__body {
1061    padding: 16px;
1062  }
1063
1064  .eiken-teacher-balloon__body::before {
1065    top: 20px;
1066  }
1067
1068  .eiken-teacher-balloon__body p {
1069    font-size: 15px;
1070    line-height: 1.8;
1071  }
1072}
1073
1074.eiken-time-table {
1075  display: grid;
1076  grid-template-columns: 1fr 1fr 1.35fr;
1077  gap: 18px;
1078  margin: 28px 0 18px;
1079}
1080
1081.eiken-time-table__card {
1082  overflow: hidden;
1083  border: 2px solid #1765c1;
1084  border-radius: 14px;
1085  background: #fff;
1086  box-shadow: 0 5px 14px rgba(15, 67, 137, 0.1);
1087}
1088
1089.eiken-time-table__head {
1090  display: flex;
1091  align-items: center;
1092  justify-content: center;
1093  gap: 10px;
1094  padding: 14px 12px;
1095  background: linear-gradient(135deg, #0e4389, #1873d1);
1096  color: #fff;
1097  font-size: 20px;
1098  font-weight: 700;
1099}
1100
1101.eiken-time-table__number {
1102  display: inline-flex;
1103  align-items: center;
1104  justify-content: center;
1105  width: 34px;
1106  height: 34px;
1107  border-radius: 50%;
1108  background: #fff;
1109  color: #0e4389;
1110  font-size: 20px;
1111  font-weight: 700;
1112}
1113
1114.eiken-time-table__body {
1115  display: flex;
1116  min-height: 155px;
1117  flex-direction: column;
1118  justify-content: center;
1119  padding: 22px 16px;
1120  text-align: center;
1121}
1122
1123.eiken-time-table__catch {
1124  margin: 0 0 16px;
1125  color: #333;
1126  font-size: 16px;
1127  font-weight: 600;
1128  line-height: 1.7;
1129}
1130
1131.eiken-time-table__time {
1132  margin: 0;
1133  padding: 10px 8px;
1134  border-radius: 9px;
1135  background: #edf5ff;
1136  color: #0e4389;
1137  font-size: 25px;
1138  font-weight: 700;
1139}
1140
1141.eiken-time-table__remaining {
1142  display: grid;
1143  grid-template-columns: 1fr 1fr;
1144  gap: 12px;
1145}
1146
1147.eiken-time-table__remaining div {
1148  padding: 15px 8px;
1149  border-radius: 10px;
1150  background: #f2f7fd;
1151}
1152
1153.eiken-time-table__remaining strong,
1154.eiken-time-table__remaining span {
1155  display: block;
1156}
1157
1158.eiken-time-table__remaining strong {
1159  margin-bottom: 7px;
1160  color: #0e4389;
1161  font-size: 17px;
1162}
1163
1164.eiken-time-table__remaining span {
1165  color: #444;
1166  font-size: 14px;
1167  line-height: 1.6;
1168}
1169
1170.eiken-time-table__total {
1171  display: flex;
1172  align-items: center;
1173  justify-content: center;
1174  gap: 14px;
1175  margin-bottom: 32px;
1176  padding: 15px 20px;
1177  border-radius: 12px;
1178  background: linear-gradient(90deg, #edf5ff, #f8fbff);
1179  color: #0e4389;
1180  font-size: 17px;
1181  font-weight: 600;
1182  text-align: center;
1183}
1184
1185.eiken-time-table__total strong {
1186  font-size: 27px;
1187  white-space: nowrap;
1188}
1189
1190@media screen and (max-width: 767px) {
1191  .eiken-time-table {
1192    grid-template-columns: 1fr;
1193    gap: 16px;
1194  }
1195
1196  .eiken-time-table__head {
1197    font-size: 19px;
1198  }
1199
1200  .eiken-time-table__body {
1201    min-height: 0;
1202    padding: 18px 15px;
1203  }
1204
1205  .eiken-time-table__catch {
1206    margin-bottom: 12px;
1207  }
1208
1209  .eiken-time-table__time {
1210    font-size: 23px;
1211  }
1212
1213  .eiken-time-table__total {
1214    flex-direction: column;
1215    gap: 3px;
1216    padding: 14px;
1217  }
1218
1219  .eiken-time-table__total strong {
1220    font-size: 25px;
1221  }
1222}
1223
1224/* ========================================
1225   記事用リッチHTMLパーツ
1226======================================== */
1227
1228:root {
1229  --eiken-ui-primary: #0e4389;
1230  --eiken-ui-primary-light: #176bc1;
1231  --eiken-ui-accent: #e86f20;
1232  --eiken-ui-text: #303744;
1233  --eiken-ui-muted: #667085;
1234  --eiken-ui-bg: #f3f8ff;
1235  --eiken-ui-bg-orange: #fff6ed;
1236  --eiken-ui-border: #c8d9ed;
1237  --eiken-ui-radius: 14px;
1238  --eiken-ui-shadow: 0 5px 16px rgba(14, 67, 137, 0.09);
1239}
1240
1241[class^="eiken-ui-"],
1242[class*=" eiken-ui-"] {
1243  box-sizing: border-box;
1244}
1245
1246.eiken-ui-compare,
1247.eiken-ui-steps,
1248.eiken-ui-points,
1249.eiken-ui-balloon,
1250.eiken-ui-checklist,
1251.eiken-ui-tablecards {
1252  margin: 28px 0 40px;
1253  color: var(--eiken-ui-text);
1254  font-family: inherit;
1255}
1256
1257/* ========================================
1258   1. 比較カード
1259======================================== */
1260
1261.eiken-ui-compare {
1262  display: grid;
1263  grid-template-columns: repeat(2, minmax(0, 1fr));
1264  gap: 18px;
1265}
1266
1267.eiken-ui-compare__card {
1268  overflow: hidden;
1269  border: 2px solid var(--eiken-ui-border);
1270  border-radius: var(--eiken-ui-radius);
1271  background: #fff;
1272  box-shadow: var(--eiken-ui-shadow);
1273}
1274
1275.eiken-ui-compare__head {
1276  padding: 15px 18px;
1277  background: linear-gradient(
1278    135deg,
1279    var(--eiken-ui-primary),
1280    var(--eiken-ui-primary-light)
1281  );
1282  color: #fff;
1283  font-size: 20px;
1284  font-weight: 700;
1285  line-height: 1.5;
1286  text-align: center;
1287}
1288
1289.eiken-ui-compare__card--accent .eiken-ui-compare__head {
1290  background: linear-gradient(135deg, #c94e12, var(--eiken-ui-accent));
1291}
1292
1293.eiken-ui-compare__body {
1294  padding: 22px 20px;
1295}
1296
1297.eiken-ui-compare__catch {
1298  margin: 0 0 12px;
1299  color: var(--eiken-ui-primary);
1300  font-size: 18px;
1301  font-weight: 700;
1302  line-height: 1.6;
1303  text-align: center;
1304}
1305
1306.eiken-ui-compare__card--accent .eiken-ui-compare__catch {
1307  color: #b74711;
1308}
1309
1310.eiken-ui-compare__text {
1311  margin: 0;
1312  font-size: 16px;
1313  line-height: 1.9;
1314}
1315
1316/* ========================================
1317   2. ステップカード
1318======================================== */
1319
1320.eiken-ui-steps {
1321  display: grid;
1322  grid-template-columns: repeat(3, minmax(0, 1fr));
1323  gap: 34px;
1324  counter-reset: eiken-step;
1325}
1326
1327.eiken-ui-steps__item {
1328  position: relative;
1329  padding: 28px 20px 22px;
1330  border: 2px solid var(--eiken-ui-border);
1331  border-radius: var(--eiken-ui-radius);
1332  background: #fff;
1333  box-shadow: var(--eiken-ui-shadow);
1334  text-align: center;
1335}
1336
1337.eiken-ui-steps__item:not(:last-child)::after {
1338  position: absolute;
1339  top: 50%;
1340  right: -27px;
1341  content: "▶";
1342  color: var(--eiken-ui-primary-light);
1343  font-size: 22px;
1344  transform: translateY(-50%);
1345}
1346
1347.eiken-ui-steps__number {
1348  display: inline-flex;
1349  align-items: center;
1350  justify-content: center;
1351  min-width: 78px;
1352  min-height: 34px;
1353  margin-bottom: 15px;
1354  padding: 5px 13px;
1355  border-radius: 999px;
1356  background: var(--eiken-ui-primary);
1357  color: #fff;
1358  font-size: 14px;
1359  font-weight: 700;
1360  letter-spacing: 0.04em;
1361}
1362
1363.eiken-ui-steps__title {
1364  margin: 0 0 10px;
1365  color: var(--eiken-ui-primary);
1366  font-size: 19px;
1367  font-weight: 700;
1368  line-height: 1.6;
1369}
1370
1371.eiken-ui-steps__text {
1372  margin: 0;
1373  font-size: 15px;
1374  line-height: 1.8;
1375}
1376
1377/* ========================================
1378   3. 番号付きポイントカード
1379======================================== */
1380
1381.eiken-ui-points {
1382  display: grid;
1383  grid-template-columns: repeat(3, minmax(0, 1fr));
1384  gap: 18px;
1385}
1386
1387.eiken-ui-points__item {
1388  position: relative;
1389  padding: 30px 20px 22px;
1390  border: 2px solid var(--eiken-ui-border);
1391  border-radius: var(--eiken-ui-radius);
1392  background: #fff;
1393  box-shadow: var(--eiken-ui-shadow);
1394}
1395
1396.eiken-ui-points__number {
1397  position: absolute;
1398  top: -17px;
1399  left: 18px;
1400  display: inline-flex;
1401  align-items: center;
1402  justify-content: center;
1403  width: 42px;
1404  height: 42px;
1405  border: 4px solid #fff;
1406  border-radius: 50%;
1407  background: var(--eiken-ui-primary);
1408  color: #fff;
1409  font-size: 19px;
1410  font-weight: 700;
1411  box-shadow: 0 3px 9px rgba(14, 67, 137, 0.2);
1412}
1413
1414.eiken-ui-points__title {
1415  margin: 0 0 10px;
1416  color: var(--eiken-ui-primary);
1417  font-size: 18px;
1418  font-weight: 700;
1419  line-height: 1.6;
1420}
1421
1422.eiken-ui-points__text {
1423  margin: 0;
1424  font-size: 15px;
1425  line-height: 1.85;
1426}
1427
1428/* ========================================
1429   4. 講師吹き出し
1430======================================== */
1431
1432.eiken-ui-balloon {
1433  display: flex;
1434  align-items: flex-start;
1435  gap: 16px;
1436}
1437
1438.eiken-ui-balloon__person {
1439  flex: 0 0 82px;
1440  text-align: center;
1441}
1442
1443.eiken-ui-balloon__person img {
1444  display: block;
1445  width: 76px;
1446  height: 76px;
1447  margin: 0 auto 6px;
1448  border-radius: 50%;
1449  object-fit: cover;
1450}
1451
1452.eiken-ui-balloon__name {
1453  display: block;
1454  color: var(--eiken-ui-muted);
1455  font-size: 12px;
1456  line-height: 1.5;
1457}
1458
1459.eiken-ui-balloon__body {
1460  position: relative;
1461  flex: 1;
1462  padding: 20px 22px;
1463  border: 2px solid var(--eiken-ui-primary-light);
1464  border-radius: var(--eiken-ui-radius);
1465  background: var(--eiken-ui-bg);
1466}
1467
1468.eiken-ui-balloon__body::before {
1469  position: absolute;
1470  top: 27px;
1471  left: -12px;
1472  width: 20px;
1473  height: 20px;
1474  content: "";
1475  border-bottom: 2px solid var(--eiken-ui-primary-light);
1476  border-left: 2px solid var(--eiken-ui-primary-light);
1477  background: var(--eiken-ui-bg);
1478  transform: rotate(45deg);
1479}
1480
1481.eiken-ui-balloon__title {
1482  margin: 0 0 7px;
1483  color: var(--eiken-ui-primary);
1484  font-size: 17px;
1485  font-weight: 700;
1486}
1487
1488.eiken-ui-balloon__text {
1489  margin: 0;
1490  font-size: 16px;
1491  line-height: 1.9;
1492}
1493
1494.eiken-ui-balloon__text strong {
1495  color: var(--eiken-ui-primary);
1496}
1497
1498/* ========================================
1499   5. チェックリスト
1500======================================== */
1501
1502.eiken-ui-checklist {
1503  overflow: hidden;
1504  border: 2px solid var(--eiken-ui-border);
1505  border-radius: var(--eiken-ui-radius);
1506  background: #fff;
1507  box-shadow: var(--eiken-ui-shadow);
1508}
1509
1510.eiken-ui-checklist__head {
1511  display: flex;
1512  align-items: center;
1513  gap: 10px;
1514  padding: 15px 20px;
1515  background: var(--eiken-ui-primary);
1516  color: #fff;
1517  font-size: 19px;
1518  font-weight: 700;
1519}
1520
1521.eiken-ui-checklist__icon {
1522  display: inline-flex;
1523  align-items: center;
1524  justify-content: center;
1525  width: 29px;
1526  height: 29px;
1527  border-radius: 50%;
1528  background: #fff;
1529  color: var(--eiken-ui-primary);
1530  font-size: 17px;
1531  font-weight: 700;
1532}
1533
1534.eiken-ui-checklist__list {
1535  margin: 0;
1536  padding: 20px 22px 20px 56px;
1537  list-style: none;
1538}
1539
1540.eiken-ui-checklist__list li {
1541  position: relative;
1542  margin: 0;
1543  padding: 10px 0;
1544  font-size: 16px;
1545  line-height: 1.75;
1546}
1547
1548.eiken-ui-checklist__list li + li {
1549  border-top: 1px dashed var(--eiken-ui-border);
1550}
1551
1552.eiken-ui-checklist__list li::before {
1553  position: absolute;
1554  top: 10px;
1555  left: -33px;
1556  display: inline-flex;
1557  align-items: center;
1558  justify-content: center;
1559  width: 23px;
1560  height: 23px;
1561  content: "✓";
1562  border-radius: 50%;
1563  background: var(--eiken-ui-primary-light);
1564  color: #fff;
1565  font-size: 13px;
1566  font-weight: 700;
1567}
1568
1569.eiken-ui-checklist--warning {
1570  border-color: #f1c09e;
1571}
1572
1573.eiken-ui-checklist--warning .eiken-ui-checklist__head {
1574  background: var(--eiken-ui-accent);
1575}
1576
1577.eiken-ui-checklist--warning .eiken-ui-checklist__icon {
1578  color: var(--eiken-ui-accent);
1579}
1580
1581.eiken-ui-checklist--warning .eiken-ui-checklist__list li::before {
1582  content: "!";
1583  background: var(--eiken-ui-accent);
1584}
1585
1586/* ========================================
1587   6. カード表
1588======================================== */
1589
1590.eiken-ui-tablecards {
1591  display: grid;
1592  grid-template-columns: repeat(3, minmax(0, 1fr));
1593  gap: 18px;
1594}
1595
1596.eiken-ui-tablecards__card {
1597  overflow: hidden;
1598  border: 2px solid var(--eiken-ui-border);
1599  border-radius: var(--eiken-ui-radius);
1600  background: #fff;
1601  box-shadow: var(--eiken-ui-shadow);
1602}
1603
1604.eiken-ui-tablecards__head {
1605  display: flex;
1606  align-items: center;
1607  justify-content: center;
1608  gap: 9px;
1609  min-height: 60px;
1610  padding: 12px 14px;
1611  background: linear-gradient(
1612    135deg,
1613    var(--eiken-ui-primary),
1614    var(--eiken-ui-primary-light)
1615  );
1616  color: #fff;
1617  font-size: 19px;
1618  font-weight: 700;
1619  text-align: center;
1620}
1621
1622.eiken-ui-tablecards__number {
1623  display: inline-flex;
1624  align-items: center;
1625  justify-content: center;
1626  width: 33px;
1627  height: 33px;
1628  flex: 0 0 33px;
1629  border-radius: 50%;
1630  background: #fff;
1631  color: var(--eiken-ui-primary);
1632  font-size: 18px;
1633  font-weight: 700;
1634}
1635
1636.eiken-ui-tablecards__body {
1637  display: flex;
1638  min-height: 155px;
1639  flex-direction: column;
1640  justify-content: center;
1641  padding: 20px 16px;
1642  text-align: center;
1643}
1644
1645.eiken-ui-tablecards__description {
1646  margin: 0 0 14px;
1647  font-size: 15px;
1648  font-weight: 600;
1649  line-height: 1.7;
1650}
1651
1652.eiken-ui-tablecards__value {
1653  margin: 0;
1654  padding: 10px;
1655  border-radius: 9px;
1656  background: var(--eiken-ui-bg);
1657  color: var(--eiken-ui-primary);
1658  font-size: 23px;
1659  font-weight: 700;
1660  line-height: 1.5;
1661}
1662
1663.eiken-ui-tablecards__footer {
1664  grid-column: 1 / -1;
1665  display: flex;
1666  align-items: center;
1667  justify-content: center;
1668  gap: 13px;
1669  margin-top: 2px;
1670  padding: 14px 18px;
1671  border-radius: 12px;
1672  background: linear-gradient(90deg, #eaf3ff, #f8fbff);
1673  color: var(--eiken-ui-primary);
1674  font-size: 16px;
1675  font-weight: 600;
1676  text-align: center;
1677}
1678
1679.eiken-ui-tablecards__footer strong {
1680  font-size: 25px;
1681  white-space: nowrap;
1682}
1683
1684/* ========================================
1685   スマホ対応
1686======================================== */
1687
1688@media screen and (max-width: 767px) {
1689  .eiken-ui-compare,
1690  .eiken-ui-steps,
1691  .eiken-ui-points,
1692  .eiken-ui-tablecards {
1693    grid-template-columns: 1fr;
1694  }
1695
1696  .eiken-ui-compare,
1697  .eiken-ui-points,
1698  .eiken-ui-tablecards {
1699    gap: 16px;
1700  }
1701
1702  .eiken-ui-steps {
1703    gap: 34px;
1704  }
1705
1706  .eiken-ui-steps__item:not(:last-child)::after {
1707    top: auto;
1708    right: 50%;
1709    bottom: -28px;
1710    content: "▼";
1711    transform: translateX(50%);
1712  }
1713
1714  .eiken-ui-compare__head {
1715    font-size: 19px;
1716  }
1717
1718  .eiken-ui-balloon {
1719    gap: 10px;
1720  }
1721
1722  .eiken-ui-balloon__person {
1723    flex-basis: 58px;
1724  }
1725
1726  .eiken-ui-balloon__person img {
1727    width: 54px;
1728    height: 54px;
1729  }
1730
1731  .eiken-ui-balloon__name {
1732    font-size: 10px;
1733  }
1734
1735  .eiken-ui-balloon__body {
1736    padding: 16px;
1737  }
1738
1739  .eiken-ui-balloon__body::before {
1740    top: 19px;
1741  }
1742
1743  .eiken-ui-balloon__text {
1744    font-size: 15px;
1745    line-height: 1.85;
1746  }
1747
1748  .eiken-ui-checklist__list {
1749    padding: 16px 16px 16px 49px;
1750  }
1751
1752  .eiken-ui-tablecards__body {
1753    min-height: 0;
1754    padding: 18px 15px;
1755  }
1756
1757  .eiken-ui-tablecards__footer {
1758    flex-direction: column;
1759    gap: 2px;
1760  }
1761
1762  .eiken-ui-tablecards__footer strong {
1763    font-size: 23px;
1764  }
1765}
1766
1767
1768/* ============================================================
1769   箇条書きの「・」が2つ出る不具合の修正
1770   2026-08-25 追加
1771   ============================================================
1772
1773   ■ 何が起きていたか
1774     テーマの css/single-tips.css に、記事内のすべての li を対象にした
1775     指定が入っています。
1776
1777         li { list-style-type: disc; margin-left: 2em; }
1778
1779     一方、装飾パーツ(ea-fig-matrix などの番号付きボックス、
1780     eiken-ui-checklist、check-list など)は ul 側に list-style:none を指定し、
1781     li::before で自前の丸やチェックマークを描いています。
1782
1783     list-style は「継承」よりも「li 自身への直接指定」のほうが強いため、
1784     ul 側の none では打ち消せません。その結果、
1785         テーマの黒丸(disc) + パーツの丸(::before) = ・が2つ
1786     という表示になります。
1787
1788     あわせて、テーマの margin-left:2em によって li が28px右へ押されるため、
1789     li::before で配置しているチェックアイコンも一緒にズレていました。
1790     ここで margin-left を 0 に戻すことで、そのズレも直ります。
1791
1792   ■ 対象
1793     装飾パーツの中のリストだけが対象です。
1794     クラスの付いていない通常の箇条書きは、これまでどおり黒丸のままです。
1795     接頭辞(ea- / eiken-)で拾っているため、今後追加する新しいパーツでも
1796     同じ不具合は起きません。
1797   ============================================================ */
1798
1799main.content [class^="ea-"] li,
1800main.content [class*=" ea-"] li,
1801main.content [class^="eiken-"] li,
1802main.content [class*=" eiken-"] li,
1803main.content .summary-box li,
1804main.content .tab-box li,
1805main.content .check-list li,
1806main.content .answer-box li {
1807  list-style: none !important;
1808  list-style-type: none !important;
1809  margin-left: 0 !important;
1810}
1811
1812/* ブラウザによっては list-style だけでは消えきらないため、
1813   ::marker(マーカー疑似要素)も無効化して二重に押さえます。 */
1814main.content [class^="ea-"] li::marker,
1815main.content [class*=" ea-"] li::marker,
1816main.content [class^="eiken-"] li::marker,
1817main.content [class*=" eiken-"] li::marker,
1818main.content .summary-box li::marker,
1819main.content .tab-box li::marker,
1820main.content .check-list li::marker,
1821main.content .answer-box li::marker {
1822  content: "" !important;
1823  color: transparent !important;
1824  font-size: 0 !important;
1825}
1826
1827
1828/* ============================================================
1829   【恒久対応(任意・要相談)】
1830   ============================================================
1831   根本原因はテーマの css/single-tips.css にある、対象を限定しない
1832
1833       li { list-style-type: disc; margin-left: 2em; }
1834
1835   です。これを
1836
1837       main.content > ul > li,
1838       main.content > ol > li { list-style-type: disc; margin-left: 2em; }
1839
1840   のように「本文直下の箇条書きだけ」に限定すれば、上の対策は不要になります。
1841   ただしテーマファイルの編集は他ページへの影響確認が必要なため、
1842   まずはこの追加CSSでの対処を推奨します。
1843   ============================================================ */
1844/* 「この記事でわかること」の項目を上端で揃える */
1845.summary-box .summary-list {
1846  align-items: start;
1847}
1848
1849.summary-box .summary-item {
1850  align-self: start;
1851  margin: 0;
1852}
1853
1854html { overflow-x: clip; }
1855
1856/* ============================================================
1857   強調ボックス(POINT / CHECK / ADVICE / 注意)共通の形
1858   帯(種類)→ 見出し文(内容)→ 本文・箇条書き
1859   ============================================================ */
1860
1861/* ---- 帯 ---- */
1862main.content .tab-box { padding: 62px 26px 26px; }
1863
1864main.content .tab-label {
1865  top: -1px; left: -1px; right: -1px;
1866  display: flex; align-items: center; gap: 9px;
1867  padding: 11px 20px;
1868  border-radius: 9px 9px 0 0;
1869  font-size: 15px;
1870  letter-spacing: .14em;
1871}
1872
1873main.content .tab-label::before {
1874  content: ""; width: 19px; height: 19px; flex: none;
1875  background-color: #fff;
1876  mask-repeat: no-repeat; mask-position: center; mask-size: contain;
1877  -webkit-mask-repeat: no-repeat; -webkit-mask-position: center;
1878  -webkit-mask-size: contain;
1879}
1880/* mask-image は既存の .tab-icon-lightbulb / -list / -comment と同じSVGを使う */
1881
1882main.content .tab-icon  { display: none; }   /* 72pxの丸は帯に移した */
1883main.content .tab-inner { display: block; }
1884
1885/* ---- 見出し文(あとに中身が続くときだけ見出しにする) ---- */
1886main.content .tab-box .tab-title:not(:last-child) {
1887  font-size: 19px;
1888  line-height: 1.55;
1889  color: #1a5596;
1890  margin: 0 0 14px;
1891  padding-bottom: 12px;
1892  border-bottom: 2px solid #e3edf9;
1893}
1894
1895/* ---- 箇条書き ---- */
1896/* 注意ボックスは既存の「二重マーカー修正」の対象外なので、ここでそろえる */
1897main.content .caution-box li {
1898  list-style: none !important;
1899  list-style-type: none !important;
1900  margin-left: 0 !important;
1901}
1902main.content .caution-box li::marker {
1903  content: "" !important; color: transparent !important; font-size: 0 !important;
1904}
1905
1906/* 箱の下端の余白をそろえる(テーマの ul{margin-bottom:0.8em} を打ち消す) */
1907main.content .tab-box ul,
1908main.content .tab-box ol,
1909main.content .caution-box ul,
1910main.content .caution-box ol { margin: 0; padding: 0; }
1911
1912main.content .tab-box li,
1913main.content .caution-box li {
1914  position: relative;
1915  padding-left: 26px;
1916  line-height: 1.95 !important;
1917}
1918main.content .tab-box li::before,
1919main.content .caution-box li::before {
1920  content: ""; position: absolute; left: 2px; top: .72em;
1921  width: 9px; height: 9px; border-radius: 50%;
1922  background: #1f66b3;
1923  box-shadow: 0 0 0 4px rgba(31,102,179,.13);
1924}
1925main.content .tab-box li + li,
1926main.content .caution-box li + li {
1927  margin-top: 14px !important;
1928  padding-top: 14px;
1929  border-top: 1px dashed #d7e5f6;
1930}
1931main.content .tab-box li + li::before,
1932main.content .caution-box li + li::before { top: calc(14px + .72em); }
1933
1934/* 項目名+説明の2段(新規記事で任意に使う) */
1935main.content .tab-item-title {
1936  display: block; color: #1a5596;
1937  font-size: 16px; line-height: 1.6; margin-bottom: 1px;
1938}
1939
1940/* ---- CHECK(緑) ---- */
1941main.content .tab-box-check .tab-title:not(:last-child) {
1942  color: #256f4a; border-bottom-color: #dcf0e5;
1943}
1944main.content .tab-box-check li::before {
1945  background: #2f8a5b; box-shadow: 0 0 0 4px rgba(47,138,91,.14);
1946}
1947main.content .tab-box-check li + li     { border-top-color: #d9ede2; }
1948main.content .tab-box-check .tab-item-title { color: #256f4a; }
1949
1950/* ---- ADVICE(紫・POINTと同じ青だったので変更) ---- */
1951main.content .tab-box-advice            { border-color: #ddd3ef; }
1952main.content .tab-box-advice .tab-label { background: #6a4c93; }
1953main.content .tab-box-advice .tab-title:not(:last-child) {
1954  color: #5b3f80; border-bottom-color: #ece5f6;
1955}
1956main.content .tab-box-advice li::before {
1957  background: #6a4c93; box-shadow: 0 0 0 4px rgba(106,76,147,.14);
1958}
1959main.content .tab-box-advice li + li       { border-top-color: #e4daf2; }
1960main.content .tab-box-advice .tab-item-title { color: #5b3f80; }
1961
1962/* ---- 注意(橙・HTMLはそのまま、帯はCSSで作る) ---- */
1963main.content .caution-box {
1964  position: relative;
1965  border-radius: 10px;
1966  padding: 58px 22px 22px;
1967}
1968main.content .caution-box::before {
1969  content: "注意";
1970  position: absolute; top: -1px; left: -1px; right: -1px;
1971  background: #b4560c; color: #fff;
1972  font-size: 15px; font-weight: 700; letter-spacing: .14em;
1973  padding: 11px 20px 11px 47px;
1974  border-radius: 9px 9px 0 0;
1975  background-image: url("data:image/svg+xml,…三角+!のSVG…");
1976  background-repeat: no-repeat;
1977  background-position: 20px center;
1978  background-size: 19px 19px;
1979}
1980main.content .caution-heading {
1981  display: block; font-size: 19px; line-height: 1.55; color: #97490a;
1982  margin: 0 0 14px; padding-bottom: 12px;
1983  border-bottom: 2px solid #f2dfb5;
1984}
1985main.content .caution-heading::before { display: none; }  /* 三角は帯へ移動 */
1986main.content .caution-box li::before {
1987  background: #b4560c; box-shadow: 0 0 0 4px rgba(180,86,12,.14);
1988}
1989main.content .caution-box li + li { border-top-color: #f0dcb0; }
1990
1991/* ---- スマホ ---- */
1992@media screen and (max-width: 600px) {
1993  main.content .tab-box     { padding: 56px 16px 20px; }
1994  main.content .caution-box { padding: 54px 15px 18px; }
1995  main.content .tab-label,
1996  main.content .caution-box::before { font-size: 13.5px; }
1997  main.content .caution-box::before  { padding-left: 43px; background-position: 17px center; }
1998  main.content .tab-box .tab-title:not(:last-child),
1999  main.content .caution-heading      { font-size: 16.5px; }
2000  main.content .tab-item-title       { font-size: 15px; }
2001}
2002</style>
2003
2004</head>
2005<body>
2006  <!-- Google Tag Manager (noscript) -->
vendor: 70 bytes, lines 2006-2007
2006
2007  <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
2007GTM-TS3SHTNB
vendor: 87 bytes, lines 2007-2009
2007"
2008  height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
2009  
2009<!-- End Google Tag Manager (noscript) -->
2010	<div class="wrapper">
2011		
2012
2013<div class="top-banner">
2014	<h1>講師ブログ</h1></div>
2015
2016<!-- メニュー開閉用のチェックボックス -->
2017<input type="checkbox" id="menu-toggle">
2018
2019<header class="header">
2020<meta name="description" content="英検の合格率は93%!英検の面接・ライティング・リスニング対策等を総合的にサポート!採用率1%のプロの講師陣が丁寧に指導します。完全個別指導のオンラインコースも充実!英検アカデミーでは小学生・中学生・高校生・社会人まで幅広い年齢に受講頂いています。">
2021
2022	<a href="/" class="site-logo">
2023		<img src="https://eiken-academy.com/wp-content/themes/eiken/images/logo.png" alt="英検アカデミー">
2024	</a>
2025
2026	<label for="menu-toggle" class="menu-btn">
2027		<span></span>
2028		<span></span>
2029		<span></span>
2030	</label>
2031
2032	<div class="nav-wrapper">
2033		<div class="sp-logo">
2034			<a href="https://eiken-academy.com/">
2035				<!--<img src="https://eiken-academy.com/wp-content/themes/eiken/images/logo_small.gif" alt="ロゴ">-->
2036				<img src="https://eiken-academy.com/wp-content/themes/eiken/images/logo.png" alt="ロゴ">
2037			</a>
2038		</div>
2039		<div class="campaign-banner">
2040			<a href="https://eiken-academy.com/contact/">
2041				<img src="https://eiken-academy.com/wp-content/themes/eiken-sp/images/sp-fix-bannar.png" alt="案内資料(無料)はこちら">
2042			</a>
2043		</div>
2044		<nav class="global-nav" aria-label="グローバルナビゲーション">
2045		  <ul class="global-nav__list">
2046			<li class="global-nav__item global-nav__item--has-children">
2047			  <div class="global-nav__parent">
2048				<a href="https://eiken-academy.com/class-2/" class="global-nav__link">教室一覧</a>
2049				<button
2050				  type="button"
2051				  class="global-nav__toggle"
2052				  aria-expanded="false"
2053				  aria-controls="submenu-classrooms"
2054				  aria-label="教室一覧のサブメニューを開く"
2055				>
2056				  <span aria-hidden="true">▼</span>
2057				</button>
2058			  </div>
2059		
2060			  <ul class="global-nav__submenu" id="submenu-classrooms">
2061				<li><a href="https://eiken-academy.com/class-2/" class="sp-only">教室一覧</a></li>
2062				<li><a href="https://eiken-academy.com/class-2/tokyo/">東京</a></li>
2063				<li><a href="https://eiken-academy.com/class-2/kanagawa/">神奈川</a></li>
2064				<li><a href="https://eiken-academy.com/class-2/saitama/">埼玉</a></li>
2065				<li><a href="https://eiken-academy.com/class-2/chiba/">千葉</a></li>
2066				<li><a href="https://eiken-academy.com/class-2/osaka/">大阪</a></li>
2067				<li><a href="https://eiken-academy.com/class-2/hyougo/">兵庫</a></li>
2068				<li><a href="https://eiken-academy.com/class-2/aichi/">愛知</a></li>
2069				<li><a href="https://eiken-academy.com/class-2/kyoto/">京都</a></li>
2070				<li><a href="https://eiken-academy.com/class-2/">その他の教室</a></li>
2071			  </ul>
2072			</li>
2073			
2074			<li class="global-nav__item">
2075			  <a href="https://eiken-academy.com/course-info/" class="global-nav__link">入塾の流れ</a>
2076			</li>
2077		
2078			<li class="global-nav__item global-nav__item--has-children">
2079			  <div class="global-nav__parent">
2080				<a href="https://eiken-academy.com/course/" class="global-nav__link">コース</a>
2081				<button
2082				  type="button"
2083				  class="global-nav__toggle"
2084				  aria-expanded="false"
2085				  aria-controls="submenu-course"
2086				  aria-label="コースのサブメニューを開く"
2087				>
2088				  <span aria-hidden="true">▼</span>
2089				</button>
2090			  </div>
2091		
2092			  <ul class="global-nav__submenu" id="submenu-course">
2093				<li><a href="https://eiken-academy.com/course/" class="sp-only">コース一覧</a></li>
2094				<li><a href="https://eiken-academy.com/course/eiken-absolute-pass/">絶対英検合格コース</a></li>
2095				<li><a href="https://eiken-academy.com/course2/eiken-pre-1st/">絶対英検合格「準1級特化」コース</a></li>
2096				<li><a href="https://eiken-academy.com/online/">絶対英検合格オンラインコース</a></li>
2097				<li><a href="https://gakusyu-go.com/eiken_academy/202512/">英検面接対策講座</a></li>
2098				<li><a href="https://eiken-academy.com/course/writing/">英検ライティング対策講座</a></li>
2099				<li><a href="https://eiken-academy.com/course/high/">高校生コース</a></li>
2100				<li><a href="https://eiken-academy.com/course/junior-sk/">【私立・国立】中高一貫生特化コース</a></li>
2101				<li><a href="https://eiken-academy.com/course/junior/">公立中学生コース</a></li>
2102				<li><a href="https://eiken-academy.com/course/chugaku-juken-eiken/">中学受験×英検利用 合格直結コース</a></li>
2103				<li><a href="https://eiken-academy.com/course/elementary-s/">【私立・国立】小学生コース</a></li>
2104				<li><a href="https://eiken-academy.com/course/elementary/">公立小学生コース</a></li>
2105				<li><a href="https://eiken-academy.com/course/private_teach/">家庭教師コース</a></li>
2106				<li><a href="https://eiken-academy.com/course/summer/">夏期講習</a></li>
2107				<li><a href="https://eiken-academy.com/course/winter/">冬期講習</a></li>
2108				<li><a href="https://eiken-academy.com/course/spring/">春期講習</a></li>
2109				<li><a href="https://eiken-academy.com/course/new-jhs1/">新中学1年「先取り」英語講座</a></li>
2110			  </ul>
2111			</li>
2112		
2113			<li class="global-nav__item global-nav__item--has-children">
2114			  <div class="global-nav__parent">
2115				<span class="global-nav__link global-nav__link--label">項目別対策</span>
2116				<button
2117				  type="button"
2118				  class="global-nav__toggle"
2119				  aria-expanded="false"
2120				  aria-controls="submenu-measures"
2121				  aria-label="項目別対策のサブメニューを開く"
2122				>
2123				  <span aria-hidden="true">▼</span>
2124				</button>
2125			  </div>
2126		
2127			  <ul class="global-nav__submenu" id="submenu-measures">
2128				<li><a href="https://eiken-academy.com/course/eiken-absolute-pass/">英検対策</a></li>
2129				<li><a href="https://eiken-academy.com/newtreasure-plan/">ニュートレジャー対策</a></li>
2130				<li><a href="https://eiken-academy.com/progress-plan/">プログレス21対策</a></li>
2131				<li><a href="https://eiken-academy.com/toeic.pdf">TOEIC対策</a></li>
2132			  </ul>
2133			</li>
2134		
2135		
2136			<li class="global-nav__item global-nav__item--has-children">
2137			  <div class="global-nav__parent">
2138				<a href="https://eiken-academy.com/feature/" class="global-nav__link">英アカの特色</a>
2139				<button
2140				  type="button"
2141				  class="global-nav__toggle"
2142				  aria-expanded="false"
2143				  aria-controls="submenu-feature"
2144				  aria-label="英アカの特色のサブメニューを開く"
2145				>
2146				  <span aria-hidden="true">▼</span>
2147				</button>
2148			  </div>
2149		
2150			  <ul class="global-nav__submenu" id="submenu-feature">
2151				<li><a href="https://eiken-academy.com/feature/" class="sp-only">英アカの特色</a></li>
2152				<li><a href="https://eiken-academy.com/comparison/">他塾との違い</a></li>
2153			  </ul>
2154			</li>
2155		
2156			<li class="global-nav__item">
2157			  <a href="https://eiken-academy.com/results/" class="global-nav__link">実績紹介</a>
2158			</li>
2159		
2160			<li class="global-nav__item global-nav__item--has-children">
2161			  <div class="global-nav__parent">
2162				<span class="global-nav__link global-nav__link--label">コラム</span>
2163				<button
2164				  type="button"
2165				  class="global-nav__toggle"
2166				  aria-expanded="false"
2167				  aria-controls="submenu-column"
2168				  aria-label="コラムのサブメニューを開く"
2169				>
2170				  <span aria-hidden="true">▼</span>
2171				</button>
2172			  </div>
2173		
2174			  <ul class="global-nav__submenu" id="submenu-column">
2175				<li><a href="https://eiken-academy.com/tips/">英検お役立ちコラム</a></li>
2176				<li><a href="https://eiken-academy.com/lecturer-blog/">講師ブログ</a></li>
2177			  </ul>
2178			</li>
2179		  </ul>
2180		</nav>
2181
2182		<div class="header-buttons">
2183			<a href="https://eiken-academy.com/contact/" class="header-btn btn-contact btn-hover"><img src="https://eiken-academy.com/wp-content/themes/eiken/images/gnavi-cta1.png"></a>
2184			<a href="https://eiken-academy.com/contact/" class="header-btn btn-material btn-hover"><img src="https://eiken-academy.com/wp-content/themes/eiken/images/gnavi-cta2.png"></a>
2185		</div>
2186	</div>
2187</header>
2188
2189<div class="overlay"></div> 		<div class="container">
2190			<div class="main">
2191				<div class="pankuzu">
2192					<a title="英検対策特化の英語塾-英検アカデミーへ行く" href="https://eiken-academy.com" class="home">英検アカデミーTOP</a> &gt; <span typeof="v:Breadcrumb"><span property="v:title">講師ブログ</span></span>				</div>
2193				<div class="left">
2194					<h2>新着情報</h2>
2195					<div class="about">
2196						<div id="news">
2197
2198																	<div class="infobox clearfix">
2199								<div class="info_title clearfix">
2200									<p class="date">2026<br/>10/04</p>
2201									<div>
2202																														<span class="latest-english">最新英語情報</span>
2203																				<h3>一次試験解答速報(英検試験結果について)</h3>
2204									</div>
2205								</div>
2206								<div class="info_text">
2207								<p>英検2026年第2回 一次試験解答速報について 本会場で行われた英検試験の各解答が 10月5日(月)13:00以降に 英検公式サイトに掲載されます。 &nbsp; 是非、自分の解答と比べてみましょう。&hellip;</p>
2208								</div>
2209								<div class="more">
2210									<a href="https://eiken-academy.com/lecturer-blog/%e4%b8%80%e6%ac%a1%e8%a9%a6%e9%a8%93%e8%a7%a3%e7%ad%94%e9%80%9f%e5%a0%b1%ef%bc%88%e8%8b%b1%e6%a4%9c%e8%a9%a6%e9%a8%93%e7%b5%90%e6%9e%9c%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%ef%bc%89/">続きを読む</a>
2211								</div>
2212							</div>
2213							<!-- newsbox -->
2214													<div class="infobox clearfix">
2215								<div class="info_title clearfix">
2216									<p class="date">2026<br/>09/27</p>
2217									<div>
2218																														<span class="new-opened">新規開校</span>
2219																				<h3>
2219浦安市にに英検に強い英語塾 英検アカデミー 新浦安教室が開校いたしました!!|英検対策特化の英語塾-英検アカデミー</h3>
2220									</div>
2221								</div>
2222								<div class="info_text">
2223								<p>英検アカデミーは、英検合格をステップに一流高校、大学に合格、内部進学する英語塾です。 以下の英語の悩みを解決したい方にお勧めです!! ◆学校の勉強スタイルが合わず、英語の成績が伸び悩んでいる。 ◆英語&hellip;</p>
2224								</div>
2225								<div class="more">
2226									<a href="https://eiken-academy.com/lecturer-blog/%e5%8d%83%e8%91%89%e7%9c%8c%e6%b5%a6%e5%ae%89%e3%81%ab%e8%8b%b1%e6%a4%9c%e3%81%ab%e5%bc%b7%e3%81%84%e8%8b%b1%e8%aa%9e%e5%a1%be-%e8%8b%b1%e6%a4%9c%e3%82%a2%e3%82%ab%e3%83%87%e3%83%9f%e3%83%bc%e3%80%80/">続きを読む</a>
2227								</div>
2228							</div>
2229							<!-- newsbox -->
2230													<div class="infobox clearfix">
2231								<div class="info_title clearfix">
2232									<p class="date">2026<br/>09/27</p>
2233									<div>
2234																														<span class="new-opened">新規開校</span>
2235																				<h3>東京都の西東京市に英検合格する英語塾、英検アカデミー田無教室開講します。</h3>
2236									</div>
2237								</div>
2238								<div class="info_text">
2239								<p>東京都の西東京市に田無教室が開校します。 英検アカデミー田無教室は、西武新宿線田無駅から徒歩3分の場所です。 詳しい地図はこちらから:田無教室 通学エリア:近隣エリア(西東京市、新宿区、練馬区、中野区&hellip;</p>
2240								</div>
2241								<div class="more">
2242									<a href="https://eiken-academy.com/lecturer-blog/%e6%9d%b1%e4%ba%ac%e9%83%bd%e3%81%ae%e8%a5%bf%e6%9d%b1%e4%ba%ac%e5%b8%82%e3%81%ab%e8%8b%b1%e6%a4%9c%e5%90%88%e6%a0%bc%e3%81%99%e3%82%8b%e8%8b%b1%e8%aa%9e%e5%a1%be%e3%80%81%e8%8b%b1%e6%a4%9c%e3%82%a2/">続きを読む</a>
2243								</div>
2244							</div>
2245							<!-- newsbox -->
2246													<div class="infobox clearfix">
2247								<div class="info_title clearfix">
2248									<p class="date">2026<br/>09/27</p>
2249									<div>
2250																														<span class="new-opened">新規開校</span>
2251																				<h3>東京都稲城市若葉台駅前に英検アカデミー稲城若葉台教室が開校致します</h3>
2252									</div>
2253								</div>
2254								<div class="info_text">
2255								<p>[ 英検絶対合格コースはこちら ] < 絶対英検合格「準1級特化」コースもあります! > 稲城、若葉台、はるひ野 地域の皆様に嬉しいお知らせです! 『中高一貫校の英検対策に強い』英語専門塾 英検アカデ&hellip;</p>
2256								</div>
2257								<div class="more">
2258									<a href="https://eiken-academy.com/lecturer-blog/new-inagiwakabadai/">続きを読む</a>
2259								</div>
2260							</div>
2261							<!-- newsbox -->
2262													<div class="infobox clearfix">
2263								<div class="info_title clearfix">
2264									<p class="date">2026<br/>09/27</p>
2265									<div>
2266																														<span class="new-opened">新規開校</span>
2267																				<h3>練馬区練馬駅前に英検アカデミー練馬第二教室が開校致します</h3>
2268									</div>
2269								</div>
2270								<div class="info_text">
2271								<p>[ 英検絶対合格コースはこちら ]  [ 英検面接対策はこちら ] 『中高一貫校の英検対策に強い』英語専門塾英検アカデミー 練馬第二教室が開校致します。 英検アカデミー   練馬第二教室は、西武池袋線&hellip;</p>
2272								</div>
2273								<div class="more">
2274									<a href="https://eiken-academy.com/lecturer-blog/new-nerimadaini/">続きを読む</a>
2275								</div>
2276							</div>
2277							<!-- newsbox -->
2278											<div id="pager">
2279					<div class='wp-pagenavi' role='navigation'>
2280<span aria-current='page' class='current'>1</span><a class="page larger" title="ページ 2" href="https://eiken-academy.com/lecturer-blog/page/2/">2</a><a class="page larger" title="ページ 3" href="https://eiken-academy.com/lecturer-blog/page/3/">3</a><a class="page larger" title="ページ 4" href="https://eiken-academy.com/lecturer-blog/page/4/">4</a><a class="page larger" title="ページ 5" href="https://eiken-academy.com/lecturer-blog/page/5/">5</a><span class='extend'>...</span><a class="larger page" title="ページ 10" href="https://eiken-academy.com/lecturer-blog/page/10/">10</a><a class="larger page" title="ページ 20" href="https://eiken-academy.com/lecturer-blog/page/20/">20</a><a class="larger page" title="ページ 30" href="https://eiken-academy.com/lecturer-blog/page/30/">30</a><span class='extend'>...</span><a class="nextpostslink" rel="next" aria-label="次のページ" href="https://eiken-academy.com/lecturer-blog/page/2/">»</a><a class="last" aria-label="Last Page" href="https://eiken-academy.com/lecturer-blog/page/152/">最後 »</a>
2281</div>					</div>
2282
2283											</div>
2284						<!-- news -->
2285						<section class="common-cta_container">	
2286      <div class="common-cta_pc">
2287        <!-- Main background with content -->
2288        <img src="https://eiken-academy.com/wp-content/themes/eiken/images/cta/cta_pc-bg.png" alt="英検合格には、戦略が必要だ。" class="common-cta_background">
2289
2290        <!-- Buttons container -->
2291        <div class="common-cta_buttons-container">
2292          <!-- Red button -->
2293          <a href ="https://eiken-academy.com/contact/">
2294            <img src="https://eiken-academy.com/wp-content/themes/eiken/images/cta/cta_pc_btn-r.png" alt="無料 資料請求はこちら" class="common-cta_button">
2295          </a>
2296          <!-- Yellow and Blue buttons in a row -->
2297          <div class="common-cta_button-row">
2298            <a href ="https://eiken-academy.com/contact/">
2299              <img src="https://eiken-academy.com/wp-content/themes/eiken/images/cta/cta_pc_btn-y.png" alt="無料体験はこちら" class="common-cta_button common-cta_half-button">
2300            </a>
2301            <a href ="https://eiken-academy.com/contact/">
2302            <img src="https://eiken-academy.com/wp-content/themes/eiken/images/cta/cta_pc_btn-b.png" alt="料金を知りたい" class="common-cta_button common-cta_half-button">
2303            </a>
2304          </div>
2305        </div>
2306      </div>
2307      
2308      <div class="common-cta_sp">
2309        <!-- Main background with content -->
2310        <img src="https://eiken-academy.com/wp-content/themes/eiken/images/cta/cta_sp-bg.png" alt="英検合格には、戦略が必要だ。" class="common-cta_background">
2311        
2312        <!-- Buttons container -->
2313        <div class="common-cta_buttons-container">
2314          <!-- Red button -->
2315          <a href ="https://eiken-academy.com/contact/">
2316          <img src="https://eiken-academy.com/wp-content/themes/eiken/images/cta/cta_sp_btn-r.png" alt="無料 資料請求はこちら" class="common-cta_button">
2317          </a>
2318          <!-- Yellow and Blue buttons in a row -->
2319    <a href ="https://eiken-academy.com/contact/">
2320            <img src="https://eiken-academy.com/wp-content/themes/eiken/images/cta/cta_sp_btn-y.png" alt="無料体験はこちら" class="common-cta_button">
2321    </a>
2322    <a href ="https://eiken-academy.com/contact/">
2323            <img src="https://eiken-academy.com/wp-content/themes/eiken/images/cta/cta_sp_btn-b.png" alt="料金を知りたい" class="common-cta_button">
2324    </a>
2325        </div>
2326      </div>
2327</section>
2328					</div>
2329				</div>
2330								<br />
2331			</div>
2332<p class="pagetop"><a href="#"><img src="https://eiken-academy.com/wp-content/themes/eiken/images/pagetop.gif" alt="ページトップ" /></a></p>
2333
2334	<div class="footer">
2335			<div><div class="footer_logo">
2336<a href="https://eiken-academy.com"><img class="footer_logo_white" src="https://eiken-academy.com/wp-content/themes/eiken/images/logo_wihte.png" /></a><br /><br />
2337<a href="https://eiken-academy.com/contact/"><img src="https://eiken-academy.com/wp-content/uploads/2015/07/denwamini.png" /></a>
2338<br /></div>
2339				<div class="footer_link">
2340					<div class="footer__feature">
2341						<span class="footer__list-title">◆英検アカデミーの特徴</span>
2342							<a href="https://eiken-academy.com/feature/">英検アカデミーの特徴</a>
2343							<a href="https://eiken-academy.com/results/">実績紹介</a>
2344							<!-- <a href="https://eiken-academy.com/eiken/">英検とは?</a> -->
2345						<span class="footer__list-title" style="margin-top:1em;">
2346							<a href="https://eiken-academy.com/course-info/">◆入塾までの流れ</a>
2347						</span>
2348						<span class="footer__list-title" style="margin-top:1em;">◆コラム</span>
2349							<a href="https://eiken-academy.com/tips/">英検お役立ちコラム</a>
2350							<a href="https://eiken-academy.com/lecturer-blog/">講師ブログ</a>
2351					</div>
2352					<div class="footer__course">
2353						<span class="footer__list-title"><a href="https://eiken-academy.com/course/">◆コース一覧</a></span>
2354						  <a href="https://eiken-academy.com/course/eiken-absolute-pass/">絶対英検合格コース</a>
2355						  <a href="https://eiken-academy.com/course2/eiken-pre-1st/">絶対英検合格「準1級特化」コース</a>
2356						  <a href="https://eiken-academy.com/online/">絶対英検合格オンラインコース</a>
2357						  <a href="https://gakusyu-go.com/eiken_academy/202512/">英検面接対策講座</a>
2358						  <a href="https://eiken-academy.com/course/writing/">英検ライティング対策講座</a>
2359						  <a href="https://eiken-academy.com/course/high/">高校生コース</a>
2360						  <a href="https://eiken-academy.com/course/junior-sk/">【私立・国立】中高一貫生特化コース</a>
2361						  <a href="https://eiken-academy.com/course/junior/">公立中学生コース</a>
2362						  <a href="https://eiken-academy.com/course/chugaku-juken-eiken/">中学受験×英検利用 合格直結コース</a>
2363						  <a href="https://eiken-academy.com/course/elementary-s/">【私立・国立】小学生コース</a>
2364						  <a href="https://eiken-academy.com/course/elementary/">公立小学生コース</a>
2365						  <a href="https://eiken-academy.com/course/private_teach/">家庭教師コース</a>
2366						  <li><a href="https://eiken-academy.com/course/summer/">夏期講習</a></li>
2367						  <a href="https://eiken-academy.com/course/winter/">冬期講習</a>
2368						  <a href="https://eiken-academy.com/course/spring/">春期講習</a>
2369						  <a href="https://eiken-academy.com/course/new-jhs1/">新中学1年「先取り」英語講座</a>
2370					</div>
2371					<div class="footer__plan">
2372						<span class="footer__list-title">◆項目別対策</span>
2373							<a href="https://eiken-academy.com/eiken-plan/">英検対策</a>
2374							<a href="https://eiken-academy.com/newtreasure-plan/">ニュートレジャー対策</a>
2375							<a href="https://eiken-academy.com/progress-plan/">プログレス21対策</a>
2376							<a href="https://eiken-academy.com/toeic.pdf">TOEIC対策</a>
2377					</div>
2378					<div class="footer__tend">
2379						<span class="footer__list-title">◆学校別傾向と対策</span>
2380							<a href="https://eiken-academy.com/tokyo-school/">東京の中学校・高校一覧</a>
2381							<a href="https://eiken-academy.com/kanagawa-school/">神奈川の中学校・高校一覧</a>
2382							<a href="https://eiken-academy.com/saitama-school/">埼玉の中学校・高校一覧</a>
2383							<a href="https://eiken-academy.com/chiba-school/">千葉の中学校・高校一覧</a>
2384							<a href="https://eiken-academy.com/nagoya-school/">名古屋の中学校・高校一覧</a>
2385							<a href="https://eiken-academy.com/osaka-school/">大阪の中学校・高校一覧</a>
2386							<a href="https://eiken-academy.com/hyougo-school/">兵庫の中学校・高校一覧</a>
2387							<a href="https://eiken-academy.com/kyoto-school/">京都の中学校・高校一覧</a>
2388							<a href="https://eiken-academy.com/okayama-school/">岡山の中学校・高校一覧</a>
2389					</div>
2390			</div>
2391			<div class="footer__list-title"><a href="https://eiken-academy.com/class-2/">◆教室一覧</a></div>
2392			<div class="footer__area">北海道・東北エリア</div>
2393			<div class="footer__area-list">
2394				<div class="footer__area-pref">
2395						<a href="https://eiken-academy.com/class-2/hokkaido/">北海道の<br class="sp-only">英語教室</a>
2396						<a href="https://eiken-academy.com/class-2/yamagata/">山形県の<br class="sp-only">英語教室</a>
2397				</div>
2398				<div class="footer__area-pref">
2399						<a href="https://eiken-academy.com/class-2/aomori/">青森県の<br class="sp-only">英語教室</a>
2400						<a href="https://eiken-academy.com/class-2/miyagi/">宮城県の<br class="sp-only">英語教室</a>
2401
2402				</div>
2403				<div class="footer__area-pref">
2404						<a href="https://eiken-academy.com/class-2/iwate/">岩手県の<br class="sp-only">英語教室</a>
2405						<a href="https://eiken-academy.com/class-2/fukushima/">福島県の<br class="sp-only">英語教室</a>
2406				</div>
2407				<div class="footer__area-pref">					
2408						<a href="https://eiken-academy.com/class-2/akita/">秋田県の<br class="sp-only">英語教室</a>
2409				</div>
2410			</div>
2411			<div class="footer__area">関東エリア</div>
2412			<div class="footer__area-list">
2413				<div class="footer__area-pref">
2414					
2415						<a href="https://eiken-academy.com/class-2/tokyo/">東京都の<br class="sp-only">英語教室</a>
2416						<a href="https://eiken-academy.com/class-2/tochigi/">栃木県の<br class="sp-only">英語教室</a>
2417				</div>
2418				<div class="footer__area-pref">
2419						<a href="https://eiken-academy.com/class-2/kanagawa/">神奈川県の<br class="sp-only">英語教室</a>
2420						<a href="https://eiken-academy.com/class-2/gunma/">群馬県の<br class="sp-only">英語教室</a>
2421
2422				</div>
2423				<div class="footer__area-pref">
2424						<a href="https://eiken-academy.com/class-2/saitama/">埼玉県の<br class="sp-only">英語教室</a>
2425						<a href="https://eiken-academy.com/class-2/ibaraki/">茨城県の<br class="sp-only">英語教室</a>
2426				</div>
2427				<div class="footer__area-pref">
2428					<a href="https://eiken-academy.com/class-2/chiba/">千葉県の<br class="sp-only">英語教室</a>
2429
2430				</div>
2431			</div>
2432			<div class="footer__area">中部エリア</div>
2433			<div class="footer__area-list">
2434				<div class="footer__area-pref">
2435						<a href="https://eiken-academy.com/class-2/aichi/">愛知県の<br class="sp-only">英語教室</a>
2436						<a href="https://eiken-academy.com/class-2/yamanashi/">山梨県の<br class="sp-only">英語教室</a>
2437						<a href="https://eiken-academy.com/class-2/mie/">三重県の<br class="sp-only">英語教室</a>
2438				</div>
2439				<div class="footer__area-pref">
2440						<a href="https://eiken-academy.com/class-2/niigata/">新潟県の<br class="sp-only">英語教室</a>
2441						<a href="https://eiken-academy.com/class-2/sizuoka/">静岡県の<br class="sp-only">英語教室</a>
2442						<a href="https://eiken-academy.com/class-2/hukui/">福井県の<br class="sp-only">英語教室</a>
2443				</div>
2444				<div class="footer__area-pref">
2445						<a href="https://eiken-academy.com/class-2/ishikawa/">石川県の<br class="sp-only">英語教室</a>
2446						<a href="https://eiken-academy.com/class-2/toyama/">富山県の<br class="sp-only">英語教室</a>
2447				</div>
2448				<div class="footer__area-pref">
2449						<a href="https://eiken-academy.com/class-2/nagano/">長野県の<br class="sp-only">英語教室</a>
2450						<a href="https://eiken-academy.com/class-2/gifu/">岐阜県の<br class="sp-only">英語教室</a>
2451				</div>
2452			</div>
2453			<div class="footer__area">関西エリア</div>
2454			<div class="footer__area-list">
2455				<div class="footer__area-pref">
2456						<a href="https://eiken-academy.com/class-2/osaka/">大阪府の<br class="sp-only">英語教室</a>
2457						<a href="https://eiken-academy.com/class-2/shiga/">滋賀県の<br class="sp-only">英語教室</a>
2458				</div>
2459				<div class="footer__area-pref">
2460						<a href="https://eiken-academy.com/class-2/hyougo/">兵庫県の<br class="sp-only">英語教室</a>
2461						<a href="https://eiken-academy.com/class-2/wakayama/">和歌山県の<br class="sp-only">英語教室</a>
2462				</div>
2463				<div class="footer__area-pref">
2464						<a href="https://eiken-academy.com/class-2/kyoto/">京都府の<br class="sp-only">英語教室</a>
2465				</div>
2466				<div class="footer__area-pref">
2467						<a href="https://eiken-academy.com/class-2/nara/">奈良県の<br class="sp-only">英語教室</a>
2468				</div>
2469			</div>
2470			<div class="footer__area">中国・四国エリア</div>
2471			<div class="footer__area-list">
2472				<div class="footer__area-pref">
2473						<a href="https://eiken-academy.com/class-2/tottori/">鳥取県の<br class="sp-only">英語教室</a>
2474						<a href="https://eiken-academy.com/class-2/yamaguchi/">山口県の<br class="sp-only">英語教室</a>
2475				</div>
2476				<div class="footer__area-pref">
2477						<a href="https://eiken-academy.com/class-2/shimane/">島根県の<br class="sp-only">英語教室</a>
2478						<a href="https://eiken-academy.com/class-2/tokushima/">徳島県の<br class="sp-only">英語教室</a>
2479				</div>
2480				<div class="footer__area-pref">
2481					<a href="https://eiken-academy.com/class-2/okayama/">岡山県の<br class="sp-only">英語教室</a>
2482							
2483							<a href="https://eiken-academy.com/class-2/kagawa/">香川県の<br class="sp-only">英語教室</a>
2484				</div>
2485				<div class="footer__area-pref">
2486							<a href="https://eiken-academy.com/class-2/hirosima/">広島県の<br class="sp-only">英語教室</a>
2487							<a href="https://eiken-academy.com/class-2/ehime/">愛媛県の<br class="sp-only">英語教室</a>
2488				</div>
2489
2490			</div>
2491			<div class="footer__area">九州・沖縄エリア</div>
2492			<div class="footer__area-list">
2493				<div class="footer__area-pref">
2494						<a href="https://eiken-academy.com/class-2/fukuoka/">福岡県の<br class="sp-only">英語教室</a>
2495						<a href="https://eiken-academy.com/class-2/nagasaki/">長崎県の<br class="sp-only">英語教室</a>
2496				</div>
2497				<div class="footer__area-pref">
2498						<a href="https://eiken-academy.com/class-2/saga/">佐賀県の<br class="sp-only">英語教室</a>
2499						<a href="https://eiken-academy.com/class-2/miyazaki/">宮崎県の<br class="sp-only">英語教室</a>
2500				</div>
2501				<div class="footer__area-pref">
2502						<a href="https://eiken-academy.com/class-2/kumamoto/">熊本県の<br class="sp-only">英語教室</a>
2503						<a href="https://eiken-academy.com/class-2/kagoshima/">鹿児島県の<br class="sp-only">英語教室</a>
2504				</div>
2505				<div class="footer__area-pref">
2506						<a href="https://eiken-academy.com/class-2/ooita/">大分県の<br class="sp-only">英語教室</a>
2507						<a href="https://eiken-academy.com/class-2/okinawa/">沖縄県の<br class="sp-only">英語教室</a>
2508				</div>
2509			</div>
2510			<div class="footer_link">
2511			<p><a href="https://eiken-academy.com/privacy/">個人情報保護方針</a>│
2512			<a href="https://eiken-academy.com/contact/">お問い合わせ</a></p>
2513			</div>
2514		</div>
2515		<p class="copyright">本社住所:〒543-0001 大阪市天王寺区上本町6-8-2 2階<br>
2516		塾長直通専用ダイヤル:080-5087-9981<br>
2517		(C) Copyright 英検アカデミー All Rights Reserved.</p>
2518	</div>
2519	
2520	<!--! SP下部固定CTA -->
2521<!--	
2522	<div id="sp-fix-menu" class="for-sp">
2523		<a href="https://eiken-academy.com/contact/">
2524		  <img src="https://eiken-academy.com/wp-content/themes/eiken-sp/images/sp-fix-bannar.png" alt="お問い合わせはこちら" class="sp-fix-menu_img">
2525		</a>
2526	</div>
2527-->
2528
2529<script type="speculationrules">
2530{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/eiken/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
2531</script>
vendor: 1 bytes, line 2531
2531
2532<script type="text/javascript">
2533document.addEventListener( 'wpcf7mailsent', function( event ) {
2534    location = 'https://eiken-academy.com/thankspage/';
2535}, false );
2536</script>
2536
2537    
2538<!-- Google Analytics 4 (GA4) 測定タグ -->
2539<!-- TODO: G-XXXXXXXXXXを実際の測定IDに置き換えてください -->
vendor: 64 bytes, lines 2539-2540
2539
2540<script async src="https://www.googletagmanager.com/gtag/js?id=
2540G-HD2QKN3YTR
vendor: 12 bytes, line 2540
2540"></script>
2541<script>
2542  
vendor: 133 bytes, lines 2542-2545
2542window.dataLayer = window.dataLayer || [];
2543  function gtag(){dataLayer.push(arguments);}
2544  gtag('js', new Date());
2545  gtag('config', '
2545G-HD2QKN3YTR
vendor: 4 bytes, line 2545
2545');
2546</script>
2546
2547<style>
2548/* ========================================
2549   ステップフォーム専用CSS(BEM記法)
2550   Block: .stepform
2551   絶対に他のスタイルと競合しません
2552   ======================================== */
2553
2554/* Block: stepform */
2555.stepform {
2556    position: fixed;
2557    bottom: 20px;
2558    right: 20px;
2559    width: 90%;
2560    max-width: 350px;
2561    border-radius: 12px;
2562    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
2563    overflow: visible;
2564    z-index: 1000;
2565    transition: all 0.3s ease;
2566}
2567
2568/* ========================================
2569   初回フェードイン用スタイル
2570   ======================================== */
2571/* 初期状態:非表示 */
2572.stepform--hidden {
2573    opacity: 0;
2574    visibility: hidden;
2575    transform: translateY(20px);
2576}
2577
2578/* フェードインアニメーション */
2579.stepform--fadein {
2580    animation: stepformFadeInFromBottom 0.6s ease-out forwards;
2581}
2582
2583@keyframes stepformFadeInFromBottom {
2584    from {
2585        opacity: 0;
2586        visibility: hidden;
2587        transform: translateY(20px);
2588    }
2589    to {
2590        opacity: 1;
2591        visibility: visible;
2592        transform: translateY(0);
2593    }
2594}
2595
2596/* Modifier: collapsed */
2597.stepform--collapsed {
2598    width: 320px;
2599    max-height: 100px;
2600}
2601
2602.stepform--collapsed .stepform__header {
2603    border-radius: 12px;
2604}
2605
2606/* ★修正:display: none の代わりに opacity と max-height で制御★ */
2607.stepform--collapsed .stepform__body {
2608  display: none;
2609}
2610
2611/* Element: header */
2612.stepform__header {
2613    text-align: center;
2614    background: linear-gradient(135deg, #002664 0%, #0146bb 100%);
2615    padding: 10px 20px;
2616    color: white;
2617    cursor: pointer;
2618    position: relative;
2619    user-select: none;
2620    overflow: visible;
2621    min-height: 60px;
2622    display: flex;
2623    flex-direction: column;
2624    justify-content: center;
2625    align-items: center;
2626    border-radius: 12px 12px 0 0;
2627}
2628
2629.stepform__header:hover {
2630    background: linear-gradient(135deg, #003080 0%, #0158d4 100%);
2631}
2632
2633/* Element: badge */
2634.stepform__badge {
2635    display: inline-block;
2636    background: #ffd700;
2637    color: #333;
2638    padding: 5px 18px;
2639    border-radius: 20px;
2640    font-size: 14px;
2641    font-weight: bold;
2642    margin-bottom: 0;
2643    position: absolute;
2644    top: -20px;
2645    left: 50%;
2646    transform: translateX(-50%);
2647}
2648
2649.stepform__badge::after {
2650    content: '';
2651    position: absolute;
2652    bottom: -6px;
2653    left: 50%;
2654    transform: translateX(-50%);
2655    width: 0;
2656    height: 0;
2657    border-left: 10px solid transparent;
2658    border-right: 10px solid transparent;
2659    border-top: 8px solid #ffd700;
2660}
2661
2662/* Element: title */
2663.stepform__title {
2664    font-size: 16px;
2665    font-weight: bold;
2666    display: flex;
2667    align-items: center;
2668    justify-content: center;
2669    gap: 8px;
2670    margin-top: 10px;
2671    margin-bottom: 0;
2672}
2673
2674/* Element: toggle-icon */
2675.stepform__toggle-icon {
2676    display: inline-block;
2677    width: 0;
2678    height: 0;
2679    border-left: 6px solid transparent;
2680    border-right: 6px solid transparent;
2681    border-top: 8px solid white;
2682    transition: transform 0.3s ease;
2683}
2684
2685.stepform--collapsed .stepform__toggle-icon {
2686    transform: rotate(-90deg);
2687}
2688
2689/* Element: body */
2690.stepform__body {
2691    max-height: calc(80vh - 100px);
2692    overflow-y: auto;
2693    padding: 10px 20px;
2694    border-radius: 0 0 12px 12px;
2695    background: #fff;
2696    /* ★新規追加:開いている時もtransitionを設定★ */
2697    opacity: 1;
2698    transition: opacity 0.3s ease, max-height 0.3s ease, padding 0.3s ease;
2699}
2700
2701/* Element: progress */
2702.stepform__progress {
2703    margin-bottom: 25px;
2704    position: relative;
2705}
2706
2707.stepform__progress-bar {
2708    width: 100%;
2709    height: 10px;
2710    background: #e0e0e0;
2711    border-radius: 5px;
2712    overflow: hidden;
2713    margin-bottom: 6px;
2714    position: relative;
2715}
2716
2717.stepform__progress-fill {
2718    height: 100%;
2719    background: linear-gradient(90deg, #0146bb 0%, #011435 100%);
2720    width: 0%;
2721    transition: width 0.4s ease;
2722    border-radius: 5px;
2723}
2724
2725.stepform__progress-labels {
2726    display: flex;
2727    justify-content: space-between;
2728    font-size: 11px;
2729    color: #666;
2730    font-weight: bold;
2731    margin-bottom: 4px;
2732}
2733
2734.stepform__progress-current {
2735    position: absolute;
2736    top: 35px;
2737    left: 0%;
2738    transform: translateX(-50%);
2739    font-size: 13px;
2740    color: #0146bb;
2741    font-weight: bold;
2742    transition: left 0.4s ease;
2743    white-space: nowrap;
2744}
2745
2746/* Element: step */
2747.stepform__step {
2748    display: none;
2749    animation: stepformFadeIn 0.3s ease;
2750}
2751
2752.stepform__step--active {
2753    display: block;
2754}
2755
2756@keyframes stepformFadeIn {
2757    from {
2758        opacity: 0;
2759        transform: translateY(10px);
2760    }
2761    to {
2762        opacity: 1;
2763        transform: translateY(0);
2764    }
2765}
2766
2767/* Element: privacy-notice */
2768.stepform__privacy-notice {
2769    background: #f0f4ff;
2770    border: 1px solid #d0deff;
2771    padding: 9px;
2772    border-radius: 6px;
2773    font-size: 10px;
2774    color: #555;
2775    margin-bottom: 15px;
2776    text-align: center;
2777}
2778
2779/* Element: question */
2780.stepform__question {
2781    margin-bottom: 15px;
2782}
2783
2784.stepform__required-badge {
2785    display: inline-block;
2786    background: #e53e3e;
2787    color: white;
2788    padding: 3px 8px;
2789    border-radius: 4px;
2790    font-size: 11px;
2791    font-weight: bold;
2792    margin-right: 6px;
2793}
2794
2795.stepform__question-text {
2796    font-size: 15px;
2797    font-weight: bold;
2798    color: #333;
2799}
2800
2801.stepform__sub-text {
2802    display: block;
2803    font-size: 12px;
2804    color: #e53e3e;
2805    margin-top: 4px;
2806}
2807
2808/* Element: card-grid */
2809.stepform__card-grid {
2810    display: grid;
2811    grid-template-columns: repeat(2, 1fr);
2812    gap: 10px;
2813    margin-bottom: 15px;
2814}
2815
2816.stepform__card-button {
2817    background: white;
2818    border: 2px solid #ddd;
2819    border-radius: 8px;
2820    padding: 12px;
2821    font-size: 14px;
2822    font-weight: bold;
2823    cursor: pointer;
2824    transition: all 0.2s ease;
2825    color: #333;
2826    min-height: 65px;
2827}
2828
2829.stepform__card-button:hover {
2830    border-color: #667eea;
2831    background: #f8f9ff;
2832    transform: translateY(-2px);
2833}
2834
2835.stepform__card-button--selected {
2836    border-color: #667eea;
2837    background: #667eea;
2838    color: white;
2839}
2840
2841.stepform__grade-grid {
2842    grid-template-columns: repeat(3, 1fr);
2843}
2844
2845.stepform__note {
2846    font-size: 12px;
2847    color: #e53e3e;
2848    margin-bottom: 15px;
2849    font-weight: bold;
2850}
2851
2852/* Element: field */
2853.stepform__field {
2854    margin-bottom: 15px;
2855}
2856
2857.stepform__field-label {
2858    display: block;
2859    font-size: 13px;
2860    font-weight: bold;
2861    color: #333;
2862    margin-bottom: 6px;
2863}
2864
2865.stepform__field-note {
2866    font-size: 11px;
2867    color: #0146bb;
2868    margin-top: 4px;
2869}
2870
2871.stepform__input,
2872.stepform__select {
2873    width: 100%;
2874    padding: 12px;
2875    border: 2px solid #ddd;
2876    border-radius: 6px;
2877    font-size: 16px;
2878}
2879
2880.stepform__input:focus,
2881.stepform__select:focus {
2882    outline: none;
2883    border-color: #667eea;
2884}
2885
2886.stepform__name-fields {
2887    display: grid;
2888    grid-template-columns: 1fr 1fr;
2889    gap: 10px;
2890}
2891
2892.stepform__privacy-agreement {
2893    margin-bottom: 15px;
2894    background: #f8f9ff;
2895    padding: 12px;
2896    border-radius: 6px;
2897}
2898
2899.stepform__checkbox-label {
2900    display: flex;
2901    align-items: center;
2902    gap: 8px;
2903    cursor: pointer;
2904    font-size: 12px;
2905    color: #333;
2906}
2907
2908.stepform__checkbox-label input[type="checkbox"] {
2909    width: 20px;
2910    height: 20px;
2911    cursor: pointer;
2912    display: block;
2913}
2914
2915/* Element: button-group and buttons */
2916.stepform__button-group {
2917    display: grid;
2918    grid-template-columns: 1fr 2fr;
2919    gap: 10px;
2920}
2921
2922.stepform__button {
2923    padding: 14px;
2924    border: none;
2925    border-radius: 6px;
2926    font-size: 14px;
2927    font-weight: bold;
2928    cursor: pointer;
2929    transition: all 0.2s ease;
2930}
2931
2932.stepform__button--back {
2933    background: white;
2934    color: #333;
2935    border: 2px solid #ddd;
2936    padding: 14px;
2937    border-radius: 6px;
2938    font-size: 14px;
2939    font-weight: bold;
2940    cursor: pointer;
2941    transition: all 0.2s ease;
2942}
2943
2944.stepform__button--back:hover {
2945    background: #f5f5f5;
2946}
2947
2948.stepform__button--next {
2949    background: linear-gradient(135deg, #ff6b35 0%, #f7931e 100%);
2950    color: white;
2951    padding: 14px;
2952    border: none;
2953    border-radius: 6px;
2954    font-size: 14px;
2955    font-weight: bold;
2956    cursor: pointer;
2957    transition: all 0.2s ease;
2958}
2959
2960.stepform__button--next:hover:not(:disabled) {
2961    transform: translateY(-2px);
2962    box-shadow: 0 4px 12px rgba(255, 107, 53, 0.4);
2963}
2964
2965.stepform__button--next:disabled {
2966    background: #ccc;
2967    cursor: not-allowed;
2968}
2969
2970.stepform__button--submit {
2971    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
2972    color: white;
2973    padding: 14px;
2974    border: none;
2975    border-radius: 6px;
2976    font-size: 14px;
2977    font-weight: bold;
2978    cursor: pointer;
2979    transition: all 0.2s ease;
2980}
2981
2982.stepform__button--submit:hover:not(:disabled) {
2983    transform: translateY(-2px);
2984    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
2985}
2986
2987.stepform__button--submit:disabled {
2988    background: #ccc;
2989    cursor: not-allowed;
2990}
2991
2992/* Element: complete-message */
2993.stepform__complete-message {
2994    text-align: center;
2995    padding: 20px;
2996}
2997
2998.stepform__complete-message h2 {
2999    color: #10b981;
3000    font-size:14px;
3001    margin-bottom: 15px;
3002}
3003.stepform__complete-message p{
3004  font-size: 13px;
3005}
3006
3007
3008/* Element: loading-message */
3009.stepform__loading-message {
3010    text-align: center;
3011    padding: 20px;
3012    color: #666;
3013}
3014
3015/* Element: error-message */
3016.stepform__error-message {
3017    display: none;
3018    background: #fff5f5;
3019    border: 2px solid #fc8181;
3020    border-radius: 6px;
3021    padding: 12px;
3022    margin-top: 8px;
3023    color: #c53030;
3024    font-size: 13px;
3025    font-weight: bold;
3026    line-height: 1.5;
3027}
3028
3029.stepform__error-message--show {
3030    display: block;
3031    animation: stepformErrorFadeIn 0.3s ease;
3032}
3033
3034@keyframes stepformErrorFadeIn {
3035    from {
3036        opacity: 0;
3037        transform: translateY(-5px);
3038    }
3039    to {
3040        opacity: 1;
3041        transform: translateY(0);
3042    }
3043}
3044
3045/* Element: mail-icon */
3046.stepform__mail-icon {
3047    display: inline-block;
3048    vertical-align: middle;
3049    color: #fff;
3050    line-height: 1;
3051    position: relative;
3052    width: 1.06667em;
3053    height: 0.8em;
3054    border: 0.1em solid currentColor;
3055    border-radius: 0.1em;
3056    box-sizing: content-box;
3057    overflow: hidden;
3058}
3059
3060.stepform__mail-icon::before {
3061    content: '';
3062    position: absolute;
3063    left: 50%;
3064    top: 0;
3065    width: 0.75425em;
3066    height: 0.75425em;
3067    border: 0.18em solid currentColor;
3068    border-top-color: transparent;
3069    border-right-color: transparent;
3070    border-radius: 0 0 0 0.1em;
3071    box-sizing: content-box;
3072    transform: translate(-50%, -50%) rotate(-45deg) skew(10deg, 10deg);
3073}
3074
3075/* Element: privacy-link */
3076.stepform__privacy-link {
3077    color: #0146bb;
3078    text-decoration: underline;
3079    cursor: pointer;
3080}
3081
3082.stepform__privacy-link:hover {
3083    color: #003080;
3084    text-decoration: none;
3085}
3086
3087/* スマホ対応 */
3088@media (max-width: 600px) {
3089    .stepform {
3090        position: fixed;
3091        left: 0;
3092        right: 0;
3093        bottom: 0;
3094        width: 100% !important;
3095        max-width: 100% !important;
3096        z-index: 9999;
3097        transition: all 0.2s ease-out;
3098        border-radius: 16px 16px 0 0;
3099    }
3100
3101    .stepform--collapsed {
3102        transform: translateY(calc(100% - 60px));
3103        width: 100% !important;
3104    }
3105
3106    /* 開いた状態 - デフォルトは画面の半分より少し小さく */
3107    .stepform:not(.stepform--collapsed) {
3108        transform: translateY(0);
3109        height: 48vh;
3110        max-height: 48vh;
3111        display: flex;
3112        flex-direction: column;
3113        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3);
3114    }
3115
3116    /* STEP2以降は画面全体 */
3117    .stepform--fullheight {
3118        height: 84vh !important;
3119        max-height: 84vh !important;
3120    }
3121
3122    .stepform__header {
3123        border-radius: 16px 16px 0 0!important;
3124        flex-shrink: 0;
3125        padding: 5px 20px;
3126        min-height: 60px;
3127    }
3128    
3129    /* SPではバッジの位置を調整 */
3130    .stepform__badge {
3131        top: -15px;
3132        padding: 2px 18px;
3133        font-size: 12px;
3134    }
3135
3136    .stepform:not(.stepform--collapsed) .stepform__body {
3137        flex: 1;
3138        max-height: none;
3139        height: auto;
3140        overflow-y: auto;
3141        -webkit-overflow-scrolling: touch;
3142        border-radius: 0;
3143    }
3144
3145    .stepform__name-fields {
3146        grid-template-columns: 1fr;
3147    }
3148    
3149    .stepform__card-grid {
3150      grid-template-columns: repeat(3, 1fr);
3151      gap: 6px;
3152      margin-bottom: 5px;
3153    }
3154    
3155    .stepform__card-button {
3156      padding: 9px;
3157      font-size: 12px;
3158      min-height: 45px;
3159    }
3160    
3161    .stepform__note {
3162      margin-bottom: 5px;
3163    }
3164    
3165    /* ★新規追加:SP表示時のbody部分もtransitionを長めに★ */
3166    .stepform__body {
3167        transition: opacity 0.5s ease, max-height 0.5s ease, padding 0.5s ease;
3168    }
3169    
3170    .stepform--collapsed .stepform__body {
3171        transition: opacity 0.5s ease, max-height 0.5s ease, padding 0.5s ease;
3172    }
3173}
3174
3175/* 背景スクロール無効化用 */
3176body.stepform-modal-open {
3177    overflow: hidden;
3178}
3179</style>
3180
3181<!-- ステップフォーム(BEM記法) - 初期状態は非表示 -->
3182<div class="stepform stepform--hidden" id="stepformContainer">
3183    <div class="stepform__header" id="stepformHeader">
3184        <div class="stepform__badge">約30秒で完了</div>
3185        <div class="stepform__title">
3186            <span class="stepform__mail-icon"></span> 【無料】料金が分かる資料請求
3187            <span class="stepform__toggle-icon"></span>
3188        </div>
3189    </div>
3190
3191    <div class="stepform__body">
3192        <div class="stepform__progress">
3193            <div class="stepform__progress-labels">
3194                <span>0%</span>
3195                <span>100%</span>
3196            </div>
3197            <div class="stepform__progress-bar">
3198                <div class="stepform__progress-fill" id="stepformProgressFill"></div>
3199            </div>
3200            <div class="stepform__progress-current" id="stepformProgressPercent">0%</div>
3201        </div>
3202
3203        <form id="stepformForm" class="h-adr">
3204            <span class="p-country-name" style="display:none;">Japan</span>
3205            
3206            <!-- STEP 1: 学年カテゴリ選択 -->
3207            <div class="stepform__step stepform__step--active" data-step="1">
3208                
3209                <div class="stepform__question">
3210                    <span class="stepform__required-badge">必須</span>
3211                    <span class="stepform__question-text">ご利用される方の現在の学年は?</span>
3212                </div>
3213
3214                <div class="stepform__card-grid">
3215                    <button type="button" class="stepform__card-button" data-value="小学生">小学生</button>
3216                    <button type="button" class="stepform__card-button" data-value="中学生">中学生</button>
3217                    <button type="button" class="stepform__card-button" data-value="高校生">高校生</button>
3218                    <button type="button" class="stepform__card-button" data-value="大学・専門学生">大学・専門学生</button>
3219                    <button type="button" class="stepform__card-button" data-value="既卒生">既卒生</button>
3220                    <button type="button" class="stepform__card-button" data-value="社会人">社会人</button>
3221                </div>
3222
3223                <div class="stepform__note">
3224                    ※既卒生 / 社会人を選択した場合はSTEP2スキップ
3225                </div>
3226
3227                <div class="stepform__button-group" style="grid-template-columns: 1fr;">
3228                    <button type="button" class="stepform__button--next" id="stepformStep1Next" disabled>次へ ▶&#xFE0E;</button>
3229                </div>
3230            </div>
3231
3232            <!-- STEP 2: 学年詳細選択 -->
3233            <div class="stepform__step" data-step="2">
3234                
3235                <div class="stepform__question">
3236                    <span class="stepform__required-badge">必須</span>
3237                    <span class="stepform__question-text">ご利用される方の現在の学年は?</span>
3238                </div>
3239
3240                <div class="stepform__grade-selection" id="stepformGradeSelection">
3241                    <div class="stepform__card-grid stepform__grade-grid">
3242                        <button type="button" class="stepform__card-button" data-value="1">1年生</button>
3243                        <button type="button" class="stepform__card-button" data-value="2">2年生</button>
3244                        <button type="button" class="stepform__card-button" data-value="3">3年生</button>
3245                        <button type="button" class="stepform__card-button" data-value="4">4年生</button>
3246                        <button type="button" class="stepform__card-button" data-value="5">5年生</button>
3247                        <button type="button" class="stepform__card-button" data-value="6">6年生</button>
3248                    </div>
3249                </div>
3250
3251                <div class="stepform__button-group">
3252                    <button type="button" class="stepform__button--back" onclick="stepformGoToStep(1)">戻る</button>
3253                    <button type="button" class="stepform__button--next" id="stepformStep2Next" disabled>次へ ▶&#xFE0E;</button>
3254                </div>
3255            </div>
3256
3257            <!-- STEP 3: 住所入力 -->
3258            <div class="stepform__step" data-step="3">
3259                
3260                <div class="stepform__question">
3261                    <span class="stepform__required-badge">必須</span>
3262                    <span class="stepform__question-text">ご入力者の住所は?</span>
3263                </div>
3264
3265                <div class="stepform__field">
3266                    <label class="stepform__field-label">郵便番号(※半角数字・ハイフンなし)</label>
3267                    <input type="text" class="stepform__input p-postal-code" id="stepformPostalCode" placeholder="例:1000001" maxlength="7">
3268                    <div class="stepform__field-note">※7桁の郵便番号を入力すると自動で住所が入力されます</div>
3269                </div>
3270
3271                <div class="stepform__field">
3272                    <label class="stepform__field-label">都道府県</label>
3273                    <input type="hidden" class="p-region" id="stepformPrefectureInput">
3274                    <select class="stepform__select" id="stepformAddressPrefecture">
3275                        <option value="">選択してください</option>
3276                        <option value="北海道">北海道</option>
3277                        <option value="青森県">青森県</option>
3278                        <option value="岩手県">岩手県</option>
3279                        <option value="宮城県">宮城県</option>
3280                        <option value="秋田県">秋田県</option>
3281                        <option value="山形県">山形県</option>
3282                        <option value="福島県">福島県</option>
3283                        <option value="茨城県">茨城県</option>
3284                        <option value="栃木県">栃木県</option>
3285                        <option value="群馬県">群馬県</option>
3286                        <option value="埼玉県">埼玉県</option>
3287                        <option value="千葉県">千葉県</option>
3288                        <option value="東京都">東京都</option>
3289                        <option value="神奈川県">神奈川県</option>
3290                        <option value="新潟県">新潟県</option>
3291                        <option value="富山県">富山県</option>
3292                        <option value="石川県">石川県</option>
3293                        <option value="福井県">福井県</option>
3294                        <option value="山梨県">山梨県</option>
3295                        <option value="長野県">長野県</option>
3296                        <option value="岐阜県">岐阜県</option>
3297                        <option value="静岡県">静岡県</option>
3298                        <option value="愛知県">愛知県</option>
3299                        <option value="三重県">三重県</option>
3300                        <option value="滋賀県">滋賀県</option>
3301                        <option value="京都府">京都府</option>
3302                        <option value="大阪府">大阪府</option>
3303                        <option value="兵庫県">兵庫県</option>
3304                        <option value="奈良県">奈良県</option>
3305                        <option value="和歌山県">和歌山県</option>
3306                        <option value="鳥取県">鳥取県</option>
3307                        <option value="島根県">島根県</option>
3308                        <option value="岡山県">岡山県</option>
3309                        <option value="広島県">広島県</option>
3310                        <option value="山口県">山口県</option>
3311                        <option value="徳島県">徳島県</option>
3312                        <option value="香川県">香川県</option>
3313                        <option value="愛媛県">愛媛県</option>
3314                        <option value="高知県">高知県</option>
3315                        <option value="福岡県">福岡県</option>
3316                        <option value="佐賀県">佐賀県</option>
3317                        <option value="長崎県">長崎県</option>
3318                        <option value="熊本県">熊本県</option>
3319                        <option value="大分県">大分県</option>
3320                        <option value="宮崎県">宮崎県</option>
3321                        <option value="鹿児島県">鹿児島県</option>
3322                        <option value="沖縄県">沖縄県</option>
3323                    </select>
3324                </div>
3325
3326                <div class="stepform__field">
3327                    <label class="stepform__field-label">市区町村</label>
3328                    <input type="hidden" class="p-locality" id="stepformCityInput">
3329                    <select class="stepform__select" id="stepformAddressCity" disabled>
3330                        <option value="">選択してください</option>
3331                    </select>
3332                </div>
3333
3334                <div class="stepform__field">
3335                    <label class="stepform__field-label">町名</label>
3336                    <input type="text" class="stepform__input p-street
3336-address" id="stepformAddressStreet" placeholder="例:青葉町">
3337                </div>
3338
3339                <div class="stepform__field">
3340                    <label class="stepform__field-label">番地・建物名・部屋番号</label>
3341                    <input type="text" class="stepform__input p-extended-address" id="stepformAddressBuilding" placeholder="例:青葉マンション101号室">
3342                </div>
3343
3344                <div class="stepform__button-group">
3345                    <button type="button" class="stepform__button--back" id="stepformStep3Back">戻る</button>
3346                    <button type="button" class="stepform__button--next" id="stepformStep3Next" disabled>次へ(残り2ステップ) ▶&#xFE0E;</button>
3347                </div>
3348            </div>
3349
3350            <!-- STEP 4: 氏名入力 -->
3351            <div class="stepform__step" data-step="4">
3352                <div class="stepform__privacy-notice">
3353                    ※個人情報は個人情報保護法に基づき、適切に管理いたします。
3354                </div>
3355                
3356                <div class="stepform__question">
3357                    <span class="stepform__required-badge">必須</span>
3358                    <span class="stepform__question-text">ご入力者のお名前は?</span>
3359                </div>
3360
3361                <div class="stepform__name-fields">
3362                    <div class="stepform__field">
3363                        <label class="stepform__field-label">姓</label>
3364                        <input type="text" class="stepform__input" id="stepformLastName" placeholder="ä¾
3364‹:山田">
3365                    </div>
3366                    <div class="stepform__field">
3367                        <label class="stepform__field-label">名</label>
3368                        <input type="text" class="stepform__input" id="stepformFirstName" placeholder="例:太郎">
3369                    </div>
3370                </div>
3371
3372                <div class="stepform__button-group">
3373                    <button type="button" class="stepform__button--back" onclick="stepformGoToStep(3)">戻る</button>
3374                    <button type="button" class="stepform__button--next" id="stepformStep4Next" disabled>次へ(残り1ステップ) ▶&#xFE0E;</button>
3375                </div>
3376            </div>
3377
3378            <!-- STEP 5: 連絡先入力 -->
3379            <div class="stepform__step" data-step="5">
3380                <div class="stepform__privacy-notice">
3381                    ※個人情報は個人情報保護法に基づき、適切に管理いたします。
3382                </div>
3383                
3384                <div class="stepform__question">
3385                    <span class="stepform__required-badge">必須</span>
3386                    <span class="stepform__question-text">ご入力者の連絡先は?</span>
3387                </div>
3388
3389                <div class="stepform__field">
3390                    <label class="stepform__field-label">メールアドレス</label>
3391                    <input type="email" class="stepform__input" id="stepformEmail" placeholder="ä¾
3391‹:[email protected]">
3392                </div>
3393
3394                <div class="stepform__field">
3395                    <label class="stepform__field-label">電話番号(※半角数字・ハイフンなし)</label>
3396                    <input type="tel" class="stepform__input" id="stepformPhone" placeholder="例:09012345678">
3397                </div>
3398
3399                
3400                <div class="stepform__privacy-agreement">
3401                    <label class="stepform__checkbox-label">
3402                        <input type="checkbox" id="stepformPrivacyAgree">
3403                        <span>「<a href="/privacy/" target="_blank" class="stepform__privacy-link" onclick="event.stopPropagation();">個人情報保護方針</a>」をお読みになり同意された上で、ご送信ください。</span>
3404                    </label>
3405                </div>
3406
3407                <div class="stepform__button-group">
3408                    <button type="button" class="stepform__button--back" onclick="stepformGoToStep(4)">戻る</button>
3409                    <button type="submit" class="stepform__button--submit" id="stepformSubmitButton" disabled>この内容で送信する ▶&#xFE0E;</button>
3410                </div>
3411            </div>
3412
3413            <!-- 完了画面 -->
3414            <div class="stepform__step" data-step="complete">
3415                <div class="stepform__complete-message">
3416                    <h2>資料をご請求いただき、<br>ありがとうございます。</h2>
3417                    <p>ご登録頂きましたメールアドレスにご案内を<br>お送りしておりますのでご確認ください。</p>
3418                    <button type="button" class="stepform__button--next" onclick="stepformCloseComplete()">閉じる</button>
3419                </div>
3420            </div>
3421
3422        </form>
3423    </div>
3424</div>
3425
3426<!-- オートビズ送信用の非表示iframe -->
3427<iframe name="stepform-autobiz-iframe" id="stepformAutobizIframe" style="display:none;"></iframe>
3428<iframe name="stepform-autobiz-iframe-2" id="stepformAutobizIframe2" style="display:none;"></iframe>
3429
3430
3431<script>
3432(function() {
3433    const formContainer = document.getElementById('stepformContainer');
3434    const formHeader = document.getElementById('stepformHeader');
3435    const formData = {};
3436    let currentStep = 1;
3437    let logicalStep = 1;
3438    let totalSteps = 5;
3439    let isInitialLoad = true; // 初回読込フラグ(STEP1が半分表示されるのは初回のみ)
3440    
3441    const progressFill = document.getElementById('stepformProgressFill');
3442    const progressPercent = document.getElementById('stepformProgressPercent');
3443    
3444    // 郵便番号による自動入力中かどうかのフラグ
3445    let isPostalCodeAutoFill = false;
3446    
3447    // スクロール位置を保存する変数
3448    let scrollPosition = 0;
3449    
3450    // スクロール検知用の変数
3451    let scrollTimeout;
3452    let hasScrolled = false;
3453    let lastScrollY = window.pageYOffset || document.documentElement.scrollTop;
3454    let isInputFocused = false; // 入力欄フォーカス中フラグ
3455    let isToggling = false; // フォーム開閉中フラグ
3456    let isStepTransitioning = false; // ステップ遷移中フラグ
3457    let formNeedsReset = false; // 送信完了後リセットフラグ
3458    let isInitialFadeIn = true; // 初回フェードイン中フラグ
3459    
3460    // フォームの開閉
3461    formHeader.addEventListener('click', function() {
3462        console.log('=== ヘッダーがクリックされました ===');
3463        console.log('クリック前のクラス:', formContainer.classList.value);
3464        
3465            
3466        // ★新規追加:fadeinクラスを強制削除★
3467        formContainer.classList.remove('stepform--fadein');
3468        // ★新規追加:フェードイン中フラグも強制オフ★
3469        isInitialFadeIn = false;
3470        
3471        isToggling = true;
3472        
3473        const wasCollapsed = formContainer.classList.contains('stepform--collapsed');
3474        console.log('wasCollapsed:', wasCollapsed);
3475        
3476        if (wasCollapsed && formNeedsReset) {
3477            resetStepForm();
3478            formNeedsReset = false;
3479        }
3480        
3481        formContainer.classList.toggle('stepform--collapsed');
3482        console.log('toggle後のクラス:', formContainer.classList.value);
3483        
3484        // GA4イベント(省略)
3485        
3486        if (window.innerWidth <= 600) {
3487            console.log('SP表示です');
3488            if (formContainer.classList.contains('stepform--collapsed')) {
3489                console.log('→ 閉じる処理を実行');
3490                document.body.classList.remove('stepform-modal-open');
3491                
3492                setTimeout(() => {
3493                    isToggling = false;
3494                    console.log('isToggling = false (閉じる)');
3495                }, 100);
3496            } else {
3497                console.log('→ 開く処理を実行');
3498                const currentScroll = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
3499                scrollPosition = currentScroll;
3500                
3501                document.body.classList.add('stepform-modal-open');
3502                
3503                hasScrolled = false;
3504                lastScrollY = scrollPosition;
3505                clearTimeout(scrollTimeout);
3506                
3507                setTimeout(() => {
3508                    isToggling = false;
3509                    console.log('isToggling = false (開く)');
3510                }, 500);
3511            }
3512        } else {
3513            console.log('PC表示です');
3514            setTimeout(() => {
3515                isToggling = false;
3516                console.log('isToggling = false (PC)');
3517            }, 100);
3518        }
3519        
3520        console.log('=== クリック処理終了 ===');
3521    });
3522
3523
3524    // 完了画面を閉じる関数
3525    window.stepformCloseComplete = function() {
3526        // フォームを折りたたむ
3527        formContainer.classList.add('stepform--collapsed');
3528        
3529        // スマホ表示時はスクロール制御を解除
3530        if (window.innerWidth <= 600) {
3531            document.body.classList.remove('stepform-modal-open');
3532            //document.body.style.top = '';
3533        }
3534        
3535        // 送信完了後なので、次回開いた時にリセットするフラグを立てる
3536        formNeedsReset = true;
3537    };
3538
3539    // フォームをリセットする関数
3540    function resetStepForm() {
3541        // STEP1に戻す
3542        currentStep = 1;
3543        logicalStep = 1;
3544        totalSteps = 5;
3545        isInitialLoad = true;
3546        
3547        // すべてのステップを非表示にしてSTEP1だけ表示
3548        document.querySelectorAll('.stepform__step').forEach(step => {
3549            step.classList.remove('stepform__step--active');
3550            if (parseInt(step.dataset.step) === 1) {
3551                step.classList.add('stepform__step--active');
3552            }
3553        });
3554        
3555        // フォームデータをクリア
3556        Object.keys(formData).forEach(key => delete formData[key]);
3557        
3558        // 入力欄をクリア
3559        document.getElementById('stepformPostalCode').value = '';
3560        document.getElementById('stepformAddressPrefecture').value = '';
3561        document.getElementById('stepformAddressCity').innerHTML = '<option value="">選択してください</option>';
3562        document.getElementById('stepformAddressCity').disabled = true;
3563        document.getElementById('stepformAddressStreet').value = '';
3564        document.getElementById('stepformAddressBuilding').value = '';
3565        document.getElementById('stepformLastName').value = '';
3566        document.getElementById('stepformFirstName').value = '';
3567        document.getElementById('stepformEmail').value = '';
3568        document.getElementById('stepformPhone').value = '';
3569        document.getElementById('stepformPrivacyAgree').checked = false;
3570        
3571        // ボタンの選択状態をクリア
3572        document.querySelectorAll('.stepform__card-button--selected').forEach(btn => {
3573            btn.classList.remove('stepform__card-button--selected');
3574        });
3575        
3576        // ボタンを無効化
3577        document.getElementById('stepformStep1Next').disabled = true;
3578        
3579        // プログレスバーをリセット
3580        updateProgress();
3581        updateFormHeight();
3582    }
3583
3584    function updateProgress() {
3585        const percent = Math.round((logicalStep / totalSteps) * 100);
3586        progressFill.style.width = percent + '%';
3587        progressPercent.textContent = percent + '%';
3588        progressPercent.style.left = percent + '%';
3589        
3590        // 100%の時は右端に揃える(はみ出し防止)
3591        if (percent === 100) {
3592            progressPercent.style.transform = 'translateX(-100%)';
3593        } else if (percent === 0) {
3594            progressPercent.style.transform = 'translateX(0)';
3595        } else {
3596            progressPercent.style.transform = 'translateX(-50%)';
3597        }
3598    }
3599
3600    // フォームの高さを制御する関数(SP用)
3601    function updateFormHeight() {
3602        if (window.innerWidth <= 600) {
3603            // 初回読込時のSTEP1のみ半分の高さ
3604            if (currentStep === 1 && isInitialLoad) {
3605                formContainer.classList.remove('stepform--fullheight');
3606            } else {
3607                // STEP2以降、またはSTEP2から戻ってきたSTEP1は全画面
3608                formContainer.classList.add('stepform--fullheight');
3609            }
3610        }
3611    }
3612
3613    window.stepformGoToStep = function(stepNumber) {
3614        // ステップ遷移中フラグをオン(スクロール検知を無効化)
3615        isStepTransitioning = true;
3616        
3617        // STEP1から他のステップに移動する時、初回フラグをfalseに設定
3618        if (currentStep === 1 && stepNumber !== 1 && isInitialLoad) {
3619            isInitialLoad = false;
3620        }
3621        
3622        document.querySelectorAll('.stepform__step').forEach(step => {
3623            step.classList.remove('stepform__step--active');
3624            if (parseInt(step.dataset.step) === stepNumber) {
3625                step.classList.add('stepform__step--active');
3626            }
3627        });
3628        currentStep = stepNumber;
3629        
3630        // ステップ遷移時にスクロール検知をリセット(重要!)
3631        hasScrolled = false;
3632        lastScrollY = window.pageYOffset || document.documentElement.scrollTop;
3633        
3634        // 論理的なステップ番号を計算
3635        if (['大学・専門学生', '既卒生', '社会人'].includes(formData.gradeCategory)) {
3636            if (stepNumber === 1) logicalStep = 1;
3637            else if (stepNumber === 3) logicalStep = 2;
3638            else if (stepNumber === 4) logicalStep = 3;
3639            else if (stepNumber === 5) logicalStep = 4;
3640        } else {
3641            logicalStep = stepNumber;
3642        }
3643        
3644        updateProgress();
3645        updateFormHeight(); // フォームの高さを更新
3646        document.querySelector('.stepform__body').scrollTop = 0;
3647        
3648        // ステップ遷移完了後、少し待ってからフラグをオフ(重要!)
3649        setTimeout(() => {
3650            isStepTransitioning = false;
3651        }, 400);
3652    };
3653
3654    // STEP 1: 学年カテゴリ選択
3655    document.querySelectorAll('[data-step="1"] .stepform__card-button').forEach(btn => {
3656        btn.addEventListener('click', function() {
3657            document.querySelectorAll('[data-step="1"] .stepform__card-button').forEach(b => b.classList.remove('stepform__card-button--selected'));
3658            this.classList.add('stepform__card-button--selected');
3659            formData.gradeCategory = this.dataset.value;
3660            document.getElementById('stepformStep1Next').disabled = false;
3661            
3662            if (['大学・専門学生', '既卒生', '社会人'].includes(formData.gradeCategory)) {
3663                totalSteps = 4;
3664            } else {
3665                totalSteps = 5;
3666            }
3667            
3668            // 選択後、少し待ってから次のステップへ自動遷移
3669            setTimeout(() => {
3670                if (['大学・専門学生', '既卒生', '社会人'].includes(formData.gradeCategory)) {
3671                    stepformGoToStep(3);
3672                } else {
3673                    updateStep2Grid();
3674                    stepformGoToStep(2);
3675                }
3676            }, 300);
3677        });
3678    });
3679
3680    document.getElementById('stepformStep1Next').addEventListener('click', function() {
3681        if (['大学・専門学生', '既卒生', '社会人'].includes(formData.gradeCategory)) {
3682            stepformGoToStep(3);
3683        } else {
3684            updateStep2Grid();
3685            stepformGoToStep(2);
3686        }
3687    });
3688
3689    // STEP 2: 学年詳細選択
3690    function updateStep2Grid() {
3691        const gradeSelection = document.getElementById('stepformGradeSelection');
3692        const grid = gradeSelection.querySelector('.stepform__card-grid');
3693        
3694        if (formData.gradeCategory === '小学生') {
3695            grid.innerHTML = '';
3696            for (let i = 1; i <= 6; i++) {
3697                const btn = document.createElement('button');
3698                btn.type = 'button';
3699                btn.className = 'stepform__card-button';
3700                btn.dataset.value = i;
3701                btn.textContent = i + '年生';
3702                grid.appendChild(btn);
3703                
3704                btn.addEventListener('click', function() {
3705                    grid.querySelectorAll('.stepform__card-button').forEach(b => b.classList.remove('stepform__card-button--selected'));
3706                    this.classList.add('stepform__card-button--selected');
3707                    formData.gradeDetail = formData.gradeCategory + this.dataset.value + '年生';
3708                    document.getElementById('stepformStep2Next').disabled = false;
3709                    
3710                    // 選択後、少し待ってから次のステップへ自動遷移
3711                    setTimeout(() => {
3712                        stepformGoToStep(3);
3713                    }, 300);
3714                });
3715            }
3716        } else {
3717            grid.innerHTML = '';
3718            for (let i = 1; i <= 3; i++) {
3719                const btn = document.createElement('button');
3720                btn.type = 'button';
3721                btn.className = 'stepform__card-button';
3722                btn.dataset.value = i;
3723                btn.textContent = i + '年生';
3724                grid.appendChild(btn);
3725                
3726                btn.addEventListener('click', function() {
3727                    grid.querySelectorAll('.stepform__card-button').forEach(b => b.classList.remove('stepform__card-button--selected'));
3728                    this.classList.add('stepform__card-button--selected');
3729                    formData.gradeDetail = formData.gradeCategory + this.dataset.value + '年生';
3730                    document.getElementById('stepformStep2Next').disabled = false;
3731                    
3732                    // 選択後、少し待ってから次のステップへ自動遷移
3733                    setTimeout(() => {
3734                        stepformGoToStep(3);
3735                    }, 300);
3736                });
3737            }
3738        }
3739    }
3740
3741    document.getElementById('stepformStep2Next').addEventListener('click', () => stepformGoToStep(3));
3742
3743    // STEP 3: 住所入力
3744    const prefectureInput = document.getElementById('stepformPrefe
3744ctureInput');
3745    const prefectureSelect = document.getElementById('stepformAddressPrefecture');
3746    const cityInput = document.getElementById('stepformCityInput');
3747    const citySelect = document.getElementById('stepformAddressCity');
3748
3749    document.getElementById('stepformPostalCode').addEventListener('input', function() {
3750        this.value = this.value.replace(/[^0-9]/g, '');
3751        
3752        if (this.value.length === 7) {
3753            // 郵便番号による自動入力開始
3754            isPostalCodeAutoFill = true;
3755            
3756            setTimeout(() => {
3757                applyAddressToSelects();
3758                // 自動入力完了後、少し待ってからフラグを下ろす
3759                setTimeout(() => {
3760                    isPostalCodeAutoFill = false;
3761                }, 500);
3762            }, 300);
3763        }
3764    });
3765
3766    function applyAddressToSelects() {
3767        const prefValue = prefectureInput.value;
3768        const cityValue = cityInput.value;
3769        
3770        if (prefValue) {
3771            prefectureSelect.value = prefValue;
3772            prefectureSelect.dispatchEvent(new Event('change'));
3773            
3774            setTimeout(() => {
3775                if (cityValue) {
3776                    let matched = false;
3777                    const options = Array.from(citySelect.options);
3778                    
3779                    for (let option of options) {
3780                        if (option.value && (
3781                            option.value === cityValue || 
3782                            option.value.includes(cityValue) || 
3783                            cityValue.includes(option.value) ||
3784                            option.value.replace('市', '') === cityValue.replace('市', '') ||
3785                            option.value.replace('区', '') === cityValue.replace('区', '')
3786                        )) {
3787                            citySelect.value = option.value;
3788                            matched = true;
3789                            break;
3790                        }
3791                    }
3792                    
3793                    if (!matched && cityValue) {
3794                        citySelect.disabled = false;
3795                        const newOption = document.createElement('option');
3796                        newOption.value = cityValue;
3797                        newOption.textContent = cityValue;
3798                        citySelect.appendChild(newOption);
3799                        citySelect.value = cityValue;
3800                    }
3801                    
3802                    validateStep3Address();
3803                }
3804            }, 200);
3805        }
3806    }
3807
3808    document.getElementById('stepformAddressPrefecture').addEventListener('change', function() {
3809        const city = document.getElementById('stepformAddressCity');
3810        city.innerHTML = '<option value="">選択してください</option>';
3811        city.disabled = true;
3812        
3813        // ユーザーが手動で都道府県を変更した場合のみクリア(郵便番号自動入力中は除外)
3814        if (!isPostalCodeAutoFill) {
3815            document.getElementById('stepformPostalCode').value = '';
3816            document.getElementById('stepformAddressStreet').value = '';
3817            document.getElementById('stepformAddressBuilding').value = '';
3818        }
3819        
3820        // 都道府県が選択されたら市区町村を有効化(手動入力用)
3821        if (this.value) {
3822            city.disabled = false;
3823        }
3824        document.getElementById('stepformStep3Next').disabled = true;
3825    });
3826
3827    document.getElementById('stepformAddressCity').addEventListener('change', validateStep3Address);
3828    document.getElementById('stepformAddressStreet').addEventListener('input', validateStep3Address);
3829    document.getElementById('stepformAddressBuilding').addEventListener('input', validateStep3Address);
3830
3831    function validateStep3Address() {
3832        const prefecture = document.getElementById('stepformAddressPrefecture').value;
3833        const city = document.getElementById('stepformAddressCity').value;
3834        const street = document.getElementById('stepformAddressStreet').value;
3835        const building = document.getElementById('stepformAddressBuilding').value;
3836        const valid = prefecture && city && street && building;
3837        document.getElementById('stepformStep3Next').disabled = !valid;
3838    }
3839
3840    document.getElementById('stepformStep3Next').addEventListener('click', () => stepformGoToStep(4));
3841    
3842    document.getElementById('stepformStep3Back').addEventListener('click', function() {
3843        if (['大学・専門学生', '既卒生', '社会人'].includes(formData.gradeCategory)) {
3844            stepformGoToStep(1);
3845        } else {
3846            stepformGoToStep(2);
3847        }
3848    });
3849
3850    // STEP 4: 氏名入力
3851    function validateStep4() {
3852        const valid = document.getElementById('stepformLastName').value && document.getElementById('stepformFirstName').value;
3853        document.getElementById('stepformStep4Next').disabled = !valid;
3854    }
3855    
3856    document.getElementById('stepformLastName').addEventListener('input', validateStep4);
3857    document.getElementById('stepformFirstName').addEventListener('input', validateStep4);
3858    document.getElementById('stepformStep4Next').addEventListener('click', () => stepformGoToStep(5));
3859
3860    // STEP 5: 連絡先入力
3861    function validateStep5() {
3862        const email = document.getElementById('stepformEmail').value;
3863        const phone = document.getElementById('stepformPhone').value;
3864        const privacy = document.getElementById('stepformPrivacyAgree').checked;
3865        const valid = email && phone.match(/^[0-9]{10,11}$/) && privacy;
3866        document.getElementById('stepformSubmitButton').disabled = !valid;
3867    }
3868    
3869    document.getElementById('stepformEmail').addEventListener('input', validateStep5);
3870    document.getElementById('stepformPhone').addEventListener('input', function() {
3871        this.value = this.value.replace(/[^0-9]/g, '');
3872        validateStep5();
3873    });
3874    document.getElementById('stepformPrivacyAgree').addEventListener('change', validateStep5);
3875
3876    // 入力値をサニタイズする関数
3877    function sanitizeInput(input) {
3878        if (typeof input !== 'string') return '';
3879        return input
3880            .replace(/[<>]/g, '') // HTMLタグを除去
3881            .replace(/['"]/g, '') // クォートを除去
3882            .trim()
3883            .substring(0, 500); // 最大500文字に制限
3884    }
3885
3886    // メールアドレスの検証を強化
3887    function isValidEmail(email) {
3888        const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
3889        return emailRegex.test(email) && email.length <= 254;
3890    }
3891
3892    // 電話番号の検証を強化
3893    function isValidPhone(phone) {
3894        return /^[0-9]{10,11}$/.test(phone);
3895    }
3896
3897    // 郵便番号の検証
3898    function isValidPostalCode(code) {
3899        return /^[0-9]{7}$/.test(code);
3900    }
3901
3902    // 送信
3903    document.getElementById('stepformForm').addEventListener('submit', function(e) {
3904        e.preventDefault();
3905        
3906        // フォームデータを収集してサニタイズ
3907        const rawData = {
3908            postalCode: document.getElementById('stepformPostalCode').value,
3909            addressPrefecture: document.getElementById('stepformAddressPrefecture').value,
3910            addressCity: document.getElementById('stepformAddressCity').value,
3911            addressStreet: document.getElementById('stepformAddressStreet').value,
3912            addressBuilding: document.getElementById('stepformAddressBuilding').value,
3913            lastName: document.getElementById('stepformLastName').value,
3914            firstName: document.getElementById('stepformFirstName').value,
3915            email: document.getElementById('stepformEmail').value,
3916            phone: document.getElementById('stepformPhone').value
3917        };
3918
3919        // 最終検証
3920        if (!isValidEmail(rawData.email)) {
3921            alert('メールアドレスの形式が正しくありません。');
3922            return;
3923        }
3924
3925        if (!isValidPhone(rawData.phone)) {
3926            alert('電話番号は10桁または11桁の数字で入力してください。');
3927            return;
3928        }
3929
3930        if (!isValidPostalCode(rawData.postalCode)) {
3931            alert('郵便番号は7桁の数字で入力してください。');
3932            return;
3933        }
3934
3935        // サニタイズ処理
3936        formData.postalCode = sanitizeInput(rawData.postalCode);
3937        formData.addressPrefecture = sanitizeInput(rawData.addressPrefecture);
3938        formData.addressCity = sanitizeInput(rawData.addressCity);
3939        formData.addressStreet = sanitizeInput(rawData.addressStreet);
3940        formData.addressBuilding = sanitizeInput(rawData.addressBuilding);
3941        formData.lastName = sanitizeInput(rawData.lastName);
3942        formData.firstName = sanitizeInput(rawData.firstName);
3943        formData.email = sanitizeInput(rawData.email);
3944        formData.phone = sanitizeInput(rawData.phone);
3945        
3946        // オートビズ用のフォームを動的に生成して送信
3947        submitToAutoBiz(formData);
3948        
3949        // GA4イベント: フォーム送信完了
3950        if (typeof gtag !== 'undefined') {
3951            gtag('event', 'stepform_submit', {
3952                'event_category': 'stepform_conversion',
3953                'event_label': 'stepform_inquiry',
3954                'form_name': 'resource_download_form',
3955                'grade_category': formData.gradeCategory || 'unknown'
3956            });
3957        }
3958        
3959        // 完了画面を表示
3960        document.querySelector('[data-step="complete"]').classList.add('stepform__step--active');
3961        document.querySelector('[data-step="5"]').classList.remove('stepform__step--active');
3962        updateProgress();
3963        
3964        // 送信完了時はスクロール制御を解除し、スクロール位置を復元
3965        document.body.classList.remove('stepform-modal-open');
3966       /* if (window.innerWidth <= 600) {
3967            document.body.style.top = '';
3968            window.scrollTo(0, scrollPosition);
3969        }*/
3970    });
3971
3972    // オートビズへフォームデータを送信する関数
3973    function submitToAutoBiz(data) {
3974        // 学年カテゴリはそのまま使用
3975        let gradeCategory = data.gradeCategory;
3976        
3977        // 学年詳細から年数を抽出(例: "小学生1年生" → "1年生")
3978        let gradeDetail = '';
3979        if (data.gradeDetail) {
3980            const match = data.gradeDetail.match(/(\d+年生)/);
3981            if (match) {
3982                gradeDetail = match[1];
3983            }
3984        }
3985        
3986        // 住所を2つにまとめる
3987        const prefecture = data.addressPrefecture || '';
3988        const addressDetail = [
3989            data.addressCity || '',
3990            data.addressStreet || '',
3991            data.addressBuilding || ''
3992        ].filter(Boolean).join('');
3993        
3994        
3995        
3996        
3997        // ========================================
3998        // 1. メインフォーム(pid=9)への送信
3999        // ========================================
4000        const form1 = document.createElement('form');
4001        form1.method = 'POST';
4002        form1.action = 'https://76auto.biz/eiken/planmail.php';
4003        form1.enctype = 'multipart/form-data';
4004        form1.style.display = 'none';
4005        form1.target = 'stepform-autobiz-iframe'; // iframe内で送信
4006        
4007        // 必須のhiddenフィールド(すべてサニタイズ済み)
4008        const fields1 = {
4009            'mcode': 'UTF-8',
4010            'pid': '9',
4011            'spflg': '1',
4012            'rgst': 'entry',
4013            'fld1': sanitizeInput(gradeCategory),
4014            'fld2': gradeDetail ? sanitizeInput(gradeDetail) : '',
4015            'fld3': data.postalCode || '',
4016            'fld4': prefecture,
4017            'fld5': addressDetail,
4018            'name1': data.lastName || '',
4019            'long1': data.firstName || '',
4020            'email': data.email || '',
4021            'fld8': data.phone || '',
4022            'long2[]': '英検アカデミーの個人情報保護方針に同意する。'
4023        };
4024        
4025        console.log('pid=9に送信するデータ:', fields1);
4026        
4027        // 各フィールドを追加
4028        for (const [name, value] of Object.entries(fields1)) {
4029            const input = document.createElement('input');
4030            input.type = 'hidden';
4031            input.name = name;
4032            input.value = value;
4033            form1.appendChild(input);
4034        }
4035        
4036        // フォームをDOMに追加して送信
4037        document.body.appendChild(form1);
4038        form1.submit();
4039        
4040        // 送信後、フォーム要素を削除(メモリリーク防止)
4041        setTimeout(() => {
4042            if (form1.parentNode) {
4043                document.body.removeChild(form1);
4044            }
4045        }, 1000);
4046        
4047        // ========================================
4048        // 2. 同時登録先フォーム(pid=2)への送信
4049        // ========================================
4050        setTimeout(() => {
4051            const form2 = document.createElement('form');
4052            form2.method = 'POST';
4053            form2.action = 'https://76auto.biz/eiken/planmail.php';
4054            form2.enctype = 'multipart/form-data';
4055            form2.style.display = 'none';
4056            form2.target = 'stepform-autobiz-iframe-2'; // 別のiframeに送信
4057            
4058            // pid=2用のフィールド(必要なフィールドのみ)
4059            const fields2 = {
4060                'mcode': 'UTF-8',
4061                'pid': '2',
4062                'spflg': '1',
4063                'rgst': 'entry',
4064                'email': data.email || '',
4065                'fld1[]': '英検アカデミーの個人情報保護方針に同意する。'
4066            };
4067            
4068            console.log('pid=2に送信するデータ:', fields2);
4069            
4070            // 各フィールドを追加
4071            for (const [name, value] of Object.entries(fields2)) {
4072                const input = document.createElement('input');
4073                input.type = 'hidden';
4074                input.name = name;
4075                input.value = value;
4076                form2.appendChild(input);
4077            }
4078            
4079            // フォームをDOMに追加して送信
4080            document.body.appendChild(form2);
4081            form2.submit();
4082            
4083            // 送信後、フォーム要素を削除(メモリリーク防止)
4084            setTimeout(() => {
4085                if (form2.parentNode) {
4086                    document.body.removeChild(form2);
4087                }
4088            }, 1000);
4089        }, 500); // 0.5秒遅延させて確実に順番に送信
4090    }
4091
4092    // 初期化処理
4093    updateProgress();
4094    updateFormHeight(); // 初期の高さを設定
4095    
4096    // 3秒後にフェードインで表示(開いた状態)
4097    setTimeout(function() {
4098        formContainer.classList.remove('stepform--hidden');
4099        formContainer.classList.add('stepform--fadein');
4100        
4101        // ★修正:アニメーション完了後に確実にfadeinクラスを削除★
4102        setTimeout(function() {
4103            isInitialFadeIn = false;
4104            formContainer.classList.remove('stepform--fadein');
4105            
4106            // ★デバッグ用:Consoleで確認★
4107            console.log('フェードイン完了。現在のクラス:', formContainer.classList);
4108        }, 1600); // 600ms + 1000ms = 1600ms
4109    }, 3000);
4110    
4111    // すべての入力欄にフォーカス/ブラーイベントを設定
4112    // 入力欄フォーカス中はスクロール検知を無効化
4113    const allInputs = document.querySelectorAll('.stepform__input, .stepform__select, input[type="checkbox"]');
4114    allInputs.forEach(input => {
4115        input.addEventListener('focus', function() {
4116            isInputFocused = true;
4117        });
4118        input.addEventListener('blur', function() {
4119            // ブラー後、少し待ってからフラグを戻す(キーボードが閉じるまでの時間を考慮)
4120            setTimeout(() => {
4121                isInputFocused = false;
4122            }, 500);
4123        });
4124    });
4125    
4126    // スクロール検知:SP版は背景スクロール時にフォームを閉じる
4127    // 50px以上スクロールした場合のみ処理(タップ時の誤検知を防止)
4128    window.addEventListener('scroll', function() {
4129        // 初回フェードイン完了まではスクロール検知しない
4130        if (isInitialFadeIn) {
4131            return;
4132        }
4133        
4134        // フォーム開閉中はスクロール検知しない(最重要!)
4135        if (isToggling) {
4136            return;
4137        }
4138        
4139        // ステップ遷移中はスクロール検知しない(重要!)
4140        if (isStepTransitioning) {
4141            return;
4142        }
4143        
4144        // 入力欄フォーカス中はスクロール検知しない(重要!)
4145        if (isInputFocused) {
4146            return;
4147        }
4148        
4149        // SP表示かつフォームが開いている場合のみ処理
4150        if (window.innerWidth <= 600 && !formContainer.classList.contains('stepform--collapsed')) {
4151            const currentScrollY = window.pageYOffset || document.documentElement.scrollTop;
4152            const scrollDiff = Math.abs(currentScrollY - lastScrollY);
4153            
4154            // スクロール量が50px以上の場合のみ処理(誤検知を防ぐ)
4155            if (!hasScrolled && scrollDiff > 600) {
4156                hasScrolled = true;
4157                lastScrollY = currentScrollY;
4158                
4159                // デバウンス処理(★200ms → 300ms に変更★)
4160                clearTimeout(scrollTimeout);
4161                scrollTimeout = setTimeout(function() {
4162                    // フォームを閉じる
4163                    formContainer.classList.add('stepform--collapsed');
4164                    
4165                    // もし背景スクロールがロックされていたら解除
4166                    if (document.body.classList.contains('stepform-modal-open')) {
4167                        document.body.classList.remove('stepform-modal-open');
4168                        document.body.style.top = '';
4169                        // スクロール検知で閉じる場合は、現在のスクロール位置を保持
4170                        // window.scrollTo()は呼ばない(ユーザーのスクロールをそのまま維持)
4171                    }
4172                }, 300);
4173            }
4174        }
4175    });
4176    
4177    // 画面リサイズ時の処理
4178    window.addEventListener('resize', function() {
4179        if (window.innerWidth > 600) {
4180            // PC表示に戻った場合はクラスを削除
4181            document.body.classList.remove('stepform-modal-open');
4182            document.body.style.top = '';
4183            formContainer.classList.remove('stepform--fullheight');
4184        } else {
4185            // SP表示で開いている場合の高さ調整のみ
4186            // 背景スクロールのロックは手動で開いた時ã
4186®ã¿ãªã®ã§ã€ã“こでは設定しない
4187            if (!formContainer.classList.contains('stepform--collapsed')) {
4188                updateFormHeight();
4189            }
4190        }
4191    });
4192})();
4193</script>
4193
4194
4195    
4195<script id="banner-height-script-js" src="https://eiken-academy.com/wp-content/themes/eiken/js/banner-height.js?ver=1.0"></script>
vendor: 1 bytes, line 4195
4195
4196<script id="global-nav-script-js" src="https://eiken-academy.com/wp-content/themes/eiken/js/global-nav.js?ver=1.0.0"></script>
vendor: 1 bytes, line 4196
4196
4197<script id="nearby-school-js" src="https://eiken-academy.com/wp-content/themes/eiken/assets/js/nearby-school.js?ver=1.0.0"></script>
vendor: 1 bytes, line 4197
4197
4198<script id="yubinbango-js" src="https://yubinbango.github.io/yubinbango/yubinbango.js"></script>
4198
4199
4200<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 4200-4201
4200
4201<script async src="https://www.googletagmanager.com/gtag/js?id=
4201G-HD2QKN3YTR
vendor: 12 bytes, line 4201
4201"></script>
4202<script>
4203  
vendor: 134 bytes, lines 4203-4207
4203window.dataLayer = window.dataLayer || [];
4204  function gtag(){dataLayer.push(arguments);}
4205  gtag('js', new Date());
4206
4207  gtag('config', '
4207G-HD2QKN3YTR
vendor: 4 bytes, line 4207
4207');
4208</script>
4208
4209
4210<script type="text/javascript">
4211
4212/* <![CDATA[ */
4213
4214var google_conversion_id = 874834421;
4215
4216var google_custom_params = window.google_tag_params;
4217
4218var google_remarketing_only = true;
4219
4220/* ]]> */
4221
4222</script>
4222
4223
4224<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
4225
4226</script>
4226
4227
4228<noscript>
4229
4230<div style="display:inline;">
4231
4232<img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/874834421/?value=0&amp;guid=ON&amp;script=0"/>
4233
4234</div>
4235
4236</noscript>
4237
4238
4239
4240
4241
4242</body>
4243</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.