@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Noto+Sans+JP:wght@400;500;700&display=swap");

@font-face {
  font-family: "Caveat";
  src: url("../../fonts/caveat.ttf") format("truetype");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}

:root {
  --body-line-height: 1.6;
  --font-en: "Inter", Arial, sans-serif;
  --font-ja: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  --font-script: "Caveat", cursive;
  --navy: #0b2343;
  --mint: #a7dfcb;
  --green: #14a896;
  --pale: #f3faf7;
  --sky: #e9f5fa;
  --ink: #24334a;
  --muted: #657385;
  --color-text: var(--color-navy);
  --color-navy: #0B1726;
  --color-important-notice: #9A4855;
  
  --accent-on-navy: #83D9D0;
  --accent-on-light: #14A896;
  --surface-card-subtle: #FAFAFC;
  --text-on-navy: #FFFFFF;
  --text-on-light: var(--color-navy);
  --text-secondary-on-light: #475467;
  --body-readable-size: 18px;
  --body-readable-color: var(--color-navy);
  --note-readable-size: 16px;
  /* Shared spacing scale: adjust at source, not via late overrides */
  --space-text-tight: 12px;
  --space-text-normal: 16px;
  --space-section-heading: 52px;
  --space-purpose-intro: 44px;
  --space-card-gap: 18px;
  --space-plans-grid-top: 48px;
  --space-plans-grid-top-mobile: 32px;
  --space-salon-heading-bottom: 28px;
  --space-mobile-heading: 40px;
  --space-mobile-purpose-intro: 36px;
  --color-white: #FFFFFF;
  --color-warm-white: #FAFAF8;
  --color-dot: #C5CDD3;
  --line: #d9e7e7;
  --width: 1160px;
  --radius: 22px;

  /* LESSON PLANS: edit colors here; layout remains unchanged */
  --plans-soft-bg: #f5f8f8;
  --plans-eyebrow: #128b83;
  --plans-card-border: #dfe7e7;
  --plans-card-bg: var(--color-white);
  --plans-card-copy: var(--color-text);
  --plans-featured-border: var(--color-learning);
  --plans-link: #0b7774;
  --plans-price: var(--color-navy);

  --offer-bg: #F9FAFB;
  --offer-text: var(--color-navy);
  --offer-eyebrow: #9B681F;
  --offer-heading: var(--offer-eyebrow);
  --offer-price: var(--color-navy);
  --offer-notice: var(--color-navy);

  --color-trial: #087EA4;
  --color-trial-hover: #159FBE;
  --color-trial-hover-text: var(--color-navy);
  --color-learning: var(--green);
  --color-learning-hover: #108778;
  --color-course-cta: var(--color-text);
  --color-course-cta-hover: #17324D;
  --color-offer-cta: #9B681F;
  --color-offer-cta-hover: #795017;
  --action-radius: 5px;
  --link-underline: var(--color-navy);
  --link-underline-hover: var(--color-trial);
  --hover-duration: .25s;
}
*,*::before,*::after {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:84px
}
body {margin: 0; color: var(--body-readable-color); font-size:var(--body-readable-size); font-family: var(--font-ja); line-height: var(--body-line-height); background: white; width: 100%; max-width: 1660px; margin-inline: auto; border-inline: 1px solid #e5e8eb; }
img {
  max-width:100%;
  height:auto;
  display:block
}
a {
  color:inherit;
  text-decoration:none
}
button {
  font:inherit
}
h1,h2,h3,p {
  margin-top:0
}
h1,h2,h3 {
  line-height:1.45
}
h2 {
  font-size:clamp(1.55rem,3.1vw,2.8rem);
  letter-spacing:.03em
}
h3 {
  font-size:1.16rem
}
/* Shared paragraph default. Page-specific paragraph rules may override
   this directly; setting color only on a parent will not override p. */
p {
  color:var(--color-text)
}
.container {
  width:min(var(--width),calc(100% - 48px));
  margin-inline:auto
}
.section {
  padding:clamp(76px,10vw,148px) 0
}
.eyebrow {
  font-size:16px;
  font-weight:800;
  letter-spacing:.22em;
  color:var(--green);
  text-transform:uppercase
}
.small {
  font-size:.88rem
}
.center {
  text-align:center
}
.center p {
  margin-inline:auto
}
.lead {
  font-size:clamp(1rem,1.5vw,1.15rem);
  max-width:670px
}
.site-header {
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid #e8eeee;
  backdrop-filter:blur(14px)
}

.brand {
  display:block;
  width:222px;
  flex-shrink:0
}
.brand img {
  width:100%
}
.nav {
  display:flex;
  gap:24px;
  align-items:center;
  margin-left:auto
}
.nav a {
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.06em;
  transition:color .2s
}
.nav a:hover,.nav a[aria-current="page"] {
  color:var(--green)
}
.nav a span {
  display:block;
  font-size:.59rem;
  font-weight:500;
  color:#839199
}
.header-cta,.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  border-radius:999px;
  background:var(--green);
  color:white;
  font-size:.84rem;
  font-weight:800;
  padding:13px 24px;
  border:1px solid var(--green);
  transition:background-color var(--hover-duration) ease,box-shadow var(--hover-duration) ease
}
.header-cta {
  border-radius:0;
  padding:25px 18px;
  white-space:nowrap
}
.btn:hover,.header-cta:hover {
  background:#087d73;
  box-shadow:none
}
.btn-outline {
  background:transparent;
  color:var(--navy);
  border-color:var(--navy)
}
.btn-outline:hover {
  color:white;
  background:var(--navy)
}
.menu-toggle {
  display:none;
  background:transparent;
  border:0;
  color:var(--navy);
  font-size:1.4rem;
  cursor:pointer
}

.intro-band {
  margin-top:24px;
  padding:28px 32px;
  background:#f8fcfb;
  border-radius:var(--radius);
  display:flex;
  gap:24px;
  justify-content:space-between;
  align-items:center
}
.intro-band p {
  max-width:720px;
  margin:0
}
.intro-band strong {
  font-size:1.12rem
}
.overlap-heading {
  position:relative;
  text-align:left;
  padding-top:44px;
  margin-bottom:var(--space-section-heading)
}
.overlap-heading__en {
  font-family:var(--font-en);
  font-weight:800;
  letter-spacing:-.065em;
  line-height:1;
  white-space:nowrap;
  font-size:clamp(3.5rem,8vw,8.2rem);
  color:var(--mint);
  opacity:.94
}
.overlap-heading__ja {
  position:relative;
  font-size:clamp(1.6875rem,3vw,2.25rem);
  font-weight:700;
  letter-spacing:.015em;
  margin-top:-.36em;
  color:var(--navy);
  line-height:1.55
}
.overlap-heading__desc{
  font-size:var(--body-readable-size);
  line-height:var(--body-line-height);
  margin:20px 0 0;
  max-width:700px;
  color:var(--body-readable-color);
}
.grid {
  display:grid;
  gap:24px
}

.feature-card {
  padding:32px 28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:white;
  transition:transform .25s,box-shadow .25s,border-color .25s
}
.feature-card:hover {
  transform:translateY(-5px);
  box-shadow:0 18px 35px #0b234311;
  border-color:var(--mint)
}
.feature-card h3 {
  margin:15px 0 12px
}
.feature-card p {
  font-size:.9rem;
  margin:0
}
.section-soft {
  background:var(--pale)
}
#guide.section {
  background:var(--color-white);
  padding:clamp(56px,6vw,88px) 0 clamp(68px,7vw,100px)
}

.split {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:clamp(36px,6vw,96px)
}
.split img {
  width:100%;
  border-radius:var(--radius);
  aspect-ratio:1.28;
  object-fit:cover
}
#sound .visual img {
  aspect-ratio:1;
  border-radius:50%;
  object-fit:cover
}
.split p {
  max-width:540px
}

.site-footer {
  background:var(--color-navy);
  color:white;
  padding:50px 0 28px
}
.footer-top {
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center
}
.footer-logo {
  width:min(360px,100%)
}
.footer-links {
  display:flex;
  flex-wrap:wrap;
  gap:20px
}
.footer-links a {
  font-size:.8rem;
  color:#d8e1e8
}
.footer-bottom {
  margin-top:28px;
  padding-top:18px;
  color:#9daebc;
  font-size:.75rem
}

.lessons-hero {
  position:relative;
  display:flex;
  align-items:center;
  min-height:min(760px,88svh);
  padding:56px 0;
  overflow:hidden;
  background:linear-gradient(125deg,#F7FCFF 0%,#EAF4FB 45%,#C7E9EE 78%,#A6E4DF 100%);
  color:var(--color-navy);
}
/* LESSONS：メインビジュアルの写真 */
.lessons-hero__photo {
  position: absolute;
  inset: 0 auto 0 0;
  width: 60%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
}
.lessons-hero__curve {
  position:absolute;
  inset:0 0 0 auto;
  width:70%;
  height:100%;
  pointer-events:none;
}
.lessons-hero__inner {
  position:relative;
  z-index:1;
  width:100%;
  display:flex;
  justify-content:flex-end;
}
.lessons-hero__copy {
  position:relative;
  isolation:isolate;
  width:40%;
  min-width:0;
}
/* 淡い円とドット：画像ではなくCSS装飾 */
/* Complex Circles：円の重なりはSVG背景に統合。文字周辺は明るく保つ。 */
.lessons-hero__decor {
  display:none;
}
.lessons-hero__highlight { color:#14A896; }
.lessons-hero__eyebrow {
  margin:0 0 14px;
  font-size:1rem;
  font-weight:800;
  color:#14A896;
  letter-spacing:.12em;
}
.lessons-hero__english {
  margin:0 0 26px;
  font-size:1rem;
  font-weight:600;
  color:var(--color-navy);
}
.lessons-hero h1 {
  margin:0 0 24px;
  color:var(--color-navy);
  font-size:clamp(2.4rem,3.5vw,4rem);
  line-height:1.35;
  letter-spacing:.02em;
}
.lessons-hero__description {
  margin:0;
  color:var(--color-navy);
  font-size:clamp(.88rem,1vw,1.08rem);
  line-height:1.85;
}
.lessons-hero__features {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:22px;
  text-align:center;
}
.lessons-hero__feature {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  min-width:0;
  color:var(--color-navy);
  font-size:clamp(.72rem,.75vw,.88rem);
  line-height:1.5;
}
.lessons-hero__feature-icon {
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:50%;
  background:#fff;
}
.lessons-hero__feature-icon svg { width:30px; height:30px; }
.lessons-hero__feature strong { font-family:Inter,sans-serif; font-size:clamp(.75rem,.85vw,.95rem); letter-spacing:.05em; }
.lessons-hero__button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  padding:13px 18px 13px 26px;
  border-radius:4px;
  background:#14A896;
  color:var(--color-white);
  font-weight:700;
  text-decoration:none;
  transition:background-color .2s ease;
}
.lessons-hero__button::after {
  content:"";
  display:block;
  width:25px;
  height:25px;
  flex:0 0 25px;
  border-radius:50%;
  background-color:var(--color-white);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 6 6 6-6 6' fill='none' stroke='%230B1726' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position:center;
  background-repeat:no-repeat;
  background-size:16px 16px;
}
.lessons-hero__button:hover,
.lessons-hero__button:focus-visible {
  background:var(--color-white);
  color:var(--color-navy);
  box-shadow:inset 0 0 0 1px var(--color-navy);
}
.lessons-hero__button:hover::after,
.lessons-hero__button:focus-visible::after {
  background-color:#14A896;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 6 6 6-6 6' fill='none' stroke='%23FFFFFF' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.lessons-hero__button:focus-visible {
  outline:2px solid var(--color-white);
  outline-offset:3px;
}
#sound.section {
  padding-top:84px;
}
@media (max-width:800px) {
  .lessons-hero {
    display:block;
    min-height:0;
    padding:0;
    background:
      radial-gradient(circle at 110% 76%, rgba(20,168,150,.13) 0 25%, transparent 25.3%),
      radial-gradient(circle at 88% 108%, rgba(103,194,235,.15) 0 32%, transparent 32.3%),
      linear-gradient(125deg,#F7FCFF 0%,#EAF4FB 55%,#C7E9EE 100%);
  }
  .lessons-hero__photo {
    position:relative;
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:16 / 10;
    object-fit:cover;
    object-position:center 45%;
    inset:auto;
  }
  .lessons-hero__curve {
    display:none;
  }
  .lessons-hero__inner {
    box-sizing:border-box;
    padding-top:26px;
    padding-bottom:34px;
    justify-content:flex-start;
  }
  .lessons-hero__copy {
    width:100%;
  }
  .lessons-hero__english {
    font-size:.9rem;
    margin-bottom:18px;
  }
  .lessons-hero h1 {
    font-size:clamp(2rem,8vw,3rem);
    margin-bottom:20px;
  }
  .lessons-hero__description {
    font-size:1rem;
    margin-bottom:0;
   }
  .lessons-hero__features { gap:8px; margin-top:24px; }
  .lessons-hero__feature { font-size:.73rem; }
  .lessons-hero__feature strong { font-size:.74rem; }
  .lessons-hero__feature-icon { width:50px; height:50px; }
}

.reveal {
  opacity:0;
  transform:translateY(18px);
  transition:opacity .6s,transform .6s
}
.reveal.is-visible {
  opacity:1;
  transform:none
}
.skip-link {
  position:absolute;
  top:-100px;
  left:12px;
  background:white;
  padding:10px;
  z-index:100
}
.skip-link:focus {
  top:12px
}
@media(max-width:900px) {
  .nav {
    gap:12px
  }
  .nav a {
    font-size:.65rem
  }
  .brand {
    width:180px
  }

  .header-cta {
    padding:25px 12px
  }

  .split {
    gap:30px
  }
}
@media(max-width:700px) {
  .container {
    width:min(100% - 36px,var(--width))
  }

  .brand {
    width:190px
  }
  .menu-toggle {
    display:block;
    margin-left:auto
  }
  .header-cta {
    display:none
  }
  .nav {
    position:absolute;
    top:68px;
    left:0;
    right:0;
    background:white;
    display:none;
    flex-direction:column;
    align-items:stretch;
    padding:20px 26px 30px;
    border-bottom:1px solid var(--line);
    box-shadow:0 16px 24px #0b234313
  }
  .nav.is-open {
    display:flex
  }
  .nav a {
    font-size:.95rem
  }
  .nav a span {
    font-size:.7rem
  }

.intro-band {
    display:block;
    padding:24px
  }
  .intro-band strong {
    display:block;
    margin-bottom:12px
  }
  .section {
    padding:75px 0
  }
  .overlap-heading {
    padding-top:18px;
    margin-bottom:var(--space-mobile-heading)
  }
  #guide.section {
    padding:52px 0 68px
  }
  #guide .uw-purpose__intro {
    padding-top:12px;
    margin-bottom:36px;
    text-align:center
  }
  .overlap-heading__en {
    font-size:clamp(2.3rem,10.4vw,4.7rem)
  }
  .overlap-heading__ja {
    font-size:clamp(1.4375rem,5.2vw,1.6875rem);
    margin-top:-.25em
  }
  .grid-3,.grid-4,.split,.photo-grid,.lessons-hero .split {
    grid-template-columns:1fr
  }
  .grid {
    gap:15px
  }
  .split img {
    aspect-ratio:1.45
  }
  .split .copy {
    order:0
  }
  .split .visual {
    order:1
  }

.footer-top {
    display:block
  }
  .footer-links {
    margin-top:28px
  }
  #sound.section {
    padding-top:64px
  }
  .lessons-hero {
    padding:0;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  .reveal {
    opacity:1;
    transform:none;
    transition:none
  }
  *,*::before,*::after {
    animation-duration:.01ms;
    transition-duration:.01ms
  }
}

.uw-plans-intro { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); align-items: center; gap: clamp(24px, 4vw, 60px); margin: 0 0 40px; }
.uw-plans-intro__copy { color:var(--body-readable-color); font-size:var(--body-readable-size); line-height: 1.6; }
.uw-plans-intro__copy p { margin: 0 0 14px; }
.uw-plans-intro__lead { color: var(--color-navy); font-weight: 700; font-size: clamp(17px, 2vw, 23px); line-height: 1.65; }
.uw-plans-intro__payment { font-weight: 700; color: #142a40; }
.uw-plans-intro__visual { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 26px 16px; border-radius: 24px; background: var(--color-white); }
.uw-plans-intro__visual-item { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; color: #142a40; font-size: 16px; font-weight: 700; line-height: 1.6; }
.uw-plans-intro__visual-item img { display: block; width: 64px; max-width: 100%; height: 64px; object-fit: contain; }
@media (max-width: 760px) { .uw-plans-intro { grid-template-columns: 1fr; gap: 24px; } .uw-plans-intro__visual { padding: 18px 10px; } .uw-plans-intro__visual-item img { width: 54px; height: 54px; } }
.renewal-pricing { background: var(--color-white); padding-top: clamp(36px, 4.5vw, 64px); }
.uw-price-summary__heading { margin-bottom: 26px; }
.uw-price-summary__eyebrow { color: #078a70; font-size:16px; font-weight: 800; letter-spacing: .12em; }
.uw-price-summary__heading h3 { color: var(--color-navy); font-size: clamp(25px, 3vw, 36px); line-height: 1.4; margin: 8px 0; }
.uw-price-summary__heading > p:last-child { font-size:18px; color: var(--color-text); }

.uw-price-summary__rows { display:grid; gap:12px; }
.uw-price-summary__actions, .uw-price-summary__rows, .uw-price-summary__row--starter { width:100%; max-width:780px; margin-left:0; margin-right:auto; box-sizing:border-box; }
.uw-price-summary__actions { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:8px 24px; margin:0 0 18px; }
.uw-price-summary__actions .uw-plans-intro__payment, .uw-price-summary__actions .uw-course-text-link { margin:0; }
.uw-price-summary__actions .uw-plans-intro__payment { font-size:16px; line-height:1.7; }

.uw-price-summary__row { position:relative; display:grid; grid-template-columns:minmax(0,70%) minmax(0,30%); align-items:center; gap:0; padding:0; border:1px solid #E2E5E9; border-radius:20px; background:linear-gradient(to right,var(--course-panel-color,var(--color-white)) 70%,var(--color-white) 70%); color:var(--color-navy); text-decoration:none; box-shadow:0 5px 24px rgba(11,23,38,.07); min-height:150px; box-sizing:border-box; user-select:text; -webkit-user-select:text; overflow:hidden; }
.uw-price-summary__rows > .uw-price-summary__row { transition:none; }
.uw-price-summary__rows > .uw-price-summary__row:hover { transform:none; box-shadow:0 5px 24px rgba(11,23,38,.07); }
.uw-price-summary__rows > .uw-price-summary__row:focus-visible { outline:3px solid var(--color-trial); outline-offset:3px; }
.uw-price-summary__row::after { content:''; position:absolute; right:18px; top:50%; transform:translateY(-50%); width:30px; height:30px; border-radius:50%; background:#F1F4F7; }
/* SVG arrow is geometrically centered independently of the font glyph metrics. */
.uw-price-summary__row::before { content:''; position:absolute; z-index:1; right:26px; top:50%; transform:translateY(-50%); width:14px; height:14px; background:var(--course-name-color,var(--color-navy)); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19 19 5M8 5h11v11' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19 19 5M8 5h11v11' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.uw-price-summary__brand { position:absolute; top:14px; right:18px; width:28px; height:28px; object-fit:contain; border-radius:6px; opacity:.7; pointer-events:none; }
.uw-price-summary__main { grid-column:1; min-width:0; padding:24px 14px 24px 26px; }
.uw-price-summary__side { grid-column:2; min-width:0; padding:24px 62px 24px 12px; text-align:right; white-space:nowrap; }
.uw-price-summary__name { margin:0 0 7px; color:var(--course-name-color,var(--color-navy)); font-family:var(--font-en,Inter,sans-serif); font-size:clamp(25px,2.6vw,34px); font-weight:800; line-height:1.2; }
.uw-price-summary__main .uw-price-summary__description { margin:0 0 7px; color:var(--color-navy); font-size:var(--body-readable-size); line-height:1.6; font-weight:700; }
.uw-price-summary__meta { margin:0; color:var(--color-navy); font-size:15px; line-height:1.65; }
.uw-price-summary__meta span { margin:0 5px; }
.uw-price-summary__tag { display:inline-block; border-radius:20px; font-size:11px; line-height:1.4; font-weight:700; }
.uw-price-summary__tag--recommended { margin:0 0 8px; color:var(--green); letter-spacing:.09em; }
.uw-price-summary__side > strong { color:var(--color-navy); font-size:clamp(24px,2.7vw,34px); line-height:1.2; font-weight:800; }
.uw-price-summary__side > strong span { font-size:16px; }
.uw-price-summary__side small { display:block; margin-top:5px; font-size:14px; line-height:1.6; color:#667085; }
.uw-price-summary__row--60 { --course-panel-color:#EDE8E2; --course-name-color:var(--color-navy); border-color:var(--green); box-shadow:0 7px 26px rgba(11,23,38,.09); }
.uw-price-summary__row--45 { --course-panel-color:#E2F1FB; --course-name-color:var(--color-trial); }
.uw-price-summary__row--30 { --course-panel-color:#E2F6EF; --course-name-color:#009F8D; }
.uw-price-summary__row--15 { --course-panel-color:#F2ECFC; --course-name-color:#7650BD; }
.uw-price-summary__row--starter { --course-panel-color:#FFF8EA; --course-name-color:#9B681F; }
.uw-first-time-offer { width:100%; max-width:780px; margin:32px 0 0; padding-top:22px; border-top:1px solid #e3e7ea; box-sizing:border-box; }
.uw-first-time-offer__eyebrow { margin:0 0 12px; color:#9B681F; font-size:13px; font-weight:700; letter-spacing:.12em; }
.uw-price-summary__tag--starter { vertical-align:middle; margin-left:8px; padding:3px 9px; background:#FFF8EA; color:var(--offer-eyebrow); font-family:var(--font-ja,'Noto Sans JP',sans-serif); letter-spacing:0; }
.uw-price-summary__row--starter .uw-starter-course__conditions { margin:5px 0 0; color:#667085; font-size:var(--note-readable-size); line-height:1.6; }
.uw-price-summary__row--starter .uw-starter-course__conditions strong { color:var(--color-navy); }
@media (max-width:850px) {
  .uw-price-summary__row { grid-template-columns:minmax(0,1fr); column-gap:12px; row-gap:0; padding:0; align-items:start; background:var(--color-white); }
  .uw-price-summary__brand { top:17px; right:51px; width:27px; height:27px; }
  .uw-price-summary__main { grid-column:1; grid-row:1; min-width:0; padding:17px 48px 12px 20px; background:var(--course-panel-color,var(--color-white)); }
  .uw-price-summary__side { grid-column:1 / -1; grid-row:2; width:100%; min-width:0; padding:12px 48px 17px 20px; text-align:right; white-space:nowrap; }
  .uw-price-summary__side > strong { font-size:27px; }
  .uw-price-summary__row::after { top:20px; right:15px; transform:none; }
  .uw-price-summary__row::before { top:28px; right:23px; transform:none; }
}
@media (max-width:480px) {
  .uw-price-summary__row { grid-template-columns:minmax(0,1fr); column-gap:12px; row-gap:0; padding:0; min-height:0; }
  .uw-price-summary__brand { top:16px; right:45px; width:23px; height:23px; border-radius:5px; }
  .uw-price-summary__main { padding:14px 48px 10px 16px; }
  .uw-price-summary__name { font-size:26px; margin-bottom:5px; }
  .uw-price-summary__main .uw-price-summary__description { font-size:14px; line-height:1.5; margin-bottom:5px; }
  .uw-price-summary__meta { font-size:13px; }
  .uw-price-summary__side { grid-column:1 / -1; grid-row:2; padding:10px 48px 14px 16px; }
  .uw-price-summary__row::after { right:12px; top:17px; width:25px; height:25px; }
  .uw-price-summary__row::before { right:18px; top:23px; width:13px; height:13px; }
  .uw-price-summary__side small { font-size:13px; white-space:nowrap; }
  .uw-price-summary__side > strong { display:inline-block; white-space:nowrap; }
}
@media (prefers-reduced-motion:reduce) { .uw-price-summary__rows > .uw-price-summary__row { transition:none; } .uw-price-summary__rows > .uw-price-summary__row:hover { transform:none; } }

.uniwords-experience { display: grid; grid-template-columns: 1fr; background: #0b2343; color: white; overflow: hidden; }
.uniwords-experience__inner { display: grid; grid-template-columns: 1fr 1fr; min-height: 430px; }
.uniwords-experience__title-card { padding: clamp(35px, 5vw, 70px); position: relative; background-image: radial-gradient(#1a405f 1px,transparent 1px); background-size: 12px 12px; }
.uniwords-experience__eyebrow { font-family: var(--font-en); color: #4ed5bd; font-weight: 800; font-size:16px; margin: 0 0 22px; }
.uniwords-experience__heading { color: white; font-size: clamp(36px, 4vw, 60px); line-height: 1.05; margin: 0 0 25px; letter-spacing: -.03em; }
.uniwords-experience__line { display: block; background: #4ed5bd; width: 85px; height: 4px; border-radius: 5px; margin-bottom: 26px; }
.uniwords-experience__copy { max-width: 460px; color: var(--color-white); font-weight: 600; font-size: clamp(17px, 1.45vw, 20px); line-height: 1.6; }
.uniwords-experience__photo { margin: 0; overflow: hidden; border-radius: 48% 0 0 48% / 100% 0 0 100%; }
.uniwords-experience__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.trial-goals { background: #0b2343; color: var(--color-white); padding: clamp(52px, 5vw, 72px) clamp(24px, 4vw, 65px); margin-bottom: 48px; position: relative; overflow: hidden; }
.trial-goals__layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); column-gap: clamp(35px, 6vw, 90px); row-gap: 12px; max-width: 1250px; margin: auto; align-items: start; }
.trial-goals__message, .trial-goals__menu-area { display: flex; flex-direction: column; min-width: 0; }

.trial-goals__eyebrow { font-family: var(--font-en); color: #4ed5bd; font-weight: 800; letter-spacing: .12em; font-size:16px; }
.trial-goals__message h2 { font-size: clamp(38px, 4.2vw, 60px); line-height: 1.12; color: var(--color-white); margin: 18px 0 20px; }
.trial-goals__tagline,.trial-goals__welcome,.trial-goals__intro { color: white; font-size:18px; line-height: 1.6; margin: 16px 0; }

.trial-goals::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 272px;
  height: 102px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34'%3E%3Crect width='15' height='15' fill='%23164758'/%3E%3C/svg%3E") repeat left bottom;
  opacity: .82;
  pointer-events: none;
}
.trial-goals::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 160px;
  height: 140px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='140' viewBox='0 0 160 140'%3E%3Cg fill='none' stroke='%23368cc3' stroke-width='1.3'%3E%3Ccircle cx='165' cy='-5' r='42'/%3E%3Ccircle cx='165' cy='-5' r='78'/%3E%3Ccircle cx='165' cy='-5' r='114'/%3E%3C/g%3E%3C/svg%3E") no-repeat top right;
  pointer-events: none;
}

.trial-goals__guide { margin-top: 26px; max-width: 440px; position: relative; z-index: 1; }
.trial-goals__guide-title { color: var(--color-white); font-size: 14px; font-weight: 700; margin: 0 0 6px; }
.trial-goals__guide-copy { color: #d8e6f1; font-size:17px; line-height: 1.8; margin: 0 0 7px; }
.trial-goals__guide-link { display: inline-flex; align-items: center; justify-content:center; gap: 6px; padding:12px 20px; border:0; border-radius:var(--action-radius); background:var(--color-learning); color:var(--color-white); font-size:13px; font-weight:700; text-decoration:none; transition:background-color var(--hover-duration) ease,color var(--hover-duration) ease; }
.trial-goals__guide-link:hover, .trial-goals__guide-link:focus-visible { background:var(--color-white); color:var(--color-navy); border-color:transparent; box-shadow:none; transform:none; }
.trial-goals__bottom { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); column-gap: clamp(35px, 6vw, 90px); align-items: end; }
.trial-goals__footer { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; min-width: 0; }
.trial-goals__actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.trial-goals__bottom .trial-goals__welcome { margin: 0; padding: 0; text-align: center; align-self: end; }
.trial-goals__footer .story-button { display: inline-block; padding: 12px 20px; color: white; background: var(--color-trial); text-decoration: none; font-weight: 700; border-radius: var(--action-radius); transition: background-color var(--hover-duration) ease, color var(--hover-duration) ease; }
.trial-goals__footer .story-button:hover, .trial-goals__footer .story-button:focus-visible { background: var(--color-white); color: var(--color-navy); box-shadow: inset 0 0 0 1px var(--color-navy); transform: none; }
.trial-goals__footer p { font-size:16px; line-height: 1.6; margin: 0; color: var(--color-white); }
.trial-goals__choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(12px, 1.5vw, 20px); }
.trial-goals__choice { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 140px; gap: 10px; border-radius: 7px; }
.trial-goals__icon-link { display: block; width: 74px; height: 74px; }
.trial-goals__asset-icon { display: block; width: 100%; height: 100%; fill: white; color: white; }
.trial-goals__label { text-align: center; font-size: 14px; font-weight: 700; }

@media (min-width: 851px) {
  .trial-goals { padding-top: 52px; padding-bottom: 52px; }
  .trial-goals__layout { row-gap: 0; }
  .trial-goals__guide { margin-top: 16px; }
  .trial-goals__choices { gap: 12px; }
  .trial-goals__choice { min-height: 118px; gap: 8px; }
}
@media (max-width: 850px) {

.uniwords-experience__inner { grid-template-columns: 1fr; }
  .uniwords-experience__photo { border-radius: 45% 0 0 0 / 35% 0 0 0; height: 320px; }
  .trial-goals__layout, .trial-goals__bottom { grid-template-columns: minmax(0,1fr); }
  .trial-goals__bottom { gap: 18px; }
  .trial-goals__bottom .trial-goals__welcome { text-align: center; }
}
@media (max-width: 600px) {
  body { border: 0; }

.trial-goals { padding: 36px 20px 38px; }
  .trial-goals__layout { row-gap: 8px; }
  .trial-goals__message h2 { margin: 16px 0 18px; }
  .trial-goals__guide { margin-top: 20px; }
  .trial-goals__actions { gap: 12px; }
  .trial-goals__footer { gap: 8px; }
  .trial-goals__choices { column-gap: 8px; row-gap: 4px; }
  .trial-goals__choice { min-height: 102px; gap: 7px; }
  .trial-goals__bottom .trial-goals__welcome { padding: 8px 0 0; }
}

.uw-about-salon{background:var(--color-white);text-align:left}
.uw-about-salon__layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);column-gap:clamp(24px,3vw,44px);align-items:start}
.uw-about-salon__layout>.uw-about-salon__heading{grid-column:1}
.uw-about-salon__layout>.uw-about-salon__copy{grid-column:1}
.uw-about-salon__layout>.uw-about-salon__features{grid-column:2;grid-row:1 / span 2}
.uw-about-salon__heading{max-width:none;margin:0 0 var(--space-salon-heading-bottom)}
.uw-about-salon__eyebrow{font:800 16px/1.5 var(--font-en,Inter,sans-serif);letter-spacing:.18em;color:var(--accent-on-light);margin:0 0 14px}
.uw-about-salon__heading h2{font-family:var(--font-ja,'Noto Sans JP',sans-serif);font-size:clamp(27px,3vw,36px);font-weight:700;line-height:1.5;letter-spacing:.01em;margin:0;color:#10264b}
.uw-about-salon__copy{max-width:none;margin:0;text-align:left}
.uw-about-salon__copy p{line-height:1.6;margin:0 0 13px}
.uw-about-salon__copy .uw-about-salon__lead{font-size:clamp(17px,2vw,22px);font-weight:700;color:#10264b;text-align:left;margin-bottom:22px}
.uw-about-salon__features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,24px);min-width:0;align-self:center}
.uw-about-salon__feature{min-width:0;text-align:center}
.uw-about-salon__circle{width:100%;margin:0 auto 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:0}
.uw-about-salon__circle img{width:64px;height:64px;object-fit:contain;filter:none;opacity:1}
.uw-about-salon__circle strong{font-family:var(--font-ja,'Noto Sans JP',sans-serif);font-size:clamp(15px,2vw,19px);color:var(--color-navy)}
.uw-about-salon__circle--long strong{font-size:clamp(12px,1.7vw,20px);white-space:nowrap}

.uw-about-salon__feature>p{font-size:18px;font-weight:600;line-height:1.6;margin:0;max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:normal}
@media(max-width:760px){.uw-about-salon__layout{grid-template-columns:minmax(0,1fr);row-gap:24px}.uw-about-salon__layout>.uw-about-salon__heading,.uw-about-salon__layout>.uw-about-salon__copy,.uw-about-salon__layout>.uw-about-salon__features{grid-column:1;grid-row:auto}.uw-about-salon__features{width:100%;margin:0 auto}.uw-about-salon__circle--long strong{font-size:clamp(10px,2.65vw,13px);white-space:normal}.uw-about-salon__features{gap:clamp(8px,2vw,12px);width:calc(100% - 40px);max-width:calc(100% - 40px);min-width:0;margin-inline:auto}.uw-about-salon__circle{width:100%;min-width:0;padding:0;gap:8px;margin-bottom:12px}.uw-about-salon__circle img{width:54px;height:54px}.uw-about-salon__circle strong{font-size:13px;max-width:100%;overflow-wrap:anywhere;white-space:normal}}

.hero-fullbleed{position:relative;min-height:min(760px,88svh);display:flex;align-items:center;background:#142a40 url('../../images/manhattan-conversation-hero-wide.webp') center center/cover no-repeat;color:var(--color-white);isolation:isolate}
.hero-fullbleed::before{content:"";position:absolute;inset:0;background:linear-gradient(270deg,rgba(8,27,45,.52) 0%,rgba(8,27,45,.37) 40%,rgba(8,27,45,.13) 76%,rgba(8,27,45,.06) 100%);z-index:-1}
.hero-fullbleed__content{width:min(1120px,calc(100% - 48px));margin-inline:auto;padding:110px 0 105px;display:flex;flex-direction:column;align-items:flex-end;text-align:right}

.hero-fullbleed h1{max-width:1000px;font-family:var(--font-ja,'Noto Sans JP',sans-serif);font-weight:800;font-size:clamp(38px,5.15vw,76px);line-height:1.35;letter-spacing:.025em;margin:0;overflow-wrap:normal}
.hero-fullbleed__highlight{color:#83F0EE}
.hero-fullbleed__script{font-family:var(--font-script,Caveat,cursive);font-size:clamp(36px,4.3vw,62px);font-weight:700;color:#ffb164;line-height:1.15;margin:20px 0 22px;display:table;position:relative;transform:rotate(-2deg)}
.hero-fullbleed__script::after{content:"";display:block;height:7px;border-radius:50%;background:#9BCFC7;transform:rotate(-1deg);margin-top:1px;opacity:.95}

.hero-fullbleed__cta{display:flex;width:max-content;max-width:100%;margin-inline:0;align-items:center;min-height:52px;padding:12px 25px;border-radius:999px;background:#12b6a5;color:var(--color-white);text-decoration:none;font-family:var(--font-ja,'Noto Sans JP',sans-serif);font-weight:700;font-size:14px;transition:background-color var(--hover-duration) ease}
.hero-fullbleed__cta:hover,.hero-fullbleed__cta:focus-visible{background:var(--color-white);color:var(--color-navy);border-color:transparent;transform:none;}
.why-four-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.uw-why__photo{width:180px;height:180px;margin:0 auto 20px;border-radius:50%;overflow:hidden}
.uw-why__photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 20%}
#why.section{padding-top:64px}
#why .feature-card,#why .feature-card:hover{border-color:#7CCBDA}
#why .feature-card{text-align:center;background:transparent;position:relative}

/* WHY UNIWORDS: readable editorial copy before the transparent photo cards. */
#why .overlap-heading{margin-bottom:clamp(28px,4vw,46px);text-align:left}
#why .overlap-heading__en{font-size:clamp(2rem,6vw,6.2rem);max-width:100%}
#why .uw-why-message{max-width:none;margin:0 0 clamp(46px,6vw,72px);text-align:left}
#why .uw-why-message p{font-size:var(--body-readable-size);line-height:1.9;color:var(--body-readable-color);margin:0 0 20px}
#why .uw-why-message p:last-child{margin-bottom:0}
#why .feature-card p{font-size:var(--body-readable-size);color:var(--body-readable-color);text-align:left;line-height:var(--body-line-height)}
#why .feature-card h3{font-size:clamp(13px,1.65vw,19px);white-space:nowrap;letter-spacing:-.025em;text-align:center;margin-bottom:0}
#why .uw-why__card-rule{display:block;width:36px;height:3px;margin:16px auto 20px;border-radius:999px;background:var(--green)}
#why .feature-card{border-width:1px;box-shadow:none}
#why .feature-card:hover{box-shadow:0 12px 28px rgba(62,153,178,.10)}
/* One continuous rise: BEYOND ENGLISH -> WHY UNIWORDS.
   A single full-height layer keeps the squares moving upward without restarting. */
.uw-floating-journey{position:relative;isolation:isolate;background:#fff;overflow:hidden}
.uw-floating-journey__particles{
  position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;
}
.uw-floating-journey__particles .beyond-intro__square{
  animation-name:beyond-rise;
  animation-duration:var(--journey-duration,52s);
  animation-delay:var(--journey-delay,-26s);
  animation-timing-function:linear;
  animation-iteration-count:infinite;
}
/* Stagger positions along the entire upward path from the first frame. */
.uw-floating-journey__particles .beyond-intro__square:nth-child(10n+1){--journey-duration:49s;--journey-delay:-37s}
.uw-floating-journey__particles .beyond-intro__square:nth-child(10n+2){--journey-duration:54s;--journey-delay:-21s}
.uw-floating-journey__particles .beyond-intro__square:nth-child(10n+3){--journey-duration:58s;--journey-delay:-46s}
.uw-floating-journey__particles .beyond-intro__square:nth-child(10n+4){--journey-duration:51s;--journey-delay:-11s}
.uw-floating-journey__particles .beyond-intro__square:nth-child(10n+5){--journey-duration:56s;--journey-delay:-33s}
.uw-floating-journey__particles .beyond-intro__square:nth-child(10n+6){--journey-duration:53s;--journey-delay:-43s}
.uw-floating-journey__particles .beyond-intro__square:nth-child(10n+7){--journey-duration:60s;--journey-delay:-17s}
.uw-floating-journey__particles .beyond-intro__square:nth-child(10n+8){--journey-duration:55s;--journey-delay:-50s}
.uw-floating-journey__particles .beyond-intro__square:nth-child(10n+9){--journey-duration:57s;--journey-delay:-27s}
.uw-floating-journey__particles .beyond-intro__square:nth-child(10n){--journey-duration:52s;--journey-delay:-7s}
.uw-floating-journey > #why,.uw-floating-journey > .beyond-intro{position:relative;z-index:2;background:transparent}
@media(max-width:720px){#why .uw-why-message{margin-bottom:44px}#why .uw-why-message p{margin-bottom:17px}#why .overlap-heading__en{font-size:clamp(1.4rem,6.15vw,2.6rem);letter-spacing:-.065em}#why .feature-card h3{font-size:clamp(12px,3.55vw,17px)}}
@media(max-width:720px){#why.section{padding-top:36px}}
@media(max-width:720px){.hero-fullbleed{min-height:660px;background-image:url('../../images/manhattan-conversation-hero-mobile.webp');background-position:center center;background-size:cover;align-items:stretch}.hero-fullbleed::before{background:linear-gradient(180deg,rgba(8,27,45,.48) 0%,rgba(8,27,45,.17) 42%,rgba(8,27,45,.12) 70%,rgba(8,27,45,.48) 100%)}.hero-fullbleed__content{width:calc(100% - 36px);padding:34px 0 28px;align-items:flex-end;justify-content:flex-start}.hero-fullbleed h1{font-size:clamp(29px,7.6vw,40px);line-height:1.4}.hero-fullbleed__script{font-size:clamp(30px,8.2vw,38px);margin:5px 0 18px}.hero-fullbleed__cta-group{display:none}.why-four-grid{grid-template-columns:1fr}.uw-why__photo{width:140px;height:140px}}

.uw-purpose{background:var(--color-white)}
#lesson-purpose .uw-purpose__intro, #practice .uw-purpose__intro{max-width:820px;margin:0 auto var(--space-purpose-intro);text-align:left}
.uw-purpose__eyebrow{font:800 16px/1.5 var(--font-en,Inter,sans-serif);letter-spacing:.18em;color:var(--accent-on-light);margin:0 0 14px}
.uw-purpose__intro h2{font-family:var(--font-ja,'Noto Sans JP',sans-serif);font-size:clamp(27px,3vw,36px);line-height:1.45;color:#10264b;margin:0 0 22px}
.uw-purpose__intro p:not(.uw-purpose__eyebrow){line-height:var(--body-line-height);margin:0 0 14px}
.uw-purpose__intro .uw-purpose__lead{font-size:clamp(17px,2vw,22px);font-weight:700;color:#10264b;margin-bottom:24px}
.uw-purpose__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #AAB8C5;border-bottom:1px solid #AAB8C5}
.uw-purpose__card{min-width:0;border:0;border-radius:0;background:#FAFCFD;display:flex;flex-direction:column;align-items:center;text-align:left}.uw-purpose__card+.uw-purpose__card{position:relative}
.uw-purpose__card+.uw-purpose__card::before{content:"";position:absolute;left:0;top:21%;bottom:21%;width:1px;background:#AAB8C5}
.uw-purpose__icon-area{width:100%;padding:28px 24px 4px;display:flex;justify-content:center}
.uw-purpose__icon-circle{width:76px;height:76px;display:grid;place-items:center;background:none;border:0;border-radius:0}
.uw-purpose__icon-circle img{width:64px;height:64px;object-fit:contain;filter:none;opacity:1}
.uw-purpose__body{padding:24px 22px 26px;display:flex;flex:1;flex-direction:column;align-items:flex-start;text-align:left}
#lesson-purpose .uw-purpose__body h3{width:100%;text-align:center}

.uw-purpose__body h3{font-family:var(--font-ja,'Noto Sans JP',sans-serif);font-size:clamp(19px,2vw,24px);line-height:1.5;color:#10264b;margin:0 0 var(--space-text-normal)}
.uw-purpose__body>p:not(.uw-purpose__number){font-size:18px;line-height:1.6;margin:0 0 20px}
@media(max-width:760px){.uw-purpose__icon-circle{width:66px;height:66px}.uw-purpose__icon-circle img{width:54px;height:54px}.uw-purpose__cards{grid-template-columns:1fr;max-width:520px;margin:0 auto}.uw-purpose__card+.uw-purpose__card{border-top:1px solid #AAB8C5}.uw-purpose__card+.uw-purpose__card::before{display:none}.uw-purpose__intro{margin-bottom:var(--space-mobile-purpose-intro)}.uw-purpose__icon-area{padding-top:30px}}

.uw-purpose-stats{margin:clamp(40px,5vw,72px) auto 0;max-width:940px}
.uw-purpose-stats__inner{background:#FAFCFD;border-radius:28px;padding:clamp(28px,5vw,60px)}
.uw-purpose-stats__eyebrow{font-family:var(--font-en,Inter,sans-serif);font-size:16px;font-weight:800;line-height:1.5;letter-spacing:.22em;color:var(--accent-on-light);text-transform:uppercase;margin:0 0 18px;text-align:left}
.uw-purpose-stats h3{font-family:var(--font-ja,'Noto Sans JP',sans-serif);font-size:clamp(23px,2.7vw,32px);font-weight:700;line-height:1.5;color:var(--color-navy);text-align:left;margin:0 0 12px}
.uw-purpose-stats__lead{text-align:left;font-size:18px;line-height:1.6;margin:0 0 38px;color:#334155}
.uw-purpose-stats__bars{display:grid;gap:27px}
.uw-purpose-stats__heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:11px;color:var(--color-navy);font-size:17px;font-weight:600;line-height:1.6}
.uw-purpose-stats__heading strong{font:800 clamp(24px,3vw,34px)/1 var(--font-en,Inter,sans-serif);white-space:nowrap;font-variant-numeric:tabular-nums}
.uw-purpose-stats__track{height:16px;border-radius:999px;background:#e0e7eb;overflow:hidden}
.uw-purpose-stats__fill{display:block;height:100%;border-radius:inherit}
.uw-purpose-stats__fill--restart{background:var(--green)}
.uw-purpose-stats__fill--business{background:var(--color-trial)}
.uw-purpose-stats__fill--travel{background:var(--color-navy)}
.uw-purpose-stats__note{font-size:var(--body-readable-size);line-height:1.6;color:var(--body-readable-color);margin:28px 0 0}
@media(max-width:760px){.uw-purpose-stats{margin-top:38px}.uw-purpose-stats__inner{border-radius:22px;padding:28px 22px}.uw-purpose-stats__lead{font-size:var(--body-readable-size);margin-bottom:28px}.uw-purpose-stats__note{font-size:var(--body-readable-size)}.uw-purpose-stats__heading{font-size:15px;gap:10px}.uw-purpose-stats__track{height:14px}.uw-purpose-stats__bars{gap:24px}}

.copy .eyebrow+h2~p{line-height:var(--body-line-height)}

.uw-curriculum__story p:not(.uw-curriculum__story-kicker){line-height:1.6;margin:0 0 13px}

.uw-curriculum__detail-body{border-top:1px solid #e7eef2;padding:16px 24px 24px}
.uw-curriculum__detail-body h3{font-size:15px;color:#10264b;margin:16px 0 10px}
.uw-curriculum__list{padding-left:1.6em;margin:0;columns:2;column-gap:32px}
.uw-curriculum__list li{break-inside:avoid;padding:3px 0;line-height:1.6}

@media(max-width:767px){.uw-curriculum__list{columns:1}.uw-curriculum__detail-body{padding:14px 17px 20px}}

.uw-info-page__content{max-width:740px;line-height:1.6;margin-top:28px;min-height:200px}
.uw-info-page__content a{color:#258fbe}

#guide .uw-purpose__intro { padding-top:22px; margin-bottom:40px; }
#guide .uw-purpose__intro { text-align:center; } #guide .uw-purpose__intro h2 { margin-bottom:0; }

.uw-plans-page{--uw-detail-brand-size:32px;background:var(--color-white);color:var(--color-navy)}
.uw-plans-page .uw-page-placeholder{min-height:0;padding:clamp(88px,11vw,150px) 24px clamp(72px,9vw,120px);background:var(--color-white)}
.uw-plans-page .uw-page-placeholder h1{font-size:clamp(27px,3.2vw,44px);line-height:1.45;letter-spacing:.03em;max-width:1000px;margin:12px auto 24px}
.uw-plans-page .uw-page-placeholder p:not(.uw-plans-eyebrow){max-width:720px;margin:0 auto;font-size:clamp(18px, 1.65vw, 23px);font-weight:400;line-height:1.6}
.uw-plans-section{padding:clamp(76px,9vw,132px) 24px;background:var(--color-white)}

.uw-plans-inner{max-width:1160px;margin:0 auto}
.uw-plans-inner h1, .uw-plans-inner h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.3;letter-spacing:-.03em;margin:12px 0 24px;color:var(--color-navy)}
.uw-plans-inner p{line-height:1.6;max-width:790px}

.uw-plans-inner p.uw-plans-body-copy{font-size:18px}
.uw-plans-eyebrow{font-family:var(--font-en);font-size:16px;letter-spacing:.18em;font-weight:800;color:var(--green)}

.uw-plans-inner a{color:var(--color-navy);text-underline-offset:5px}

@media(max-width:600px){.uw-plans-page .uw-page-placeholder{padding:78px 24px 66px}.uw-plans-section{padding:72px 24px}.uw-plans-inner h1, .uw-plans-inner h2{font-size:clamp(1.85rem,8vw,2.45rem)}}

@media(min-width:601px) and (max-width:650px){.uw-plans-page{--uw-detail-brand-size:32px}}

.uw-plans-section--first-time{background:var(--offer-bg);color:var(--offer-text)}
.uw-first-time__card{--uw-active-course:#B65A09;position:relative;width:100%;max-width:1160px;margin:0 auto;padding:26px 44px 28px;padding-right:44px;background:linear-gradient(to right,#FFF8EA 0%,#FFF8EA 45%,var(--color-white) 45%,var(--color-white) 100%);border:1px solid #E5E9EE;border-radius:24px;box-shadow:0 8px 30px rgba(11,23,38,.06);box-sizing:border-box}
.uw-first-time__logo{position:absolute;top:26px;right:36px;width:var(--uw-detail-brand-size);height:auto}
.uw-first-time__card .uw-course-picker__apply:disabled{background:var(--color-offer-cta);border-color:var(--color-offer-cta);color:var(--color-white);opacity:1;cursor:not-allowed;box-shadow:none}
.uw-plans-section--first-time .uw-first-time__card .uw-course-picker__apply:disabled:hover{background:var(--color-offer-cta);border-color:var(--color-offer-cta);color:var(--color-white);opacity:1;box-shadow:none;transform:none}
@media(max-width:600px){.uw-plans-page{--uw-detail-brand-size:28px}.uw-first-time__card{padding:28px 22px}.uw-first-time__logo{top:22px;right:22px}.uw-first-time__card .uw-plans-eyebrow{padding-right:55px}.uw-first-time__card h2{padding-right:55px}}
.uw-plans-section--first-time .uw-plans-inner > p { color:var(--offer-text); }

.uw-plans-section--first-time .uw-plans-eyebrow::after{content:"";display:block;width:42px;height:2px;margin-top:7px;background:var(--offer-eyebrow);border-radius:2px}
.uw-plans-section--first-time .uw-plans-eyebrow{color:var(--offer-eyebrow)}
.uw-plans-section--first-time h2{color:var(--offer-heading);font-size:clamp(2rem,3.2vw,2.75rem);line-height:1.2;margin:6px 0 10px}
.uw-plans-section--first-time .uw-first-time__details strong{color:var(--offer-price)}
.uw-plans-section--first-time .uw-first-time__notice{color:var(--offer-notice)}
.uw-plans-section--first-time .uw-first-time__notice strong{color:var(--offer-price)}

.uw-first-time__card .uw-plans-eyebrow{margin:0 0 12px}
.uw-first-time__layout{display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);gap:0;align-items:start}
.uw-first-time__primary,.uw-first-time__secondary{min-width:0}.uw-first-time__primary{padding-right:clamp(18px,3vw,40px)}.uw-first-time__secondary{padding-left:clamp(18px,3vw,40px);padding-top:10px}
.uw-first-time__primary h2{margin:0 0 12px}
.uw-first-time__primary>.uw-plans-body-copy{margin:0 0 12px;line-height:1.55}
.uw-first-time__primary .uw-first-time__details{margin:16px 0 3px;padding:0;border:0;font-size:clamp(1.5rem,2.3vw,2rem);line-height:1.25}
.uw-first-time__duration{margin:0 0 20px;font-size:14px;line-height:1.5}
.uw-first-time__primary .uw-course-picker__apply{margin-top:0}

.uw-first-time__card .uw-first-time__benefit{position:relative;padding-left:36px;min-height:24px;margin:0 0 16px;line-height:1.6}
.uw-first-time__card .uw-first-time__benefit::before{content:"✓";position:absolute;left:0;top:2px;width:24px;height:24px;box-sizing:border-box;border:1.6px solid var(--color-navy);border-radius:50%;display:grid;place-items:center;color:var(--color-navy);font-size:13px;font-weight:600;line-height:1}
.uw-first-time__card .uw-first-time__conditions{border-top:1px solid #dce2e5;padding-top:15px;margin:0;font-size:14px;line-height:1.65}
.uw-first-time__card .uw-first-time__conditions p{margin:0 0 8px;padding-left:1em;text-indent:-1em}
.uw-first-time__card .uw-first-time__conditions p::before{content:"・"}
.uw-first-time__card .uw-first-time__notice{white-space:normal}
@media(max-width:767px){.uw-first-time__card{background:#FFF8EA}.uw-first-time__layout{grid-template-columns:minmax(0,1fr);gap:22px}.uw-first-time__secondary{background:var(--color-white);margin:0 -22px -28px;padding:22px;border-radius:0 0 22px 22px}.uw-first-time__primary{padding-right:0}.uw-first-time__primary .uw-first-time__details{margin-top:12px}.uw-first-time__duration{margin-bottom:16px}}

.uw-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 13px 22px;
  border: 1px solid transparent;
  border-radius: var(--action-radius);
  text-align: center;
  text-decoration: none;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
  transition: background-color var(--hover-duration) ease, color var(--hover-duration) ease;
}
.uw-action--trial { background: var(--color-trial); color: var(--color-white); }
.uw-action--trial:hover, .uw-action--trial:focus-visible { background: var(--color-trial-hover); color: var(--color-trial-hover-text); }
.uw-action--learning { background: var(--color-learning); color: var(--color-white); }
.btn-outline.uw-action--learning:hover,.btn-outline.uw-action--learning:focus-visible{background:var(--color-white);color:var(--color-navy);border:1px solid var(--color-navy);box-shadow:none;transform:none;}
.uw-action--learning:hover,.uw-action--learning:focus-visible { background: var(--color-white); color: var(--color-navy); border-color: var(--color-navy); box-shadow: none; transform: none; }

a.uw-learn-cta { display:inline-flex; align-items:center; justify-content:center; width:max-content; max-width:100%; min-height:46px; padding:12px 20px; border:1px solid var(--green); border-radius:var(--action-radius); background:var(--green); color:#fff; font-weight:700; text-decoration:none; white-space:nowrap; box-shadow:none; transition:background-color .2s ease,color .2s ease,border-color .2s ease; }
a.uw-learn-cta:hover, a.uw-learn-cta:focus-visible { background:#fff; color:var(--color-navy); border-color:var(--color-navy); box-shadow:none; transform:none; }
@media(max-width:380px){a.uw-learn-cta{white-space:normal;text-align:center;}}

.uw-main-outline-link { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; box-sizing:border-box; padding:10px 18px; border:1px solid currentColor; border-radius:4px; background:var(--color-white); font-family:var(--font-ja,'Noto Sans JP',sans-serif); font-size:14px; font-weight:700; line-height:1.5; text-align:center; text-decoration:none; transition:background-color var(--hover-duration) ease,color var(--hover-duration) ease,border-color var(--hover-duration) ease; }
.uw-main-outline-link--course { color:var(--color-course-cta); }
.uw-main-outline-link--offer { color:var(--color-course-cta); }
.uw-main-outline-link--course:hover,.uw-main-outline-link--course:focus-visible { background:var(--color-course-cta); color:var(--color-white); border-color:var(--color-course-cta); }
.uw-main-outline-link--offer:hover,.uw-main-outline-link--offer:focus-visible { background:var(--color-course-cta); color:var(--color-white); border-color:var(--color-course-cta); }
.uw-main-outline-link:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.uw-price-summary__actions .uw-main-outline-link { margin:0; }
.uw-first-time-offer__link { margin:16px 0 0; text-align:left; }

html.uw-direct-anchor { scroll-behavior: auto; }

html.uw-direct-anchor:not(.uw-anchor-ready) body { visibility: hidden; }

/* THE UNIWORDS WAY — gradual white-to-pale-blue transition (PC/SP) */
#uniwords-way.uw-way-ocean {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(115px, 12vw, 180px) 0 clamp(125px, 12vw, 185px);
  background:linear-gradient(to bottom,#ffffff 0%,#effcff 120px,#e2f9fd 260px,#d9f8fc 410px,#e8faff 65%,#b5eaff 100%);
}
#uniwords-way.uw-way-ocean::before,
#uniwords-way.uw-way-ocean::after {
  content:"";
  position:absolute;
  left:0;
  width:100%;
  height:clamp(58px,8vw,130px);
  background-repeat:no-repeat;
  background-size:100% 100%;
  pointer-events:none;
  z-index:0;
}
#uniwords-way.uw-way-ocean::before {
  top:-1px;
  background-image:none;
}
#uniwords-way.uw-way-ocean::after {
  bottom:-1px;
  background-image:url("../images/uniwords-way-wave-bottom.svg");
}
#uniwords-way .container.split {
  position:relative;
  z-index:2;
}
#uniwords-way .copy,
#uniwords-way .visual { min-width:0; }
#uniwords-way .copy h2 { color:var(--color-navy); }
#uniwords-way .copy p { color:var(--color-navy); }
.uw-way-ocean__bubbles {
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden;
  z-index:1;
}
.uw-way-ocean__bubbles span {
  position:absolute;
  display:block;
  border-radius:48% 52% 55% 45% / 54% 46% 54% 46%;
  background:rgba(97,207,234,.16);
}
.uw-way-ocean__bubbles span:nth-child(1) {
  width:260px;height:235px;left:-95px;top:17%;
  background:rgba(116,230,205,.19);
}
.uw-way-ocean__bubbles span:nth-child(2) {
  width:140px;height:145px;left:10%;bottom:18%;
}
.uw-way-ocean__bubbles span:nth-child(3) {
  width:290px;height:280px;right:-130px;top:13%;
  background:rgba(255,255,255,.38);
}
.uw-way-ocean__bubbles span:nth-child(4) {
  width:180px;height:160px;right:8%;bottom:15%;
}
.split .uniwords-way-photo {
  display:flex;
  justify-content:center;
  align-items:center;
}
/* Fixed decorative stripes; only the photos crossfade. */
.split .uniwords-way-photo .uw-way-gallery {
  position:relative;
  width:min(100%, 480px);
  padding:22px 18px 0;
  box-sizing:border-box;
  text-align:center;
  isolation:isolate;
}
.split .uniwords-way-photo .uw-way-gallery::before {
  content:"";
  position:absolute;
  z-index:-1;
  width:58%;
  aspect-ratio:1;
  left:-2%;
  bottom:7%;
  border-radius:44% 56% 48% 52% / 52% 47% 53% 48%;
  background:repeating-linear-gradient(
    135deg,
    rgba(109,226,207,.48) 0 13px,
    transparent 13px 27px
  );
  -webkit-mask-image:radial-gradient(ellipse at 53% 47%,#000 48%,transparent 74%);
  mask-image:radial-gradient(ellipse at 53% 47%,#000 48%,transparent 74%);
  pointer-events:none;
}
.uw-way-gallery__shape {
  position:relative;
  width:100%;
  aspect-ratio:1 / 1;
  overflow:hidden;
  isolation:isolate;
  border-radius:50%;
  background:#e5f5f2;
}
.uw-way-gallery__slide {
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity 1100ms ease;
  pointer-events:none;
}
.uw-way-gallery__slide.is-active { opacity:1; z-index:1; }
.split .uniwords-way-photo .uw-way-gallery__slide img {
  display:block;
  width:100%;
  height:100%;
  aspect-ratio:auto;
  border-radius:0;
  object-fit:cover;
}
.uw-way-gallery__dots {
  display:flex;
  justify-content:center;
  gap:11px;
  padding-top:20px;
}
.uw-way-gallery__dot {
  width:10px;
  height:10px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#bfd8d6;
  cursor:pointer;
  transition:background-color .25s ease;
}
.uw-way-gallery__dot.is-active {
  background:var(--color-learning);
}
.uw-way-gallery__dot:focus-visible {
  outline:2px solid var(--color-navy);
  outline-offset:4px;
}
@media(max-width:700px) {
  #uniwords-way.uw-way-ocean {
    padding:105px 0 115px;
  }
  #uniwords-way .container.split { gap:28px; }
  .split .uniwords-way-photo .uw-way-gallery {
    width:min(100%, 390px);
  }
  .uw-way-ocean__bubbles span:nth-child(3) { right:-210px; }
  .uw-way-ocean__bubbles span:nth-child(4) { right:-75px;bottom:8%; }
}
@media(prefers-reduced-motion:reduce) {
  .uw-way-gallery__slide,.uw-way-gallery__dot { transition:none; }
}

.trial-goals__actions .story-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:54px;padding:0 26px;font-size:16px}
.trial-goals__actions .trial-goals__guide-link{box-sizing:border-box;height:54px;min-height:54px;padding:0 20px;font-size:13px;font-weight:600}

.uw-japanese-teacher {
  background: var(--color-white);
  padding: clamp(64px, 7vw, 104px) 0;
  overflow: hidden;
}
.uw-japanese-teacher__inner {
  max-width: 1200px;
  display: block;
}
.uw-japanese-teacher__copy { width: 100%; max-width: var(--width); margin-inline: auto; }
.uw-japanese-teacher__label {
  margin: 0 0 18px;
  font: 800 16px/1.5 var(--font-en, Inter, sans-serif);
  letter-spacing: .16em;
  color: #0B8A76;
}
.uw-japanese-teacher h2 {
  margin: 0 0 26px;
  font-family: var(--font-ja, 'Noto Sans JP', sans-serif);
  font-size: clamp(30px, 3.35vw, 48px);
  line-height: 1.48;
  color: var(--color-navy);
}
.uw-japanese-teacher__lead {
  margin: 0 0 28px;
  font-size: clamp(18px, 1.65vw, 23px);
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-navy);
}
.uw-japanese-teacher__body p {
  margin: 0 0 22px;
  font-size: clamp(15px, 1.3vw, 17px);
  line-height: 1.6;
  color: var(--color-text);
}
.uw-japanese-teacher__body p:last-child { margin-bottom: 0; }
:is(.uw-japanese-teacher__profile-link, .uw-outline-arrow-link) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 11px 15px 11px 20px;
  border: 1px solid var(--color-navy);
  border-radius: 6px;
  background: transparent;
  color: var(--color-navy);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.6;
  text-decoration: none;
  transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}
.uw-japanese-teacher__profile-link { margin-top: 24px; }
:is(.uw-japanese-teacher__profile-link, .uw-outline-arrow-link) span {
  display: inline-grid;
  place-items: center;
  flex: 0 0 25px;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: var(--color-learning);
  color: var(--color-white);
  position: relative;
}
:is(.uw-japanese-teacher__profile-link, .uw-outline-arrow-link) span::after {
  content: "";
  width: 7px;
  height: 7px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
  margin-left: -3px;
}
@media (hover: hover) {
  :is(.uw-japanese-teacher__profile-link, .uw-outline-arrow-link):hover {
    background: var(--color-navy);
    color: var(--color-white);
  }
}
:is(.uw-japanese-teacher__profile-link, .uw-outline-arrow-link):focus-visible {
  outline: 2px solid var(--color-learning);
  outline-offset: 3px;
}

@media (max-width: 720px) {
  .uw-japanese-teacher { padding: 52px 0 40px; }
  .uw-japanese-teacher h2 { font-size: clamp(26px, 6.5vw, 34px); }

}

.uw-about-salon__copy p.uw-about-salon__check{position:relative;padding-left:35px}
.uw-about-salon__copy p.uw-about-salon__check::before{content:"";position:absolute;left:0;top:.38em;width:21px;height:21px;background:url("../../images/lesson-style-check.svg") center/contain no-repeat}

@media (max-width: 767px) {
  .uw-japanese-teacher__label,
  .uw-about-salon__eyebrow,
  .uw-purpose__eyebrow,
  .uw-price-summary__eyebrow,
  .uw-plans-eyebrow,
  .eyebrow,
  .trial-goals__eyebrow,
  .uniwords-experience__eyebrow { font-size: 14px; }
}

.uw-profile-hero { background: #e6f4ef; padding: clamp(64px, 8vw, 110px) 0; }
.uw-profile-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(28px, 5vw, 70px); align-items: center; }
.uw-profile-eyebrow { color: #0b8a76; font-size: 14px; font-weight: 800; letter-spacing: .14em; margin: 0 0 20px; }
.uw-profile-copy h1 { color: var(--color-navy); font-size: clamp(44px, 6vw, 76px); line-height: 1.15; margin: 0 0 12px; }
.uw-profile-copy p, .uw-profile-text p { line-height: 1.6; }
.uw-profile-copy .uw-profile-lead { font-size: clamp(21px, 2.5vw, 30px); font-weight: 700; color: var(--color-navy); }
.uw-profile-photo { width: 100%; max-width: 420px; aspect-ratio: 1; border-radius: 50%; overflow: hidden; margin: 0; justify-self: center; }
.uw-profile-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.uw-profile-photo--lillian img { object-position: center top; }
.uw-profile-photo--placeholder { display: flex; flex-direction: column; justify-content: center; align-items: center; background: #d8e9e4; color: var(--color-navy); text-align: center; gap: 10px; }
.uw-profile-photo--placeholder span { font-size: clamp(20px, 3vw, 30px); font-weight: 700; }
.uw-profile-photo--placeholder small { letter-spacing: .12em; font-size: 11px; }
.uw-profile-section { padding: clamp(64px, 8vw, 108px) 0; }
.uw-profile-section--soft { background: #f3f8f6; }
.uw-profile-text { max-width: 850px; }
.uw-profile-text h2 { font-size: clamp(26px, 3.4vw, 42px); color: var(--color-navy); line-height: 1.45; margin: 0 0 26px; }
.uw-profile-note { font-size:16px; color: var(--text-secondary-on-light); }
.uw-profile-cta { padding: clamp(68px, 8vw, 110px) 0; text-align: center; }
.uw-profile-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; background: var(--color-trial); color: var(--color-white); border-radius: 5px; padding: 15px 30px; margin-top: 18px; text-decoration: none; font-weight: 700; }
.uw-profile-button__arrow { display: grid; place-items: center; flex: 0 0 24px; width: 24px; height: 24px; border-radius: 50%; background: var(--color-white); color: var(--color-navy); }
.uw-profile-button__arrow svg { display: block; width: 14px; height: 14px; }
.uw-profile-button:hover, .uw-profile-button:focus-visible { background: var(--color-white); color: var(--color-navy); box-shadow: inset 0 0 0 1px var(--color-navy); }
.uw-profile-button:hover .uw-profile-button__arrow, .uw-profile-button:focus-visible .uw-profile-button__arrow { background: var(--color-learning); color: var(--color-white); }
@media (max-width: 720px) { .uw-profile-grid { grid-template-columns: 1fr; } .uw-profile-photo { max-width: 300px; } }

.uw-joy-journey { padding: 0 0 clamp(72px, 9vw, 132px); color: var(--color-navy); }
.uw-joy-journey > .container { max-width: 1160px; }
.uw-joy-journey h2 { margin: 0; font-family: var(--font-ja); font-size: clamp(27px, 3vw, 36px); line-height: 1.45; font-weight: 700; }
.uw-joy-eyebrow { margin: 0 0 14px; font-family: var(--font-en); color: var(--accent-on-light); font-size: 16px; font-weight: 800; line-height: 1.5; letter-spacing: .18em; }
.uw-joy-changes { padding: clamp(40px, 6vw, 68px) clamp(18px, 3.5vw, 42px) 36px; border-radius: 20px; text-align: left; background: #EAF6FC; }
.uw-joy-lead{ margin: 24px 0 30px; max-width: none; text-align: left; line-height:var(--body-line-height); }
.uw-joy-cards { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.uw-joy-card { background: #fff; border-radius: 18px; padding: 28px 20px 30px; display: flex; align-items: center; flex-direction: column; }
.uw-joy-card__icon { width: 90px; height: 90px; display: grid; place-items: center; border-radius: 50%; margin-bottom: 18px; }
.uw-joy-card__icon img { width: 54px; height: 54px; display: block; object-fit: contain; }
.uw-joy-card__icon--mint { background: #E2F6EF; color: var(--green); }
.uw-joy-card__icon--blue { background: #E2F1FB; color: #27A5DE; }
.uw-joy-card__icon--lavender { background: #F2ECFC; color: #9B71C8; }
.uw-joy-card h3 { text-align: center; font-size: clamp(16px, 1.7vw, 19px); margin: 0; line-height: 1.5; }
.uw-joy-card__rule { width: 40px; height: 3px; background: currentColor; margin: 16px auto 18px; color: var(--green); }
.uw-joy-card:nth-child(2) .uw-joy-card__rule { color: #27A5DE; }
.uw-joy-card:nth-child(3) .uw-joy-card__rule { color: #9B71C8; }
.uw-joy-card p{ margin: 0; width: 100%; text-align: left; line-height:var(--body-line-height); }
.uw-joy-lasting { margin-top: 20px; padding: 0; border: 1px solid #E3E7EA; border-radius: 20px; overflow: hidden; text-align: left; background: #EAF8F8; }
.uw-joy-lasting__top { padding: clamp(36px, 5vw, 56px) 24px 24px; background: #EAF8F8; }
.uw-joy-lasting__bottom { padding: 24px; background: #fff; }
.uw-joy-stat { margin: 0; font-weight: 700; text-align: left; }
.uw-joy-stat strong { color: var(--green); font-size: clamp(42px, 6vw, 76px); line-height: 1.15; }
.uw-joy-stat__years { white-space: nowrap; }
.uw-joy-lasting__desc{ margin: 20px 0 0; max-width: none; text-align: left; line-height:var(--body-line-height); }
.uw-joy-next { text-align: left; padding: clamp(62px, 8vw, 100px) 20px 0; }
.uw-joy-next > p:not(.uw-joy-eyebrow){ line-height:var(--body-line-height); max-width: none; text-align: left; margin: 20px 0; }
.uw-joy-next__link { display: flex; width: fit-content; align-items: center; justify-content: center; gap: 36px; min-width: 220px; padding: 13px 25px; border-radius: var(--action-radius); background: var(--green); color: #fff; font-weight: 700; text-decoration: none; transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
.uw-joy-next__link:hover, .uw-joy-next__link:focus-visible { background: #fff; color: var(--color-navy); border-color: var(--color-navy); }
@media (max-width: 767px) {
  .uw-joy-cards { grid-template-columns: 1fr; gap: 12px; }
  .uw-joy-card { padding: 26px 20px; }
  .uw-joy-desktop-break { display: none; }
  .uw-joy-stat { max-width: none; margin-inline: 0; letter-spacing: -0.015em; }
  .uw-joy-changes { padding-inline: 16px; }
}

.uw-discovery { position: relative; isolation: isolate; overflow: hidden; background: var(--color-white); padding-block: clamp(52px, 5.5vw, 80px); }
.uw-discovery__inner { position: relative; z-index: 1; max-width: 1000px; margin-inline: auto; text-align: left; }
 .uw-discovery__orbs { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.uw-discovery__orb { position: absolute; display: block; border-radius: 50%; animation: uwDiscoveryFloat 5.8s ease-in-out infinite alternate; }
.uw-discovery__orb--one { width: 126px; aspect-ratio: 1; top: 10%; left: 3%; background: rgba(20,168,150,.12); animation-duration: 5.6s; }
.uw-discovery__orb--two { width: 58px; aspect-ratio: 1; top: 8%; right: 14%; background: rgba(115,194,226,.19); animation-delay: -3s; animation-duration: 6.4s; }
.uw-discovery__orb--three { width: 88px; aspect-ratio: 1; bottom: 9%; right: 3%; background: rgba(20,168,150,.13); animation-delay: -2s; animation-duration: 5.2s; }
.uw-discovery__orb--four { width: 32px; aspect-ratio: 1; bottom: 13%; left: 17%; background: rgba(115,194,226,.24); animation-delay: -2s; animation-duration: 4.8s; }
.uw-discovery__orb--five { width: 44px; aspect-ratio: 1; top: 42%; right: 7%; background: rgba(20,168,150,.12); animation-delay: -4s; animation-duration: 6.2s; }
.uw-discovery__orb--six { width: 72px; aspect-ratio: 1; top: 37%; left: 8%; background: rgba(115,194,226,.14); animation-delay: -1.5s; animation-duration: 5.4s; }
.uw-discovery__orb--seven { width: 38px; aspect-ratio: 1; bottom: 8%; right: 25%; background: rgba(20,168,150,.15); animation-delay: -3.8s; animation-duration: 4.9s; }
.uw-discovery__orb--eight { width: 24px; aspect-ratio: 1; top: 17%; left: 32%; background: rgba(115,194,226,.18); animation-delay: -2.6s; animation-duration: 6.7s; }
.uw-discovery__orb--nine { width: 94px; aspect-ratio: 1; top: 6%; left: 22%; background: rgba(192,161,232,.17); animation-delay: -1.2s; animation-duration: 5.7s; }
.uw-discovery__orb--ten { width: 112px; aspect-ratio: 1; bottom: 6%; right: 11%; background: rgba(241,169,202,.18); animation-delay: -3.3s; animation-duration: 6.1s; }
.uw-discovery__orb--eleven { width: 46px; aspect-ratio: 1; top: 28%; right: 3%; background: rgba(190,160,235,.23); animation-delay: -2.4s; animation-duration: 5.0s; }
.uw-discovery__orb--twelve { width: 66px; aspect-ratio: 1; bottom: 12%; left: 5%; background: rgba(246,177,208,.20); animation-delay: -4.1s; animation-duration: 6.5s; }
@keyframes uwDiscoveryFloat { from { transform: translate3d(-16px, 23px, 0); } to { transform: translate3d(23px, -35px, 0); } }
@media (max-width: 767px) {
  
  .uw-discovery__orb--one { width: 44px; left: 30px; top: 8%; background: rgba(241,169,202,.27); animation-duration: 5.8s; }
  .uw-discovery__orb--two { width: 32px; right: 30px; top: 31%; background: rgba(192,161,232,.30); animation-duration: 6.6s; }
  .uw-discovery__orb--three { width: 42px; right: 30px; top: auto; bottom: 27%; background: rgba(20,168,150,.17); animation-duration: 5.4s; }
  .uw-discovery__orb--four { width: 30px; left: 30px; bottom: 7%; background: rgba(115,194,226,.28); animation-duration: 6.1s; }
  .uw-discovery__orb--five { display: block; width: 25px; top: 54%; right: 36px; background: rgba(241,169,202,.24); animation-duration: 6.8s; }
  .uw-discovery__orb--six { display: block; width: 26px; top: 68%; left: 34px; background: rgba(192,161,232,.25); animation-duration: 6.3s; }
  .uw-discovery__orb--seven,
  .uw-discovery__orb--eight,
  .uw-discovery__orb--nine,
  .uw-discovery__orb--ten,
  .uw-discovery__orb--eleven,
  .uw-discovery__orb--twelve { display: none; }
}
@media (prefers-reduced-motion: reduce) { .uw-discovery__orb { animation: none; } }
.uw-discovery__inner .eyebrow { color:var(--accent-on-light); margin-bottom: 18px; }
.uw-discovery__inner h2 { color: var(--color-navy); font-size: clamp(27px, 3vw, 36px); line-height: 1.45; margin: 0 0 30px; font-weight: 700; }
.uw-discovery__inner p:not(.eyebrow) { color: var(--color-navy); font-size: clamp(1rem, 1.5vw, 1.1rem); line-height: 1.8; margin: 0 0 22px; max-width: none; text-align: left; }
.uw-discovery__inner .uw-discovery__story--first { margin-bottom: 28px; }
.uw-discovery__inner .uw-discovery__story--second { margin-bottom: 30px; }
@media (max-width: 720px) { .uw-discovery { padding-block: 48px 56px; } .uw-discovery__desktop-break { display: none; } .uw-discovery__inner .uw-discovery__story--first { margin-bottom: 24px; } .uw-discovery__inner .uw-discovery__story--second { margin-bottom: 24px; } }

.uw-discovery__continuity { margin: 20px 0 0; padding: 0; max-width: none; border: 0; text-align: left; }
.uw-discovery__continuity .uw-discovery__continuity-title { margin: 0 0 5px; font-weight: 700; font-size: clamp(1.1rem, 2vw, 1.45rem); display: flex; align-items: baseline; justify-content: flex-start; flex-wrap: wrap; column-gap: .32em; line-height: 1.65; }
.uw-discovery__continuity-title strong { color: var(--green); font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 800; line-height: 1.15; white-space: nowrap; display: inline-flex; align-items: baseline; gap: .07em; }
.uw-discovery__year-number { font-size: clamp(5rem, 9vw, 8rem); line-height: .95; letter-spacing: -.06em; }
.uw-discovery__year-unit { font-size: clamp(1.5rem, 2.6vw, 2.5rem); line-height: 1.15; }

.uw256-sound{background:var(--color-navy);color:#f4f8fa;padding:clamp(52px,6.5vw,98px) 0 clamp(80px,10vw,150px);overflow:hidden}
.uw256-sound .overlap-heading__en{color:var(--accent-on-navy)}
.uw256-sound .overlap-heading__ja,.uw256-sound .overlap-heading__desc{color:var(--color-white)}
.uw256-sound .overlap-heading__desc{opacity:.84}
.uw256-sound__split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(30px,6vw,90px);margin-top:clamp(40px,6vw,80px)}
.uw256-sound__split .visual{overflow:hidden;border-radius:50%;aspect-ratio:1/1}
.uw256-sound__split .visual img{width:100%;height:100%;object-fit:cover;display:block}
.uw256-sound__split .copy{max-width:560px}
.uw256-sound__split .copy h3{color:var(--color-white);font-size:clamp(23px,2.4vw,28px);line-height:1.4;margin:0 0 24px}
.uw256-sound__split .copy p{color:#e1eaf0;line-height:1.6}

.uw260-sound__benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:32px 0 24px;padding:26px 0;border-top:1px solid #506476;border-bottom:1px solid #506476}
.uw260-sound__benefit{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:4px 14px;text-align:left}
.uw260-sound__benefit+.uw260-sound__benefit{border-left:1px solid #506476}
.uw260-sound__icon{display:block;width:28px;height:28px;fill:none;stroke:var(--accent-on-navy);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.uw260-sound__benefit strong{color:var(--color-white);font-size:16px;letter-spacing:.1em}
.uw260-sound__benefit span:last-child{color:#dbe8ed;font-size:17px;line-height:1.7}
.uw256-sound__split .copy .uw260-sound__closing{color:var(--color-white);font-weight:700;text-align:left;font-size:clamp(15px,1.6vw,19px);margin:0}

.uw256-process{padding:clamp(48px,4vw,60px) 0 clamp(76px,9vw,128px);background:var(--color-white)}

@media (min-width:1100px){
  .uw256-process .overlap-heading__desc{max-width:none;white-space:nowrap}
}

.uw256-process .overlap-heading__desc{margin-top:16px}
.uw256-process__track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.5vw,22px);margin-top:40px}
.uw256-process__step{min-width:0;text-align:left;display:flex;flex-direction:column;align-items:stretch}
.uw256-process__step .eyebrow,.uw256-process__step h3,.uw256-process__step p{text-align:left;width:100%}

.uw256-process__step img{display:block;width:min(100%,190px);height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:50%;margin:0 auto 18px}
.uw256-process__step:nth-child(1) img{object-position:50% 43%}
.uw256-process__step:nth-child(2) img{object-position:52% 42%}
.uw256-process__step:nth-child(3) img{object-position:65% 45%}
.uw256-process__photo--repeat{width:min(100%,190px);aspect-ratio:1/1;overflow:hidden;border-radius:50%;margin:0 auto 18px}
.uw256-process__photo--repeat img{width:100%;height:100%;max-width:none;aspect-ratio:auto;object-fit:cover;border-radius:0;margin:0;transform:translateY(-4%) scale(1.12);transform-origin:center center}
.uw256-process__step .eyebrow{color:var(--color-navy);font-weight:800;letter-spacing:.07em}
.uw256-process__step h3{font-size:clamp(17px,1.7vw,21px);line-height:1.5;margin:12px 0 8px;color:var(--color-navy)}
.uw256-process__step p{line-height:1.6;font-size:clamp(13px,1.1vw,15px);margin:0;flex:1;width:100%}
.uw256-practice{background:var(--color-white);padding:clamp(76px,9vw,128px) 0 clamp(40px,5vw,68px)}
.uw256-practice__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:50px;border-top:1px solid #adbdca;border-bottom:1px solid #adbdca;padding:36px 0}
.uw256-practice__step{min-width:0;padding:0 clamp(18px,2.5vw,38px);text-align:left}
.uw256-practice__step .number,.uw256-practice__step h3,.uw256-practice__step p{text-align:left}

.uw256-practice__step + .uw256-practice__step{border-left:1px solid #adbdca}
.uw256-practice__step .number{color:var(--green);font-family:Inter,sans-serif;font-size:clamp(20px,2.4vw,32px);font-weight:800;letter-spacing:.04em}
.uw256-practice__step h3{color:var(--color-navy);font-size:clamp(19px,2.1vw,26px);margin:16px 0}
.uw256-practice__step p{line-height:1.6;color:var(--color-navy)}
.uw256-practice__teacher{margin:clamp(48px,6vw,76px) 0 0;padding:clamp(60px,7vw,104px) 24px;background:var(--color-navy);text-align:left}
.uw256-practice__teacher-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:center;width:100%;max-width:1200px;margin:0 auto}
.uw256-practice__teacher-photo{height:100%;min-height:360px;overflow:hidden;border-radius:16px}
.uw256-practice__teacher-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:55% center}
.uw256-practice__teacher-copy{min-width:0}
.uw256-practice__teacher .eyebrow{color:var(--accent-on-light);font-family:Inter,sans-serif;font-weight:700;letter-spacing:.1em;font-size:12px}
.uw256-practice__teacher h2{color:var(--color-white);font-size:clamp(27px,3vw,36px);line-height:1.5;margin:18px 0 24px}
.uw256-practice__teacher p{color:var(--color-white);line-height:1.6;margin:0 0 18px}
.uw256-practice__teacher p:last-child{margin-bottom:0}
@media(max-width:800px){

.uw256-process .overlap-heading__en{font-size:clamp(1.45rem,7.2vw,3.6rem);letter-spacing:-.065em}
.uw256-process{padding-top:76px}
.uw256-sound__split{grid-template-columns:1fr;gap:30px}
.uw256-sound__split .visual{aspect-ratio:1/1}
.uw256-process__track{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:42px;column-gap:24px}
.uw256-practice__steps{grid-template-columns:1fr;gap:0;padding:0}
.uw256-practice__step{padding:28px 10px;text-align:center}
.uw256-practice__step + .uw256-practice__step{border-left:0;border-top:1px solid #adbdca}
.uw256-practice__teacher{margin:clamp(70px,10vw,130px) 0 0}
.uw256-practice__teacher-inner{grid-template-columns:1fr}
.uw256-practice__teacher-photo{min-height:0;aspect-ratio:4/3}
}
@media(max-width:520px){
.uw256-sound__split .visual{aspect-ratio:1/1}
.uw256-process__track{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 14px;margin-top:36px}
.uw256-process__step img{width:min(100%,148px);margin-bottom:12px}
.uw256-process__photo--repeat{width:min(100%,148px);margin-bottom:12px}
.uw256-process__step h3{font-size:16px}
.uw256-process__step p{font-size:13px}
.uw256-practice__teacher{padding:56px 20px}
.uw256-practice__teacher-inner{gap:26px}
.uw256-practice__teacher-photo{aspect-ratio:4/3;border-radius:12px}
.uw256-practice__teacher h2{margin:14px 0 20px}

}

.uw256-method { padding: clamp(76px, 9vw, 128px) 0 clamp(48px, 4vw, 60px); background: var(--color-white); }
#method .uw259-approach__intro { max-width: 940px; margin: 0 auto; text-align:left; }
.uw259-approach__intro .eyebrow { color:var(--accent-on-light); font-weight: 700; letter-spacing: .12em; }
.uw259-approach__intro h2 { margin: 22px 0 24px; color: var(--color-navy); font-size: 36px; font-weight: 700; letter-spacing: -.035em; line-height: 1.4; }
.uw259-approach__lead { margin: 0 auto; color: var(--color-navy); font-size: clamp(15px, 1.6vw, 18px); line-height: 1.6; }
.uw259-approach__body { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(40px, 7vw, 110px); align-items: start; margin-top: clamp(28px, 3.2vw, 48px); }
.uw259-approach__statement { border-top: 4px solid var(--green); padding-top: 22px; }
.uw259-approach__statement > span { color: var(--green); font: 700 12px Inter, sans-serif; letter-spacing: .12em; }
.uw259-approach__statement h3 { color: var(--color-navy); margin: 26px 0 0; font-size: 28px; line-height: 1.42; letter-spacing: -.025em; }
.uw261-approach__portrait { float: right; width: 140px; height: 140px; margin: 0 0 16px 24px; border-radius: 50%; object-fit: cover; object-position: center; }
.uw259-approach__copy { border-top: 1px solid #dce7ed; padding-top: 24px; }
.uw259-approach__copy p { margin: 0 0 22px; line-height: 1.6; }
.uw258-method__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 20px; border-top: 1px solid #dce7ed; border-bottom: 1px solid #dce7ed; }
.uw258-method__fact { padding: clamp(14px, 1.7vw, 24px) 16px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; }
.uw258-method__fact + .uw258-method__fact { border-left: 1px solid #dce7ed; }
.uw258-method__number { color: var(--color-navy); font-family: Inter, sans-serif; font-size: 24px; font-weight: 500; line-height: 1.15; letter-spacing: -.04em; }
.uw258-method__number span { font-family: 'Noto Sans JP', sans-serif; font-size: clamp(14px, 1.5vw, 20px); font-weight: 700; margin-left: 5px; letter-spacing: 0; }
.uw258-method__fact-label { font-size: clamp(12px, 1.2vw, 15px); color: var(--color-navy); line-height: 1.65; }
.uw258-method__next { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: start; gap: clamp(24px, 5vw, 80px); margin-top: clamp(28px, 2.5vw, 32px); }
.uw258-method__next-intro { display: grid; gap: 8px; align-content: start; position: relative; }
.uw268-next-heading { display: block; }
.uw268-next-heading h3 { white-space: nowrap; font-size: clamp(18px, 1.55vw, 21px); }
.uw268-next-mobile-break { display: none; }
.uw268-next-detail { display: grid; grid-template-columns: minmax(0, 1fr) 76px; align-items: center; gap: 16px; }
.uw268-next-photo-card { position: relative; width: 76px; height: 76px; border-radius: 50%; overflow: hidden; background: #EAF1F5; }
.uw268-next-photo { display: block; position: absolute; width: 66%; max-width: none; height: 66%; object-fit: contain; left: 17%; top: 17%; }
.uw258-method__next-eyebrow { color: var(--accent-on-light); font-family: var(--font-en, Inter, sans-serif); font-size: 16px; font-weight: 800; line-height: 1.5; letter-spacing: .18em; }
.uw258-method__next-intro h3 { margin: 0; color: var(--color-navy); font-family: var(--font-ja); font-size: clamp(20px, 2vw, 26px); line-height: 1.45; font-weight: 700; }
.uw258-method__next-intro p { margin: 0; color: var(--color-navy); line-height: 1.6; }
.uw258-method__curriculum { display: flex; justify-content: flex-start; align-items: flex-start; padding: 0; background: var(--color-white); color: var(--color-navy); border-radius: 12px; user-select: text; -webkit-user-select: text; }

.uw258-method__curriculum-copy { display: grid; gap: 8px; width: 100%; }
.uw258-method__curriculum-copy strong { font-size: clamp(20px, 2vw, 26px); }
.uw258-method__curriculum .uw258-method__curriculum-description { color: var(--color-navy); font-size:18px; line-height: 1.8; transition: color .2s ease; }
.uw258-method__curriculum-cta { display: inline-flex; align-items: center; justify-content: center; gap: 14px; justify-self: start; margin-top: 2px; min-height: 50px; padding: 10px 14px 10px 20px; border: 1px solid var(--color-navy); border-radius: 6px; background: var(--color-white); color: var(--color-navy); font-size: 16px; font-weight: 700; line-height: 1.5; text-decoration: none; transition: background-color .2s ease, color .2s ease; }
.uw258-method__curriculum-cta:hover { background: var(--color-navy); color: var(--color-white); text-decoration: none; }
.uw258-method__curriculum-cta:focus-visible { background: var(--color-navy); color: var(--color-white); outline: 3px solid #087EA4; outline-offset: 3px; }

@media (max-width: 767px) {
  .uw256-method { padding-bottom:76px; }
  .uw259-approach__intro h2 { margin: 18px 0 20px; font-size: 27px; line-height: 1.45; }
  .uw259-approach__lead br { display: none; }
  .uw259-approach__body { grid-template-columns: 1fr; gap: 30px; margin-top: 52px; }
  .uw259-approach__statement h3 { margin-top: 18px; font-size: 23px; }
  .uw261-approach__portrait { width: 120px; height: 120px; margin: 0 0 12px 18px; }
  .uw259-approach__copy { padding-top: 22px; }
  .uw258-method__facts { margin-top: 18px; }
  .uw258-method__fact { padding: 14px 6px; }
  .uw258-method__number { font-size: 24px; }
  .uw258-method__number span { font-size: 12px; margin-left: 2px; }
  .uw258-method__fact-label { font-size: 11px; }
  .uw258-method__next { grid-template-columns: 1fr; gap: 20px; margin-top: 24px; }
  .uw258-method__next-intro { padding-top: 0; }
  .uw258-method__next-eyebrow { display: block; padding-right: 78px; }
  .uw268-next-heading { display: block; }
  .uw268-next-heading h3 { white-space: nowrap; font-size: clamp(16px, 4.35vw, 19px); }
  .uw268-next-mobile-break { display: none; }
  .uw268-next-detail { display: block; }
  .uw268-next-photo-card { position: absolute; top: 0; right: 0; width: 66px; height: 66px; }
  .uw258-method__curriculum { padding: 23px 0; }
}

@media (max-width: 359px) {
  .uw268-next-heading h3 { white-space: normal; }
}

.lesson-facts{max-width:880px;margin:30px auto 0}
.lesson-facts__highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0}
.lesson-facts__highlight{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;padding:5px 16px;color:var(--navy)}
.lesson-facts__highlight+.lesson-facts__highlight{border-left:1px solid var(--line)}
.lesson-facts__symbol{font-size:29px;line-height:1.2;color:var(--green)}
.lesson-facts__symbol--duration{display:flex;align-items:center;justify-content:center;height:44px}
.lesson-facts__symbol--duration img{display:block;width:44px;height:44px;object-fit:contain}
.lesson-facts__symbol--private{display:flex;align-items:center;justify-content:center;height:44px}
.lesson-facts__symbol--private img{display:block;width:44px;height:44px;object-fit:contain}
.lesson-facts__symbol--teams{display:flex;align-items:center;justify-content:center;height:44px}
.lesson-facts__symbol--teams img{display:block;width:32px;height:34px;object-fit:contain}
.lesson-facts__highlight strong{font-size:1.05rem}
.lesson-facts__highlight span:last-child{font-size:.9rem;line-height:1.5}
.lesson-facts__details{margin:22px 0 0}
.lesson-facts__detail{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;padding:13px 12px;border-bottom:1px solid var(--line);line-height:1.65}
.lesson-facts__detail dt{font-weight:700;color:var(--navy)}
.lesson-facts__detail dd{margin:0}
.lesson-facts__inline-link{display:flex;align-items:center;gap:9px;width:fit-content;max-width:100%;margin-top:8px;color:var(--color-navy,#0B1726);font-weight:700;text-decoration:none;line-height:1.6}
.lesson-facts__inline-link:hover .lesson-facts__link-text,.lesson-facts__inline-link:focus-visible .lesson-facts__link-text{text-decoration:underline}
.lesson-facts__inline-link:focus-visible{outline:2px solid #087EA4;outline-offset:4px;border-radius:3px}
/* LESSON INFO: unobtrusive text links with centered round arrows */
.lesson-facts__links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:24px 0 0 142px}
.lesson-facts__related-label{margin:0;color:#64748b;font-size:.9rem;font-weight:500}
.lesson-facts__related-items{display:flex;flex-wrap:wrap;align-items:center;gap:10px 30px}
.lesson-facts__links a{display:inline-flex;align-items:center;gap:9px;min-height:36px;padding:3px 0;background:transparent;border:0;color:var(--color-navy,#0B1726);font-weight:700;text-decoration:none;line-height:1.6}
.lesson-facts__link-text{text-decoration:none;text-underline-offset:5px;text-decoration-thickness:1px}
.lesson-facts__links a:hover .lesson-facts__link-text,.lesson-facts__links a:focus-visible .lesson-facts__link-text{text-decoration:underline}
.lesson-facts__links a:focus-visible{outline:2px solid #087EA4;outline-offset:4px;border-radius:3px}
.lesson-facts__link-arrow{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:#14A896;color:#fff}
.lesson-facts__link-arrow svg{display:block;width:14px;height:14px}
@media(max-width:600px){.lesson-facts__related-items{flex-direction:column;align-items:flex-start;gap:8px}.lesson-facts__links a{max-width:100%}}
@media(max-width:650px){.lesson-facts{margin-top:22px}.lesson-facts__highlights{padding:18px 0}.lesson-facts__highlight{padding:4px 7px;gap:6px}.lesson-facts__symbol{font-size:23px}.lesson-facts__highlight strong{font-size:.85rem}.lesson-facts__highlight span:last-child{font-size:.75rem}.lesson-facts__detail{grid-template-columns:1fr;gap:4px;padding:12px 4px}
.lesson-facts__links{margin-left:4px}}

#practice .uw-practice-intro {
  max-width: 760px;
  text-align: left;
  margin-left: 0;
  margin-right: 0;
}
.uw256-practice .uw-practice-intro p {
  margin: 0;
}
.uw256-practice .uw-practice-intro p + p {
  margin-top: 12px;
}
@media (max-width: 767px) {
  .uw256-practice .uw-practice-intro p + p {
    margin-top: 8px;
  }
}
@media (max-width: 767px) { .uw-copy-break-desktop { display: none; } }

.trial-before-start__inner > p:not(.trial-before-start__eyebrow){ color: var(--color-navy); font-size: 1rem; line-height:var(--body-line-height); text-align: left; margin: 0 0 25px; }

.uw-discovery--why { min-height: 100vh; min-height: 100svh; display: flex; align-items: center; padding-bottom: clamp(48px, 6vh, 76px); background: var(--color-white); }
.uw-discovery--why .uw-discovery__inner { width: 100%; min-width: 0; }
@media (max-width: 767px) {
  .uw-discovery--why .uw-discovery__inner { width: calc(100% - 36px); }
  .uw-discovery--why .uw-discovery__note{ overflow-wrap: anywhere; }
}
.uw-discovery__closing{ margin: 30px auto 8px; max-width: 760px; line-height:var(--body-line-height); }
.uw-discovery__reassurance{ margin: 16px auto 8px; max-width: 760px; line-height:var(--body-line-height); }
.uw-discovery__reassurance a{ display: inline; max-width: 100%; color: var(--color-navy); font-weight: 600; text-decoration: none; line-height: 2; }
.uw-discovery__faq-text{ text-decoration:none; text-underline-offset:4px; text-decoration-thickness:1px; }
.uw-discovery__faq-arrow{ display: inline-grid; place-items: center; width: 25px; height: 25px; margin-left: 6px; vertical-align: middle; border-radius: 50%; background: var(--color-green, #14A896); }
.uw-discovery__faq-arrow::after{ content: ""; display: block; width: 7px; height: 7px; border-top: 2px solid #fff; border-right: 2px solid #fff; transform: rotate(45deg); }
.uw-discovery__reassurance a:hover .uw-discovery__faq-text, .uw-discovery__reassurance a:focus-visible .uw-discovery__faq-text{ text-decoration: underline; }
.uw-discovery__reassurance a:focus-visible{ outline: 2px solid var(--color-green, #14A896); outline-offset: 4px; border-radius: 2px; }
.uw-discovery__note{ margin: 0 auto; font-size: .78rem; color: #65717d; line-height:var(--body-line-height); }

/* Overseas episodes: four airy columns echo THE UNIWORDS WAY */
.uw-overseas-story { background: #fff; padding: clamp(42px,6vw,78px) 0; color: var(--color-navy); }
.uw-overseas-story__intro { max-width: 940px; margin: 0 auto 38px; padding-bottom: 24px; border-bottom: 1px solid #D8E3E8; text-align:left; }
.uw-overseas-story__eyebrow { font-family: var(--font-en, Inter, sans-serif); font-size: 16px; font-weight: 800; line-height: 1.5; letter-spacing: .22em; color: var(--accent-on-light); text-transform: uppercase; margin: 0 0 18px; text-align: left; }
.uw-overseas-story__intro h2 { margin: 0 0 16px; font-size: clamp(27px,3vw,36px); line-height: 1.3; font-weight: 800; }
.uw-overseas-story__heading-tail { white-space: nowrap; }
.uw-overseas-story__intro .uw-overseas-story__lead { margin: 0 auto 14px; font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.6; font-weight: 600; }
.uw-overseas-story__intro p { margin: 0 auto; font-size: clamp(.9rem,1.2vw,1.05rem); line-height: 1.65; }
.uw-overseas-story__reaction-note { margin: -14px auto 20px; text-align:left; color: #397DA0; font-size: clamp(.88rem,1.1vw,1rem); line-height: 1.65; font-weight: 500; }
.uw-overseas-story__cards { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(16px,2.6vw,34px); max-width: 1160px; margin: 0 auto; }
.uw-overseas-story__card { min-width: 0; background: transparent; padding: 0; }
.uw-overseas-story__visual { position: relative; width: min(100%,215px); margin: 0 auto 18px; padding-top: 76px; }
.uw-overseas-story__photo-frame { width: 100%; aspect-ratio: 1; border-radius: 50%; overflow: hidden; background: #dceef8; }
.uw-overseas-story__photo-frame img { display: block; width: 100%; height: 100%; object-fit: cover; }
.uw-overseas-story__phrase { position: absolute; top: 0; right: 0; width: 92%; min-height: 68px; display: flex; align-items: flex-end; justify-content: flex-end; color: #397DA0; font-family: Caveat,cursive; font-size: clamp(1.35rem,2vw,1.8rem); font-weight: 700; line-height: 1.05; text-align: right; transform: rotate(-6deg); }
.uw-overseas-story__scene-title { margin: 0 0 10px; font-size: clamp(.93rem,1.2vw,1.06rem); line-height: 1.5; font-weight: 700; text-align:left; }
.uw-overseas-story__scene-desc { margin: 0; font-size: clamp(.85rem,1.05vw,.97rem); line-height: 1.7; }
/* Desktop: subtle separators between the four scene descriptions. */
@media (min-width: 701px) {
  .uw-overseas-story__card:not(:first-child) .uw-overseas-story__scene { position: relative; }
  .uw-overseas-story__card:not(:first-child) .uw-overseas-story__scene::before {
    content: "";
    position: absolute;
    left: calc(clamp(16px,2.6vw,34px) / -2);
    top: 0;
    bottom: 0;
    width: 1px;
    background: #DDE6EA;
  }
}
.uw-overseas-story__closing { max-width: 940px; margin: 34px auto 0; padding: 28px 0 24px; border-top: 1px solid #d8e3e8; background: #fff; text-align:left;display:grid;grid-template-columns:minmax(0, 1.25fr) minmax(0, 1fr);align-items:center;gap:24px}
.uw-overseas-story__closing-heading { display: flex; align-items: center; justify-content:flex-start; gap: clamp(6px, 1.2vw, 16px); max-width:100%; }
.uw-overseas-story__closing h3 { margin: 0; color: #0b1726; font-size: clamp(.98rem,1.3vw,1.13rem); line-height: 1.5; font-weight: 700; }
.uw-overseas-story__rays { flex: 0 0 28px; width: 28px; height: 48px; background-repeat: no-repeat; background-position: center; background-size: contain; }
.uw-overseas-story__rays--left { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 48'%3E%3Cg fill='none' stroke='%2368c5dd' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M23 12 12 6M20 24H5M23 36 12 42'/%3E%3C/g%3E%3C/svg%3E"); }
.uw-overseas-story__rays--right { transform: scaleX(-1); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 48'%3E%3Cg fill='none' stroke='%2368c5dd' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M23 12 12 6M20 24H5M23 36 12 42'/%3E%3C/g%3E%3C/svg%3E"); }
.uw-overseas-story__closing p { margin:0; font-size: clamp(.88rem,1.1vw,1rem); line-height: 1.7;;text-align:left}
@media (max-width: 520px) { .uw-overseas-story__closing-heading { gap: 6px; } .uw-overseas-story__rays { flex-basis: 18px; width: 18px; height: 36px; } }
@media (max-width: 700px) {
  .uw-overseas-story__closing { grid-template-columns:minmax(0,1fr); }
  .uw-overseas-story__cards { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 34px 16px; }
  .uw-overseas-story__card:nth-child(even) .uw-overseas-story__scene { position: relative; }
  .uw-overseas-story__card:nth-child(even) .uw-overseas-story__scene::before { content: ""; position: absolute; left: -8px; top: 0; bottom: 0; width: 1px; background: #DDE6EA; }
  .uw-overseas-story__visual { width: min(100%,195px); padding-top: 70px; margin-bottom: 12px; }
  .uw-overseas-story__phrase { font-size: clamp(1.15rem,3.8vw,1.5rem); }
  .uw-overseas-story__scene-title { font-size: .93rem; }
  .uw-overseas-story__scene-desc { font-size: .84rem; }
}
@media (max-width: 520px) {
  .uw-overseas-story__heading-tail { display: block; }
  .uw-overseas-story__intro { margin-bottom: 26px; }
  .uw-overseas-story__cards { gap: 30px 12px; }
  .uw-overseas-story__card:nth-child(even) .uw-overseas-story__scene::before { left: -6px; }
  .uw-overseas-story__visual { padding-top: 68px; }
  .uw-overseas-story__confusion { top: 70px; left: 0; font-size: 22px; }
  .uw-overseas-story__closing { padding: 24px 16px; grid-template-columns:minmax(0,1fr); gap:12px; }
  .uw-overseas-story__closing p { margin:0; }
}

/* Four everyday scenes to lesson approach: independent, restrained bridge. */
.uw-story-bridge { background: #fff; padding: clamp(52px, 6vw, 78px) 20px; color: #0b1726; }
.uw-story-bridge__inner { max-width: 880px; margin: 0 auto; text-align: center; }
.uw-story-bridge__eyebrow { margin: 0 0 16px; color: #14a896; font-family: Inter, sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .15em; }
.uw-story-bridge h2 { margin: 0; color: #0b1726; font-size: clamp(27px, 3.2vw, 36px); font-weight: 700; line-height: 1.5; }
.uw-story-bridge__lead { max-width: 690px; margin: 22px auto 0; color: #0b1726; font-size: 16px; line-height: 1.9; text-align: left; }
.uw-story-bridge__features { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 28px auto 0; padding: 24px 0; border-top: 1px solid #d8e3e8; border-bottom: 1px solid #d8e3e8; }
.uw-story-bridge__feature { display: flex; flex-direction: column; align-items: center; padding: 2px 22px; }
.uw-story-bridge__feature + .uw-story-bridge__feature { border-left: 1px solid #d8e3e8; }
.uw-story-bridge__icon { width: 30px; height: 30px; fill: none; stroke: #0B1726; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.uw-story-bridge__feature h3 { margin: 9px 0 7px; color: #14a896; font-family: Inter, sans-serif; font-size: 15px; font-weight: 700; letter-spacing: .12em; }
.uw-story-bridge__feature p { margin: 0; color: #0b1726; font-size: 16px; font-weight: 600; line-height: 1.7; text-align: left; }
.uw-story-bridge__closing { margin: 22px auto 0; max-width: 690px; text-align: left; color: #0b1726; font-size: 16px; font-weight: 700; line-height: 1.8; }
@media (max-width: 650px) {
  .uw-story-bridge { padding: 46px 20px 52px; }
  .uw-story-bridge__features { padding: 20px 0; }
  .uw-story-bridge__feature { padding: 0 10px; }
  .uw-story-bridge__feature p { font-size: 14px; }
  .uw-story-bridge__closing { font-size: 15px; }
  .uw-story-bridge__features { grid-template-columns: 1fr; gap: 0; margin-top: 28px; }
  .uw-story-bridge__feature { padding: 16px 10px; }
  .uw-story-bridge__feature + .uw-story-bridge__feature { border-left: 0; border-top: 1px solid #d8e3e8; }
}

.uw-terms-page { background: #fff; }
.uw-terms-page .container { max-width: 960px; }
.uw-terms-page .eyebrow { text-align: center; }
.uw-terms-page h1 { font-size: clamp(25px, 3.5vw, 40px); line-height: 1.45; text-align: center; margin: 22px auto 30px; }
.uw-legal-page-nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px 26px; margin: 0 auto 30px; }
.uw-legal-page-nav a { color: var(--color-trial); font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.uw-legal-title-rule { border: 0; border-top: 1px solid #d2d2d7; max-width: 820px; margin: 0 auto 42px; }
.uw-info-page__content, .uw-legal-notice__content { max-width: 820px; margin-inline: auto; }
.uw-terms-article { margin: 0 0 30px; }
.uw-terms-article p, .uw-legal-notice__content p { font-size: 16px; line-height: 1.6; margin: 0 0 12px; overflow-wrap: anywhere; }
.uw-terms-inline-title { font-weight: 700; }
.uw-terms-article .uw-terms-list-heading { margin-bottom: 8px; }
.uw-terms-bullets { margin: 0 0 12px; padding-left: 1.45em; list-style-type: disc; }
.uw-terms-bullets li { font-size: 16px; line-height: 1.6; padding-left: 0.1em; margin-bottom: 4px; overflow-wrap: anywhere; }
.uw-terms-bullets li:last-child { margin-bottom: 0; }

.uw-legal-notice { border: 0; padding: 0; margin: 0; }
.uw-legal-notice__content > p { margin-bottom: 28px; }
.uw-legal-notice__content a { color: var(--color-trial); }
@media (max-width: 600px) { .uw-terms-page h1 { margin-top: 16px; } .uw-legal-title-rule { margin-bottom: 30px; } }

.uw-legal-notice__content .uw-legal-item { display: block; margin: 0 0 28px; padding: 0; border: 0; background: transparent; }
.uw-legal-notice__content .uw-legal-item p { display: block; margin: 0; font-size: 16px; line-height: 1.6; }
.uw-legal-notice__content .uw-legal-item strong { font-weight: 700; }

.uw-legal-statutory { margin-top: 64px; }
.uw-legal-statutory > h2 { font-size: clamp(1.35rem, 2.5vw, 1.8rem); font-weight: 700; margin: 0 0 32px; padding-top: 0; border-top: 0; }
.uw-legal-statutory p { line-height: 1.6; }
@media (min-width:721px){.hero-fullbleed__cta-group{display:flex;flex-direction:column;align-items:center;align-self:flex-end;max-width:100%}}

@media (max-width:600px){}

/* TOP page CTA circle arrows: white circle on filled buttons; mint circle on white hover. */
a.uw-learn-cta.uw-top-cta, .trial-goals__actions .story-button.uw-top-cta { gap: 12px; width: min(326px, 100%); }
.uw-top-cta__label { min-width: 0; }
.uw-top-cta__arrow {
  display: inline-grid;
  place-items: center;
  flex: 0 0 25px;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: var(--color-white);
  color: var(--color-navy);
  transition: background-color .2s ease, color .2s ease;
}
.uw-top-cta__arrow::after {
  content: "";
  width: 7px;
  height: 7px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
  margin-left: -3px;
}
@media (hover: hover) {
  a.uw-learn-cta.uw-top-cta:hover .uw-top-cta__arrow,
  .trial-goals__actions .story-button.uw-top-cta:hover .uw-top-cta__arrow {
    background: var(--color-learning);
    color: var(--color-white);
  }
}
a.uw-learn-cta.uw-top-cta:focus-visible .uw-top-cta__arrow,
.trial-goals__actions .story-button.uw-top-cta:focus-visible .uw-top-cta__arrow {
  background: var(--color-learning);
  color: var(--color-white);
}

/* TOP page CTAs: Japanese labels on desktop and mobile, without language fading. */
a.uw-learn-cta.uw-top-cta,
.trial-goals__actions .story-button.uw-top-cta {
  box-sizing: border-box;
  max-width: 100%;
  font-family: var(--font-ja, 'Noto Sans JP', sans-serif);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
}
a.uw-learn-cta.uw-top-cta { min-width: 0; }
.trial-goals__actions .story-button.uw-top-cta { min-width: 0; }
@media (max-width: 380px) {
  a.uw-learn-cta.uw-top-cta,
  .trial-goals__actions .story-button.uw-top-cta {
    min-width: 0;
    white-space: normal;
  }
}

