:root {
  --blue: #0757d6;
  --red: #ff3f37;
  --yellow: #ffb300;
  --green: #4e9b45;
  --text: #08101f;
  color-scheme: light;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  margin: 0;
  background: #e9e9e9;
  color: var(--text);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, system-ui, sans-serif;
  letter-spacing: 0;
}

img, svg { display: block; }
a { color: inherit; text-decoration: none; }

.deck {
  display: grid;
  gap: 28px;
  width: min(100%, 1728px);
  margin: 0 auto;
  padding: 18px 16px 44px;
}

.deck-nav {
  position: sticky;
  top: 12px;
  z-index: 30;
  display: flex;
  width: fit-content;
  gap: 8px;
  margin: 12px auto 0;
  padding: 8px;
  border: 1px solid rgba(7, 87, 214, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
}

.deck-nav a {
  display: grid;
  min-width: 44px;
  height: 34px;
  place-items: center;
  border-radius: 999px;
  color: var(--blue);
  font-size: 14px;
  font-weight: 900;
}

.deck-nav a:hover { background: var(--blue); color: #fff; }

.single {
  display: grid;
  min-height: 100vh;
  place-items: center;
  overflow: hidden;
}

.single-wrap {
  width: min(100vw, calc(100vh * 1672 / 941), 1672px);
}

.poster {
  container-type: inline-size;
  position: relative;
  width: min(100%, 1672px);
  aspect-ratio: 1672 / 941;
  overflow: hidden;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 2px 16px rgba(10, 15, 25, 0.2);
  isolation: isolate;
}

.single .poster { width: 100%; border-radius: 0; }

.poster::before {
  position: absolute;
  right: -5cqw;
  bottom: 1.2cqw;
  z-index: -1;
  width: 18cqw;
  height: 10cqw;
  border-radius: 50% 0 0 0;
  background: radial-gradient(circle, rgba(255,255,255,.78) 18%, transparent 20%) 0 0 / 1.18cqw 1.18cqw, #ffc029;
  content: "";
  transform: rotate(-15deg);
}

.poster::after {
  position: absolute;
  left: -5.4cqw;
  bottom: -1.6cqw;
  z-index: -1;
  width: 16cqw;
  height: 6cqw;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.88) 18%, transparent 20%) 0 0 / 1.18cqw 1.18cqw, #ffc029;
  content: "";
}

.corner-badge {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
  display: grid;
  width: 7.1cqw;
  height: 4.85cqw;
  place-items: center;
  border-radius: 0 22px 0 1.8cqw;
  background: var(--blue);
  color: #fff;
  font-size: 2.95cqw;
  font-weight: 950;
  line-height: 1;
}

.brand {
  position: absolute;
  top: 2.52cqw;
  left: 2.55cqw;
  z-index: 8;
  display: flex;
  align-items: center;
  gap: 1cqw;
}

.brand-mark { width: 3.15cqw; height: 3.15cqw; }
.brand p { display: flex; align-items: baseline; gap: .48cqw; margin: 0; font-size: 1.75cqw; font-weight: 700; white-space: nowrap; }
.brand strong { font-size: 2.05cqw; font-weight: 950; }

.stripe-corner {
  position: absolute;
  right: .85cqw;
  bottom: 0;
  z-index: 0;
  width: 4.8cqw;
  height: 3.75cqw;
  border-radius: 4cqw 0 0 0;
  background: repeating-linear-gradient(135deg, #9dd3ff 0 .16cqw, transparent .16cqw .55cqw);
}

.blue-dots {
  position: absolute;
  right: 10.4cqw;
  bottom: 18.6cqw;
  width: 5.6cqw;
  height: 4.2cqw;
  background-image: radial-gradient(circle, #3ba5f6 .13cqw, transparent .15cqw);
  background-size: 1.22cqw 1.22cqw;
  opacity: .75;
}

.yellow-corner { display: none; }

.photo-art {
  position: absolute;
  z-index: 2;
  max-width: none;
  object-fit: contain;
  pointer-events: none;
}

.hero-copy {
  position: absolute;
  top: 7.2cqw;
  left: 3.7cqw;
  z-index: 5;
  width: 67cqw;
}

.hero-copy h1,
.slide-head h1,
.s05-head h1 {
  margin: 0;
  color: #07101f;
  font-weight: 950;
  line-height: 1.12;
  white-space: nowrap;
}

.hero-copy h1 { font-size: 4.24cqw; }
.hero-copy h1 span, .slide-head h1 span, .slide-head h2 span, .s05-head h1 span { color: var(--blue); }
.hero-copy h1 b, .s05-head h1 b { color: var(--red); }
.english { margin: .75cqw 0 0; color: #6f7482; font-size: 1.52cqw; font-weight: 600; }
.hero-copy em, .slide-head em { display: block; width: 2.45cqw; height: .18cqw; margin-top: 1.12cqw; border-radius: 999px; background: #0b76d8; }
.hero-copy h2 { margin: 1.18cqw 0 0; font-size: 2.75cqw; font-weight: 950; line-height: 1.26; white-space: nowrap; }
.hero-copy h2 span { color: var(--blue); }

.art01 { top: 4.2cqw; right: .95cqw; width: 30cqw; }

.feature-grid {
  position: absolute;
  top: 23.08cqw;
  left: 3.16cqw;
  z-index: 6;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .9cqw;
  width: 67.1cqw;
}

.feature-card {
  min-width: 0;
  height: 18.42cqw;
  padding: 1.05cqw .95cqw 1.1cqw;
  border: 1.4px solid var(--accent);
  border-radius: 1cqw;
  background: rgba(255,255,255,.96);
  color: var(--accent);
}

.blue { --accent: var(--blue); }
.yellow { --accent: var(--yellow); }
.red { --accent: var(--red); }
.green { --accent: var(--green); }

.feature-head { display: flex; align-items: center; gap: .65cqw; min-width: 0; }
.feature-head span { display: grid; width: 2.62cqw; height: 2.62cqw; flex: 0 0 auto; place-items: center; border-radius: 999px; background: var(--accent); color: #fff; font-size: 1.28cqw; font-weight: 950; }
.feature-card h3 { margin: 0; font-size: 1.35cqw; font-weight: 950; line-height: 1.12; white-space: nowrap; }
.feature-icon { width: 12.4cqw; height: 7.55cqw; margin: 1.22cqw auto 0; }
.feature-icon svg { width: 100%; height: 100%; }
.feature-card i { display: block; width: 100%; height: .12cqw; margin: .65cqw 0 .75cqw; background-image: linear-gradient(to right, #bec8d6 46%, transparent 0); background-size: .42cqw .12cqw; }
.feature-card p { margin: 0; color: #111827; font-size: 1.12cqw; font-weight: 850; line-height: 1.5; text-align: center; }

.benefit-strip {
  position: absolute;
  top: 43.05cqw;
  left: 3.9cqw;
  z-index: 6;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  width: 66.1cqw;
  height: 8.38cqw;
  border: 1.4px solid #5794ec;
  border-radius: .85cqw;
  background: rgba(249,252,255,.96);
}

.benefit-strip article,
.method-strip article {
  display: grid;
  grid-template-columns: 5.7cqw 1fr;
  align-items: center;
  gap: 1.12cqw;
  padding: 0 1.25cqw;
}

.benefit-strip article + article, .method-strip article + article { border-left: 1.4px dashed #7aaaf5; }
.benefit-icon { display: grid; width: 5.75cqw; height: 5.75cqw; place-items: center; border-radius: 999px; background: var(--accent); color: #fff; font-size: 2.2cqw; font-weight: 950; box-shadow: 0 8px 14px rgba(33,78,148,.12); }
.benefit-strip h3, .method-strip h3 { margin: 0; color: var(--blue); font-size: 1.26cqw; font-weight: 950; line-height: 1.25; }
.benefit-strip article:nth-child(3) h3 { color: var(--red); }
.benefit-strip p, .method-strip p { margin: .38cqw 0 0; color: #172033; font-size: .88cqw; font-weight: 750; line-height: 1.46; }
.trust-note, .supervision-note { position: absolute; z-index: 6; margin: 0; color: var(--blue); font-size: .92cqw; font-weight: 850; white-space: nowrap; }
.trust-note { left: 27.2cqw; bottom: 1.55cqw; }

.cta-stack { position: absolute; right: 3.85cqw; bottom: 4.62cqw; z-index: 7; display: grid; gap: 1.38cqw; width: 23.45cqw; }
.cta { display: flex; align-items: center; justify-content: space-between; min-height: 5.16cqw; padding: 0 1.4cqw 0 3cqw; border-radius: .66cqw; font-size: 1.78cqw; font-weight: 950; box-shadow: 0 .28cqw .48cqw rgba(0,0,0,.18); white-space: nowrap; }
.cta span { display: grid; width: 2.72cqw; height: 2.72cqw; place-items: center; border-radius: 999px; font-size: 2.2cqw; line-height: 1; }
.cta.primary { background: var(--blue); color: #fff; }
.cta.primary span { background: #fff; color: var(--blue); }
.cta.secondary { border: 2px solid var(--blue); background: #fff; color: var(--blue); }
.cta.secondary span { background: var(--blue); color: #fff; }

.slide-head { position: absolute; z-index: 5; left: 4.05cqw; top: 6.15cqw; }
.slide-head h1 { font-size: 4.5cqw; }
.slide-head h2 { margin: 1.18cqw 0 0; font-size: 2.52cqw; font-weight: 950; line-height: 1.3; white-space: nowrap; }
.slide-head p { margin: 1.02cqw 0 0; font-size: 1.05cqw; font-weight: 650; line-height: 1.8; }
.art02 { top: 2.6cqw; right: 3cqw; width: 33.5cqw; }

.ability-grid {
  position: absolute;
  top: 22.65cqw;
  left: 3.08cqw;
  z-index: 6;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .62cqw 1.1cqw;
  width: 92.6cqw;
}

.ability-card {
  display: grid;
  grid-template-columns: 8.85cqw 1fr;
  align-items: center;
  height: 10.92cqw;
  padding: 1cqw 1.2cqw;
  gap: .85cqw;
  border: 1.3px solid var(--accent);
  border-radius: .85cqw;
  background: rgba(255,255,255,.96);
  color: var(--accent);
}

.ability-symbol { display: grid; width: 7.25cqw; height: 7.25cqw; place-items: center; }
.ability-symbol img { width: 100%; height: 100%; object-fit: contain; }
.ability-card h3 { display: flex; align-items: center; gap: .75cqw; margin: 0; color: var(--accent); font-size: 1.68cqw; font-weight: 950; white-space: nowrap; }
.ability-card h3 span { display: grid; width: 2.7cqw; height: 2.7cqw; place-items: center; border-radius: 999px; background: var(--accent); color: #fff; font-size: 1.2cqw; }
.ability-card .en { margin: .62cqw 0 0; color: #48566d; font-size: 1.08cqw; }
.ability-card p:last-child { margin: .8cqw 0 0; color: #111827; font-size: 1cqw; font-weight: 750; line-height: 1.48; }

.method-strip {
  position: absolute;
  left: 3.25cqw;
  bottom: 3.92cqw;
  z-index: 6;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  width: 93cqw;
  height: 6.86cqw;
  border: 1.4px solid #87b6f7;
  border-radius: .75cqw;
  background: rgba(249,252,255,.96);
}

.method-image { display: block; width: 4.75cqw; height: 4.75cqw; }
.method-image img { width: 100%; height: 100%; object-fit: contain; border-radius: 999px; }
.method-strip h3 { font-size: 1.24cqw; }
.method-strip p { font-size: .86cqw; }
.supervision-note { left: 16.7cqw; bottom: 1.25cqw; }

.s03-head { top: 6.1cqw; left: 3.28cqw; }
.s03-head h1 { font-size: 4.65cqw; }
.s03-head h2 { font-size: 2.42cqw; }
.art03 { top: 2.6cqw; right: 6cqw; width: 39cqw; }

.feature-rows {
  position: absolute;
  top: 17.6cqw;
  left: 2.78cqw;
  z-index: 6;
  display: grid;
  gap: .58cqw;
  width: 47.6cqw;
}

.feature-row {
  display: grid;
  grid-template-columns: 3.2cqw 6.3cqw 18.2cqw 1fr;
  align-items: center;
  height: 6.42cqw;
  padding: 0 1cqw;
  gap: .65cqw;
  border: 1.3px solid var(--accent);
  border-radius: .75cqw;
  background: rgba(255,255,255,.96);
  color: var(--accent);
}

.row-num { display: grid; width: 2.8cqw; height: 2.8cqw; place-items: center; border-radius: 999px; background: var(--accent); color: #fff; font-size: 1.35cqw; font-weight: 950; }
.row-icon { display: grid; width: 5.55cqw; height: 5.55cqw; place-items: center; border-radius: 999px; background: var(--accent); color: #fff; }
.row-icon svg { width: 4.3cqw; height: 4.3cqw; }
.feature-row h3 { margin: 0; color: var(--accent); font-size: 1.72cqw; font-weight: 950; white-space: nowrap; }
.feature-row p { margin: 0; padding-left: 1.7cqw; border-left: 1.5px dashed currentColor; color: #111827; font-size: 1.08cqw; font-weight: 750; line-height: 1.42; }
.big-arrow { position: absolute; top: 31.1cqw; left: 51.3cqw; z-index: 6; color: #58a9f7; font-size: 5.6cqw; font-weight: 950; line-height: 1; }

.rank-panel { position: absolute; top: 13.95cqw; right: 2.55cqw; z-index: 6; width: 42.2cqw; }
.rank-panel > h2 { display: grid; height: 3.7cqw; margin: 0; place-items: center; border-radius: .75cqw .75cqw 0 0; background: var(--blue); color: #fff; font-size: 1.86cqw; font-weight: 950; letter-spacing: .08em; }
.rank-row { display: grid; grid-template-columns: 7.5cqw 1fr 6.7cqw; align-items: center; height: 6.88cqw; padding: 0 1.05cqw; border: 1.2px solid var(--accent); border-top: 0; background: rgba(255,255,255,.96); color: var(--accent); }
.rank-row:last-child { border-radius: 0 0 .75cqw .75cqw; }
.hex { display: grid; width: 5.75cqw; height: 5.75cqw; place-items: center; clip-path: polygon(50% 0, 92% 24%, 92% 76%, 50% 100%, 8% 76%, 8% 24%); background: var(--accent); color: #fff; font-size: 2.18cqw; font-weight: 950; }
.rank-row h3 { margin: 0; color: var(--accent); font-size: 1.94cqw; font-weight: 950; }
.rank-row p { margin: .58cqw 0 0; color: #111827; font-size: 1.02cqw; font-weight: 750; white-space: nowrap; }
.rank-row strong { padding-left: 1.5cqw; border-left: 1px solid #d4ddea; color: var(--accent); font-size: 1.12cqw; font-weight: 900; line-height: 1.05; text-align: center; }
.rank-row strong b { font-size: 3.05cqw; line-height: 1; }
.gold { --accent: #d6930e; }
.purple { --accent: #6940c9; }
.teal { --accent: #0b9b94; }

.slide04 {
  background:
    radial-gradient(circle at 93% 8%, rgba(11, 118, 216, .12), transparent 8%),
    #fff;
}

.strategy-rail {
  position: absolute;
  top: 7.2cqw;
  left: 2.25cqw;
  z-index: 6;
  display: grid;
  justify-items: center;
  width: 5.2cqw;
  color: #0b88c7;
}

.strategy-rail span {
  display: grid;
  width: 3.45cqw;
  height: 3.45cqw;
  place-items: center;
  border: .12cqw solid #0b88c7;
  border-radius: 999px;
  background: #fff;
  font-size: 1.55cqw;
  font-weight: 800;
}

.strategy-rail p {
  margin: 1.15cqw 0 0;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: 1.24cqw;
  font-weight: 850;
  line-height: 1.5;
  letter-spacing: .08em;
}

.strategy-rail i {
  width: .18cqw;
  height: 14.8cqw;
  margin-top: 1.15cqw;
  background-image: radial-gradient(circle, #0b88c7 .14cqw, transparent .16cqw);
  background-size: .18cqw .75cqw;
}

.graph-head {
  position: absolute;
  top: 5.25cqw;
  left: 8.8cqw;
  z-index: 6;
  width: 84cqw;
}

.graph-head > p {
  display: grid;
  width: 25.2cqw;
  height: 2.55cqw;
  margin: 0 0 1.05cqw 6.7cqw;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(90deg, #0a89c9, #0b6fce);
  color: #fff;
  font-size: 1.02cqw;
  font-weight: 900;
}

.graph-head h1 {
  display: flex;
  align-items: center;
  gap: 1.45cqw;
  margin: 0;
  color: #161616;
  font-size: 2.38cqw;
  font-weight: 950;
  line-height: 1.1;
}

.graph-head h1 span {
  font-family: Georgia, serif;
  font-size: 2.78cqw;
  font-weight: 700;
}

.graph-head h1 i {
  width: .08cqw;
  height: 2.7cqw;
  background: #111;
}

.graph-head h2 {
  margin: 2.15cqw 0 0;
  max-width: 84cqw;
  font-size: 1.47cqw;
  font-weight: 650;
  line-height: 1.5;
}

.graph-head h2 b {
  color: #0589c8;
  font-weight: 950;
}

.phase-lines {
  position: absolute;
  top: 19.15cqw;
  left: 8.8cqw;
  z-index: 4;
  width: 55.8cqw;
  height: 12.8cqw;
}

.phase {
  position: absolute;
  display: grid;
  height: 3.15cqw;
  place-items: center;
  color: #fff;
  font-size: 1.22cqw;
  font-weight: 850;
  clip-path: polygon(0 0, calc(100% - 1.5cqw) 0, 100% 50%, calc(100% - 1.5cqw) 100%, 0 100%);
}

.phase-build {
  left: 0;
  top: 0;
  width: 17.35cqw;
  background: #e9edf5;
  color: #111;
}

.phase-growth {
  left: 16.95cqw;
  top: 0;
  width: 38.7cqw;
  background: #0b8fcd;
}

.phase-action {
  left: 22.9cqw;
  top: 8.65cqw;
  width: 24.1cqw;
  background: #e86f43;
  font-size: 1.08cqw;
}

.phase-callout {
  position: absolute;
  top: 6.05cqw;
  left: 17.05cqw;
  display: grid;
  width: 7.7cqw;
  height: 7.7cqw;
  place-items: center;
  border-radius: 999px;
  background: #e86f43;
  color: #fff;
  font-size: 1.02cqw;
  font-weight: 850;
  line-height: 1.25;
  text-align: center;
}

.phase-callout::before {
  position: absolute;
  top: -6.75cqw;
  width: 3.8cqw;
  height: 11.7cqw;
  border: .18cqw solid #e86f43;
  border-bottom: 0;
  content: "";
}

.score-chart {
  position: absolute;
  left: 8.45cqw;
  bottom: 5.75cqw;
  z-index: 6;
  width: 53.8cqw;
  height: 25.7cqw;
}

.chart-bars {
  position: absolute;
  left: 1.55cqw;
  right: .6cqw;
  bottom: 4.45cqw;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  align-items: end;
  gap: 1.08cqw;
  height: 19.4cqw;
}

.score-bar {
  position: relative;
  display: grid;
  justify-items: center;
  height: calc(var(--h) * .042cqw);
  min-height: 5.4cqw;
}

.score-bar strong {
  position: absolute;
  top: -1.62cqw;
  color: #555;
  font-size: 1.03cqw;
  font-weight: 950;
  white-space: nowrap;
}

.score-bar em {
  position: absolute;
  bottom: -4.3cqw;
  color: #555;
  font-size: .9cqw;
  font-style: normal;
  font-weight: 850;
  writing-mode: vertical-rl;
}

.score-bar::before {
  position: absolute;
  inset: -2.08cqw -.66cqw -4.52cqw;
  border: .16cqw solid transparent;
  content: "";
}

.score-bar.is-highlight::before {
  border-color: #e86f43;
}

.seg {
  display: block;
  width: 1.5cqw;
}

.seg.base { height: calc(var(--base) * .042cqw); background: #0789c9; }
.seg.applied { height: calc(var(--applied) * .042cqw); background: #b9ddf2; }
.seg.advanced { height: calc(var(--advanced) * .042cqw); background: #55ade8; }

.chart-axis {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 4.35cqw;
  height: .08cqw;
  background: #cfd5dc;
}

.chart-note {
  position: absolute;
  left: 4.95cqw;
  bottom: -.75cqw;
  margin: 0;
  color: #111;
  font-size: .73cqw;
  font-weight: 650;
}

.legend {
  position: absolute;
  left: 31.25cqw;
  bottom: -.75cqw;
  display: flex;
  align-items: center;
  gap: .35cqw;
  color: #555;
  font-size: .73cqw;
  font-weight: 700;
}

.legend span {
  width: .82cqw;
  height: .82cqw;
}

.legend .base { background: #0789c9; }
.legend .applied { background: #b9ddf2; }
.legend .advanced { background: #55ade8; }

.graph-comments {
  position: absolute;
  left: 60.6cqw;
  top: 27.7cqw;
  z-index: 6;
  width: 10.45cqw;
  color: #0b8fcd;
}

.comment-top {
  display: grid;
  grid-template-columns: 3.2cqw 1fr;
  align-items: start;
  gap: .48cqw;
}

.comment-top strong {
  color: #555;
  font-size: 1.02cqw;
  font-weight: 950;
}

.comment-top p,
.comment-mid {
  margin: 0;
  color: #56aee2;
  font-size: .8cqw;
  font-weight: 950;
  line-height: 1.25;
}

.comment-mid {
  margin-top: 5.95cqw;
  color: #0589c8;
}

.why-panel {
  position: absolute;
  top: 33.95cqw;
  right: 3.65cqw;
  z-index: 6;
  width: 25.1cqw;
}

.why-panel h2 {
  margin: 0 0 .95cqw;
  color: #0589c8;
  font-size: 1.32cqw;
  font-weight: 950;
}

.why-panel ul {
  display: grid;
  gap: .56cqw;
  margin: 0;
  padding: 0;
  list-style: none;
  color: #111;
  font-size: .88cqw;
  font-weight: 650;
  line-height: 1.45;
}

.why-panel li {
  position: relative;
  padding-left: 1.7cqw;
}

.why-panel li::before {
  position: absolute;
  top: .34cqw;
  left: 0;
  width: .68cqw;
  height: .68cqw;
  border-radius: 999px;
  background: #666;
  content: "";
}

.metric-cards {
  position: absolute;
  right: 3.65cqw;
  bottom: 5.65cqw;
  z-index: 6;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .52cqw;
  width: 25.1cqw;
}

.metric-cards article {
  min-height: 4.82cqw;
  padding: .58cqw .5cqw;
  border: 1.3px solid #88bbf7;
  border-radius: .65cqw;
  background: rgba(248, 252, 255, .96);
}

.metric-cards span {
  display: grid;
  width: 1.5cqw;
  height: 1.5cqw;
  place-items: center;
  border-radius: 999px;
  background: var(--blue);
  color: #fff;
  font-size: .72cqw;
  font-weight: 950;
}

.metric-cards h3 {
  margin: .36cqw 0 .22cqw;
  color: var(--blue);
  font-size: .78cqw;
  font-weight: 950;
}

.metric-cards p {
  margin: 0;
  color: #172033;
  font-size: .58cqw;
  font-weight: 750;
  line-height: 1.35;
}

.s05-head { position: absolute; top: 6.35cqw; left: 3.65cqw; z-index: 5; }
.s05-head h1 { font-size: 4.55cqw; }
.s05-head h1 > span:first-child { display: inline-block; margin-right: 1.5cqw; font-size: 5.9cqw; line-height: .9; vertical-align: -.08em; }
.s05-head p { margin: .8cqw 0 0; color: #6f7482; font-size: 1.46cqw; font-weight: 850; }
.art05 { top: 2.6cqw; right: 1.7cqw; width: 25.7cqw; }

.scene-grid {
  position: absolute;
  top: 16.25cqw;
  left: 3.15cqw;
  z-index: 6;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.9cqw;
  width: 79.2cqw;
}

.scene-card {
  overflow: hidden;
  height: 22.95cqw;
  border: 1.4px solid var(--accent);
  border-radius: .86cqw;
  background: rgba(255,255,255,.96);
  color: var(--accent);
}

.scene-card h3 { display: grid; height: 3.35cqw; margin: 0; place-items: center; background: var(--accent); color: #fff; font-size: 1.85cqw; font-weight: 950; }
.scene-card img { width: 100%; height: 11.35cqw; object-fit: cover; object-position: center; }
.scene-card ul { display: grid; gap: .64cqw; margin: .55cqw 0 0; padding: 0 1.2cqw 0 1.25cqw; list-style: none; color: #111827; font-size: 1.08cqw; font-weight: 850; line-height: 1.25; }
.scene-card li { position: relative; padding-left: 2.2cqw; }
.scene-card li::before { position: absolute; top: .04cqw; left: 0; display: grid; width: 1.45cqw; height: 1.45cqw; place-items: center; border-radius: 999px; background: var(--accent); color: #fff; content: "✓"; font-size: 1cqw; font-weight: 950; }

.flow-strip { position: absolute; left: 3.15cqw; bottom: 6.55cqw; z-index: 6; display: grid; grid-template-columns: 1fr 2.1cqw 1fr 2.1cqw 1.1fr; align-items: center; width: 55.8cqw; height: 8.65cqw; border: 1.4px solid #8bbaff; border-radius: .82cqw; background: rgba(249,252,255,.96); }
.flow-strip article { display: grid; grid-template-columns: 5.35cqw 1fr; align-items: center; gap: 1cqw; padding: 0 1.05cqw; }
.flow-strip .benefit-icon { width: 5cqw; height: 5cqw; font-size: 1.7cqw; }
.flow-strip h3 { margin: 0; color: var(--blue); font-size: 1.22cqw; font-weight: 950; line-height: 1.2; }
.flow-strip p { margin: .55cqw 0 0; color: #172033; font-size: .78cqw; font-weight: 700; line-height: 1.55; }
.flow-strip b { color: var(--blue); font-size: 2.2cqw; text-align: center; }
.s05-message { position: absolute; left: 13.55cqw; bottom: 2.05cqw; z-index: 6; margin: 0; color: var(--blue); font-size: 2cqw; font-weight: 950; white-space: nowrap; }
.apply-box { position: absolute; right: 2.28cqw; bottom: 1.82cqw; z-index: 6; width: 36.9cqw; height: 13.65cqw; padding: 1.05cqw; border-radius: .9cqw; background: var(--blue); color: #fff; box-shadow: 0 .35cqw .7cqw rgba(0,0,0,.15); text-align: center; }
.apply-box h2 { margin: 0; font-size: 2.28cqw; font-weight: 950; letter-spacing: .08em; line-height: 1; }
.apply-box p { display: flex; align-items: center; justify-content: center; gap: 1.35cqw; margin: .6cqw 0 0; color: var(--yellow); font-size: 1.65cqw; font-weight: 950; }
.apply-box p::before, .apply-box p::after { width: 4.7cqw; height: .12cqw; background: var(--yellow); content: ""; }
.apply-box div { display: grid; grid-template-columns: 1fr 1fr; gap: 1cqw; margin-top: .72cqw; }
.apply-box a { display: flex; align-items: center; justify-content: space-between; height: 3.55cqw; padding: 0 .9cqw 0 1.1cqw; border-radius: .5cqw; background: #fff; color: var(--blue); font-size: 1.02cqw; font-weight: 950; white-space: nowrap; }
.apply-box a span { display: grid; width: 1.45cqw; height: 1.45cqw; place-items: center; border-radius: 999px; background: var(--blue); color: #fff; font-size: 1.15cqw; line-height: 1; }
.apply-box small { display: block; margin-top: .78cqw; color: #fff; font-size: .88cqw; font-weight: 800; text-align: left; }

@media (max-width: 720px) {
  body { overflow: auto; }
  .single { align-items: start; }
  .poster { min-width: 640px; border-radius: 0; }
}
