@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:center;
  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.45rem,3vw,2.55rem);
  font-weight:900;
  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 auto 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:clamp(580px,42vw,800px);
  padding:80px 0;
  overflow:hidden;
  background:var(--color-navy);
  color:var(--color-white);
}
/* 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 {
  width:40%;
  min-width:0;
}
.lessons-hero__eyebrow {
  margin:0 0 14px;
  font-size:1rem;
  font-weight:800;
  color:#A8DFD2;
  letter-spacing:.12em;
}
.lessons-hero__english {
  margin:0 0 26px;
  font-size:1rem;
  font-weight:600;
  color:var(--color-white);
}
.lessons-hero h1 {
  margin:0 0 35px;
  color:var(--color-white);
  font-size:clamp(2.4rem,3.5vw,4rem);
  line-height:1.35;
  letter-spacing:.02em;
}
.lessons-hero__description {
  margin:0 0 34px;
  color:var(--color-white);
  font-size:clamp(1rem,1.3vw,1.4rem);
  line-height:1.9;
}
.lessons-hero__button {
  display:inline-block;
  padding:17px 30px;
  border-radius:3px;
  background:#4c86c8;
  color:var(--color-white);
  font-weight:700;
  text-decoration:none;
}
.lessons-hero__button:hover,
.lessons-hero__button:focus-visible {
  background:var(--color-white);
  color:var(--color-navy);
  border:none;
}
#sound.section {
  padding-top:84px;
}
@media (max-width:800px) {
  .lessons-hero {
    min-height:0;
    padding:300px 0 70px;
  }
  .lessons-hero__photo {
    width: 100%;
    height: 350px;
    inset: 0 0 auto;
    object-position: center 40%;
  }
  .lessons-hero__photo::after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to bottom, transparent 28%, rgba(0,0,0,.10) 58%, rgba(0,0,0,.24) 100%);
    pointer-events:none;
  }
  .lessons-hero__curve {
    display:none;
  }
  .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:38px;
  }
}

.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 .overlap-heading {
    padding-top:12px;
    margin-bottom:36px
  }
  .overlap-heading__en {
    font-size:clamp(2.3rem,10.4vw,4.7rem)
  }
  .overlap-heading__ja {
    font-size:clamp(1.25rem,5.2vw,1.8rem);
    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:55px 0 44px
  }
}
@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:center}
.uw-about-salon__heading{max-width:1000px;margin:0 auto 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(25px,3.1vw,43px);line-height:1.5;letter-spacing:.01em;margin:0;color:#10264b}
.uw-about-salon__copy{max-width:760px;margin:0 auto 42px;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:center;margin-bottom:22px}
.uw-about-salon__features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,3vw,40px);max-width:940px;margin:0 auto}
.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:640px){.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/friends-having-conversation.webp') 42% 43%/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:var(--color-navy)}
#why .feature-card{text-align:center}

#why .overlap-heading__desc,
#why .feature-card p,
#why .intro-band p{font-size:var(--body-readable-size);color:var(--body-readable-color)}
#why .intro-band{margin-top:16px;padding:0;background:transparent;border-radius:0;display:block}
#why .intro-band__copy{max-width:760px;margin:16px auto 0}
#why .intro-band__copy p{max-width:none;margin:0 0 14px;line-height:1.9}
#why .intro-band__copy p:last-child{margin-bottom:0}
@media(max-width:720px){#why.section{padding-top:36px}}
@media(max-width:720px){.hero-fullbleed{min-height:660px;background-position:45% center}.hero-fullbleed::before{background:linear-gradient(270deg,rgba(8,27,45,.66),rgba(8,27,45,.32))}.hero-fullbleed__content{width:calc(100% - 36px);padding:85px 0}.hero-fullbleed h1{font-size:clamp(32px,8vw,49px);line-height:1.45}.hero-fullbleed__script{font-size:42px}.why-four-grid{grid-template-columns:1fr}.uw-why__photo{width:140px;height:140px}}

.uw-purpose{background:var(--color-white)}
.uw-purpose__intro{max-width:820px;margin:0 auto var(--space-purpose-intro);text-align:center}
.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:center}.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: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:center}
.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:center;margin:0 0 12px}
.uw-purpose-stats__lead{text-align:center;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 .overlap-heading { padding-top:22px; margin-bottom:40px; }

.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{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:center; }

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

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

.split .uniwords-way-photo {
  display:flex;
  justify-content:center;
  align-items:center;
}
/* THE UNIWORDS WAY: 正円の写真とフェード切り替え */
.split .uniwords-way-photo .uw-way-gallery {
  width:min(100%, 440px);
  padding:18px 16px 0;
  box-sizing:border-box;
  text-align:center;
}
.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(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; }
@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("../../icons/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, 3.2vw, 44px); 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: center; background: #EAF6FC; }
.uw-joy-lead{ margin: 24px auto 30px; max-width: 760px; 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 { 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: clamp(36px, 5vw, 56px) 24px 32px; border-radius: 20px; text-align: center; background: #EDE8E2; }
.uw-joy-stat { margin: 20px 0 0; font-weight: 700; text-align: center; }
.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 auto 0; max-width: 760px; text-align: left; border-bottom: 1px solid #D5CEC6; padding-bottom: 24px; line-height:var(--body-line-height); }
.uw-joy-next { text-align: center; padding: clamp(62px, 8vw, 100px) 20px 0; }
.uw-joy-next > p:not(.uw-joy-eyebrow){ line-height:var(--body-line-height); max-width: 760px; text-align: left; margin: 20px auto; }
.uw-joy-next__link { display: inline-flex; 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: 320px; margin-inline: auto; 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: center; }
 .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(1.7rem, 3.4vw, 2.8rem); line-height: 1.45; margin: 0 0 30px; font-weight: 800; }
.uw-discovery__inner p:not(.eyebrow) { color: var(--color-navy); font-size: clamp(1rem, 1.5vw, 1.1rem); line-height: 1.8; margin: 0 auto 16px; max-width: 760px; 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 auto 0; padding: 0 12px; max-width: 760px; border: 0; text-align: center; }
.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: center; 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(80px,10vw,150px) 0;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(24px,3.4vw,42px);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:center;gap:8px;padding:4px 14px;text-align:center}
.uw260-sound__benefit+.uw260-sound__benefit{border-left:1px solid #506476}
.uw260-sound__icon{font-size:28px;line-height:1;color:var(--accent-on-navy)}
.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:center;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__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:center;display:flex;flex-direction:column;align-items:center}
.uw256-process__number{display:block;color:var(--green);font-size:13px;font-weight:800;letter-spacing:.08em;margin-bottom:12px}
.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:center}
.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(24px,2.9vw,40px);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); }
.uw259-approach__intro { max-width: 940px; margin: 0 auto; text-align: center; }
.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: clamp(23px, 2.7vw, 32px); font-weight: 700; letter-spacing: -.035em; line-height: 1.5; }
.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: clamp(23px, 2.7vw, 32px); font-weight: 700; line-height: 1.5; 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: clamp(38px, 5vw, 66px); font-weight: 800; 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: center; gap: clamp(24px, 5vw, 80px); margin-top: clamp(28px, 2.5vw, 32px); }
.uw258-method__next-intro { display: grid; gap: 12px; align-content: center; position: relative; }
.uw268-next-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.uw268-next-heading h3 { flex: 1; min-width: 0; }
.uw268-next-photo-card { width: 110px; height: 110px; flex: 0 0 110px; border-radius: 50%; overflow: hidden; position: relative; 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(--green); font-size: 12px; font-weight: 700; letter-spacing: .14em; }
.uw258-method__next-intro h3 { margin: 0; color: var(--color-navy); font-size: clamp(22px, 2.5vw, 32px); line-height: 1.5; 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: center; align-items: center; padding: 28px 32px; 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-block; justify-self: start; margin-top: 2px; padding: 9px 16px; border: 1px solid var(--color-navy); border-radius: 8px; background: var(--color-navy); color: var(--color-white); font-size:16px; font-weight: 600; line-height: 1.5; text-decoration: none; transition: background-color .2s ease, color .2s ease; }
.uw258-method__curriculum-cta:hover, .uw258-method__curriculum-cta:focus-visible { background: var(--color-white); color: var(--color-navy); }

@media (max-width: 767px) {
  .uw256-method { padding-bottom:76px; }
  .uw259-approach__intro h2 { margin: 18px 0 20px; }
  .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; }
  .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: clamp(28px, 8vw, 46px); }
  .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; }
  .uw268-next-photo-card { width: 90px; height: 90px; flex-basis: 90px; }
  .uw258-method__curriculum { padding: 23px 20px; }
}

.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__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__links{display:flex;justify-content:center;flex-wrap:wrap;gap:14px 32px;margin-top:22px}
.lesson-facts__links a{color:var(--green);font-weight:700;text-decoration:none}
.lesson-facts__links a:hover{text-decoration:underline}
@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{gap:12px 22px}}

.uw256-practice .uw-practice-intro {
  max-width: 760px;
}
.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-block; margin-top: 12px; color: var(--color-navy); font-weight: 600; text-underline-offset: 4px; }
.uw-discovery__reassurance a:hover, .uw-discovery__reassurance a:focus-visible{ color: var(--color-green, #14A896); }
.uw-discovery__note{ margin: 0 auto; font-size: .78rem; color: #65717d; line-height:var(--body-line-height); }

/* Overseas episodes: short stories, two columns on desktop and mobile */
.uw-overseas-story { background: #fff; padding: clamp(42px,6vw,78px) 0; color: var(--color-navy); }
.uw-overseas-story__intro { max-width: 1120px; margin: 0 auto 38px; text-align: center; }
.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 p { margin: 0 auto; font-size: clamp(.9rem,1.2vw,1.05rem); line-height: 1.65; }
.uw-overseas-story__cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; max-width: 1080px; margin: 0 auto; }
.uw-overseas-story__card { min-width: 0; padding: 24px; background: #F3F0EA; border-radius: 24px; }
.uw-overseas-story__visual { position: relative; max-width: 290px; width: 100%; margin: 0 auto 18px; padding-top: 46px; }
.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: 80%; color: var(--color-navy); font-family: Caveat,cursive; font-size: clamp(1.5rem,2.3vw,2rem); 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(1rem,1.35vw,1.2rem); line-height: 1.5; font-weight: 700; }
.uw-overseas-story__scene-desc { margin: 0; font-size: clamp(.9rem,1.05vw,1rem); line-height: 1.7; }
.uw-overseas-story__closing { max-width: 1080px; margin: 22px auto 0; padding: 24px 28px; border-radius: 20px; background: #e4f3fc; text-align: center; }
.uw-overseas-story__closing h3 { margin: 0 0 8px; font-size: clamp(1rem,1.6vw,1.2rem); line-height: 1.6; font-weight: 700; }
.uw-overseas-story__closing p { margin: 0; font-size: clamp(.88rem,1.1vw,1rem); line-height: 1.7; }
@media (max-width: 520px) {
  .uw-overseas-story__heading-tail { display: block; }
  .uw-overseas-story__intro { margin-bottom: 26px; }
  .uw-overseas-story__cards { gap: 10px; }
  .uw-overseas-story__card { padding: 16px 10px 20px; border-radius: 18px; }
  .uw-overseas-story__visual { padding-top: 48px; margin-bottom: 14px; }
  .uw-overseas-story__phrase { font-size: clamp(1.05rem,3.8vw,1.45rem); width: 92%; }
  .uw-overseas-story__confusion { top: 48px; left: -4px; font-size: 24px; }
  .uw-overseas-story__scene-title { font-size: .92rem; line-height: 1.5; }
  .uw-overseas-story__scene-desc { font-size: .82rem; line-height: 1.65; }
  .uw-overseas-story__closing { padding: 24px 16px; }
}


.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; }

/* 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);
}

