/* LESSONS — AI era: restrained geometric reveal, hand-drawn underline and sparkle. */
.uw-ai-era {background: #fff; color: #0b1726; padding: clamp(40px, 4vw, 60px) 24px; text-align: left;}
.uw-ai-era__inner { max-width: 960px; margin-inline: auto; }
.uw-ai-era__eyebrow { color: #14A896; font-family: Inter, sans-serif; font-size: .85rem; font-weight: 700; letter-spacing: .12em; margin: 0 0 22px; }
.uw-ai-era h2 { color: #0b1726; font-family: "Noto Sans JP", sans-serif; font-weight: 700; line-height: 1.45; margin: 0 0 34px; }
.uw-ai-era__title-lead { display: inline-block; position: relative; isolation: isolate; font-size: clamp(1.5rem, 2.5vw, 2.2rem); margin-bottom: .1em; }
.uw-ai-era__lead-text { position: relative; z-index: 1; }
.uw-ai-era__doodle { position: absolute; z-index: -1; width: 150%; height: 185%; left: -25%; top: -43%; overflow: visible; pointer-events: none; }
.uw-ai-era__doodle .doodle-part { fill: none; stroke: #14a896; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; opacity: 0; transform: scale(.45) rotate(-12deg); transform-origin: center; }
.uw-ai-era__doodle .doodle-dot { fill: #14a896; stroke: none; }
.uw-ai-era.is-in-view .uw-ai-era__doodle .doodle-part { animation: uw-ai-doodle-appear .65s cubic-bezier(.2, 1.4, .45, 1) forwards; animation-delay: calc(.15s + var(--step) * .12s); }
@keyframes uw-ai-doodle-appear { to { opacity: .52; transform: scale(1) rotate(0); } }
.uw-ai-era__title-main { display: block; font-size: clamp(1.6875rem, 3vw, 2.25rem); }
.uw-ai-era__underlined { position: relative; display: inline-block; padding-bottom: .32em; }
.uw-ai-era__draw-line { position: absolute; left: 1%; bottom: -.08em; width: 98%; height: clamp(12px, 2vw, 25px); overflow: visible; }
.uw-ai-era__draw-line path { fill: none; stroke: #14a896; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; stroke-dasharray: 700; stroke-dashoffset: 700; }
.uw-ai-era.is-in-view .uw-ai-era__draw-line path { animation: uw-ai-line-draw 1.45s 1.05s ease-out forwards; }
@keyframes uw-ai-line-draw { to { stroke-dashoffset: 0; } }
.uw-ai-era__spark { position: absolute; width: clamp(34px, 4.5vw, 62px); height: auto; right: clamp(-56px, -4.2vw, -25px); bottom: -.26em; color: #14a896; opacity: 0; transform: scale(.35) rotate(-18deg); transform-origin: center; pointer-events: none; }
.uw-ai-era.is-in-view .uw-ai-era__spark { animation: uw-ai-spark-pop .48s 2.65s cubic-bezier(.2, 1.6, .45, 1) forwards; }
@keyframes uw-ai-spark-pop { to { opacity: 1; transform: scale(1) rotate(0deg); } }
.uw-ai-era__copy { max-width: 760px; margin-inline: 0; font-family: "Noto Sans JP", sans-serif; font-size: clamp(.95rem, 1.2vw, 1.05rem); line-height: 1.95; }
.uw-ai-era__copy p { margin: 0 0 12px; }
.uw-ai-era__copy .uw-ai-era__message { font-weight: 700; margin-top: 22px; }
.uw-ai-era__copy p:last-child { margin-bottom: 0; }
.uw-ai-era__pc-break { display: inline; }
.uw-ai-era__sp-break { display: none; }
.uw-ai-era__brand { white-space: nowrap;}
@media (max-width: 640px) {
  .uw-ai-era { padding: 44px 20px; }
  .uw-ai-era__eyebrow { margin-bottom: 18px; }
  .uw-ai-era h2 { margin-bottom: 27px; }
  .uw-ai-era__title-lead { font-size: clamp(1.4rem, 6vw, 1.7rem); }
  .uw-ai-era__title-main { font-size: clamp(1.45rem, 6vw, 1.6875rem); }
  .uw-ai-era__doodle { width: 130%; left: -15%; }
  .uw-ai-era__copy { width: 100%; max-width: 560px; line-height: 1.85; }
  .uw-ai-era__spark { display: none; }
  .uw-ai-era__pc-break { display: none; }
  .uw-ai-era__sp-break { display: inline; }
}
@media (prefers-reduced-motion: reduce) {
  .uw-ai-era__doodle .doodle-part { opacity: .52; transform: none; }
  .uw-ai-era.is-in-view .uw-ai-era__doodle .doodle-part { animation: none; }
  .uw-ai-era__draw-line path { stroke-dashoffset: 0; }
  .uw-ai-era.is-in-view .uw-ai-era__draw-line path { animation: none; }
  .uw-ai-era__spark { opacity: 1; transform: none; }
  .uw-ai-era.is-in-view .uw-ai-era__spark { animation: none; }
}
