/* 2026-09-15 ゴシック見出し版（styles.css の後に読み込む上書き用）
   参考: freelance-gakkou.com の型（太いゴシック見出し・詰めた字間・行ごとの字下げと色・● 付きキッカー・英字帯・Montserratの数字）
   フォント: 見出し Zen Kaku Gothic New（body.maru で Zen Maru Gothic に切替）／英字・数字 Montserrat／本文は従来どおりシステムゴシック */
:root{--head:"Zen Kaku Gothic New","Hiragino Sans","Noto Sans JP",sans-serif;--num:"Montserrat","Hiragino Sans",sans-serif}
body.maru{--head:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Noto Sans JP",sans-serif}
h1,h2,h3,h4{font-family:var(--head);font-weight:700;letter-spacing:-.03em}
/* ---- ヒーロー: 3行を字下げ＋色で段差 ---- */
.hero h1{font:900 clamp(42px,5.4vw,70px)/1.22 var(--head);letter-spacing:-.045em;margin:0 0 28px}
.hero h1 span{display:block}
.hero h1 .l2{padding-left:.55em}
.hero h1 .l3{padding-left:1.1em;color:var(--blue)}
.hero h1 em{color:var(--orange)}
.hero h1 em:after{display:none}
.hero-sub{font-family:var(--head);font-weight:700;font-size:18px;letter-spacing:-.01em}
.eyebrow,.section-kicker,.fig-label{font-family:var(--num);font-weight:700;letter-spacing:.16em}
.section-kicker::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--blue);margin:0 10px 3px 0;vertical-align:middle}
/* ---- 見出し ---- */
.article-section h2,.offer-intro h2,.author-section h2,.faq h2,.offer-ended h2{font:800 clamp(27px,3vw,36px)/1.45 var(--head);letter-spacing:-.035em;margin-bottom:28px}
.offer-intro h2{font-size:clamp(30px,3.2vw,40px)}
.author-section h2{font-size:26px}
.faq h2{font-size:28px}
.references h2{font:700 16px var(--head);letter-spacing:0}
.study-figure h3{font-weight:700;letter-spacing:-.03em}
.audio-demo h3{font:700 26px/1.55 var(--head);letter-spacing:-.03em}
.free-range h3{font-weight:700}
.free-range h3 b{font:800 34px var(--num);letter-spacing:-.03em}
.sale-price{font:800 100px/1.1 var(--num);letter-spacing:-.05em}
.sale-price>span{font:700 24px var(--head);letter-spacing:0}
.old-price{font-family:var(--num)}
.site-footer p{font:500 15px var(--sans)}
.button{font-weight:700;border-radius:5px}
/* ---- 英字帯（ヒーロー直下）: 1語ずつディゾルブで入れ替わる（CSSのみ・JS無し/動き減らす設定では最初の語を静止表示） ---- */
.stripe{position:relative;margin:6px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f1eee4;overflow:hidden;font-size:clamp(30px,4.9vw,72px);height:calc(1em + 52px)}
.stripe .w{position:absolute;top:26px;left:max(40px,calc((100% - 1280px)/2 + 40px));display:flex;align-items:baseline;gap:.42em;opacity:0;white-space:nowrap}
.stripe .w b{font:800 1em/1 var(--num);letter-spacing:-.02em;color:var(--blue)}
.stripe .w small{font:700 clamp(12px,1.1vw,15px)/1 var(--head);letter-spacing:.12em;color:var(--muted)}
.stripe .w:first-child{opacity:1}
.motion-ready .stripe .w{opacity:0;animation:stripe-word 12s linear infinite}
.motion-ready .stripe .w:nth-child(2){animation-delay:3s}
.motion-ready .stripe .w:nth-child(3){animation-delay:6s}
.motion-ready .stripe .w:nth-child(4){animation-delay:9s}
@keyframes stripe-word{0%{opacity:0;transform:translateY(6px)}6%{opacity:1;transform:none}22%{opacity:1;transform:none}28%{opacity:0;transform:translateY(-6px)}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.motion-ready .stripe .w{animation:none}.motion-ready .stripe .w:first-child{opacity:1}}
@media(min-width:1450px){.hero h1{font-size:76px}}
@media(min-width:761px) and (max-width:1000px){.hero h1{font-size:clamp(36px,4.6vw,48px)}}
@media(max-width:760px){
  .hero h1{font-size:clamp(34px,9.6vw,60px);line-height:1.28;letter-spacing:-.04em;margin-bottom:22px}
  .hero h1 span{display:inline}.hero h1 .l1{display:block}.hero h1 .l2,.hero h1 .l3{padding-left:0}
  .article-section h2{font-size:25px;line-height:1.5;margin-bottom:24px}
  .offer-intro h2{font-size:29px}.author-section h2{font-size:24px}.faq h2{font-size:25px}
  .study-figure h3{font-size:22px}.audio-demo h3{font-size:22px}
  .stripe{height:calc(1em + 30px)}.stripe .w{top:15px;left:20px;gap:.35em}
}
@media(max-width:380px){.hero h1 .l3{display:block}}
@media print{.stripe{display:none}}

/* 明朝(Georgia/--serif)の残りを統一: 数字→Montserrat、見出し/本文→ゴシック */
.exam-dates b,.big-number,.feature-mini b,.daily-rhythm b,.free-range h3 b,.sale-price,.facts-strip strong{font-family:var(--num)}
.hero h1,.article-section h2,.offer-intro h2,.author-section h2,.faq h2,.offer-ended h2,.commute-banner p,.cycle i,.cycle-icon,.audio-demo h3,.answer-content h4,.word-card h4,.site-footer p{font-family:var(--head)}

/* ---- 学習サイクル図: リロード矢印をSVGで中央に、アイコンを順番に「ぷるっ」 ---- */
.cycle-icon{line-height:1}
.cycle-icon-svg svg{width:58%;height:58%;display:block}
.motion-ready .study-figure.is-visible .cycle-icon{animation:cycle-jiggle 4.4s ease-in-out infinite;transform-origin:50% 60%}
.motion-ready .study-figure.is-visible .cycle>div:nth-of-type(1) .cycle-icon{animation-delay:.9s}
.motion-ready .study-figure.is-visible .cycle>div:nth-of-type(2) .cycle-icon{animation-delay:1.8s}
.motion-ready .study-figure.is-visible .cycle>div:nth-of-type(3) .cycle-icon{animation-delay:2.7s}
.motion-ready .study-figure.is-visible .cycle>div:nth-of-type(4) .cycle-icon{animation-delay:3.6s}
@keyframes cycle-jiggle{0%,18%,100%{transform:none;box-shadow:0 0 0 0 rgba(82,126,153,0)}
  3%{transform:scale(1.14) rotate(-7deg)}6%{transform:scale(1.1) rotate(7deg)}9%{transform:scale(1.12) rotate(-4deg);box-shadow:0 0 0 7px rgba(82,126,153,.16)}12%{transform:scale(1.04) rotate(2deg)}15%{transform:none}}
.motion-ready .study-figure.is-visible .cycle>div:nth-of-type(even) .cycle-icon{animation-name:cycle-jiggle-o}
@keyframes cycle-jiggle-o{0%,18%,100%{transform:none;box-shadow:0 0 0 0 rgba(189,83,55,0)}
  3%{transform:scale(1.14) rotate(-7deg)}6%{transform:scale(1.1) rotate(7deg)}9%{transform:scale(1.12) rotate(-4deg);box-shadow:0 0 0 7px rgba(189,83,55,.16)}12%{transform:scale(1.04) rotate(2deg)}15%{transform:none}}

/* 図の枠下のブランド表記は視覚ノイズのため撤去（マークアップも削除済み。念のため） */
.figure-brand{display:none}

/* ---- 英語サブ見出し（キッカー）を大きく: 番号は太く大きく、英語は読める大きさで ---- */
.section-kicker{display:flex;align-items:center;gap:.55em;font-size:clamp(16px,1.35vw,20px);letter-spacing:.14em;line-height:1.2;margin-bottom:20px;color:var(--blue)}
.section-kicker::before{width:9px;height:9px;margin:0}
.section-kicker b{font:800 1.6em/1 var(--num);letter-spacing:-.02em;color:var(--ink)}
.section-kicker i{font-style:normal;color:#9db4c0;font-weight:600}
.offer-intro .section-kicker,.offer-ended .section-kicker{justify-content:center}
.author-section .section-kicker{font-size:13px}
.eyebrow{font-size:13px;letter-spacing:.16em}
.fig-label{font-size:12px;letter-spacing:.16em}
@media(max-width:760px){.section-kicker{font-size:14px;margin-bottom:16px;gap:.5em}.section-kicker b{font-size:1.5em}.eyebrow{font-size:11px}.fig-label{font-size:11px}}

/* ---- 図の枠内ラベル（fig-label）も読める大きさに。元CSSの「図内8px」より強い指定で上書き ---- */
.fig-label,.study-figure .fig-label,.commute-banner .fig-label,.demo-heading .fig-label,.figure-07 .fig-label{font-size:clamp(14px,1.15vw,17px);letter-spacing:.14em;line-height:1.3;font-weight:700}
.study-figure .fig-label{margin-bottom:16px}
.fig-label::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;margin:0 9px 3px 0;vertical-align:middle}
@media(max-width:760px){.fig-label,.study-figure .fig-label,.commute-banner .fig-label,.demo-heading .fig-label,.figure-07 .fig-label{font-size:13px;letter-spacing:.12em}.study-figure .fig-label{margin-bottom:12px}}

/* ---- figure-01: 左にカード画面のiPhone、右に4ステップを縦並び（点線で連結） ---- */
.cycle-layout{display:grid;grid-template-columns:270px 1fr;gap:20px 48px;align-items:center;padding:6px 0 10px}
.cycle-phone{width:250px;margin:6px auto;transform:rotate(-4deg);box-shadow:0 30px 40px -24px #152a3766,0 0 0 1px #8b969b}
.cycle{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;padding:0;position:relative}
.cycle:before{content:"";position:absolute;left:34px;top:44px;bottom:44px;border-left:2px dashed #c3cfd3}
.cycle>b{display:none}
.cycle>div{display:grid;grid-template-columns:70px 1fr;grid-template-rows:auto auto auto;column-gap:22px;align-items:center;text-align:left;padding:8px 0;position:relative;z-index:1}
.cycle i{position:static;grid-area:1/2/2/3;font:italic 700 14px var(--num);letter-spacing:.06em;line-height:1}
.cycle .cycle-icon{grid-area:1/1/4/2;margin:0;width:70px;height:70px;box-shadow:0 0 0 6px #f0f0e7}
.cycle h4{grid-area:2/2/3/3;margin:2px 0 0;font-size:20px;line-height:1.3}
.cycle p{grid-area:3/2/4/3;font-size:13px;line-height:1.7;margin:2px 0 0}
.cycle p br{display:none}
/* ---- figure-06: iPhoneを主役に（列幅を写真側へ、影を強く） ---- */
.app-figure-layout{grid-template-columns:.62fr 1.6fr;gap:16px 30px}
.paired-phones{padding:6px 0 18px;gap:22px}
.paired-phones .phone{width:calc(50% - 11px);border-width:5px;border-radius:34px;box-shadow:0 34px 48px -26px #152a3780,0 0 0 1px #8b969b}
.paired-phones img{border-radius:28px}
.paired-phones .phone:nth-child(2){transform:translateY(26px)}
@media(max-width:1000px){.cycle-layout{grid-template-columns:230px 1fr;gap:16px 30px}.cycle-phone{width:215px}.app-figure-layout{grid-template-columns:.7fr 1.4fr}}
@media(max-width:760px){
  .cycle-layout{grid-template-columns:1fr;gap:10px}.cycle-phone{width:200px;margin:4px auto 14px;transform:rotate(-3deg)}
  .cycle{display:flex;flex-direction:column;gap:4px}.cycle:before{left:27px;top:36px;bottom:36px}
  .cycle>div{grid-template-columns:56px 1fr;column-gap:16px;padding:7px 0}.cycle>div:nth-of-type(3){grid-column:auto}
  .cycle .cycle-icon{width:56px;height:56px;margin:0;font-size:29px}.cycle i{font-size:12px}.cycle h4{font-size:18px}.cycle p{font-size:12px}
  .app-figure-layout{grid-template-columns:1fr}.paired-phones{max-width:none;gap:16px;padding:6px 2px 22px}.paired-phones .phone{width:calc(50% - 8px);border-width:4px;border-radius:28px}.paired-phones img{border-radius:23px}
}
