/*
 * 一人親方等 LP — Harmonized warm brown + #044165 (2026-11-06)
 * 第一稿のレイアウトを保持し、清潔感のあるアイボリー／アプリコットと
 * 明るめのチェスナットブラウンで、温かく前向きな印象に調整。
 * カラーの役割: アイボリー背景 / ブラウン見出し・本文 / ネイビーは機能と料金 / オレンジはCTA。
 * CSSはbody.oyakata-lp配下にスコープ。
 */
:root {
  --brand: #955825;
  --brand-dark: #50311E;
  --brand-tint: #FFF7EC;
  --brand-line: #E6CDAE;
  --accent: #044165;
  --accent-soft: #ECF6F8;
  --accent-line: #D7E8ED;
  --accent-muted: #6C9EB1;
  --cta: #FF840B;
  --cta-hover: #F69522;
  --text: #3D3027;
  --text-sub: #715E4E;
  --line: #E9E6E0;
  --bg-alt: #FFF9F4;
  --radius: 12px;
  --max: 1120px;
}
html {scroll-behavior:smooth; scroll-padding-top:105px}
body.oyakata-lp {margin:0; color:var(--text); background:#fff; font:400 16px/1.9 "Noto Sans JP", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif; font-feature-settings:"palt"; -webkit-font-smoothing:antialiased; overflow-x:clip}
.oyakata-lp *, .oyakata-lp *::before, .oyakata-lp *::after {box-sizing:border-box}
.oyakata-lp img {display:block;max-width:100%;height:auto}
.oyakata-lp a {color:inherit;text-decoration:none}
.oyakata-lp .wrap {width:min(calc(100% - 64px), var(--max));max-width:none;margin-inline:auto;padding:0}
.oyakata-lp :focus-visible {outline:3px solid var(--cta);outline-offset:4px}

/* Header — light, crisp and restrained */
.oyakata-lp .hd {position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid #F3E7D9;box-shadow:0 2px 15px rgba(80,49,30,.022);backdrop-filter:saturate(155%) blur(12px);-webkit-backdrop-filter:saturate(155%) blur(12px)}
.oyakata-lp .hd .wrap {display:flex;align-items:center;gap:16px;min-height:90px}
.oyakata-lp .brand-logo {display:inline-flex;align-items:center;flex:none}
.oyakata-lp .brand-logo__image {width:114px;height:auto;max-height:50px;object-fit:contain}
.oyakata-lp .brand-divider {display:block;flex:none;width:1px;height:30px;background:var(--brand-line);margin-inline:3px}
.oyakata-lp .brand-product {color:var(--brand-dark);font-size:19px;font-weight:800;letter-spacing:.035em;white-space:nowrap}
.oyakata-lp .gnav {display:flex;align-items:center;gap:24px;margin-left:auto}
.oyakata-lp .gnav ul {display:flex;align-items:center;gap:clamp(16px,2vw,30px);margin:0;padding:0;list-style:none}
.oyakata-lp .gnav ul li {margin:0}
.oyakata-lp .gnav ul a {display:inline-flex;align-items:center;min-height:44px;color:var(--text);font-size:14px;font-weight:700;letter-spacing:.02em;white-space:nowrap;transition:color .2s}
.oyakata-lp .gnav ul a:hover {color:var(--brand)}
.oyakata-lp .gnav .btns {display:flex;align-items:center;gap:10px}
.oyakata-lp .menu-toggle,.oyakata-lp .menu-btn {display:none}

/* Buttons */
.oyakata-lp .btn {display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:14px 28px;border:1.5px solid transparent;border-radius:999px;font-size:15px;font-weight:800;letter-spacing:.02em;line-height:1.35;text-align:center;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease;color .2s ease}
.oyakata-lp .btn:hover {transform:translateY(-2px)}
.oyakata-lp .btn-sm {min-height:45px;padding:10px 20px;font-size:13px}
.oyakata-lp .btn-cta {color:#fff;background:linear-gradient(125deg,#F77A05 0%,#FF9823 100%);box-shadow:0 11px 25px rgba(255,132,11,.21)}
.oyakata-lp .btn-cta:hover {color:#fff;background:linear-gradient(125deg,#E96F00,#F58B15);box-shadow:0 15px 28px rgba(255,132,11,.27)}
.oyakata-lp .btn-line {color:var(--accent);border-color:var(--accent);background:#fff;box-shadow:0 7px 18px rgba(115,69,33,.035)}
.oyakata-lp .btn-line:hover {color:var(--brand-dark);border-color:var(--accent);background:#FFF}
.oyakata-lp .btn-white {color:var(--brand-dark);background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.06)}
.oyakata-lp .btn-white:hover {color:var(--brand-dark);background:var(--brand-tint)}
.oyakata-lp .btn-ghost {color:#fff;border-color:rgba(255,255,255,.55);background:transparent}
.oyakata-lp .btn-ghost:hover {color:#fff;border-color:#fff;background:rgba(255,255,255,.1)}

/* KV — refined geometric accents (2026-11-09).
   Solid ivory background, no upper-right circle, marginally stronger diagonal pills. */
.oyakata-lp .hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#FFFBF7;
  border-bottom:1px solid #F7EEE3;
}
.oyakata-lp .hero::before {content:none}
.oyakata-lp .hero::after {content:none}
.oyakata-lp .hero-abstract {
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}
.oyakata-lp .abstract-pill,
.oyakata-lp .abstract-glow,
.oyakata-lp .abstract-dots {
  position:absolute;
  display:block;
}
.oyakata-lp .abstract-pill {
  border-radius:999px;
  transform:rotate(-42deg);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45);
}
.oyakata-lp .abstract-pill.pill-1 {
top:-68px;
  left:-88px;
  width:260px;
  height:74px;
  background:linear-gradient(180deg,rgba(255,245,234,.84),rgba(255,224,198,.38));
  opacity:.87;
}
.oyakata-lp .abstract-pill.pill-2 {
top:142px;
  left:18px;
  width:188px;
  height:82px;
  background:linear-gradient(180deg,rgba(252,219,190,.54),rgba(255,238,219,.30));
  opacity:.88;
}
.oyakata-lp .abstract-pill.pill-3 {
top:-26px;
  left:278px;
  width:390px;
  height:132px;
  background:linear-gradient(180deg,rgba(252,224,198,.52),rgba(255,243,226,.28));
  opacity:.87;
}
.oyakata-lp .abstract-pill.pill-4 {
bottom:-118px;
  left:-34px;
  width:420px;
  height:122px;
  background:linear-gradient(180deg,rgba(252,226,207,.45),rgba(255,244,230,.20));
  opacity:.84;
}
.oyakata-lp .abstract-pill.pill-5 {
bottom:25px;
  left:auto;
  right:7%;
  width:330px;
  height:105px;
  background:linear-gradient(180deg,rgba(252,218,189,.54),rgba(255,238,220,.28));
  opacity:.85;
}
.oyakata-lp .abstract-pill.pill-6 {
top:118px;
  right:46px;
  width:420px;
  height:114px;
  background:linear-gradient(180deg,rgba(252,217,188,.55),rgba(255,238,219,.30));
  opacity:.85;
}
.oyakata-lp .abstract-pill.pill-7 {
right:-6px;
  bottom:122px;
  width:230px;
  height:78px;
  background:linear-gradient(180deg,rgba(252,220,194,.47),rgba(255,241,225,.25));
  opacity:.82;
}
.oyakata-lp .abstract-glow.glow-1 {
  display:none;
  top:120px;
  left:78px;
  width:130px;
  height:130px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,248,238,.70) 0%,rgba(251,231,208,.20) 42%,transparent 72%);
  filter:blur(10px);
  opacity:.78;
}
.oyakata-lp .abstract-glow.glow-2 {
  display:none;
  right:290px;
  bottom:94px;
  width:260px;
  height:260px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(250,230,208,.32) 0%,rgba(255,242,228,.18) 38%,transparent 72%);
  filter:blur(18px);
  opacity:.85;
}
.oyakata-lp .abstract-dots {
  background-image:radial-gradient(rgba(218,165,112,.56) 1.25px,transparent 1.25px);
  background-size:16px 16px;
  opacity:.37;
}
.oyakata-lp .abstract-dots.dots-1 {
top:42px;
  left:338px;
  width:132px;
  height:66px;
  opacity:.32;
}
.oyakata-lp .abstract-dots.dots-2 {
right:114px;
  top:86px;
  width:132px;
  height:96px;
  background-size:15px 15px;
  opacity:.34;
}
.oyakata-lp .abstract-dots.dots-3 {
right:172px;
  bottom:116px;
  width:88px;
  height:52px;
  background-size:14px 14px;
  opacity:.27;
}
.oyakata-lp .hero .wrap {position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);align-items:center;gap:clamp(24px,3vw,44px);min-height:660px;padding-block:60px 85px}
.oyakata-lp .hero-copy {position:relative;z-index:2;min-width:0}
.oyakata-lp .eyebrow {display:inline-flex;align-items:center;max-width:100%;min-height:39px;margin:0 0 28px;padding:7px 17px;border:1px solid rgba(4,65,101,.23);border-radius:999px;background:rgba(255,255,255,.76);box-shadow:0 5px 18px rgba(71,57,43,.035);color:var(--accent);font-size:12px;font-weight:800;line-height:1.45;letter-spacing:.02em}
.oyakata-lp .eyebrow::before {content:"";display:block;width:6px;height:6px;flex:none;margin-right:9px;border-radius:50%;background:linear-gradient(145deg,#F7A24C,#C4742F)}
.oyakata-lp .hero h1 {margin:0 0 23px;color:#083F64;font-size:clamp(35px,3.2vw,45px);font-weight:800;line-height:1.55;letter-spacing:-.04em;white-space:nowrap}
.oyakata-lp .hero-headline-accent {position:relative;z-index:0;display:inline-block;color:#083F64;background:none}
.oyakata-lp .hero-headline-accent::after {position:absolute;z-index:-1;right:0;bottom:.10em;left:0;height:.24em;background:linear-gradient(90deg,#FFC989 0%,#FFDDAF 55%,rgba(255,221,173,.90) 100%);border-radius:999px;opacity:.96;content:""}
.oyakata-lp .hero p.lead {max-width:580px;margin:0 0 31px;color:var(--accent);font-size:16px;font-weight:500;line-height:2;letter-spacing:.01em}
.oyakata-lp .hero .actions {display:flex;flex-wrap:wrap;gap:12px;margin:0 0 28px}
.oyakata-lp .hero .actions .btn-cta {min-width:250px}
.oyakata-lp .hero .actions .btn-line {min-width:136px}
.oyakata-lp .points {display:flex;flex-wrap:wrap;gap:9px;margin:0;padding:0;list-style:none}
.oyakata-lp .point-chip {display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 12px;border:1px solid rgba(233,202,167,.49);border-radius:999px;background:rgba(255,255,255,.72);box-shadow:0 5px 18px rgba(71,57,43,.018);color:var(--brand-dark);font-size:12px;font-weight:700;line-height:1.45;white-space:nowrap}
.oyakata-lp .point-chip svg {width:15px;height:15px;flex:none;color:#D17B32}
.oyakata-lp .hero-visual {position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-width:0;min-height:455px;padding:100px 0 24px}
.oyakata-lp .hero-visual::before {
  display:none;
  position:absolute;
  z-index:0;
  top:50%;
  left:52%;
  width:125%;
  aspect-ratio:1.12;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:none;
  filter:blur(8px);
  content:"";
  pointer-events:none;
}
.oyakata-lp .hero-visual::after {position:absolute;z-index:0;left:8%;bottom:8%;width:62%;height:44%;background-image:radial-gradient(rgba(187,126,57,.18) .85px,transparent .85px);background-size:16px 16px;mask-image:linear-gradient(to right,transparent,black 30%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 30%,transparent);opacity:.21;content:"";pointer-events:none}
.oyakata-lp .hero-visual img {position:relative;z-index:1;width:min(113%,620px);max-width:none;filter:drop-shadow(0 25px 27px rgba(94,65,39,.11));transform:translate(9px,5px)}

@media (max-width:1023px) {
  .oyakata-lp .hero-abstract {opacity:.95}
  .oyakata-lp .abstract-pill.pill-1 {top:-74px;left:-98px;width:220px;height:64px}
  .oyakata-lp .abstract-pill.pill-2 {top:126px;left:10px;width:158px;height:70px}
  .oyakata-lp .abstract-pill.pill-3 {top:-22px;left:188px;width:300px;height:110px}
  .oyakata-lp .abstract-pill.pill-4 {bottom:-96px;left:-40px;width:310px;height:98px}
  .oyakata-lp .abstract-pill.pill-5 {bottom:34px;left:auto;right:-18px;width:235px;height:83px}
  .oyakata-lp .abstract-pill.pill-6 {top:auto;bottom:270px;right:24px;width:290px;height:88px}
  .oyakata-lp .abstract-pill.pill-7 {right:-18px;bottom:178px;width:180px;height:64px}
  .oyakata-lp .abstract-dots.dots-1 {top:34px;left:auto;right:130px;opacity:.27}
  .oyakata-lp .abstract-dots.dots-2 {right:45px;top:auto;bottom:320px;opacity:.30}
  .oyakata-lp .abstract-dots.dots-3 {right:102px;bottom:164px;width:72px;height:42px;opacity:.24}
}
@media (max-width:767px) {
  .oyakata-lp .hero-abstract {opacity:.95}
  .oyakata-lp .abstract-pill.pill-1 {top:-78px;left:-112px;width:210px;height:58px}
  .oyakata-lp .abstract-pill.pill-2 {top:112px;left:-8px;width:140px;height:62px}
  .oyakata-lp .abstract-pill.pill-3 {top:-12px;left:138px;width:220px;height:88px}
  .oyakata-lp .abstract-pill.pill-4 {bottom:118px;left:-64px;width:250px;height:78px}
  .oyakata-lp .abstract-pill.pill-5,
  .oyakata-lp .abstract-dots.dots-2,
  .oyakata-lp .abstract-dots.dots-3,
  .oyakata-lp .abstract-glow.glow-2 {
  display:none}
  .oyakata-lp .abstract-pill.pill-6 {display:block;top:auto;bottom:108px;right:-82px;width:235px;height:80px;opacity:.82}
  .oyakata-lp .abstract-pill.pill-7 {display:block;right:-18px;bottom:78px;width:158px;height:56px;opacity:.79}
  .oyakata-lp .abstract-dots.dots-1 {top:28px;left:auto;right:34px;width:86px;height:44px;background-size:12px 12px;opacity:.27}
  .oyakata-lp .abstract-glow.glow-1 {
  display:none;top:98px;left:42px;width:94px;height:94px}
}

/* ===============================================================
   KV ANIMATION — restrained, sequential text blocks (2026-11-09)
   Eyebrow -> headline line 1 -> headline line 2 -> description
   -> buttons -> feature chips. No ongoing motion in the text.
   =============================================================== */
@keyframes oyakataKvTextReveal {
  from { opacity:0; transform:translate3d(0,14px,0); }
  to   { opacity:1; transform:translate3d(0,0,0); }
}
@keyframes oyakataKvVisualReveal {
  from { opacity:0; transform:translate3d(0,14px,0); }
  to   { opacity:1; transform:translate3d(0,0,0); }
}
@keyframes oyakataKvDriftA {
  from { transform:translate3d(0,0,0) rotate(-42deg); }
  to   { transform:translate3d(6px,-7px,0) rotate(-42deg); }
}
@keyframes oyakataKvDriftB {
  from { transform:translate3d(0,0,0) rotate(-42deg); }
  to   { transform:translate3d(-6px,7px,0) rotate(-42deg); }
}

/* Each visible text block enters in order, once, with gentle easing. */
.oyakata-lp .hero-copy > .eyebrow,
.oyakata-lp .hero-copy .hero-headline-primary,
.oyakata-lp .hero-copy .hero-headline-accent,
.oyakata-lp .hero-copy > .lead,
.oyakata-lp .hero-copy > .actions,
.oyakata-lp .hero-copy > .points {
  animation:oyakataKvTextReveal .72s cubic-bezier(.22,1,.36,1) both;
}
.oyakata-lp .hero-copy .hero-headline-primary {display:inline-block;}
.oyakata-lp .hero-copy > .eyebrow                   {animation-delay:.06s;}
.oyakata-lp .hero-copy .hero-headline-primary        {animation-delay:.21s;}
.oyakata-lp .hero-copy .hero-headline-accent         {animation-delay:.39s;}
.oyakata-lp .hero-copy > .lead                       {animation-delay:.62s;}
.oyakata-lp .hero-copy > .actions                    {animation-delay:.83s;}
.oyakata-lp .hero-copy > .points                     {animation-delay:1.03s;}

/* FINAL KV DETAIL — the highlight draws neatly left to right.
   Starts after the second headline has entered; runs once. */
@keyframes oyakataKvUnderlineSweep {
  from { transform:scaleX(0); }
  to   { transform:scaleX(1); }
}
.oyakata-lp .hero-headline-accent::after {
  transform:scaleX(0);
  transform-origin:left center;
  animation:oyakataKvUnderlineSweep .58s cubic-bezier(.18,.78,.28,1) .88s forwards;
}

/* The product screen fades in once, then remains perfectly still. */
.oyakata-lp .hero-visual {
  animation:oyakataKvVisualReveal 1.05s cubic-bezier(.22,1,.36,1) .43s both;
}

/* Decorative bars move only a few pixels, at a very slow pace. */
.oyakata-lp .hero-abstract .abstract-pill {
  animation:oyakataKvDriftA 25s ease-in-out infinite alternate;
}
.oyakata-lp .hero-abstract .pill-1,
.oyakata-lp .hero-abstract .pill-3,
.oyakata-lp .hero-abstract .pill-5,
.oyakata-lp .hero-abstract .pill-7 {
  animation-name:oyakataKvDriftB;
  animation-duration:29s;
}
.oyakata-lp .hero-abstract .pill-2 {animation-delay:-8s;}
.oyakata-lp .hero-abstract .pill-3 {animation-delay:-11s;}
.oyakata-lp .hero-abstract .pill-4 {animation-delay:-4s;}
.oyakata-lp .hero-abstract .pill-5 {animation-delay:-16s;}
.oyakata-lp .hero-abstract .pill-6 {animation-delay:-13s;}
.oyakata-lp .hero-abstract .pill-7 {animation-delay:-19s;}

/* No motion when the visitor requests reduced animation. */
@media (prefers-reduced-motion:reduce) {
  .oyakata-lp .hero-copy > .eyebrow,
  .oyakata-lp .hero-copy .hero-headline-primary,
  .oyakata-lp .hero-copy .hero-headline-accent,
  .oyakata-lp .hero-copy > .lead,
  .oyakata-lp .hero-copy > .actions,
  .oyakata-lp .hero-copy > .points,
  .oyakata-lp .hero-visual,
  .oyakata-lp .hero-abstract .abstract-pill,
  .oyakata-lp .hero-headline-accent::after {
    animation:none !important;
  }
  .oyakata-lp .hero-headline-accent::after {transform:scaleX(1);}
}

/* Section labels + titles */
.oyakata-lp .sec {position:relative;padding:108px 0 116px}
.oyakata-lp .sec-alt {background:var(--bg-alt)}
.oyakata-lp .sec-hd {margin:0 auto 52px;text-align:center}
.oyakata-lp .sec-hd .en {display:inline-flex;align-items:center;gap:12px;margin:0 0 14px;color:var(--brand);font-size:11px;font-weight:800;letter-spacing:.22em;line-height:1.1}
/*.oyakata-lp .sec-hd .en::before {display:block;width:26px;height:1px;background:var(--brand-line);content:""}*/
.oyakata-lp .sec-hd h2 {margin:0;color:var(--brand-dark);font-size:clamp(30px,3vw,40px);font-weight:800;line-height:1.48;letter-spacing:-.035em}
.oyakata-lp .sec-hd p {margin:18px auto 0;max-width:740px;color:var(--text-sub);font-size:15px;font-weight:500;line-height:1.95}

/* Features — softly elevated cards with consistent icon sizes */
.oyakata-lp #features {background:#fff}
.oyakata-lp .features {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:23px}
.oyakata-lp .feature {position:relative;grid-column:span 2;display:flex;flex-direction:column;min-width:0;min-height:295px;padding:34px 30px 28px;overflow:hidden;border:1px solid var(--line);border-radius:23px;background:#fff;box-shadow:0 15px 42px rgba(71,58,46,.047);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.oyakata-lp .feature:nth-child(4) {grid-column:2/span 2}
.oyakata-lp .feature:nth-child(5) {grid-column:4/span 2}
.oyakata-lp .feature::before {position:absolute;right:28px;top:32px;color:var(--accent-muted);content:attr(data-number);font-size:14px;font-weight:800;line-height:1;letter-spacing:.1em}
.oyakata-lp .feature:hover {transform:translateY(-6px);border-color:var(--accent-line);box-shadow:0 22px 48px rgba(4,65,101,.087)}
.oyakata-lp .feature .ic {display:grid;place-items:center;width:78px;height:78px;flex:none;margin:0 auto 25px;border:1px solid var(--accent-line);border-radius:100px;background:var(--accent-soft);color:var(--accent)}
.oyakata-lp .feature .ic svg {width:30px;height:30px}
.oyakata-lp .feature h3 {margin:0 0 11px;color:var(--accent);font-size:19px;font-weight:800;line-height:1.55;letter-spacing:-.025em}
.oyakata-lp .feature p {flex:1;margin:0 0 25px;color:var(--accent);font-size:14px;font-weight:500;line-height:1.92}
.oyakata-lp .feature .more {display:inline-flex;align-items:center;gap:5px;margin-top:auto;padding-top:19px;border-top:1px solid var(--accent-line);color:var(--accent);font-size:13px;font-weight:800;line-height:1.4;letter-spacing:.01em}
.oyakata-lp .feature mark {padding:0 2px;background:linear-gradient(transparent 63%,#FFE2AA 63%);color:inherit;font-weight:800}

/* Pricing — two calm cards, strong numerical hierarchy */
.oyakata-lp #price {overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.oyakata-lp #price::before {position:absolute;top:-190px;left:-130px;width:440px;height:440px;border:1px solid rgba(235,180,108,.10);border-radius:50%;box-shadow:0 0 0 75px rgba(255,210,149,.09);content:"";pointer-events:none}
.oyakata-lp .prices {position:relative;display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:900px;margin:0 auto}
.oyakata-lp .price {position:relative;min-width:0;min-height:282px;padding:40px 32px 37px;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 15px 40px rgba(105,70,42,.046);text-align:center}
.oyakata-lp .price.main {border:1px solid var(--accent-line);box-shadow:0 20px 48px rgba(4,65,101,.067)}
/* Decorative upper border deliberately omitted on the price card. */
.oyakata-lp .price .label {display:inline-block;margin:0 0 20px;color:var(--accent);font-size:16px;font-weight:800;letter-spacing:.025em}
.oyakata-lp .price .num {color:var(--accent);font-size:clamp(42px,4.5vw,56px);font-weight:800;line-height:1.2;letter-spacing:-.05em;white-space:nowrap}
.oyakata-lp .price .num span {margin-left:7px;color:var(--accent);font-size:18px;font-weight:800;letter-spacing:0}
.oyakata-lp .price .tax {margin-top:5px;color:var(--text-sub);font-size:12px;font-weight:600}
.oyakata-lp .price .note {margin:21px 0 0;color:var(--text-sub);font-size:14px;font-weight:600}
.oyakata-lp .price .badge {display:inline-flex;align-items:center;justify-content:center;margin-top:20px;padding:9px 18px;border:1px solid #F4D5B9;border-radius:999px;background:#FFF2E2;color:#B45C12;font-size:13px;font-weight:800;line-height:1.5}
.oyakata-lp .price-cta {position:relative;margin-top:36px;text-align:center}
.oyakata-lp .price-cta .btn {min-width:272px}

/* FAQ and support links */
.oyakata-lp .links {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.oyakata-lp .link-card {display:flex;align-items:center;gap:19px;min-width:0;min-height:150px;padding:26px 27px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 12px 34px rgba(80,49,30,.042);transition:transform .2s,box-shadow .2s,border-color .2s}
.oyakata-lp .link-card:hover {transform:translateY(-4px);border-color:var(--brand-line);box-shadow:0 18px 34px rgba(80,49,30,.085)}
.oyakata-lp .link-card .ic {display:grid;place-items:center;width:70px;height:70px;flex:none;border:1px solid var(--brand-line);border-radius:18px;background:var(--brand-tint);color:var(--brand)}
.oyakata-lp .link-card h3 {margin:0 0 4px;color:var(--accent);font-size:19px;font-weight:800;line-height:1.5}
.oyakata-lp .link-card p {margin:0;color:var(--accent);font-size:13px;font-weight:500;line-height:1.75}
.oyakata-lp .link-card .arrow {display:grid;place-items:center;width:34px;height:34px;flex:none;margin-left:auto;border:1px solid var(--brand-line);border-radius:50%;color:var(--brand);font-size:19px;transition:transform .2s,background .2s}
.oyakata-lp .link-card:hover .arrow {transform:translateX(3px);background:var(--brand-tint)}

/* CTA closing scene — existing dark brown + orange */
.oyakata-lp .cta-band {position:relative;overflow:hidden;padding:92px 0 96px;background:var(--accent);color:#fff;text-align:center}
.oyakata-lp .cta-band::before {position:absolute;inset:0;content:"";pointer-events:none;background:radial-gradient(ellipse 475px 370px at 0% 0%,rgba(255,209,143,.12),transparent 79%),radial-gradient(ellipse 460px 410px at 100% 95%,rgba(255,188,113,.10),transparent 79%),linear-gradient(130deg,transparent 40%,rgba(133,62,13,.045) 100%)}
.oyakata-lp .cta-band::after {position:absolute;top:-180px;right:-105px;width:410px;height:410px;border:1px solid rgba(255,242,225,.16);border-radius:50%;box-shadow:0 0 0 60px rgba(255,220,165,.05),0 0 0 120px rgba(255,226,183,.032);content:"";pointer-events:none}
.oyakata-lp .cta-band .wrap {position:relative;z-index:1}
.oyakata-lp .cta-band h2 {margin:0 auto 14px;color:#fff;font-size:clamp(25px,2.8vw,36px);font-weight:800;line-height:1.55;letter-spacing:-.025em}
.oyakata-lp .cta-band p {margin:0 auto 34px;color:rgba(255,255,255,.95);font-size:16px;font-weight:500;line-height:1.9}
.oyakata-lp .cta-band .actions {display:flex;flex-wrap:wrap;justify-content:center;gap:13px}
.oyakata-lp .cta-band .btn {min-width:190px}
.oyakata-lp .cta-band .btn-cta {min-width:255px}

/* Live site footer is injected here; this fallback is for a standalone preview. */
.oyakata-lp .site-footer {padding:0;background:#fff;border-top:1px solid var(--line)}
.oyakata-lp .footer-fallback {display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;min-height:105px;color:var(--text-sub);font-size:12px}
.oyakata-lp .footer-fallback__brand {color:var(--brand-dark);font-size:16px;font-weight:800}
.oyakata-lp .footer-fallback__links {display:flex;flex-wrap:wrap;gap:19px}
.oyakata-lp .footer-fallback__links a:hover {color:var(--brand)}
.oyakata-lp .footer-fallback small {font-size:11px}

/* Tablet and mobile */
@media (max-width:1150px) {
  .oyakata-lp .hd .wrap {gap:12px}
  .oyakata-lp .gnav {gap:17px}
  .oyakata-lp .gnav ul {gap:18px}
  .oyakata-lp .gnav .btns {gap:7px}
  .oyakata-lp .gnav .btn-sm {padding-inline:14px}
  .oyakata-lp .hero h1 {font-size:clamp(34px,3.5vw,41px)}
}
@media (max-width:1023px) {
  html {scroll-padding-top:84px}
  .oyakata-lp .wrap {width:min(calc(100% - 48px),760px)}
  .oyakata-lp .hd .wrap {min-height:78px}
  .oyakata-lp .menu-toggle {position:absolute;opacity:0;width:1px;height:1px;left:-9999px;display:block}
  .oyakata-lp .menu-btn {display:grid;place-items:center;flex:none;width:45px;height:45px;margin-left:auto;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--brand-dark);cursor:pointer}
  .oyakata-lp .menu-btn svg {width:24px;height:24px}
  .oyakata-lp .menu-toggle:focus-visible + .menu-btn {outline:3px solid var(--cta);outline-offset:4px}
  .oyakata-lp .gnav {position:absolute;top:100%;right:0;left:0;display:none;flex-direction:column;align-items:stretch;gap:16px;margin:0;padding:20px max(24px,calc((100vw - 760px)/2)) 25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.99);box-shadow:0 18px 30px rgba(80,49,30,.095)}
  .oyakata-lp .gnav ul {display:block}
  .oyakata-lp .gnav ul a {display:flex;min-height:47px;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px}
  .oyakata-lp .gnav .btns {display:flex;gap:12px}
  .oyakata-lp .gnav .btns .btn {flex:1}
  .oyakata-lp .menu-toggle:checked ~ .gnav {display:flex}
  .oyakata-lp .hero .wrap {grid-template-columns:1fr;gap:15px;min-height:0;padding-block:68px 44px 60px}
  .oyakata-lp .hero-copy {text-align:center}
  .oyakata-lp .hero h1 {font-size:clamp(36px,5vw,47px)}
  .oyakata-lp .hero p.lead {max-width:650px;margin-inline:auto}
  .oyakata-lp .hero .actions, .oyakata-lp .points {justify-content:center}
  .oyakata-lp .hero-visual {width:min(100%,610px);min-height:350px;margin:auto;padding:0}
  .oyakata-lp .hero-visual img {width:min(100%,590px);max-width:100%;transform:none}
  .oyakata-lp .sec {padding:90px 0 96px}
  .oyakata-lp .features {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .oyakata-lp .feature,.oyakata-lp .feature:nth-child(4),.oyakata-lp .feature:nth-child(5) {grid-column:auto}
  .oyakata-lp .link-card {gap:12px;padding:20px}
  .oyakata-lp .link-card .ic {width:55px;height:55px}
  .oyakata-lp .link-card .arrow {width:29px;height:29px}
}
@media (max-width:767px) {
  html {scroll-padding-top:80px}
  .oyakata-lp .wrap {width:min(calc(100% - 36px),520px)}
  .oyakata-lp .hd .wrap {min-height:72px;gap:10px}
  .oyakata-lp .brand-logo__image {width:100px}
  .oyakata-lp .brand-divider {height:26px;margin-inline:0}
  .oyakata-lp .brand-product {font-size:16px}
  .oyakata-lp .gnav {padding:16px 18px 22px}
  .oyakata-lp .gnav .btns {gap:8px}
  .oyakata-lp .gnav .btns .btn {padding-inline:10px;font-size:12px}
  .oyakata-lp .hero .wrap {padding-block:53px 30px;gap:20px}
  .oyakata-lp .eyebrow {max-width:100%;min-height:0;margin-bottom:24px;padding:8px 12px;font-size:10px;white-space:normal;text-align:left}
  .oyakata-lp .hero h1 {margin-bottom:18px;font-size:clamp(24px,7.1vw,34px);line-height:1.55;letter-spacing:-.065em}
  .oyakata-lp .hero p.lead {margin-bottom:25px;font-size:14px;line-height:1.95}
  .oyakata-lp .hero .actions {display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}
  .oyakata-lp .hero .actions .btn {min-width:0;min-height:52px;padding:12px 10px;font-size:12px}
  .oyakata-lp .hero .actions .btn-cta {grid-column:1/-1;font-size:14px}
  .oyakata-lp .hero .actions .btn-line {grid-column:1/-1;width:100%;max-width:280px;justify-self:center}
  .oyakata-lp .points {gap:8px}
  .oyakata-lp .point-chip {min-height:31px;padding:7px 9px;font-size:10.5px}
  .oyakata-lp .point-chip svg {width:13px;height:13px}
  .oyakata-lp .hero-visual {min-height:200px;padding:4px 0 7px}
  .oyakata-lp .hero-visual img {max-width:100%}
  .oyakata-lp .sec {padding:68px 0 76px}
  .oyakata-lp .sec-hd {margin-bottom:33px}
  .oyakata-lp .sec-hd .en {margin-bottom:12px;font-size:10px}
  .oyakata-lp .sec-hd h2 {font-size:clamp(25px,6.4vw,30px)}
  .oyakata-lp .sec-hd p {margin-top:12px;font-size:13px}
  .oyakata-lp .features,.oyakata-lp .prices,.oyakata-lp .links {grid-template-columns:1fr;gap:15px}
  .oyakata-lp .feature {min-height:0;padding:27px 25px 23px;border-radius:19px}
  .oyakata-lp .feature::before {right:25px;top:27px}
  .oyakata-lp .feature .ic {width:58px;height:58px;margin-bottom:20px;border-radius:15px}
  .oyakata-lp .feature h3 {font-size:18px}
  .oyakata-lp .feature p {margin-bottom:21px;font-size:13px}
  .oyakata-lp .feature .more {padding-top:16px}
  .oyakata-lp .price {min-height:0;padding:32px 20px;border-radius:21px}
  .oyakata-lp .price .label {margin-bottom:14px;font-size:15px}
  .oyakata-lp .price .num {font-size:43px}
  .oyakata-lp .price .num span {font-size:15px}
  .oyakata-lp .price .badge {margin-top:16px;padding:8px 13px;font-size:12px}
  .oyakata-lp .price-cta {margin-top:28px}
  .oyakata-lp .price-cta .btn {min-width:0;width:min(100%,350px)}
  .oyakata-lp .link-card {min-height:118px;gap:14px;padding:20px;border-radius:18px}
  .oyakata-lp .link-card .ic {width:55px;height:55px;border-radius:14px}
  .oyakata-lp .link-card h3 {font-size:16px}
  .oyakata-lp .link-card p {font-size:12px}
  .oyakata-lp .cta-band {padding:68px 0 74px}
  .oyakata-lp .cta-band h2 {font-size:25px}
  .oyakata-lp .cta-band p {margin-bottom:27px;font-size:14px}
  .oyakata-lp .cta-band .actions {display:grid;gap:11px}
  .oyakata-lp .cta-band .btn {width:min(100%,370px);min-width:0;margin-inline:auto}
  .oyakata-lp .footer-fallback {display:block;min-height:0;padding-block:32px;text-align:center}
  .oyakata-lp .footer-fallback__links {justify-content:center;gap:8px 16px;margin:12px 0}
}
@media (prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  .oyakata-lp .btn,.oyakata-lp .feature,.oyakata-lp .link-card,.oyakata-lp .link-card .arrow {transition:none}
}

@media (max-width:767px) {
  .oyakata-lp .hero-visual::before {width:114%;filter:blur(5px)}
}

/* Keep the long product label legible on extra-narrow phones. */
@media (max-width:359px) {
  .oyakata-lp .eyebrow {display:inline-block;padding:7px 11px;font-size:10px;text-align:center}
  .oyakata-lp .eyebrow::before {display:inline-block;vertical-align:middle;margin-right:6px}
  .oyakata-lp .eyebrow > span {display:block;height:0;margin:0!important;font-size:0;line-height:0;overflow:hidden}
}
