/* NAcode Offer LP — theme-g stylesheet. Visual tokens are project-owned. */
:root {
  --ol-hero-bg:#73c9e0;
  --ol-sky:oklch(77% .085 222);
  --ol-sky-soft:oklch(91% .035 218);
  --ol-deep-sky:oklch(62% .115 224);
  --ol-green:oklch(79% .19 126);
  --ol-teal:oklch(57% .09 196);
  --ol-paper:oklch(97% .012 86);
  --ol-beige:oklch(92% .018 88);
  --ol-yellow:oklch(91% .045 82);
  --ol-highlight:oklch(88% .15 92);
  --ol-mint:oklch(84% .055 157);
  --ol-gray:oklch(95% .008 210);
  --ol-ice:oklch(95% .025 214);
  --ol-ink:oklch(28% .018 225);
  --ol-copy:oklch(45% .035 218);
  --ol-copy-soft:oklch(53% .04 215);
  --ol-white:oklch(99% .004 210);
  --ol-h2:clamp(28px, 6vw, 40px);
  --ol-h3:clamp(18px, 4.2vw, 24px);
  --ol-lead:clamp(14px, 2vw, 16px);
  --ol-body:clamp(13px, 1.8vw, 15px);
  --ol-caption:12px;
  --ol-hero-point:clamp(15px, 3.3vw, 22px);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--ol-sky); }
.ol-body { margin:0; color:var(--ol-ink); background:var(--ol-sky); font-family:"Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; font-size-adjust:from-font; letter-spacing:.07em; overflow-x:hidden; }
.ol-page { width:100%; overflow:hidden; background:var(--ol-sky); }
.ol-page section { position:relative; overflow:hidden; }
.ol-story--why { overflow:visible; }
.ol-surface::before { position:absolute; z-index:0; inset:0; content:""; pointer-events:none; background:url("./images/offer-lp/grain.png") repeat; background-size:50px; mix-blend-mode:color-dodge; opacity:.45; }
.ol-surface > * { position:relative; z-index:1; }
.ol-wrap { width:min(100%, 900px); margin:0 auto; padding:0 20px; }
img { max-width:100%; height:auto; display:block; }
.ol-hero { position:relative; padding-bottom:0; background:#7eb8d8; overflow:hidden; }
.ol-hero__bg { position:absolute !important; z-index:0 !important; inset:0; overflow:hidden; pointer-events:none; background-color:#7eb8d8; background-image:url("data:image/webp;base64,UklGRu4AAABXRUJQVlA4IOIAAAAwBgCdASowACQAPtlgokyoJiMiNVVYAQAbCWIAvgQAwYAvI/lukexn0J70qZax72G2kx8gnNlXZ16YAPpq/oJMrz69e61JhQyxOBcDuYf0hxgaa3oLe5E/jb2bkY4u/Zx9dM2egLIyOAgla/xqRSmw1BBUyO2J85aWIuDuB/6Qb1sPlyMeAxbtKC8f//7NUoGZ10pIm8q9wPhgFMHc4DMEf0PqfguyHGQb2Xui+DmrrVn5IaGm8q0Ucm9FQH/582Dz+/E8Lb4MV42q8xK26wmLL9QXbKrVC152qhPaP9PgAAAA"); background-position:center 38%; background-size:cover; background-repeat:no-repeat; }
.ol-hero__bg picture,.ol-hero__bg img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 38%; }
.ol-hero__stage { position:relative; width:min(100%, 900px); aspect-ratio:16 / 9; margin:0 auto; overflow:hidden; background:transparent; }
.ol-hero__media,.ol-hero__media img { display:block; width:100%; height:100%; object-fit:contain; background:transparent; }
.ol-hero__media { opacity:0; }
.ol-hero__media.is-ready { opacity:1; }
.ol-hero__brand { position:absolute; z-index:3; top:22px; left:22px; margin:0; color:#fff; text-shadow:0 1px 8px rgba(0,0,0,.42); }
.ol-hero__name { margin:0; font:500 clamp(15px, 3.6vw, 22px)/1 "Zen Old Mincho", serif; letter-spacing:.1em; }
.ol-hero__byline { margin:4px 0 0; color:rgba(255,255,255,.9); font:500 clamp(8px, 1.8vw, 10px)/1.2 "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif; letter-spacing:.18em; }
.ol-hero__catch { position:absolute; z-index:2; top:14%; right:5%; display:grid; justify-items:end; gap:4px; margin:0; color:#fff; font-family:"Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif; font-weight:700; line-height:1.35; letter-spacing:.06em; text-align:right; text-shadow:0 2px 12px rgba(10,62,82,.45); }
.ol-hero__catch-lead,.ol-hero__catch-sub { opacity:0; transform:translateY(1.15em); }
.ol-hero__catch.is-in .ol-hero__catch-lead,.ol-hero__catch.is-in .ol-hero__catch-sub { opacity:1; transform:translateY(0); transition:opacity .56s cubic-bezier(.22,1,.36,1),transform .68s cubic-bezier(.16,1,.3,1); }
.ol-hero__catch.is-in .ol-hero__catch-sub { transition-delay:70ms; }
.ol-hero__catch-lead { display:block; padding-top:.28em; font-size:clamp(17px, 4.1vw, 32px); letter-spacing:.08em; white-space:nowrap; }
.ol-hero__catch-mark { position:relative; display:inline-block; }
.ol-hero__catch-mark::before { position:absolute; top:-.22em; left:50%; width:.16em; height:.16em; border-radius:50%; background:currentColor; content:""; transform:translateX(-50%); box-shadow:0 1px 4px rgba(10,62,82,.35); }
.ol-hero__catch-sub { display:block; font-size:clamp(15px, 3.6vw, 28px); white-space:nowrap; }
.ol-hero__catch-soft { font-size:.78em; }
@media (prefers-reduced-motion:reduce) {
  .ol-hero__catch-lead,.ol-hero__catch-sub { opacity:1; transform:none; transition:none; }
}
@media (min-width:768px) {
  .ol-hero__brand { top:clamp(24px, 3vw, 36px); left:clamp(28px, 5vw, 72px); }
  .ol-hero__stage { width:min(100%, 1040px); }
  .ol-hero__catch-lead { font-size:clamp(28px, 3.6vw, 44px); }
  .ol-hero__catch-sub { font-size:clamp(24px, 3.1vw, 38px); }
}
.ol-hero__benefits { background:oklch(98% .01 89.49); }
.ol-hero__points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:min(100%,780px); margin:0 auto; padding:clamp(20px,3.4vw,30px) 16px clamp(30px,4.4vw,42px); list-style:none; background:oklch(98% .01 89.49); }
.ol-hero__points li { position:relative; display:grid; min-width:0; justify-items:center; align-content:start; gap:8px; color:var(--ol-teal); text-align:center; }
.ol-hero__points li + li::before { position:absolute; top:8px; bottom:8px; left:0; width:1px; content:""; background:color-mix(in srgb,var(--ol-teal) 24%,transparent); }
.ol-hero__point-icon { display:grid; place-items:center; width:56px; height:56px; border:1px solid color-mix(in srgb,var(--ol-teal) 55%,transparent); border-radius:50%; background:transparent; }
.ol-hero__point-icon::after { width:26px; height:26px; background:var(--ol-teal); content:""; mask-repeat:no-repeat; mask-position:center; mask-size:contain; -webkit-mask-repeat:no-repeat; -webkit-mask-position:center; -webkit-mask-size:contain; }
.ol-hero__point-icon--bell::after { mask-image:url("./images/offer-lp/icon-bell.svg"); -webkit-mask-image:url("./images/offer-lp/icon-bell.svg"); }
.ol-hero__point-icon--conversation::after { mask-image:url("./images/offer-lp/icon-conversation.svg"); -webkit-mask-image:url("./images/offer-lp/icon-conversation.svg"); }
.ol-hero__point-icon--like::after { mask-image:url("./images/offer-lp/icon-like.svg"); -webkit-mask-image:url("./images/offer-lp/icon-like.svg"); }
.ol-hero__points strong { font-family:"Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif; font-size:var(--ol-hero-point); font-weight:700; line-height:1.3; letter-spacing:.04em; white-space:normal; }
.ol-hero__points p { width:min(100%, 14em); margin:0; color:color-mix(in srgb,var(--ol-teal) 78%, var(--ol-ink)); font-size:clamp(10px, 1.7vw, 12px); font-weight:500; line-height:1.65; letter-spacing:.02em; text-wrap:pretty; }
.ol-action { padding:20px clamp(12px,4vw,30px); text-align:center; }
.ol-action__btn { position:relative; display:block; width:min(100%, 500px); margin:auto; padding:14px 22px 18px; border:1px solid var(--ol-white); border-radius:999px; background:var(--ol-green); color:#fff; text-decoration:none; line-height:1; filter:drop-shadow(0 3px 8px rgba(0,0,0,.4)); }
.ol-action__btn small { display:block; margin-bottom:5px; font-size:clamp(11px,3.2vw,14px); font-weight:700; }
.ol-action__btn strong { display:block; font-size:clamp(16px,5.2vw,25px); letter-spacing:.01em; white-space:nowrap; }
.ol-story { padding:50px 0; background:var(--ol-paper); }
.ol-story--why { padding-top:0; }
.ol-story__head { margin:0 0 35px; text-align:center; }
.ol-story__head > p:first-child { margin:0 0 5px; color:var(--ol-deep-sky); font-size:var(--ol-caption); font-weight:700; letter-spacing:.18em; }
.ol-story__question { display:grid; grid-template-columns:clamp(112px,19vw,156px) max-content; width:fit-content; max-width:100%; min-height:clamp(152px,20vw,185px); align-items:end; justify-content:center; gap:clamp(12px,3.6vw,30px); margin:0 auto 18px; padding:0 8px; }
.ol-story__question picture { display:flex; width:100%; height:100%; align-items:flex-end; }
.ol-story__question img { width:100%; max-height:100%; object-fit:contain; object-position:center bottom; }
.ol-story__question p { position:relative; min-width:0; margin:0 0 clamp(18px,2.3vw,27px); color:var(--ol-teal); font-family:"Yomogi", "Hiragino Maru Gothic ProN", cursive; font-size:clamp(25px,4.4vw,38px); font-weight:400; line-height:1.32; letter-spacing:.05em; text-align:left; white-space:nowrap; transform:rotate(-2deg); }
.ol-story__question p::after { display:block; width:70%; height:2px; margin:6px 0 0 3px; border-radius:999px; background:var(--ol-deep-sky); content:""; transform:rotate(-2deg); }
.ol-story__intro { width:min(100%,680px); margin:20px auto 64px; padding:clamp(21px,3.4vw,29px) clamp(20px,4.4vw,38px); border:1px solid color-mix(in srgb,var(--ol-teal) 22%,transparent); border-radius:10px; background:color-mix(in srgb,var(--ol-sky-soft) 62%,var(--ol-white)); }
.ol-story__intro p { margin:0; color:var(--ol-teal); font-size:clamp(15px,2.3vw,18px); font-weight:700; line-height:1.95; letter-spacing:.045em; text-align:center; }
.ol-story__intro-copy { display:block; }
.ol-story__intro-copy > span { display:block; }
.ol-story__intro-copy--mobile { display:none; }
.ol-story--why-intro { padding:42px 0; background:oklch(57% .09 195.9); color:oklch(99% .004 210); }
.ol-story--why-intro .ol-story__head { margin-bottom:0; }
.ol-story--why-intro .ol-story__head > p:first-child { color:oklch(99% .004 210); }
.ol-story--why-intro .ol-story__question { position:relative; z-index:1; margin-bottom:0; }
.ol-story--why-intro .ol-story__question p { color:oklch(99% .004 210); }
.ol-story--why-intro .ol-story__question p::after { background:oklch(99% .004 210 / .72); }
.ol-story--why-intro .ol-story__intro { margin-top:0; margin-bottom:0; }
.ol-story__intro mark { position:relative; z-index:0; padding:0 .1em; color:inherit; background:transparent; font-weight:900; white-space:nowrap; }
.ol-story__intro mark::after { position:absolute; z-index:-1; bottom:.17em; left:0; width:100%; height:.38em; border-radius:2px; background:var(--ol-highlight); content:""; transform:scaleX(1); transform-origin:left center; }
.ol-reveal-ready .ol-story__intro mark::after { transform:scaleX(0); }
.ol-reveal-ready .ol-story__head.is-visible .ol-story__intro mark::after { animation:ol-intro-highlight .62s cubic-bezier(.22,1,.36,1) forwards; }
.ol-reveal-ready .ol-story__head.is-visible .ol-story__intro-copy > span:last-child mark::after { animation-delay:.24s; }
@keyframes ol-intro-highlight { to { transform:scaleX(1); } }
.ol-story__example { display:grid; justify-items:center; gap:0; width:min(100%,640px); margin:0 auto 58px; }
.ol-story__example-ask { --ol-ask-bg:oklch(32% .02 225); --ol-ask-notch-h:42px; --ol-ask-notch-w:46px; position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; column-gap:8px; width:100vw; max-width:100vw; margin-inline:calc(50% - 50vw); padding:28px 18px 0; color:oklch(97% .008 86); background:var(--ol-ask-bg); isolation:isolate; }
.ol-story__example-ask::before { position:absolute; z-index:1; top:0; right:0; bottom:calc(-1 * var(--ol-ask-notch-h)); left:0; content:""; pointer-events:none; background:url("./images/offer-lp/grain.png") repeat; background-size:50px; mix-blend-mode:soft-light; opacity:.28; clip-path:polygon(0 0,100% 0,100% calc(100% - var(--ol-ask-notch-h)),calc(50% + var(--ol-ask-notch-w)) calc(100% - var(--ol-ask-notch-h)),50% 100%,calc(50% - var(--ol-ask-notch-w)) calc(100% - var(--ol-ask-notch-h)),0 calc(100% - var(--ol-ask-notch-h))); }
.ol-story__example-ask::after { position:absolute; z-index:0; left:50%; bottom:0; width:0; height:0; border-inline:var(--ol-ask-notch-w) solid transparent; border-top:var(--ol-ask-notch-h) solid var(--ol-ask-bg); content:""; transform:translate(-50%,100%); }
.ol-story__ask-list { position:relative; z-index:2; grid-column:1; display:grid; width:min(100%,340px); margin:0; padding:4px 0 18px; list-style:none; justify-self:start; }
.ol-story__ask-list li { display:grid; grid-template-columns:22px minmax(0,1fr); align-items:start; column-gap:10px; padding:14px 0; color:inherit; font-family:"Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif; font-size:clamp(18px,5vw,24px); font-weight:700; line-height:1.7; letter-spacing:.04em; text-align:left; }
.ol-story__ask-list li + li { border-top:1px solid oklch(97% .008 86 / .28); }
.ol-story__ask-list li::before { width:20px; height:20px; margin-top:.42em; border-radius:50%; content:""; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%232f7d82'/%3E%3Cpath d='M5.6 10.2 8.4 13l6-6.2' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 20px no-repeat; }
.ol-story__example-ask picture { position:relative; z-index:2; grid-column:2; grid-row:1 / -1; width:148px; margin:0; justify-self:end; align-self:end; }
.ol-story__example-cue { display:grid; justify-items:center; gap:6px; width:100%; padding-top:58px; }
.ol-story__example-cue p { position:relative; z-index:0; margin:0; padding:0 1.15em; color:var(--ol-teal); font-family:"Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif; font-size:clamp(22px,5vw,32px); font-weight:700; line-height:1.28; letter-spacing:.06em; text-align:center; }
.ol-story__example-cue p::before,.ol-story__example-cue p::after { position:absolute; top:50%; color:inherit; font-size:.78em; font-weight:700; line-height:1; letter-spacing:0; pointer-events:none; transform:translateY(-52%); }
.ol-story__example-cue p::before { left:0; content:"＼"; }
.ol-story__example-cue p::after { right:0; content:"／"; }
.ol-story__example-cue picture { width:210px; margin-top:2px; }
.ol-story__example-answer { display:grid; justify-items:center; gap:8px; width:100%; padding-top:8px; }
.ol-story__example-step { display:block; margin-bottom:2px; color:oklch(72% .16 352); font-family:"Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif; font-size:var(--ol-caption); font-weight:700; line-height:1.4; letter-spacing:.18em; }
.ol-story__example-answer p { margin:0; color:var(--ol-teal); font-family:"Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif; font-size:clamp(25px,4.4vw,38px); font-weight:800; line-height:1.32; letter-spacing:.04em; text-align:center; white-space:nowrap; }
.ol-story__example-hint { font-size:clamp(16px,3.4vw,22px) !important; font-weight:700 !important; letter-spacing:.04em; }
.ol-hope-pills { display:grid; gap:12px; width:min(88%,300px); margin:6px auto 4px; padding:0; list-style:none; }
.ol-hope-pills li { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:14px; min-height:60px; padding:9px 24px 9px 22px; border-radius:999px; background:var(--ol-white); box-shadow:0 4px 14px rgba(45,85,96,.1); }
.ol-hope-pills__icon { display:block; width:34px; height:34px; background:oklch(62% .14 12); mask-repeat:no-repeat; mask-position:center; mask-size:100% 100%; -webkit-mask-repeat:no-repeat; -webkit-mask-position:center; -webkit-mask-size:100% 100%; }
.ol-hope-pills__icon--location { mask-image:url("./images/offer-lp/icon-location.svg"); -webkit-mask-image:url("./images/offer-lp/icon-location.svg"); }
.ol-hope-pills__icon--people { mask-image:url("./images/offer-lp/icon-people.svg"); -webkit-mask-image:url("./images/offer-lp/icon-people.svg"); }
.ol-hope-pills__icon--yen { mask-image:url("./images/offer-lp/icon-yen.svg"); -webkit-mask-image:url("./images/offer-lp/icon-yen.svg"); }
.ol-hope-pills__copy { display:grid; grid-template-columns:auto minmax(12px,1fr) auto; align-items:center; gap:8px; min-width:0; color:var(--ol-ink); text-align:left; white-space:nowrap; }
.ol-hope-pills__copy strong { font-size:clamp(16px,4vw,19px); font-weight:900; line-height:1; letter-spacing:.04em; }
.ol-hope-pills__leader { align-self:center; border-bottom:2px dotted oklch(72% .16 352 / .58); }
.ol-hope-pills__copy small { font-size:clamp(13px,3.4vw,15px); font-weight:700; line-height:1; letter-spacing:.02em; }
.ol-reveal-ready .ol-hope-pills { perspective:900px; }
.ol-reveal-ready .ol-hope-pills li { opacity:0; transform:rotateY(-68deg) translateY(18px); transform-origin:center; transition:opacity .7s ease,transform 1.05s cubic-bezier(.22,1,.36,1); transition-delay:var(--reveal-delay,0ms); backface-visibility:hidden; }
.ol-reveal-ready .ol-story__example.is-visible .ol-hope-pills li { opacity:1; transform:rotateY(0) translateY(0); }
.ol-story__example picture { display:block; }
.ol-story__example img { width:100%; margin:0; }
.ol-story__example picture img { width:100%; }
.ol-story__example-answer > picture { display:grid; overflow:hidden; width:min(82%,320px); aspect-ratio:1; place-items:end center; border:3px solid var(--ol-white); border-radius:50%; background:var(--ol-sky-soft); box-shadow:0 12px 28px rgba(58,132,145,.15),0 2px 7px rgba(58,132,145,.1); }
.ol-story__example-answer > picture img { width:100%; height:100%; object-fit:contain; object-position:center bottom; }
@media (max-width:767px) {
  .ol-story--why { padding-top:0; }
  .ol-story--why .ol-story__head { margin-bottom:27px; }
  .ol-story__example-ask { padding:22px 16px 0; }
  .ol-story__ask-list li { font-size:clamp(17px,4.8vw,22px); letter-spacing:.03em; }
  .ol-story__example-ask picture { width:136px; }
  .ol-story__example-cue { padding-top:52px; }
  .ol-story__example-cue p { font-size:clamp(20px,5.4vw,28px); }
  .ol-story__example-cue picture { width:190px; }
  .ol-story__example-answer p:not(.ol-story__example-hint) { font-size:clamp(20px,5.8vw,28px); }
  .ol-story__example-answer p { letter-spacing:.02em; }
  .ol-story__example-answer { padding-top:18px; }
  .ol-story__example-hint { font-size:clamp(14px,4.2vw,18px) !important; }
  .ol-hope-pills { width:min(86%,280px); gap:10px; }
  .ol-hope-pills li { min-height:56px; gap:12px; padding:8px 20px 8px 18px; }
  .ol-hope-pills__icon { width:30px; height:30px; }
}
.ol-action--why { padding:40px 0 0; }
.ol-story__list { display:grid; gap:25px; margin:0; padding:0; list-style:none; }
.ol-story__list li { display:grid; grid-template-columns:51% 45%; align-items:center; justify-content:space-between; gap:4%; }
.ol-story__list li:nth-child(even) { direction:rtl; }
.ol-story__list li:nth-child(even) > * { direction:ltr; }
.ol-story__copy span { display:block; margin-bottom:6px; color:oklch(72% .16 352); font-family:"Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif; font-size:var(--ol-caption); font-weight:700; letter-spacing:.18em; line-height:1.4; text-shadow:none; }
.ol-story__copy h3 { margin:0 0 10px; color:var(--ol-teal); font-family:"Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif; font-size:var(--ol-h3); font-weight:600; line-height:1.42; letter-spacing:.025em; }
.ol-story__copy p { margin:0; color:var(--ol-copy); font-size:var(--ol-body); font-weight:600; line-height:1.8; }
.ol-story__planner-mark { position:relative; z-index:0; padding:0 .04em; color:inherit; background:transparent; font-weight:inherit; white-space:nowrap; }
.ol-story__planner-mark::after { position:absolute; z-index:-1; bottom:.2em; left:0; width:100%; height:.38em; border-radius:2px; background:var(--ol-highlight); content:""; transform:scaleX(1); transform-origin:left center; }
.ol-reveal-ready .ol-story__planner-mark::after { transform:scaleX(0); }
.ol-reveal-ready .ol-story__list li.is-visible .ol-story__planner-mark::after { animation:ol-intro-highlight .62s cubic-bezier(.22,1,.36,1) .22s forwards; }
.ol-story__list picture { overflow:hidden; border:3px solid var(--ol-white); border-radius:50%; aspect-ratio:1; box-shadow:0 12px 28px rgba(58,132,145,.15),0 2px 7px rgba(58,132,145,.1); }
.ol-story__list img { width:100%; height:100%; object-fit:cover; filter:brightness(1.3); }
.ol-story--why .ol-story__list img { filter:none; }
.ol-story--why .ol-story__venue-shot { object-position:center 48%; }
.ol-reveal-ready .ol-story__head,.ol-reveal-ready .ol-story__list li { opacity:0; transform:translateY(22px); transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1); transition-delay:var(--reveal-delay,0ms); }
.ol-reveal-ready .ol-story__head.is-visible,.ol-reveal-ready .ol-story__list li.is-visible { opacity:1; transform:translateY(0); }
.ol-reveal-ready .ol-story--why .ol-story__question picture { opacity:0; transform:scale(.76); transition:opacity .34s ease,transform .58s cubic-bezier(.16,1.3,.3,1); }
.ol-reveal-ready .ol-story--why .ol-story__question picture.is-visible { opacity:1; transform:scale(1); }
.ol-reveal-ready .ol-story--why .ol-story__head,.ol-reveal-ready .ol-story--why .ol-story__question picture { opacity:1; transform:none; transition:none; }
.ol-reveal-ready .ol-story--why .ol-story__example { opacity:1; transform:none; transition:none; }
/* 悩みパートのフェードイン（ページロード時にタイマーで順次表示） */
.ol-reveal-ready .ol-story__example-ask { opacity:0; transform:translateY(18px); transition:opacity .65s ease,transform .72s cubic-bezier(.22,1,.36,1); }
.ol-reveal-ready .ol-story__example-ask.is-visible { opacity:1; transform:translateY(0); }
.ol-reveal-ready .ol-story__example-cue { opacity:0; transform:translateY(14px); transition:opacity .6s ease,transform .68s cubic-bezier(.22,1,.36,1); }
.ol-reveal-ready .ol-story__example-cue.is-visible { opacity:1; transform:translateY(0); }
.ol-reveal-ready .ol-story__example-answer { opacity:0; transform:translateY(14px); transition:opacity .6s ease,transform .68s cubic-bezier(.22,1,.36,1); }
.ol-reveal-ready .ol-story__example-answer.is-visible { opacity:1; transform:translateY(0); }
.ol-reveal-ready .ol-story__example { opacity:0; transform:translateY(24px); transition:opacity .62s ease,transform .68s cubic-bezier(.22,1,.36,1); }
.ol-reveal-ready .ol-story__example.is-visible { opacity:1; transform:translateY(0); }
.ol-reveal-ready .ol-story--why .ol-story__list li { transform:translateX(-30px); }
.ol-reveal-ready .ol-story--why .ol-story__list li:nth-child(even) { transform:translateX(30px); }
.ol-reveal-ready .ol-story--why .ol-story__list li.is-visible { transform:translateX(0); }
.ol-chat p, .ol-perks p { margin:0; font-size:14px; font-weight:700; line-height:1.8; }
.ol-relationship { padding:56px 0 60px; background:hsl(127 83% 98%); text-align:center; }
.ol-relationship__eyebrow { margin:0 0 8px; color:var(--ol-deep-sky); font-size:var(--ol-caption); font-weight:700; letter-spacing:.16em; line-height:1.4; }
.ol-relationship h2 { margin:0; color:var(--ol-teal); font-family:"Zen Old Mincho", serif; font-size:var(--ol-h2); font-weight:700; line-height:1.35; letter-spacing:.06em; }
.ol-relationship__lead { margin:14px 0 0; color:var(--ol-copy); font-size:var(--ol-lead); font-weight:700; line-height:1.85; letter-spacing:.03em; }
.ol-relationship__lead span { text-decoration:underline; text-decoration-color:oklch(72% .16 352); text-decoration-thickness:2px; text-underline-offset:4px; }
.ol-relationship__figure { width:min(100%,780px); margin:26px auto 0; }
.ol-relationship__visual { position:relative; overflow:hidden; }
.ol-relationship__visual picture { display:block; }
.ol-relationship__visual picture img { display:block; width:100%; }
.ol-offer-feature { padding:60px 0 66px; background:var(--ol-sky-soft); text-align:center; }
.ol-offer-feature__eyebrow { margin:0 0 10px; color:var(--ol-deep-sky); font-size:var(--ol-caption); font-weight:700; letter-spacing:.1em; line-height:1.4; }
.ol-offer-feature__hero { position:relative; display:grid; grid-template-columns:clamp(154px,28vw,210px) minmax(0,1fr); align-items:end; gap:clamp(12px,3.3vw,30px); width:min(100%,560px); min-height:clamp(250px,38vw,350px); margin:0 auto; text-align:left; }
.ol-offer-feature__hero picture { display:block; align-self:end; }
.ol-offer-feature__hero picture img { width:100%; scale:-1 1; }
.ol-offer-feature__hero > div { align-self:start; padding-top:12px; }
.ol-offer-feature__hero span { display:block; width:100%; padding:5px 8px; border-radius:30px; background:var(--ol-teal); color:var(--ol-white); font-size:clamp(10px,1.9vw,14px); font-weight:700; letter-spacing:.02em; text-align:center; white-space:nowrap; }
.ol-offer-feature__hero h2 { margin:20px 0 0; color:var(--ol-teal); font-family:"Zen Old Mincho", serif; font-size:clamp(24px,4.8vw,34px); font-weight:700; line-height:1.28; letter-spacing:.02em; text-align:center; white-space:nowrap; }
.ol-offer-feature__hero h2 em { display:block; margin-top:17px; color:var(--ol-copy); font-size:.76em; font-style:normal; line-height:1.38; }
.ol-offer-feature__copy { margin:31px auto 0; text-align:center; }
.ol-offer-feature__copy p { margin:0; color:var(--ol-copy); font-size:var(--ol-lead); font-weight:700; line-height:1.8; }
.ol-offer-feature__copy h3 { margin:27px 0 13px; color:var(--ol-teal); font-family:"Zen Old Mincho", serif; font-size:clamp(22px,4.5vw,32px); font-weight:700; line-height:1.36; letter-spacing:.04em; text-shadow:0 3px 12px rgba(3,143,148,.1); }
.ol-chat { padding:60px 0 70px; background:var(--ol-sky); text-align:center; }
.ol-chat > .ol-wrap > .ol-chat__eyebrow { margin:0 0 10px; color:var(--ol-deep-sky); font-size:var(--ol-caption); font-weight:700; letter-spacing:.1em; line-height:1.4; white-space:normal; }
.ol-chat h2 { position:relative; width:min(100%,560px); min-height:188px; margin:0 auto 14px; padding:26px 12px 0 122px; color:var(--ol-teal); font-family:"Zen Old Mincho", serif; font-size:var(--ol-h2); font-weight:700; line-height:1.18; text-align:left; }
.ol-chat h2::before { position:absolute; bottom:0; left:4px; width:112px; height:162px; content:""; background-position:left bottom; background-size:112px auto; background-repeat:no-repeat; }
.ol-enhance .ol-chat h2::before { background-image:url("./images/offer-lp/chat-portrait.png?v=20260814-v4"); background-image:image-set(url("./images/offer-lp/chat-portrait.webp?v=20260814-v4") type("image/webp"), url("./images/offer-lp/chat-portrait.png?v=20260814-v4") type("image/png")); }
.ol-chat h2 span { display:block; width:min(100%,382px); padding:5px 8px; border-radius:30px; background:var(--ol-teal); color:white; font-family:"Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif; font-size:clamp(10px,1.9vw,14px); font-weight:700; letter-spacing:.02em; text-align:center; white-space:nowrap; }
.ol-chat h2 strong { display:grid; gap:.42em; width:min(100%,382px); padding-top:22px; font-family:inherit; font-size:var(--ol-h2); font-weight:700; letter-spacing:.02em; text-align:center; white-space:nowrap; }
.ol-chat h2 .ol-chat__title-pair { display:block; width:auto; padding:0; border-radius:0; background:transparent; color:inherit; font:inherit; letter-spacing:inherit; text-align:inherit; white-space:inherit; }
.ol-chat__conversation { display:grid; gap:13px; width:min(100%,660px); margin:0 auto; padding:0 2px; text-align:left; }
.ol-chat__conversation-label { margin:0 0 1px; color:var(--ol-teal); font-size:var(--ol-caption) !important; font-weight:700; letter-spacing:.12em; text-align:center; }
.ol-chat__bubble { position:relative; display:flex; max-width:88%; align-items:flex-start; gap:9px; }
.ol-chat__bubble-copy { position:relative; padding:13px 16px 14px; border-radius:20px; }
.ol-chat__bubble-copy::after { position:absolute; bottom:10px; width:11px; height:11px; content:""; transform:rotate(45deg); }
.ol-chat__bubble-meta { margin:0 0 5px !important; font-size:10px !important; font-weight:700 !important; line-height:1.25 !important; letter-spacing:.04em; }
.ol-chat__bubble-meta time { margin-left:6px; font-weight:500; opacity:.72; }
.ol-chat__bubble-text { margin:0 !important; font-size:var(--ol-body) !important; font-weight:600 !important; line-height:1.68 !important; letter-spacing:.025em; }
.ol-chat__bubble--user { justify-self:end; color:var(--ol-white); }
.ol-chat__bubble--user .ol-chat__bubble-copy { border-radius:20px 20px 4px; background:var(--ol-teal); }
.ol-chat__bubble--user .ol-chat__bubble-copy::after { right:-5px; background:var(--ol-teal); }
.ol-chat__bubble--planner { max-width:100%; color:var(--ol-copy); }
.ol-chat__bubble--planner .ol-chat__bubble-copy { flex:1; border-radius:4px 20px 20px; background:var(--ol-white); }
.ol-chat__bubble--planner .ol-chat__bubble-copy::after { top:34px; bottom:auto; left:-13px; width:14px; height:18px; background:var(--ol-white); clip-path:polygon(100% 0,100% 100%,0 50%); transform:none; }
.ol-chat__bubble-avatar { position:relative; z-index:1; flex:0 0 46px; width:46px; aspect-ratio:1; overflow:hidden; border:2px solid var(--ol-white); border-radius:50%; background:var(--ol-white); }
.ol-chat__bubble-avatar img { width:100%; height:100%; object-fit:cover; object-position:center 42%; }
.ol-perks { padding:60px 0 70px; background:var(--ol-yellow); text-align:center; }
.ol-perks__campaign-title { position:relative; z-index:0; width:fit-content; margin:0 auto 24px; color:var(--ol-teal); font-family:"Zen Old Mincho", serif; font-size:var(--ol-h2); font-weight:700; line-height:1.2; letter-spacing:.08em; text-shadow:0 2px 0 rgba(255,255,255,.8); }
.ol-perks__campaign-title::before,.ol-perks__campaign-title::after { position:absolute; z-index:-1; width:13px; height:13px; border-radius:50%; content:""; }
.ol-perks__campaign-title::before { top:-6px; left:-15px; background:#ff91bd; }
.ol-perks__campaign-title::after { right:-15px; bottom:-3px; background:#ffd33d; }
.ol-perks__campaign-stage { position:relative; width:min(100%,520px); margin:auto; padding:clamp(5px,1vw,8px); border:3px solid color-mix(in srgb,var(--ol-white) 92%,transparent); border-radius:24px; }
.ol-perks__campaign-banner { position:relative; z-index:1; display:block; width:100%; padding:0; border:0; border-radius:16px; background:transparent; box-shadow:none; }
.ol-perks__campaign-banner img { display:block; width:100%; border-radius:14px; }
.ol-perks__campaign-note { margin:14px 0 0; color:var(--ol-copy); font-size:clamp(11px,2.5vw,14px) !important; font-weight:700; line-height:1.6; letter-spacing:.03em; text-align:center; }
.ol-perks__campaign-particles { position:absolute; z-index:2; inset:50% auto auto 50%; width:0; height:0; pointer-events:none; }
.ol-perks__campaign-particles i { position:absolute; display:block; width:10px; height:10px; margin:-5px; border-radius:2px; background:#ff76a6; opacity:0; transform:translate(-50%,-50%) rotate(0); }
.ol-perks__campaign-particles i:nth-child(3n+1) { width:8px; height:8px; border-radius:50%; background:#ffd33d; }
.ol-perks__campaign-particles i:nth-child(3n+2) { width:7px; height:15px; background:#fffdf8; }
.ol-perks__campaign-particles i:nth-child(3n) { background:#1cb8be; }
.ol-perks__campaign-particles .ol-particle--campaign-01 { --x:-235px; --y:-127px; --r:-132deg; --d:0ms; }
.ol-perks__campaign-particles .ol-particle--campaign-02 { --x:-169px; --y:-185px; --r:-64deg; --d:35ms; }
.ol-perks__campaign-particles .ol-particle--campaign-03 { --x:-83px; --y:-159px; --r:31deg; --d:70ms; }
.ol-perks__campaign-particles .ol-particle--campaign-04 { --x:28px; --y:-188px; --r:94deg; --d:15ms; }
.ol-perks__campaign-particles .ol-particle--campaign-05 { --x:138px; --y:-156px; --r:131deg; --d:55ms; }
.ol-perks__campaign-particles .ol-particle--campaign-06 { --x:224px; --y:-111px; --r:168deg; --d:90ms; }
.ol-perks__campaign-particles .ol-particle--campaign-07 { --x:249px; --y:-24px; --r:207deg; --d:30ms; }
.ol-perks__campaign-particles .ol-particle--campaign-08 { --x:219px; --y:93px; --r:248deg; --d:70ms; }
.ol-perks__campaign-particles .ol-particle--campaign-09 { --x:132px; --y:150px; --r:294deg; --d:10ms; }
.ol-perks__campaign-particles .ol-particle--campaign-10 { --x:35px; --y:177px; --r:323deg; --d:95ms; }
.ol-perks__campaign-particles .ol-particle--campaign-11 { --x:-75px; --y:151px; --r:22deg; --d:45ms; }
.ol-perks__campaign-particles .ol-particle--campaign-12 { --x:-166px; --y:119px; --r:66deg; --d:75ms; }
.ol-perks__campaign-particles .ol-particle--campaign-13 { --x:-237px; --y:47px; --r:113deg; --d:20ms; }
.ol-perks__campaign-particles .ol-particle--campaign-14 { --x:-258px; --y:-43px; --r:149deg; --d:65ms; }
.ol-campaign-burst-ready .ol-perks__campaign-banner { opacity:0; transform:translateY(10px) scale(.97); }
.ol-campaign-burst-ready .ol-perks__campaign-stage.is-visible .ol-perks__campaign-banner { animation:ol-campaign-pop .54s cubic-bezier(.22,1,.36,1) forwards; }
.ol-campaign-burst-ready .ol-perks__campaign-stage.is-visible .ol-perks__campaign-particles i { animation:ol-campaign-particle .72s cubic-bezier(.16,1,.3,1) var(--d) forwards; }
@keyframes ol-campaign-pop { to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes ol-campaign-particle { 0% { opacity:0; transform:translate(-50%,-50%) scale(.2) rotate(0); } 18% { opacity:1; } 100% { opacity:0; transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(1) rotate(var(--r)); } }
.ol-voices { padding:58px 0; background:var(--ol-beige); text-align:center; }
.ol-voices h2 { display:grid; justify-items:center; gap:10px; margin:0; }
.ol-voices__couple { display:block; width:110px; }
.ol-voices__couple img { width:100%; border-radius:50%; }
.ol-voices__heading { display:block; width:min(95%,500px); }
.ol-voices__heading img { width:100%; }
.ol-voices__subtitle { margin:18px 0 25px; color:var(--ol-copy); font-size:var(--ol-lead); font-weight:700; line-height:1.5; letter-spacing:.04em; }
.ol-voices__grid { display:grid; gap:20px; }
.ol-voices__grid article { display:block; }
.ol-voices__grid article > img { width:100%; display:block; }
.ol-reveal-ready .ol-offer-feature__eyebrow,.ol-reveal-ready .ol-offer-feature__hero > div,.ol-reveal-ready .ol-offer-feature__copy,.ol-reveal-ready .ol-chat__eyebrow,.ol-reveal-ready .ol-chat h2,.ol-reveal-ready .ol-chat__conversation-label,.ol-reveal-ready .ol-voices h2,.ol-reveal-ready .ol-voices__subtitle { opacity:0; transform:translateY(24px); transition:opacity .62s ease,transform .68s cubic-bezier(.22,1,.36,1); transition-delay:var(--reveal-delay,0ms); }
.ol-reveal-ready .ol-offer-feature__eyebrow.is-visible,.ol-reveal-ready .ol-offer-feature__hero > div.is-visible,.ol-reveal-ready .ol-offer-feature__copy.is-visible,.ol-reveal-ready .ol-chat__eyebrow.is-visible,.ol-reveal-ready .ol-chat h2.is-visible,.ol-reveal-ready .ol-chat__conversation-label.is-visible,.ol-reveal-ready .ol-voices h2.is-visible,.ol-reveal-ready .ol-voices__subtitle.is-visible { opacity:1; transform:translateY(0); }
.ol-reveal-ready .ol-offer-feature__hero picture { opacity:0; transform:scale(.76); transition:opacity .32s ease,transform .6s cubic-bezier(.16,1.3,.3,1); }
.ol-reveal-ready .ol-offer-feature__hero picture.is-visible { opacity:1; transform:scale(1); }
.ol-reveal-ready .ol-chat__bubble { opacity:0; transform:translate(20px,24px); transition:opacity .5s ease,transform .62s cubic-bezier(.22,1,.36,1); transition-delay:var(--reveal-delay,0ms); }
.ol-reveal-ready .ol-chat__bubble--planner { transform:translate(-20px,24px); }
.ol-reveal-ready .ol-chat__bubble.is-visible { opacity:1; transform:translate(0,0); }
.ol-reveal-ready .ol-voices__grid { perspective:900px; }
.ol-reveal-ready .ol-voices__grid article { opacity:0; transform:rotateY(-68deg) translateY(18px); transform-origin:center; transition:opacity .42s ease,transform .72s cubic-bezier(.22,1,.36,1); transition-delay:var(--reveal-delay,0ms); backface-visibility:hidden; }
.ol-reveal-ready .ol-voices__grid article.is-visible { opacity:1; transform:rotateY(0) translateY(0); }
.ol-press { padding:56px 0 62px; background:var(--ol-white); text-align:center; }
.ol-press__eyebrow { margin:0 0 5px; color:var(--ol-deep-sky); font-size:var(--ol-caption); font-weight:700; letter-spacing:.22em; }
.ol-press h2 { margin:0; color:var(--ol-teal); font-family:"Zen Old Mincho", serif; font-size:var(--ol-h2); line-height:1.45; }
.ol-press__lead { margin:9px 0 28px; color:#6f655c; font-size:var(--ol-caption); font-weight:500; line-height:1.8; }
.ol-press__logos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 10px; width:min(100%,720px); margin:0 auto; padding:0; list-style:none; }
.ol-press__logos li { display:flex; min-height:66px; align-items:center; justify-content:center; padding:14px 18px; border-radius:5px; background:rgba(232,242,243,.52); }
.ol-press__logos img { width:100%; max-width:138px; height:34px; object-fit:contain; }
.ol-press__logos--dark { background:#2f3439 !important; }
.ol-press__logos--dark img { max-width:116px; }
.ol-faq { padding:62px 0 66px; background:var(--ol-gray); }
.ol-faq h2 { margin:0 0 34px; color:var(--ol-teal); font-family:"Zen Old Mincho", serif; font-size:var(--ol-h2); font-weight:700; line-height:1.25; text-align:center; }
.ol-faq__list { display:grid; gap:16px; width:min(100%,800px); margin:0 auto; }
.ol-faq__list article { overflow:hidden; background:white; border-radius:10px; }
.ol-faq__list button { position:relative; width:100%; min-height:74px; padding:23px 56px 23px 26px; border:0; background:white; color:#333; font:700 clamp(16px,2.1vw,18px)/1.65 inherit; text-align:left; cursor:pointer; }
.ol-faq__list button::after { position:absolute; top:50%; right:26px; width:12px; height:12px; border-right:2px solid var(--ol-teal); border-bottom:2px solid var(--ol-teal); content:""; transform:translateY(-70%) rotate(45deg); transition:transform .25s ease; }
.ol-faq__list button[aria-expanded="true"]::after { transform:translateY(-30%) rotate(225deg); }
.ol-faq__list div { padding:0 26px 26px; color:#555; font-size:clamp(15px,1.85vw,17px); line-height:1.9; }
.ol-faq__list p { margin:0; }
.ol-signup { padding:58px 0 80px; background:var(--ol-ice); text-align:center; }
.ol-signup__head { position:relative; width:fit-content; margin:0 auto 28px; }
.ol-signup__eyebrow { margin:0 0 6px; color:var(--ol-teal); font-size:var(--ol-caption); font-weight:700; letter-spacing:.2em; }
.ol-signup h2 { margin:0; color:#315c67; font-family:"Zen Old Mincho", serif; font-size:var(--ol-h2); line-height:1.45; }
.ol-signup__particles { position:absolute; z-index:2; top:50%; left:50%; width:0; height:0; pointer-events:none; }
.ol-signup__particles i { position:absolute; display:block; width:9px; height:9px; margin:-4.5px; border-radius:50%; background:#ff7cab; opacity:0; transform:translate(-50%,-50%) scale(.2); }
.ol-signup__particles i:nth-child(3n+1) { width:7px; height:14px; border-radius:2px; background:#ffc936; }
.ol-signup__particles i:nth-child(3n+2) { width:10px; height:10px; background:#19b6c1; }
.ol-signup__particles .ol-particle--signup-01 { --x:-158px; --y:-64px; --r:-104deg; --d:0ms; }
.ol-signup__particles .ol-particle--signup-02 { --x:-92px; --y:-117px; --r:-52deg; --d:42ms; }
.ol-signup__particles .ol-particle--signup-03 { --x:2px; --y:-132px; --r:26deg; --d:14ms; }
.ol-signup__particles .ol-particle--signup-04 { --x:101px; --y:-106px; --r:74deg; --d:70ms; }
.ol-signup__particles .ol-particle--signup-05 { --x:158px; --y:-44px; --r:126deg; --d:28ms; }
.ol-signup__particles .ol-particle--signup-06 { --x:142px; --y:48px; --r:173deg; --d:83ms; }
.ol-signup__particles .ol-particle--signup-07 { --x:72px; --y:96px; --r:221deg; --d:50ms; }
.ol-signup__particles .ol-particle--signup-08 { --x:-66px; --y:99px; --r:269deg; --d:19ms; }
.ol-signup__particles .ol-particle--signup-09 { --x:-142px; --y:51px; --r:319deg; --d:61ms; }
.ol-entry-burst-ready .ol-signup__head.is-visible .ol-signup__particles i { animation:ol-entry-particle .72s cubic-bezier(.16,1,.3,1) var(--d) forwards; }
@keyframes ol-entry-particle { 0% { opacity:0; transform:translate(-50%,-50%) scale(.2) rotate(0); } 18% { opacity:1; } 100% { opacity:0; transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(1) rotate(var(--r)); } }
.ol-signup > .ol-wrap > p:not(.ol-signup__eyebrow):not(.ol-signup__note) { margin:15px 0 24px; font-size:14px; }
#offer-form { display:grid; gap:15px; max-width:520px; margin:auto; padding:22px; background:white; border-radius:10px; text-align:left; box-shadow:0 4px 14px rgba(45,85,96,.12); }
#offer-form label { display:grid; gap:6px; color:#3e565e; font-size:13px; font-weight:700; }
#offer-form b { margin-left:6px; color:#d44f9e; font-size:11px; }
#offer-form span { margin-left:6px; color:#777; font-size:11px; font-weight:400; }
#offer-form input { width:100%; padding:12px; border:1px solid #b8d2da; border-radius:4px; font:16px inherit; letter-spacing:0; }
#offer-form button, .ol-signup__confirm-actions button { border:0; border-radius:999px; padding:16px 20px; background:var(--ol-green); color:white; font:700 17px inherit; cursor:pointer; }
#offer-form.ol-signup__confirming input { border-color:#d4e2e5; background:#f7fbfc; color:#315c67; }
.ol-signup__confirm-actions { display:none; gap:10px; }
.ol-signup__confirm-actions button { flex:1; font-size:15px; }
.ol-signup__confirm-actions .ol-signup__secondary { background:#8ba2a9; }
#offer-form.ol-signup__confirming [type="submit"] { display:none; }
#offer-form.ol-signup__confirming .ol-signup__confirm-actions { display:flex; }
.ol-signup > .ol-wrap > .ol-signup__note { max-width:520px; margin:16px auto 0; color:var(--ol-copy-soft); font-size:12px; font-weight:600; line-height:1.8; letter-spacing:.04em; text-align:left; }
#offer-status { min-height:1.7em; margin:0; color:#315c67; font-size:15px; font-weight:700; line-height:1.7; text-align:center; white-space:pre-line; }
#offer-status.is-sending { padding:14px 12px; border-radius:10px; background:oklch(94% .03 195); color:var(--ol-teal); font-size:clamp(15px,3.8vw,17px); }
#offer-status.is-success { padding:14px 12px; border-radius:10px; background:oklch(95% .035 145); color:#2a6b52; font-size:clamp(15px,3.8vw,17px); }
#offer-form.ol-signup__sending .ol-signup__confirm-actions button { cursor:wait; }
#offer-form.ol-signup__sending #offer-send { background:color-mix(in srgb,var(--ol-green) 78%,#1a3a2a); }
#offer-form.ol-signup__sending .ol-signup__secondary { opacity:.55; }
.ol-dock { position:fixed; z-index:30; right:20px; bottom:18px; left:20px; display:block; width:min(100% - 40px,500px); margin:0 auto; padding:12px 30px; border:1px solid white; border-radius:999px; background:var(--ol-green); color:white; font-size:18px; font-weight:700; line-height:1.25; text-align:center; text-decoration:none; filter:drop-shadow(0 3px 8px rgba(0,0,0,.35)); transition:opacity .34s ease,transform .34s cubic-bezier(.22,1,.36,1); }
.ol-dock small { display:block; font-size:11px; }
.ol-dock strong { font-size:inherit; font-weight:700; }
html.ol-entry-in-view .ol-dock { opacity:0; pointer-events:none; transform:translateY(14px); }
.ol-footer { display:flex; justify-content:center; gap:20px; padding:26px 20px 34px; background:var(--ol-paper); text-align:center; }
.ol-footer a { color:var(--ol-copy-soft); font-size:12px; font-weight:700; letter-spacing:.08em; text-decoration:underline; text-underline-offset:4px; }
button:focus-visible, a:focus-visible, input:focus-visible { outline:3px solid #e875ab; outline-offset:3px; }
@media (min-width:768px) { .ol-story--why .ol-story__question { margin-bottom:0; } .ol-story--why .ol-story__intro { margin-top:0; } .ol-story__list { grid-template-columns:repeat(3,1fr); gap:25px; } .ol-story__list li,.ol-story__list li:nth-child(even) { display:flex; flex-direction:column-reverse; align-items:stretch; justify-content:flex-end; direction:ltr; gap:14px; } .ol-story__copy { text-align:center; } .ol-story__copy h3 { font-size:22px; } .ol-voices__grid { grid-template-columns:1fr 1fr; } .ol-press__logos { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; } .ol-press__logos li { min-height:76px; padding:17px 20px; } }
@media (min-width:768px) {
  #why { padding-top:50px; }
  #why .ol-story__head--steps { margin-bottom:0; }
  .ol-story__example-ask { display:grid; grid-template-columns:auto auto; justify-content:center; column-gap:16px; width:min(100%,520px); max-width:100%; margin-inline:auto; border-radius:12px; }
  .ol-story__example-ask::before { border-radius:12px 12px 0 0; }
  .ol-story__example-ask picture { justify-self:end; }
  .ol-story__example-answer { padding-top:32px; }
  .ol-reveal-ready .ol-story__example,
  .ol-reveal-ready .ol-story__example.is-visible,
  .ol-reveal-ready .ol-hope-pills li,
  .ol-reveal-ready .ol-story__example.is-visible .ol-hope-pills li { opacity:1; transform:none; transition:none; }
  .ol-chat h2 { width:min(100%,680px); min-height:300px; padding:22px 12px 0 228px; }
  .ol-chat h2::before { left:8px; width:200px; height:290px; background-size:200px auto; }
  .ol-chat h2 span,.ol-chat h2 strong { width:min(100%,420px); }
  .ol-chat h2 strong { padding-top:56px; }
  .ol-chat__br--sp { display:none; }
}
@media (min-width:768px) { .ol-reveal-ready .ol-story--why .ol-story__list li:nth-child(1) { transform:translateX(-30px); } .ol-reveal-ready .ol-story--why .ol-story__list li:nth-child(2) { transform:translateY(22px); } .ol-reveal-ready .ol-story--why .ol-story__list li:nth-child(3) { transform:translateX(30px); } .ol-reveal-ready .ol-story--why .ol-story__list li.is-visible { transform:translate(0,0); } }
@media (max-width:767px) { .ol-body { padding-bottom:76px; } .ol-hero__points { padding:18px 8px 22px; } .ol-hero__points li { gap:6px; } .ol-hero__point-icon { width:48px; height:48px; } .ol-hero__point-icon::after { width:22px; height:22px; } .ol-hero__points strong { font-size:13px; line-height:1.36; letter-spacing:0; white-space:nowrap; } .ol-hero__points p { width:min(100%, 14.5em); font-size:10px; line-height:1.55; letter-spacing:0; } .ol-story--why .ol-story__head { margin-bottom:27px; } .ol-story__question { grid-template-columns:clamp(90px,29vw,112px) max-content; min-height:clamp(140px,42vw,164px); gap:12px; margin-bottom:14px; padding:0; } .ol-story__question p { margin-bottom:20px; font-size:clamp(24px,7vw,28px); letter-spacing:.035em; } .ol-story__question p::after { margin-top:4px; } .ol-story__intro { width:calc(100% - 20px); max-width:360px; margin:16px auto 54px; padding:19px 12px; } .ol-story__intro p { font-size:clamp(10.7px,3.45vw,13px); line-height:2.05; letter-spacing:0; } .ol-story__intro-copy--desktop { display:none; } .ol-story__intro-copy--mobile { display:block; } .ol-story__intro-copy--mobile > span { white-space:nowrap; } .ol-story__intro mark { padding-right:.04em; padding-left:.04em; } .ol-action--why { padding-top:31px; } .ol-relationship { padding:42px 0 46px; } .ol-relationship__figure { width:calc(100% + 20px); margin-top:19px; margin-left:-10px; } .ol-offer-feature { padding:48px 0 54px; } .ol-offer-feature__hero { grid-template-columns:clamp(100px,32vw,132px) minmax(0,1fr); min-height:252px; gap:10px; } .ol-offer-feature__hero > div { padding-top:8px; } .ol-offer-feature__hero h2 { margin-top:16px; font-size:clamp(20px,5.4vw,26px); } .ol-offer-feature__hero h2 em { margin-top:13px; font-size:.7em; } .ol-offer-feature__copy { margin-top:24px; } .ol-offer-feature__copy h3 { margin-top:24px; font-size:clamp(20px,5vw,28px); } .ol-dock { position:fixed; z-index:30; right:14px; bottom:12px; left:14px; display:block; padding:10px 28px; border:1px solid white; border-radius:999px; background:var(--ol-green); color:white; font-size:18px; font-weight:700; line-height:1.25; text-align:center; text-decoration:none; filter:drop-shadow(0 3px 8px rgba(0,0,0,.35)); } .ol-dock small { display:block; font-size:11px; } .ol-dock strong { font-size:inherit; font-weight:700; } }
@media (max-width:767px) { .ol-story--why .ol-story__question p { margin-bottom:34px; } .ol-story--why .ol-story__list { gap:48px; } .ol-story--why .ol-story__list li,.ol-story--why .ol-story__list li:nth-child(even) { grid-template-columns:1fr; gap:16px; direction:ltr; } .ol-story--why .ol-story__copy { text-align:center; } .ol-story--why .ol-story__copy h3 { font-size:clamp(19px,5.2vw,24px); line-height:1.35; white-space:nowrap; } .ol-story--why .ol-story__copy p { font-size:var(--ol-body); line-height:1.9; letter-spacing:.025em; } .ol-story--why .ol-story__list picture,.ol-story--why .ol-story__list li:nth-child(even) picture { width:min(82%,270px); justify-self:center; } }
@media (max-width:767px) { .ol-chat { padding-top:44px; } .ol-chat h2 { width:100%; min-height:276px; padding:10px 0 0; text-align:center; } .ol-chat h2 span { width:min(70%,510px); margin:0 auto; font-size:clamp(11px,1.9vw,14px); } .ol-chat h2::before { bottom:0; left:clamp(-8px,1vw,4px); width:clamp(112px,37vw,160px); height:clamp(162px,54vw,232px); background-size:100% auto; } .ol-chat h2 strong { position:absolute; top:118px; right:12px; left:clamp(124px,40vw,178px); width:auto; padding-top:0; font-size:clamp(22px,6.2vw,28px); line-height:1.22; letter-spacing:.04em; text-align:left; justify-items:start; } .ol-chat h2 .ol-chat__title-pair { width:100%; text-align:left; } }
@media (max-width:767px) { .ol-story--why-intro { padding:36px 0; } .ol-story--why-intro .ol-story__question { margin-bottom:0; } .ol-story--why-intro .ol-story__intro { margin-top:0; margin-bottom:0; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .ol-faq__list button::after { transition:none; } .ol-reveal-ready .ol-story__head,.ol-reveal-ready .ol-story__question picture,.ol-reveal-ready .ol-story__example,.ol-reveal-ready .ol-story__list li,.ol-reveal-ready .ol-offer-feature__eyebrow,.ol-reveal-ready .ol-offer-feature__hero picture,.ol-reveal-ready .ol-offer-feature__hero > div,.ol-reveal-ready .ol-offer-feature__copy,.ol-reveal-ready .ol-chat__eyebrow,.ol-reveal-ready .ol-chat h2,.ol-reveal-ready .ol-chat__conversation-label,.ol-reveal-ready .ol-chat__bubble,.ol-reveal-ready .ol-voices h2,.ol-reveal-ready .ol-voices__subtitle,.ol-reveal-ready .ol-voices__grid article,.ol-reveal-ready .ol-hope-pills li,.ol-reveal-ready .ol-story__example-ask,.ol-reveal-ready .ol-story__example-cue,.ol-reveal-ready .ol-story__example-answer { opacity:1; transform:none; transition:none; animation:none; } }
@media (prefers-reduced-motion:reduce) { .ol-dock { transition:none; } }
.ol-relationship,.ol-story--why-intro,.ol-offer-feature,.ol-chat,.ol-voices,.ol-press,.ol-perks,.ol-faq,.ol-signup {
  content-visibility:auto;
  contain-intrinsic-size:auto none auto 640px;
}
