@charset "UTF-8";

/* tokens */
:root{
  --ink:     #212121;
  --ink-2:   #4b545e;
  --ink-3:   #8a939d;
  --dark:    #17181c;
  --dark-2:  #222328;
  --pink:    #f5325b;
  --pink-d:  #c31340;
  --pink-50: #fff0f3;
  --pink-100:#ffdbe3;
  --base:    #f7f6f3;
  --blue-50: #edf3fa;
  --line:    #e6e3dd;
  --line-2:  #d9dce0;
  --white:   #ffffff;
  --ok:      #3e8c5a;
  --mid:     #8a939d;
  --ng:      #b8bfc6;

  --font-ja: "YakuHanJP", "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  --font-en: "din-2014", "YakuHanJP", "Noto Sans JP", sans-serif;

  --col: min(100vw, 480px);
  --u: calc(var(--col) / 375);
  --gutter: calc(20 * var(--u));
  --header-h: 60px;

  --r-card: calc(12 * var(--u));
  --r-btn: calc(10 * var(--u));
  --sh-card: 0 1px 3px rgba(0,0,0,.06);
  --sh-cta: 0 4px 14px rgba(245,50,91,.32);
  --ease: cubic-bezier(.22,.8,.24,1);

  --z-content: 1;
  --z-fixcta: 80;
  --z-drawer: 90;
  --z-header: 100;
  --z-aside: 50;
}

/* reset */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:calc(var(--header-h) + 8px); }
body{
  margin:0;
  background:var(--white);
  color:var(--ink);
  font-family:var(--font-ja);
  font-size:calc(14 * var(--u));
  line-height:1.85;
  font-feature-settings:"palt";
  letter-spacing:.02em;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
img,svg{ max-width:100%; vertical-align:bottom; }
a{ color:inherit; text-decoration:none; }
ul,ol,dl,dd{ margin:0; padding:0; }
li{ list-style:none; }
h1,h2,h3,h4,p,figure,dt,dd,table{ margin:0; }
button{ font:inherit; color:inherit; background:none; border:0; padding:0; cursor:pointer; }
table{ border-collapse:collapse; border-spacing:0; }
strong{ font-weight:700; }
small{ font-size:inherit; }
[hidden]{ display:none !important; }
:focus-visible{ outline:2px solid var(--pink); outline-offset:3px; }

.u-sr-only{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.u-hp{ position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.u-skip{ position:absolute; left:8px; top:-60px; z-index:999; padding:8px 14px; background:var(--ink); color:var(--white); font-size:13px; }
.u-skip:focus{ top:8px; }
.c-num{ font-family:var(--font-en); font-weight:700; font-variant-numeric:tabular-nums; letter-spacing:0; }

/* layout */
.l-split{ position:relative; }
.l-stage{ position:relative; width:100%; background:var(--white); }
.l-main{ position:relative; z-index:var(--z-content); }

/* SPヘッダー */
.p-header{
  position:sticky; top:0; z-index:var(--z-header);
  display:flex; align-items:center; gap:10px;
  height:var(--header-h);
  padding:0 8px 0 var(--gutter);
  background:rgba(255,255,255,.88);
  -webkit-backdrop-filter:saturate(1.4) blur(12px);
  backdrop-filter:saturate(1.4) blur(12px);
  border-bottom:1px solid transparent;
  transition:border-color .3s ease, background-color .3s ease, translate .45s var(--ease);
}
.p-header.is-scrolled{ border-bottom-color:var(--line); }
.p-header.is-hidden{ translate:0 -100%; }
.p-header__logo{ display:block; width:152px; margin-right:auto; }
.p-header__logo svg{ display:block; width:100%; height:auto; }
.p-header__cta{
  display:inline-flex; align-items:center; height:34px; padding:0 14px;
  border-radius:999px; background:var(--pink); color:var(--white);
  font-size:12px; font-weight:700; letter-spacing:.04em;
}
.p-header__burger{ position:relative; width:44px; height:44px; }
.p-header__burger span{
  position:absolute; left:12px; width:20px; height:2px; background:var(--ink);
  transition:translate .3s var(--ease), rotate .3s var(--ease);
}
.p-header__burger span:nth-child(1){ top:17px; }
.p-header__burger span:nth-child(2){ top:25px; }
.p-header__burger.is-open span:nth-child(1){ translate:0 4px; rotate:45deg; }
.p-header__burger.is-open span:nth-child(2){ translate:0 -4px; rotate:-45deg; }

.p-drawer{
  position:fixed; inset:var(--header-h) 0 0 0; z-index:var(--z-drawer);
  display:flex; flex-direction:column; gap:24px;
  padding:24px var(--gutter) calc(32px + env(safe-area-inset-bottom));
  background:var(--white);
  overflow-y:auto;
  opacity:0; visibility:hidden; translate:0 -8px;
  transition:opacity .3s ease, translate .3s var(--ease), visibility 0s .3s;
}
.p-drawer.is-open{ opacity:1; visibility:visible; translate:0 0; transition:opacity .3s ease, translate .3s var(--ease); }
.p-drawer__list a{
  display:flex; align-items:baseline; gap:14px;
  padding:14px 0; border-bottom:1px solid var(--line);
  font-size:16px; font-weight:700;
}
.p-drawer__no{ font-family:var(--font-en); font-weight:700; font-size:12px; color:var(--pink); letter-spacing:.08em; }

/* buttons */
.c-btn{
  position:relative; isolation:isolate; overflow:hidden;
  display:flex; align-items:center; justify-content:center; gap:calc(12 * var(--u));
  width:100%; min-height:calc(56 * var(--u));
  padding:calc(14 * var(--u)) calc(52 * var(--u)) calc(14 * var(--u)) calc(20 * var(--u));
  border-radius:var(--r-btn);
  font-size:calc(15 * var(--u)); font-weight:700; letter-spacing:.04em; line-height:1.4;
  text-align:center;
  transition:background-color .3s ease, color .3s ease, box-shadow .3s ease, translate .2s ease;
}
.c-btn--primary{ background:var(--pink); color:var(--white); box-shadow:var(--sh-cta); }
.c-btn--primary::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(100deg, var(--pink-d), var(--pink) 70%);
  translate:-101% 0; transition:translate .5s var(--ease);
}
.c-btn--ghost{
  min-height:calc(50 * var(--u));
  padding-right:calc(20 * var(--u));
  border:1.5px solid var(--pink); background:var(--white); color:var(--pink-d);
  font-size:calc(14 * var(--u));
}
.c-btn--inv{ border-color:rgba(255,255,255,.4); background:transparent; color:var(--white); }
.c-btn__arrow{
  position:absolute; right:calc(22 * var(--u)); top:50%;
  font-size:calc(17 * var(--u)); margin-top:-.05em;
  transition:translate .3s var(--ease);
}
.c-btn__arrow, .p-fv__arrow, .p-case__arrow, .p-cmp__hint i{
  display:block; line-height:1;
  width:1em; height:.1em;
  background:currentColor;
}
.c-btn__arrow::before, .p-fv__arrow::before, .p-case__arrow::before, .p-cmp__hint i::before{
  content:""; position:absolute; top:50%; right:-.05em;
  width:.65em; height:.65em;
  border:.1em solid currentColor; border-left:0; border-bottom:0;
  transform:rotate(45deg); transform-origin:top right;
  box-sizing:border-box;
}
.c-cta{ margin-top:calc(32 * var(--u)); }

@media (hover:hover) and (pointer:fine){
  .c-btn--primary:hover::before{ translate:0 0; }
  .c-btn:hover .c-btn__arrow{ translate:calc(4 * var(--u)) 0; }
  .c-btn--ghost:hover{ background:var(--pink-50); }
  .c-btn--inv:hover{ background:rgba(255,255,255,.08); }
  .p-header__cta:hover{ background:var(--pink-d); }
}

/* section heading */
.p-sec{ padding:calc(72 * var(--u)) var(--gutter); background:var(--white); }
.p-sec--base{ background:var(--base); }
.c-head{ margin-bottom:calc(28 * var(--u)); }
.c-label{
  display:flex; align-items:center; gap:calc(10 * var(--u));
  margin-bottom:calc(14 * var(--u));
  font-family:var(--font-en); font-weight:700;
  font-size:calc(11 * var(--u)); letter-spacing:.16em; line-height:1;
  color:var(--ink-3);
}
.c-label__en{ color:var(--pink); font-size:calc(13 * var(--u)); letter-spacing:.16em; }
.c-label__en::after{
  content:""; display:inline-block; vertical-align:middle;
  width:calc(28 * var(--u)); height:1px; margin-left:calc(12 * var(--u));
  background:currentColor;
}
.c-label--inv{ color:rgba(255,255,255,.55); }
.c-h2{
  font-size:calc(26 * var(--u)); font-weight:900; line-height:1.42; letter-spacing:-.03em;
}
.c-text{ font-size:calc(14 * var(--u)); line-height:1.9; color:var(--ink-2); }
.c-text strong{ color:var(--ink); background:linear-gradient(transparent 62%, var(--pink-100) 62%); }
.c-note{ font-size:calc(12 * var(--u)); line-height:1.75; color:var(--ink-3); }
.c-notes li{ position:relative; padding-left:1.2em; font-size:calc(11.5 * var(--u)); line-height:1.75; color:var(--ink-3); }
.c-notes li::before{ content:"※"; position:absolute; left:0; }
.c-badge{
  display:inline-flex; align-items:center; height:calc(18 * var(--u)); padding:0 calc(6 * var(--u));
  margin-right:calc(8 * var(--u)); border-radius:3px;
  font-size:calc(10 * var(--u)); font-weight:700; letter-spacing:.06em; line-height:1;
}
.c-badge--req{ background:var(--pink); color:var(--white); }
.c-badge--any{ background:#eceef0; color:var(--ink-3); }

.u-line{ display:block; overflow:hidden; padding-bottom:.08em; margin-bottom:-.08em; }
.u-line__in{ display:block; transform-origin:left bottom; }

/* 01 FIRST VIEW */
.p-fv{
  position:relative; overflow:hidden;
  display:flex; flex-direction:column; justify-content:space-between;
  min-height:calc(100svh - var(--header-h));
  padding:calc(22 * var(--u)) 0 calc(18 * var(--u));
  background:var(--white);
}
.p-fv::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  right:calc(-120 * var(--u)); top:calc(-90 * var(--u));
  width:calc(360 * var(--u)); aspect-ratio:1;
  background:radial-gradient(circle, rgba(245,50,91,.16) 0, rgba(245,50,91,.06) 40%, transparent 68%);
  animation:fvGlow 12s ease-in-out infinite alternate;
}
@keyframes fvGlow{ to{ translate:calc(-40 * var(--u)) calc(30 * var(--u)); scale:1.15; } }
.p-fv__grid{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    linear-gradient(var(--line) 1px, transparent 1px) 0 0 / 100% calc(46 * var(--u)),
    linear-gradient(90deg, var(--line) 1px, transparent 1px) 0 0 / calc(46 * var(--u)) 100%;
  opacity:.45;
  -webkit-mask-image:linear-gradient(180deg, #000 0, transparent 70%);
          mask-image:linear-gradient(180deg, #000 0, transparent 70%);
}
.p-fv__inner{ position:relative; z-index:1; padding:0 var(--gutter); }
.p-fv__eyebrow{
  display:inline-flex; align-items:center; gap:calc(8 * var(--u));
  padding:calc(5 * var(--u)) calc(12 * var(--u));
  border:1px solid var(--ink); border-radius:999px;
  font-size:calc(12 * var(--u)); font-weight:700; letter-spacing:.06em; line-height:1.4;
  background:var(--white);
}
.p-fv__dot{ flex:none; width:8px; height:8px; border-radius:50%; background:var(--pink); animation:dotRipple 2s ease-out infinite; }
@keyframes dotRipple{ 0%{ box-shadow:0 0 0 0 rgba(245,50,91,.55); } 100%{ box-shadow:0 0 0 10px rgba(245,50,91,0); } }
@keyframes dotPulse{ to{ scale:3; opacity:0; } }

.p-fv__title{ display:block; margin-top:calc(16 * var(--u)); }
.p-fv__catch{ display:block; margin-top:calc(8 * var(--u)); font-size:calc(35 * var(--u)); font-weight:900; line-height:1.34; letter-spacing:-.045em; }
.p-fv__line{ display:block; white-space:nowrap; }
.p-fv__catch ruby{ position:relative; display:inline-block; }
.p-fv__catch rt{
  position:absolute; left:50%; bottom:100%; translate:-50% 0; white-space:nowrap;
  font-size:calc(10 * var(--u)); font-weight:700; letter-spacing:.08em; line-height:1;
  color:var(--pink); text-align:center;
  margin-bottom:calc(-3 * var(--u));
}
.p-fv__sub{
  display:block; margin-top:calc(10 * var(--u));
  font-size:calc(20 * var(--u)); font-weight:700; line-height:1.5; letter-spacing:-.02em;
}
.p-fv__sub em{ position:relative; font-style:normal; color:var(--pink); }
.p-fv__sub em::after{
  content:""; position:absolute; left:0; right:0; bottom:-.06em; height:.12em;
  background:var(--pink); transform-origin:left; scale:var(--ul, 1) 1;
}
.p-fv__lead{ margin-top:calc(14 * var(--u)); font-size:calc(13.5 * var(--u)); line-height:1.8; color:var(--ink-2); }

.p-fv__badges{
  display:grid; grid-template-columns:1.35fr 1fr 1fr;
  margin-top:calc(18 * var(--u));
  border-top:1px solid var(--ink); border-bottom:1px solid var(--line);
}
.p-fv__badge{ padding:calc(10 * var(--u)) calc(4 * var(--u)) calc(9 * var(--u)); text-align:center; }
.p-fv__badge + .p-fv__badge{ border-left:1px solid var(--line); }
.p-fv__num{
  display:flex; align-items:baseline; justify-content:center; gap:calc(2 * var(--u));
  font-family:var(--font-en); font-weight:700; font-variant-numeric:tabular-nums;
  font-size:calc(16 * var(--u)); line-height:1.1; letter-spacing:0; color:var(--ink-3);
}
.p-fv__strong{ font-size:calc(27 * var(--u)); color:var(--ink); }
.p-fv__badge:first-child .p-fv__strong{ color:var(--pink); }
.p-fv__unit{ font-family:var(--font-ja); font-size:calc(11 * var(--u)); font-weight:700; color:var(--ink); }
.p-fv__arrow{ position:relative; align-self:center; margin:0 calc(4 * var(--u)); font-size:calc(13 * var(--u)); color:var(--ink-3); }
.p-fv__cap{ margin-top:calc(4 * var(--u)); font-size:calc(10 * var(--u)); font-weight:700; letter-spacing:.08em; color:var(--ink-3); line-height:1.3; }

.p-fv__actions{ display:grid; gap:calc(10 * var(--u)); margin-top:calc(18 * var(--u)); }

.p-fv__proof{ position:relative; z-index:1; margin-top:calc(18 * var(--u)); }
.p-fv__proof-label{ padding:0 var(--gutter); font-size:calc(10 * var(--u)); font-weight:700; letter-spacing:.1em; color:var(--ink-3); }
.p-fv__marquee{
  margin-top:calc(6 * var(--u)); overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
          mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.p-fv__track{ display:flex; width:max-content; animation:marquee 40s linear infinite; }
.p-fv__track{ margin:0; padding:0; }
.p-fv__logo{ flex:none; display:flex; align-items:center; height:calc(60 * var(--u)); padding:0 calc(22 * var(--u)); }
.p-fv__logo img{ display:block; width:auto; height:calc(var(--lh) * var(--u)); }
@keyframes marquee{ to{ translate:-50% 0; } }

.u-ch{ display:inline-block; white-space:pre; }

/* 02 EMPATHY */
.p-empathy__list{ border-top:1px solid var(--ink); }
.p-empathy__item{
  display:grid; grid-template-columns:calc(26 * var(--u)) 1fr; gap:calc(12 * var(--u)); align-items:start;
  padding:calc(16 * var(--u)) 0;
  border-bottom:1px solid var(--line);
}
.p-empathy__item p{ font-size:calc(14.5 * var(--u)); font-weight:500; line-height:1.75; }
.p-empathy__check{
  width:calc(26 * var(--u)); height:calc(26 * var(--u)); padding:calc(4 * var(--u));
  border-radius:50%; background:var(--pink-50);
  fill:none; stroke:var(--pink); stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round;
}
.p-empathy__check path{ stroke-dasharray:24; stroke-dashoffset:0; }
.p-empathy__turn{
  position:relative; margin-top:calc(28 * var(--u));
  padding:calc(22 * var(--u)) calc(20 * var(--u)) calc(24 * var(--u));
  border-radius:var(--r-card); background:var(--pink-50);
}
.p-empathy__turn::before{
  content:""; position:absolute; left:calc(20 * var(--u)); top:0;
  width:calc(36 * var(--u)); height:3px; background:var(--pink);
}
.p-empathy__if{ font-size:calc(13 * var(--u)); font-weight:700; color:var(--pink-d); }
.p-empathy__msg{ margin-top:calc(6 * var(--u)); font-size:calc(18 * var(--u)); font-weight:900; line-height:1.6; letter-spacing:-.02em; }
.p-empathy__msg strong{ font-weight:900; color:var(--pink-d); }

/* 03 PROBLEM */
.p-flow{ display:grid; gap:calc(14 * var(--u)); }
.p-flow__panel{
  position:relative; padding:calc(18 * var(--u)) calc(14 * var(--u)) calc(16 * var(--u));
  border-radius:var(--r-card); background:var(--white); box-shadow:var(--sh-card);
}
.p-flow__cap{
  display:block; margin-bottom:calc(14 * var(--u));
  font-size:calc(12 * var(--u)); font-weight:700; letter-spacing:.06em; color:var(--ink-3);
}
.p-flow__panel--one{ outline:1.5px solid var(--pink); outline-offset:-1.5px; }
.p-flow__panel--one .p-flow__cap{ font-family:var(--font-en); font-size:calc(13 * var(--u)); letter-spacing:.12em; color:var(--pink); }
.p-flow__blocks{ display:grid; grid-template-columns:repeat(3, 1fr); gap:calc(14 * var(--u)); }
.p-flow__block{
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-height:calc(66 * var(--u)); padding:calc(8 * var(--u)) calc(4 * var(--u));
  border-radius:calc(8 * var(--u)); background:#f1f2f3; text-align:center; line-height:1.35;
}
.p-flow__stage{ font-size:calc(14 * var(--u)); font-weight:900; }
.p-flow__who{ margin-top:calc(4 * var(--u)); font-size:calc(10.5 * var(--u)); font-weight:500; color:var(--ink-3); }
.p-flow__panel--split .p-flow__block{ color:var(--ink-2); }
.p-flow__panel--split .p-flow__block + .p-flow__block::before{
  content:""; position:absolute; left:calc(-13 * var(--u)); top:50%;
  width:calc(12 * var(--u)); border-top:1.5px dashed var(--ng);
}
.p-flow__panel--split .p-flow__block + .p-flow__block::after{
  content:""; position:absolute; left:calc(-8 * var(--u)); top:calc(50% - 7px);
  width:1.5px; height:14px; background:var(--ink-3); rotate:24deg;
}
.p-flow__panel--one .p-flow__block{ background:var(--pink-50); }
.p-flow__band{
  position:relative; display:flex; justify-content:space-between; align-items:center; gap:calc(4 * var(--u));
  margin-top:calc(10 * var(--u)); padding:calc(7 * var(--u)) calc(26 * var(--u)) calc(7 * var(--u)) calc(12 * var(--u));
  border-radius:999px; background:var(--pink); color:var(--white);
  font-size:calc(10.5 * var(--u)); font-weight:700; line-height:1.3; letter-spacing:.02em; white-space:nowrap;
  transform-origin:left center;
}
.p-flow__band::after{
  content:""; position:absolute; right:calc(12 * var(--u)); top:50%;
  width:calc(7 * var(--u)); height:calc(7 * var(--u)); margin-top:calc(-3.5 * var(--u));
  border-top:calc(1.6 * var(--u)) solid currentColor; border-right:calc(1.6 * var(--u)) solid currentColor; border-radius:0 calc(1 * var(--u)) 0 0;
  transform:translateX(-25%) rotate(45deg);
}
.p-flow__band span + span::before{ content:"→"; margin-right:calc(5 * var(--u)); opacity:.7; }
.p-flow__result{
  margin-top:calc(14 * var(--u)); padding-top:calc(12 * var(--u)); border-top:1px solid var(--line);
  font-size:calc(14 * var(--u)); font-weight:700; color:var(--ink-3);
}
.p-flow__result::before{ content:"→ "; }
.p-flow__panel--one .p-flow__result{ border-top-color:var(--pink-100); color:var(--pink-d); font-weight:900; font-size:calc(16 * var(--u)); }
.p-problem__note{ margin-top:calc(24 * var(--u)); }

/* 04 SOLUTION */
.p-steps__item{ position:relative; display:grid; grid-template-columns:calc(44 * var(--u)) 1fr; gap:calc(14 * var(--u)); }
.p-steps__rail{ position:relative; display:flex; justify-content:center; }
.p-steps__rail::before{
  content:""; position:absolute; top:calc(44 * var(--u)); bottom:calc(4 * var(--u)); left:50%; width:2px; margin-left:-1px;
  background:linear-gradient(var(--pink), var(--pink-100));
  transform-origin:top; scale:1 var(--rail, 1);
}
.p-steps__item:last-child .p-steps__rail::before{ display:none; }
.p-steps__item:not(:last-child) .p-steps__rail::after{
  content:""; position:absolute; bottom:calc(4 * var(--u)); left:50%;
  width:9px; height:9px; margin-left:-5px;
  border-right:2px solid var(--pink-100); border-bottom:2px solid var(--pink-100); rotate:45deg;
}
.p-steps__no{
  position:relative; z-index:1;
  display:grid; place-items:center; width:calc(44 * var(--u)); height:calc(44 * var(--u));
  border-radius:50%; background:var(--ink); color:var(--white);
  font-family:var(--font-en); font-weight:700; font-size:calc(15 * var(--u)); letter-spacing:.04em;
}
.p-steps__body{ padding:calc(4 * var(--u)) 0 calc(32 * var(--u)); }
.p-steps__icon{ display:block; width:calc(40 * var(--u)); height:calc(40 * var(--u)); margin-bottom:calc(8 * var(--u)); }
.p-steps__icon svg{ width:100%; height:100%; fill:none; stroke:var(--pink); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.p-steps__title{ font-size:calc(18 * var(--u)); font-weight:900; line-height:1.45; letter-spacing:-.02em; }
.p-steps__text{ margin-top:calc(6 * var(--u)); font-size:calc(13.5 * var(--u)); line-height:1.85; color:var(--ink-2); }
.p-solution__answer{
  margin-top:calc(8 * var(--u)); padding-top:calc(24 * var(--u));
  border-top:3px solid var(--ink);
}
.p-solution__pre{ font-size:calc(13 * var(--u)); color:var(--ink-2); line-height:1.8; }
.p-solution__main{ margin-top:calc(10 * var(--u)); font-size:calc(21 * var(--u)); font-weight:900; line-height:1.6; letter-spacing:-.03em; }
.p-solution__main strong{ font-weight:900; color:var(--pink-d); background:linear-gradient(transparent 64%, var(--pink-100) 64%); }

/* 05 PROOF / CASE 01 */
.p-case__tag{
  display:flex; align-items:center; gap:calc(8 * var(--u));
  font-size:calc(12 * var(--u)); font-weight:700; color:var(--ink-2);
}
.p-case__tag-en{ font-family:var(--font-en); font-weight:700; letter-spacing:.14em; color:var(--ink); }
.p-case__tag-en::after{ content:"／"; margin-left:calc(8 * var(--u)); color:var(--ink-3); }
.p-case__h{ display:block; margin-top:calc(14 * var(--u)); }
.p-case__h-ja{ display:block; font-size:calc(20 * var(--u)); font-weight:900; line-height:1.4; letter-spacing:-.02em; }
.p-case__big{
  display:flex; align-items:flex-end; gap:calc(10 * var(--u));
  margin-top:calc(6 * var(--u));
  font-family:var(--font-en); font-weight:700; font-variant-numeric:tabular-nums; letter-spacing:-.02em; line-height:.84;
}
.p-case__from{ font-size:calc(48 * var(--u)); color:var(--ink-3); padding-bottom:calc(4 * var(--u)); }
.p-case__to{ font-size:calc(124 * var(--u)); color:var(--pink); }
.p-case__big small{ font-family:var(--font-ja); font-weight:900; font-size:calc(20 * var(--u)); margin-left:calc(2 * var(--u)); color:var(--ink); letter-spacing:0; }
.p-case__arrow{ position:relative; flex:none; align-self:flex-end; margin-bottom:calc(30 * var(--u)); font-size:calc(34 * var(--u)); color:var(--ink); transform-origin:left; }

.p-case__media{ margin:calc(8 * var(--u)) 0 calc(28 * var(--u)); text-align:center; }
.p-reel{
  position:relative; width:calc(200 * var(--u)); aspect-ratio:9 / 16; margin:0 auto;
  border-radius:calc(22 * var(--u)); padding:calc(6 * var(--u));
  background:var(--ink); box-shadow:0 18px 40px rgba(23,24,28,.18);
}
.p-reel__play, .p-reel__ph, .p-reel video{
  position:relative; display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start;
  width:100%; height:100%; overflow:hidden;
  border-radius:calc(16 * var(--u));
}
.p-reel__play img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.p-reel video{ display:block; background:#000; object-fit:cover; }
.p-reel__ph{
  padding:calc(16 * var(--u));
  background:
    radial-gradient(120% 70% at 80% 10%, rgba(245,50,91,.55), transparent 60%),
    linear-gradient(160deg, #2a2b31, #111214);
  color:var(--white); text-align:left;
}
.p-reel__ph-en{ font-family:var(--font-en); font-weight:700; font-size:calc(30 * var(--u)); letter-spacing:.06em; line-height:1; }
.p-reel__ph-ja{ margin-top:calc(8 * var(--u)); font-size:calc(11 * var(--u)); font-weight:700; line-height:1.6; opacity:.85; }
.p-reel__icon{
  position:absolute; left:50%; top:42%; width:calc(56 * var(--u)); height:calc(56 * var(--u));
  margin:calc(-28 * var(--u)) 0 0 calc(-28 * var(--u));
  border-radius:50%; background:rgba(255,255,255,.92);
}
.p-reel__icon::before{
  content:""; position:absolute; left:54%; top:50%; translate:-50% -50%;
  border-style:solid; border-width:calc(9 * var(--u)) 0 calc(9 * var(--u)) calc(15 * var(--u));
  border-color:transparent transparent transparent var(--pink);
}
.p-reel__icon::after{ content:""; position:absolute; inset:-6px; border-radius:50%; border:1px solid rgba(255,255,255,.6); animation:dotPulse 2.4s ease-out infinite; }
.p-case__media-cap{ margin-top:calc(12 * var(--u)); font-size:calc(12 * var(--u)); font-weight:700; }
.p-case__media-cap span{ font-weight:400; color:var(--ink-3); }

.p-table{ border-radius:var(--r-card); overflow:hidden; box-shadow:var(--sh-card); outline:1px solid var(--line); outline-offset:-1px; }
.p-table__table{ width:100%; table-layout:fixed; font-size:calc(13 * var(--u)); background:var(--white); }
.p-table__table th, .p-table__table td{ padding:calc(13 * var(--u)) calc(12 * var(--u)); border-bottom:1px solid var(--line); text-align:right; line-height:1.3; }
.p-table__table tr:last-child th, .p-table__table tr:last-child td{ border-bottom:0; }
.p-table__table thead th{
  padding-block:calc(10 * var(--u));
  font-family:var(--font-en); font-weight:700; font-size:calc(12 * var(--u)); letter-spacing:.12em; color:var(--ink-3);
}
.p-table__table thead th.is-after{ color:var(--pink-d); }
.p-table__table tbody th{ width:46%; text-align:left; font-weight:700; font-size:calc(12.5 * var(--u)); }
.p-table__table td{ color:var(--ink-3); white-space:nowrap; }
.p-table__table td .c-num{ font-size:calc(17 * var(--u)); }
.p-table__table td small{ margin-left:2px; font-size:calc(11 * var(--u)); font-weight:700; }
.p-table__table .is-after{ background:var(--pink-50); color:var(--pink-d); }
.p-table__table td.is-after .c-num{ font-size:calc(20 * var(--u)); }
.p-table__table thead th:first-child{ width:46%; }
.p-table__table tbody th{ letter-spacing:0; }
.p-table__table tbody tr:not(.is-key) th{ font-weight:500; color:var(--ink-2); }
.p-table__table tbody tr:not(.is-key) td.is-after .c-num{ font-size:calc(17 * var(--u)); }
.p-table__table tr:not(.is-key) + tr.is-key > *{ border-top:2px solid var(--ink); }
.p-table__table tr.is-down td.is-after{ color:var(--ink-2); }
.p-table__tag{
  display:inline-block; margin-left:calc(6 * var(--u)); padding:0 calc(5 * var(--u));
  border-radius:3px; background:var(--ink-3); color:var(--white);
  font-size:calc(9.5 * var(--u)); font-weight:700; line-height:1.7; letter-spacing:.04em; vertical-align:middle;
}

.p-case__note{
  margin-top:calc(14 * var(--u)); padding:calc(26 * var(--u)) calc(22 * var(--u)) calc(28 * var(--u));
  border-radius:var(--r-card); background:var(--dark); color:var(--white);
}
.p-case__note-head{
  display:flex; align-items:center; gap:calc(10 * var(--u));
  font-size:calc(12 * var(--u)); font-weight:700; letter-spacing:.08em; color:var(--pink);
}
.p-case__note-head::before{ content:""; width:calc(20 * var(--u)); height:1px; background:var(--pink); }
.p-case__note-text{ margin-top:calc(12 * var(--u)); font-size:calc(14.5 * var(--u)); line-height:1.9; color:rgba(255,255,255,.82); }
.p-case__note-text strong{ color:var(--white); background:linear-gradient(transparent 62%, rgba(245,50,91,.55) 62%); }
.p-case__note-end{ margin-top:calc(18 * var(--u)); padding-top:calc(18 * var(--u)); border-top:1px solid rgba(255,255,255,.14); font-size:calc(19 * var(--u)); font-weight:900; line-height:1.55; letter-spacing:-.02em; }

/* 06 PROOF / CASE 02 */
.p-case2 .p-case__tag{ margin-bottom:calc(14 * var(--u)); }
.p-kpi{ display:grid; grid-template-columns:repeat(3, 1fr); gap:calc(6 * var(--u)); margin-bottom:calc(22 * var(--u)); }
.p-kpi__item{ display:flex; flex-direction:column; padding:calc(14 * var(--u)) calc(8 * var(--u)); border-radius:calc(10 * var(--u)); background:var(--blue-50); }
.p-kpi dt{ font-size:calc(10.5 * var(--u)); font-weight:700; line-height:1.45; color:var(--ink-2); }
.p-kpi dd{ display:flex; flex-direction:column; margin-top:auto; padding-top:calc(10 * var(--u)); }
.p-kpi__from{ font-size:calc(11 * var(--u)); color:var(--ink-3); line-height:1.2; }
.p-kpi__to{ display:flex; align-items:baseline; gap:2px; white-space:nowrap; line-height:1.15; }
.p-kpi__to i{ font-style:normal; font-size:calc(11 * var(--u)); color:var(--ink-3); margin-right:1px; }
.p-kpi__to .c-num{ font-size:calc(19 * var(--u)); color:var(--ink); }
.p-kpi__to small{ font-size:calc(10 * var(--u)); font-weight:700; }

/* 07 DIFFERENTIATOR / Xbot */
.p-xbot__kicker{
  display:inline-flex; align-items:center; gap:calc(12 * var(--u));
  margin-bottom:calc(14 * var(--u)); padding:calc(9 * var(--u)) calc(16 * var(--u)) calc(9 * var(--u)) calc(14 * var(--u));
  border-radius:999px; background:var(--white); box-shadow:inset 0 0 0 1px var(--line);
}
.p-xbot__logo{ display:block; width:auto; height:calc(22 * var(--u)); }
.p-xbot__kicker-text{ padding-left:calc(12 * var(--u)); border-left:1px solid var(--line); font-size:calc(11.5 * var(--u)); font-weight:700; line-height:1.4; color:var(--pink-d); }
.p-price__logo{ display:block; width:auto; height:calc(20 * var(--u)); }

.p-ba{ border-top:1px solid var(--ink); }
.p-ba__row{ padding:calc(16 * var(--u)) 0; border-bottom:1px solid var(--line); }
.p-ba__th{ font-size:calc(15 * var(--u)); font-weight:900; margin-bottom:calc(8 * var(--u)); }
.p-ba__before, .p-ba__after{ display:grid; grid-template-columns:calc(52 * var(--u)) 1fr; align-items:baseline; font-size:calc(13.5 * var(--u)); line-height:1.7; }
.p-ba__before{ color:var(--ink-3); }
.p-ba__after{ margin-top:calc(6 * var(--u)); font-weight:700; }
.p-ba__tag{
  justify-self:start; padding:0 calc(6 * var(--u)); border-radius:3px;
  font-size:calc(10 * var(--u)); font-weight:700; line-height:1.8; letter-spacing:.04em;
  background:#eceef0; color:var(--ink-3);
}
.p-ba__after .p-ba__tag{ background:var(--pink); color:var(--white); }

.p-mock{ margin:calc(32 * var(--u)) 0 calc(28 * var(--u)); }
.p-mock__pc{
  border-radius:calc(10 * var(--u)); overflow:hidden;
  background:var(--white); box-shadow:0 14px 36px rgba(23,24,28,.1); outline:1px solid var(--line); outline-offset:-1px;
  font-size:calc(11 * var(--u)); line-height:1.4;
}
.p-mock__bar{ display:flex; align-items:center; gap:4px; padding:calc(9 * var(--u)) calc(12 * var(--u)); background:var(--dark); color:var(--white); font-weight:700; }
.p-mock__bar i{ width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.3); }
.p-mock__bar span{ margin-left:calc(8 * var(--u)); }
.p-mock__head, .p-mock__row{ display:grid; grid-template-columns:calc(46 * var(--u)) calc(40 * var(--u)) 1fr calc(48 * var(--u)); align-items:center; padding:calc(9 * var(--u)) calc(12 * var(--u)); }
.p-mock__head{ background:var(--base); color:var(--ink-3); font-weight:700; font-size:calc(10 * var(--u)); }
.p-mock__row{ border-top:1px solid var(--line); }
.p-mock__rank{ display:grid; place-items:center; width:calc(22 * var(--u)); height:calc(22 * var(--u)); border-radius:50%; font-family:var(--font-en); font-weight:700; color:var(--white); }
.p-mock__rank--a{ background:var(--pink); }
.p-mock__rank--b{ background:#f48ba1; }
.p-mock__rank--c{ background:var(--ng); }
.p-mock__foot{ display:flex; justify-content:space-between; align-items:center; padding:calc(9 * var(--u)) calc(12 * var(--u)); border-top:1px solid var(--line); background:var(--base); color:var(--ink-3); font-size:calc(10 * var(--u)); font-weight:700; }
.p-mock__live{ display:inline-flex; align-items:center; gap:6px; color:var(--ok); }
.p-mock__live::before{ content:""; width:6px; height:6px; border-radius:50%; background:currentColor; animation:dotPulse 2s ease-out infinite; }
.p-mock__stage{ display:grid; grid-template-columns:1fr calc(180 * var(--u)); align-items:center; gap:calc(8 * var(--u)); margin-top:calc(10 * var(--u)); }
.p-mock__steps{ display:grid; gap:calc(14 * var(--u)); counter-reset:none; }
.p-mock__steps li{ position:relative; padding-left:calc(14 * var(--u)); border-left:2px solid var(--pink-100); font-size:calc(13 * var(--u)); font-weight:700; line-height:1.55; }
.p-mock__steps .c-num{ display:block; font-size:calc(11 * var(--u)); color:var(--pink); letter-spacing:.08em; }
.p-phone{ position:relative; width:calc(180 * var(--u)); aspect-ratio:180 / 320; }
.p-phone__gl{ position:relative; z-index:1; display:block; width:100%; height:100%; }
.p-phone__shadow{
  position:absolute; left:18%; right:18%; bottom:1%; height:5%; z-index:0;
  border-radius:50%; background:radial-gradient(closest-side, rgba(23,24,28,.32), transparent);
  filter:blur(4px);
}
.p-phone.is-flat .p-phone__gl{ width:78%; height:auto; margin:4% auto 0; border-radius:calc(22 * var(--u)); box-shadow:0 0 0 calc(5 * var(--u)) var(--ink), 0 18px 36px rgba(23,24,28,.22); }
.p-mock__cap{ display:block; margin-top:calc(10 * var(--u)); font-size:calc(10.5 * var(--u)); color:var(--ink-3); }

.p-seg{ padding:calc(18 * var(--u)); border-radius:var(--r-card); background:var(--base); }
.p-seg__h{ font-size:calc(14 * var(--u)); font-weight:900; }
.p-seg__chips{ display:flex; flex-wrap:wrap; gap:calc(6 * var(--u)); margin-top:calc(12 * var(--u)); }
.p-seg__chips li{ padding:calc(5 * var(--u)) calc(12 * var(--u)); border-radius:999px; background:var(--pink-50); color:var(--pink-d); font-size:calc(12 * var(--u)); font-weight:700; line-height:1.4; }
.p-xbot__msg{ margin-top:calc(22 * var(--u)); font-size:calc(15 * var(--u)); font-weight:500; line-height:1.9; }
.p-xbot__msg strong{ font-weight:900; background:linear-gradient(transparent 62%, var(--pink-100) 62%); }

.p-xprice{ margin-top:calc(28 * var(--u)); border-radius:var(--r-card); overflow:hidden; outline:1px solid var(--line); outline-offset:-1px; }
.p-xprice__zero{
  display:flex; align-items:baseline; gap:calc(6 * var(--u));
  padding:calc(18 * var(--u)) calc(20 * var(--u)); background:var(--pink-50); color:var(--pink-d);
}
.p-xprice__zero span{ font-size:calc(14 * var(--u)); font-weight:900; color:var(--ink); margin-right:auto; }
.p-xprice__zero strong{ font-size:calc(52 * var(--u)); line-height:.9; color:var(--pink); }
.p-xprice__zero small{ font-size:calc(16 * var(--u)); font-weight:900; }
.p-xprice__list div{ display:flex; align-items:center; justify-content:space-between; gap:calc(10 * var(--u)); padding:calc(14 * var(--u)) calc(20 * var(--u)); border-top:1px solid var(--line); }
.p-xprice__list dt{ font-size:calc(13 * var(--u)); font-weight:700; line-height:1.5; }
.p-xprice__list dd{ font-size:calc(13 * var(--u)); font-weight:700; text-align:right; white-space:nowrap; line-height:1.3; }
.p-xprice__list .c-num{ font-size:calc(24 * var(--u)); margin:0 2px; }
.p-xprice__list small{ display:block; font-size:calc(10.5 * var(--u)); font-weight:400; color:var(--ink-3); }
.p-xprice__notes{ padding:calc(14 * var(--u)) calc(20 * var(--u)) calc(16 * var(--u)); border-top:1px solid var(--line); background:var(--base); }
.p-xprice__notes li{ position:relative; padding-left:1em; font-size:calc(12 * var(--u)); line-height:1.8; color:var(--ink-2); }
.p-xprice__notes li::before{ content:""; position:absolute; left:0; top:.8em; width:4px; height:4px; border-radius:50%; background:var(--ink-3); }

/* 08 SOCIAL PROOF */
.p-schools__grid{ display:grid; grid-template-columns:1fr 1fr; gap:calc(8 * var(--u)); margin-top:calc(22 * var(--u)); }
.p-schools__item{
  display:flex; align-items:center; justify-content:center;
  min-height:calc(84 * var(--u)); padding:calc(12 * var(--u));
  border-radius:var(--r-card); background:var(--white);
}
.p-schools__item img{ display:block; width:auto; max-width:100%; height:calc(var(--lh) * var(--u)); object-fit:contain; }
.p-schools__count{ margin-top:calc(20 * var(--u)); font-size:calc(18 * var(--u)); font-weight:900; }
.p-schools__count .c-num{ font-size:calc(56 * var(--u)); color:var(--pink); margin-right:4px; }

/* 09 COMPARISON */
.p-cmp__scroll{
  overflow-x:auto; overscroll-behavior-x:contain;
  border-radius:var(--r-card); background:var(--white);
  box-shadow:inset 0 0 0 1px var(--line);
  -webkit-overflow-scrolling:touch;
}
.p-cmp__table{ min-width:calc(470 * var(--u)); font-size:calc(12 * var(--u)); line-height:1.4; }
.p-cmp__table th, .p-cmp__table td{ padding:calc(11 * var(--u)) calc(6 * var(--u)); border-bottom:1px solid var(--line); text-align:center; }
.p-cmp__table tbody tr:last-child > *{ border-bottom:0; }
.p-cmp__table thead th{ font-size:calc(10.5 * var(--u)); font-weight:700; color:var(--ink-3); vertical-align:bottom; }
.p-cmp__axis{
  position:sticky; left:0; z-index:2;
  width:calc(108 * var(--u)); min-width:calc(108 * var(--u));
  background:var(--white); text-align:left !important;
  font-size:calc(11.5 * var(--u)); font-weight:700;
  padding-left:calc(12 * var(--u)) !important;
}
.p-cmp__us{
  position:sticky; left:calc(108 * var(--u)); z-index:2;
  width:calc(78 * var(--u)); min-width:calc(78 * var(--u));
  background:var(--pink-50);
  box-shadow:2px 0 0 var(--pink-100), 8px 0 12px -8px rgba(23,24,28,.18);
}
thead .p-cmp__us{ background:var(--pink); color:var(--white) !important; font-family:var(--font-en); font-size:calc(11 * var(--u)) !important; letter-spacing:.06em; }
.p-cmp__table td:not(.p-cmp__us), .p-cmp__table thead th:not(.p-cmp__us):not(.p-cmp__axis){ min-width:calc(68 * var(--u)); }
.p-cmp__s{ font-size:calc(17 * var(--u)); font-weight:700; line-height:1; }
.p-cmp__s--o{ color:var(--ok); }
.p-cmp__s--t{ color:var(--mid); }
.p-cmp__s--x{ color:var(--ng); }
.p-cmp__us .p-cmp__s--o{ font-size:calc(20 * var(--u)); }
.p-cmp__hint{
  display:flex; align-items:center; justify-content:flex-end; gap:8px;
  margin-top:calc(8 * var(--u)); font-size:calc(10.5 * var(--u)); color:var(--ink-3);
}
.p-cmp__hint i{ position:relative; font-size:calc(18 * var(--u)); color:var(--ink-3); animation:hintNudge 1.6s ease-in-out infinite; }
@keyframes hintNudge{ 50%{ translate:4px 0; } }
.p-cmp.is-scrolled .p-cmp__hint{ opacity:0; transition:opacity .4s ease; }
.p-compare__note{ margin-top:calc(24 * var(--u)); font-size:calc(16 * var(--u)); font-weight:700; line-height:1.75; }
.p-compare__note strong{ font-weight:900; background:linear-gradient(transparent 62%, var(--pink-100) 62%); }

/* 10 CAPABILITY */
.p-roles{ display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; border-radius:var(--r-card); overflow:hidden; background:var(--line); box-shadow:inset 0 0 0 1px var(--line); }
.p-roles li{ display:flex; flex-direction:column; gap:2px; padding:calc(14 * var(--u)) calc(10 * var(--u)); background:var(--white); }
.p-roles__en{ font-family:var(--font-en); font-weight:700; font-size:calc(14 * var(--u)); letter-spacing:.02em; line-height:1.2; }
.p-roles__ja{ font-size:calc(10.5 * var(--u)); color:var(--ink-3); font-weight:700; }

.p-timeline{ position:relative; margin-top:calc(32 * var(--u)); }
.p-timeline::before{
  content:""; position:absolute; left:calc(15 * var(--u)); top:calc(12 * var(--u)); bottom:calc(12 * var(--u));
  width:1px; background:var(--line-2); transform-origin:top; scale:1 var(--tl, 1);
}
.p-timeline__item{ position:relative; display:grid; grid-template-columns:calc(32 * var(--u)) 1fr; gap:calc(14 * var(--u)); padding-bottom:calc(22 * var(--u)); }
.p-timeline__item:last-child{ padding-bottom:0; }
.p-timeline__no{
  position:relative; z-index:1; display:grid; place-items:center;
  width:calc(32 * var(--u)); height:calc(32 * var(--u)); border-radius:50%;
  background:var(--base); box-shadow:inset 0 0 0 1.5px var(--pink);
  font-size:calc(12 * var(--u)); color:var(--pink);
}
.p-timeline__title{ font-size:calc(16 * var(--u)); font-weight:900; line-height:1.5; padding-top:calc(3 * var(--u)); }
.p-timeline__text{ margin-top:calc(2 * var(--u)); font-size:calc(13 * var(--u)); line-height:1.8; color:var(--ink-2); }
.p-cap__note{ margin-top:calc(26 * var(--u)); padding-top:calc(16 * var(--u)); border-top:1px solid var(--line); }

/* 11 PRICING */
.p-price__h3{
  display:flex; align-items:center; flex-wrap:wrap; gap:calc(4 * var(--u)) calc(10 * var(--u));
  margin:calc(8 * var(--u)) 0 calc(14 * var(--u));
  font-size:calc(16 * var(--u)); font-weight:900; line-height:1.4;
}
.p-price__h3 small{ font-size:calc(11 * var(--u)); font-weight:700; color:var(--ink-3); }
.p-price__h3 + .p-xb{ margin-top:0; }
.p-plans + .p-price__h3{ margin-top:calc(40 * var(--u)); }
.p-price__mark{
  display:grid; place-items:center; width:calc(26 * var(--u)); height:calc(26 * var(--u));
  border-radius:6px; background:var(--ink); color:var(--white);
  font-family:var(--font-en); font-weight:700; font-size:calc(13 * var(--u));
}
.p-plans{ display:grid; gap:calc(10 * var(--u)); }
.p-plan{
  position:relative; padding:calc(18 * var(--u)) calc(18 * var(--u)) calc(20 * var(--u));
  border-radius:var(--r-card); background:var(--white); box-shadow:inset 0 0 0 1px var(--line), var(--sh-card);
}
.p-plan--main{
  padding-top:calc(22 * var(--u)); padding-bottom:calc(24 * var(--u));
  box-shadow:inset 0 0 0 2px var(--pink), 0 10px 28px rgba(245,50,91,.12);
}
.p-plan--main::before{
  content:"Recommended"; position:absolute; right:calc(14 * var(--u)); top:calc(-10 * var(--u));
  padding:calc(3 * var(--u)) calc(10 * var(--u)); border-radius:999px; background:var(--pink); color:var(--white);
  font-family:var(--font-en); font-weight:700; font-size:calc(10 * var(--u)); letter-spacing:.08em; line-height:1.4;
}
.p-plan__head{ padding-bottom:calc(12 * var(--u)); border-bottom:1px solid var(--line); }
.p-plan__en{ font-family:var(--font-en); font-weight:700; font-size:calc(11 * var(--u)); letter-spacing:.14em; color:var(--ink-3); line-height:1.2; }
.p-plan--main .p-plan__en{ color:var(--pink); }
.p-plan__name{ margin-top:calc(2 * var(--u)); font-size:calc(17 * var(--u)); font-weight:900; line-height:1.4; }
.p-plan__price{ display:flex; align-items:baseline; flex-wrap:wrap; margin-top:calc(6 * var(--u)); line-height:1.1; }
.p-plan__price .c-num{ font-size:calc(34 * var(--u)); letter-spacing:-.01em; }
.p-plan--main .p-plan__price .c-num{ color:var(--pink); font-size:calc(38 * var(--u)); }
.p-plan__yen{ margin-left:2px; font-size:calc(15 * var(--u)); font-weight:900; }
.p-plan__price small{ margin-left:calc(6 * var(--u)); font-size:calc(11 * var(--u)); color:var(--ink-3); }
.p-plan__list{ display:grid; gap:calc(6 * var(--u)); margin-top:calc(12 * var(--u)); }
.p-plan__list li{ position:relative; padding-left:calc(20 * var(--u)); font-size:calc(13 * var(--u)); line-height:1.6; }
.p-plan__list li::before{
  content:""; position:absolute; left:calc(2 * var(--u)); top:calc(5 * var(--u));
  width:calc(9 * var(--u)); height:calc(5 * var(--u));
  border-left:2px solid var(--pink); border-bottom:2px solid var(--pink); rotate:-45deg;
}
.p-xb{ border-radius:var(--r-card); overflow:hidden; background:var(--white); box-shadow:inset 0 0 0 1px var(--line); }
.p-xb__row{ display:flex; align-items:center; justify-content:space-between; gap:calc(10 * var(--u)); padding:calc(14 * var(--u)) calc(18 * var(--u)); border-top:1px solid var(--line); }
.p-xb__row:first-child{ border-top:0; }
.p-xb dt{ font-size:calc(13 * var(--u)); font-weight:700; line-height:1.5; }
.p-xb dd{ font-size:calc(13 * var(--u)); font-weight:700; white-space:nowrap; }
.p-xb .c-num{ font-size:calc(24 * var(--u)); margin:0 2px; }
.p-xb__row--zero{ background:var(--pink-50); }
.p-xb__row--zero .c-num{ font-size:calc(36 * var(--u)); color:var(--pink); }
.p-price__opt{ margin-top:calc(22 * var(--u)); padding:calc(16 * var(--u)) calc(18 * var(--u)); border-radius:var(--r-card); background:var(--base); font-size:calc(12.5 * var(--u)); line-height:1.8; color:var(--ink-2); }
.p-price__opt-h{ font-weight:900; color:var(--ink); }
.p-price__opt .c-notes{ margin-top:calc(8 * var(--u)); }
.p-price__trial{ margin-top:calc(22 * var(--u)); font-size:calc(15 * var(--u)); font-weight:700; line-height:1.8; }
.p-price__trial strong{ font-weight:900; color:var(--pink-d); }

/* 12 FAQ */
.p-faq__list{ border-top:1px solid var(--ink); }
.p-faq__item{ border-bottom:1px solid var(--line-2); }
.p-faq__q{
  display:grid; grid-template-columns:calc(24 * var(--u)) 1fr calc(22 * var(--u)); gap:calc(10 * var(--u)); align-items:start;
  padding:calc(18 * var(--u)) 0; cursor:pointer; list-style:none;
  font-size:calc(14.5 * var(--u)); font-weight:700; line-height:1.6;
}
.p-faq__q::-webkit-details-marker{ display:none; }
.p-faq__mk{ font-family:var(--font-en); font-weight:700; font-size:calc(17 * var(--u)); line-height:1.35; color:var(--pink); }
.p-faq__pm{ position:relative; width:calc(22 * var(--u)); height:calc(22 * var(--u)); margin-top:calc(1 * var(--u)); border-radius:50%; background:var(--white); box-shadow:inset 0 0 0 1px var(--line-2); }
.p-faq__pm::before, .p-faq__pm::after{ content:""; position:absolute; left:50%; top:50%; width:calc(9 * var(--u)); height:1.5px; margin:-.75px 0 0 calc(-4.5 * var(--u)); background:var(--ink); transition:rotate .3s var(--ease); }
.p-faq__pm::after{ rotate:90deg; }
.p-faq__item[open] .p-faq__pm::after{ rotate:0deg; }
.p-faq__a{ display:grid; grid-template-columns:calc(24 * var(--u)) 1fr; gap:calc(10 * var(--u)); padding:0 calc(32 * var(--u)) calc(20 * var(--u)) 0; }
.p-faq__a .p-faq__mk{ color:var(--ink-3); }
.p-faq__a p{ font-size:calc(13.5 * var(--u)); line-height:1.85; color:var(--ink-2); }

/* 13 COMPANY */
.p-company__dl{ border-top:1px solid var(--ink); }
.p-company__dl div{ display:grid; grid-template-columns:calc(86 * var(--u)) 1fr; gap:calc(10 * var(--u)); padding:calc(14 * var(--u)) 0; border-bottom:1px solid var(--line); font-size:calc(13 * var(--u)); line-height:1.75; }
.p-company__dl dt{ font-weight:700; color:var(--ink-3); }
.p-company__dl a{ text-decoration:underline; text-underline-offset:3px; }

/* 14 CONTACT / FORM */
.p-contact{ position:relative; overflow:hidden; background:var(--dark); color:var(--white); }
.p-contact::before{
  content:""; position:absolute; left:calc(-140 * var(--u)); top:calc(-80 * var(--u)); pointer-events:none;
  width:calc(420 * var(--u)); aspect-ratio:1;
  background:radial-gradient(circle, rgba(245,50,91,.28), transparent 62%);
  animation:fvGlow 14s ease-in-out infinite alternate;
}
.p-contact__inner{ position:relative; padding:calc(72 * var(--u)) var(--gutter) calc(64 * var(--u)); }
.p-contact__h{ font-size:calc(28 * var(--u)); font-weight:900; line-height:1.45; letter-spacing:-.035em; }
.p-contact__lead{ margin-top:calc(16 * var(--u)); font-size:calc(14 * var(--u)); line-height:1.9; color:rgba(255,255,255,.78); }
.p-contact__lead strong{ color:var(--white); background:linear-gradient(transparent 62%, rgba(245,50,91,.6) 62%); }
.p-contact__box{ margin-top:calc(28 * var(--u)); }
.p-contact__tel{ margin-top:calc(24 * var(--u)); font-size:calc(12 * var(--u)); color:rgba(255,255,255,.7); text-align:center; }
.p-contact__tel a{ font-family:var(--font-en); font-weight:700; font-size:calc(20 * var(--u)); color:var(--white); letter-spacing:.04em; }
.p-contact__tel small{ display:block; font-size:calc(11 * var(--u)); }

.p-tabs{ display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:4px; border-radius:calc(12 * var(--u)) calc(12 * var(--u)) 0 0; background:rgba(255,255,255,.08); }
.p-tabs__btn{
  min-height:calc(46 * var(--u)); padding:calc(8 * var(--u)); border-radius:calc(9 * var(--u));
  font-size:calc(13 * var(--u)); font-weight:700; line-height:1.4; color:rgba(255,255,255,.7);
  transition:background-color .3s ease, color .3s ease;
}
.p-tabs__btn[aria-selected="true"]{ background:var(--white); color:var(--ink); }

.p-form{
  padding:calc(22 * var(--u)) calc(18 * var(--u)) calc(24 * var(--u));
  border-radius:0 0 calc(12 * var(--u)) calc(12 * var(--u));
  background:var(--white); color:var(--ink);
}
.p-form__docs{ margin-bottom:calc(18 * var(--u)); padding:calc(12 * var(--u)) calc(14 * var(--u)); border-radius:calc(8 * var(--u)); background:var(--pink-50); }
.p-form__docs li{ position:relative; padding-left:calc(22 * var(--u)); font-size:calc(12.5 * var(--u)); font-weight:700; line-height:1.9; }
.p-form__docs li::before{ content:"PDF"; position:absolute; left:0; top:calc(5 * var(--u)); font-family:var(--font-en); font-weight:700; font-size:calc(7.5 * var(--u)); letter-spacing:.02em; color:var(--pink-d); line-height:1; padding:2px 1px; border:1px solid var(--pink-d); border-radius:2px; }
.p-form__items{ display:grid; gap:calc(18 * var(--u)); }
.p-form__item{ min-width:0; margin:0; padding:0; border:0; }
.p-form__label{ display:flex; align-items:center; margin-bottom:calc(8 * var(--u)); padding:0; font-size:calc(13 * var(--u)); font-weight:700; line-height:1.4; }
.p-form__input{
  display:block; width:100%; height:calc(52 * var(--u)); min-height:48px;
  padding:0 calc(14 * var(--u));
  border:1px solid var(--line-2); border-radius:calc(8 * var(--u)); background:var(--white);
  font:inherit; font-size:max(16px, calc(15 * var(--u))); color:var(--ink);
  transition:border-color .2s ease, box-shadow .2s ease;
}
.p-form__input::placeholder{ color:#b3b9bf; }
.p-form__input:focus{ outline:none; border-color:var(--pink); box-shadow:0 0 0 3px rgba(245,50,91,.14); }
.p-form__input.is-invalid{ border-color:var(--pink-d); background:#fffafb; }
.p-form__radios{ display:grid; gap:calc(6 * var(--u)); }
.p-form__acc-btn{ display:none; }
.js .p-form__acc-btn{
  display:flex; align-items:center; justify-content:space-between; gap:calc(10 * var(--u));
  width:100%; height:calc(52 * var(--u)); min-height:48px; padding:0 calc(14 * var(--u));
  border:1px solid var(--line-2); border-radius:calc(8 * var(--u)); background:var(--white);
  font-size:max(15px, calc(15 * var(--u))); font-weight:700; text-align:left; color:var(--ink);
  transition:border-color .2s ease, box-shadow .2s ease, border-radius .2s ease;
}
.js .p-form__acc-value.is-empty{ font-weight:400; color:#b3b9bf; }
.p-form__acc-icon{ position:relative; flex:none; width:calc(22 * var(--u)); height:calc(22 * var(--u)); border-radius:50%; background:var(--pink-50); }
.p-form__acc-icon::before{
  content:""; position:absolute; left:50%; top:50%;
  width:calc(8 * var(--u)); height:calc(8 * var(--u)); margin:calc(-6 * var(--u)) 0 0 calc(-4 * var(--u));
  border-right:2px solid var(--pink); border-bottom:2px solid var(--pink); border-radius:0 0 2px 0;
  transform:rotate(45deg);
  transition:transform .3s var(--ease), margin .3s var(--ease);
}
.js .p-form__acc.is-open .p-form__acc-btn{ border-color:var(--pink); box-shadow:0 0 0 3px rgba(245,50,91,.14); }
.js .p-form__acc.is-open .p-form__acc-icon::before{ transform:rotate(225deg); margin-top:calc(-2 * var(--u)); }
.js .p-form__acc-btn.is-invalid{ border-color:var(--pink-d); background:#fffafb; }
.js .p-form__acc-body{
  display:grid; grid-template-rows:0fr; visibility:hidden;
  transition:grid-template-rows .35s var(--ease), visibility 0s .35s;
}
.js .p-form__acc-body > .p-form__radios{ min-height:0; overflow:hidden; margin-inline:-3px; padding:0 3px 3px; }
.js .p-form__acc.is-open .p-form__acc-body{ grid-template-rows:1fr; visibility:visible; transition:grid-template-rows .35s var(--ease); }
.js .p-form__acc.is-open .p-form__radios{ padding-top:calc(8 * var(--u)); }
.p-form__radio{ position:relative; display:block; cursor:pointer; }
.p-form__radio input{ position:absolute; opacity:0; inset:0; margin:0; cursor:pointer; }
.p-form__radio span{
  display:flex; align-items:center; gap:calc(10 * var(--u));
  min-height:calc(46 * var(--u)); padding:calc(10 * var(--u)) calc(14 * var(--u));
  border:1px solid var(--line-2); border-radius:calc(8 * var(--u));
  font-size:max(14px, calc(14 * var(--u))); line-height:1.4;
  transition:border-color .2s ease, background-color .2s ease;
}
.p-form__radio span::before{
  content:""; flex:none; width:calc(18 * var(--u)); height:calc(18 * var(--u)); border-radius:50%;
  box-shadow:inset 0 0 0 1.5px var(--line-2); background:var(--white);
  transition:box-shadow .2s ease;
}
.p-form__radio input:checked + span{ border-color:var(--pink); background:var(--pink-50); font-weight:700; }
.p-form__radio input:checked + span::before{ box-shadow:inset 0 0 0 calc(5 * var(--u)) var(--pink); }
.p-form__radio input:focus-visible + span{ outline:2px solid var(--pink); outline-offset:2px; }
.p-form__err{ margin-top:calc(6 * var(--u)); font-size:calc(12 * var(--u)); font-weight:700; color:var(--pink-d); line-height:1.5; }
.p-form__err:empty{ display:none; }
.p-form__agree{ margin-top:calc(22 * var(--u)); padding-top:calc(18 * var(--u)); border-top:1px solid var(--line); }
.p-form__check{ position:relative; display:flex; align-items:center; gap:calc(10 * var(--u)); cursor:pointer; font-size:calc(13 * var(--u)); font-weight:700; }
.p-form__check input{ width:calc(22 * var(--u)); height:calc(22 * var(--u)); min-width:20px; min-height:20px; margin:0; accent-color:var(--pink); }
.p-form__check a{ color:var(--pink-d); text-decoration:underline; text-underline-offset:3px; }
.p-form__submit{ margin-top:calc(22 * var(--u)); }
.p-form__submit[disabled]{ opacity:.6; pointer-events:none; }
.p-form__step{ margin-top:calc(10 * var(--u)); font-size:calc(11 * var(--u)); color:var(--ink-3); text-align:center; }

.p-form__confirm{ display:grid; padding:calc(4 * var(--u)) calc(18 * var(--u)); border-radius:calc(12 * var(--u)); background:var(--white); color:var(--ink); }
.p-form__confirm .p-form__item{ padding:calc(14 * var(--u)) 0; border-bottom:1px solid var(--line); }
.p-form__confirm .p-form__item:last-child{ border-bottom:0; }
.p-form__confirm .p-form__label{ margin-bottom:calc(4 * var(--u)); font-size:calc(11.5 * var(--u)); color:var(--ink-3); }
.p-form__value{ font-size:calc(15 * var(--u)); font-weight:700; word-break:break-all; }
.p-form__errors{ padding:calc(16 * var(--u)) calc(18 * var(--u)); border-radius:calc(12 * var(--u)); background:var(--white); }
.p-form__errors li{ position:relative; padding-left:1.1em; font-size:calc(13.5 * var(--u)); font-weight:700; color:var(--pink-d); line-height:1.8; }
.p-form__errors li::before{ content:"・"; position:absolute; left:0; }
.p-page{ min-height:calc(100svh - var(--header-h)); }
.p-page__send{ margin-top:calc(22 * var(--u)); }
.p-page__btn{ margin-top:calc(12 * var(--u)); }
.p-thanks__h{ margin-bottom:calc(10 * var(--u)); font-size:calc(13 * var(--u)); font-weight:700; letter-spacing:.06em; color:rgba(255,255,255,.7); }
.p-thanks__docs{ display:grid; gap:calc(8 * var(--u)); }
.p-thanks__docs a{
  display:flex; align-items:center; justify-content:space-between; gap:calc(10 * var(--u));
  padding:calc(16 * var(--u)) calc(18 * var(--u)); border-radius:calc(10 * var(--u));
  background:var(--white); color:var(--ink); font-size:calc(14 * var(--u)); font-weight:700; line-height:1.5;
  transition:background-color .2s ease;
}
.p-thanks__docs i{ flex:none; padding:calc(3 * var(--u)) calc(8 * var(--u)); border-radius:4px; background:var(--pink); color:var(--white); font-style:normal; font-family:var(--font-en); font-weight:700; font-size:calc(11 * var(--u)); letter-spacing:.06em; }
.p-thanks__note{ margin-top:calc(10 * var(--u)); font-size:calc(11.5 * var(--u)); color:rgba(255,255,255,.6); }
@media (hover:hover){ .p-thanks__docs a:hover{ background:var(--pink-50); } }

/* footer / 追従CTA */
.p-footer{
  padding:calc(40 * var(--u)) var(--gutter) calc(96 * var(--u));
  background:var(--dark); color:rgba(255,255,255,.7);
  border-top:1px solid rgba(255,255,255,.1);
}
.p-footer__logo{ display:block; width:calc(190 * var(--u)); }
.p-footer__logo svg{ display:block; width:100%; height:auto; }
.p-footer__corp{ margin-top:calc(18 * var(--u)); font-size:calc(11.5 * var(--u)); line-height:1.9; }
.p-footer__links{ display:flex; flex-wrap:wrap; gap:calc(6 * var(--u)) calc(18 * var(--u)); margin-top:calc(16 * var(--u)); font-size:calc(11.5 * var(--u)); }
.p-footer__links a{ text-decoration:underline; text-underline-offset:3px; }
.p-footer__copy{ margin-top:calc(22 * var(--u)); font-family:var(--font-en); font-weight:700; font-size:calc(10 * var(--u)); letter-spacing:.08em; color:rgba(255,255,255,.4); }

.p-fixcta{
  position:fixed; left:0; right:0; bottom:0; z-index:var(--z-fixcta);
  display:flex; align-items:center; justify-content:center; gap:12px;
  height:calc(56px + env(safe-area-inset-bottom)); padding-bottom:env(safe-area-inset-bottom);
  background:var(--pink); color:var(--white); box-shadow:0 -6px 20px rgba(23,24,28,.14);
  font-size:15px; font-weight:700; letter-spacing:.06em;
  translate:0 110%; transition:translate .45s var(--ease);
}
.p-fixcta .c-btn__arrow{ position:relative; right:auto; top:auto; margin:0; font-size:18px; }
.p-fixcta.is-show{ translate:0 0; }

/* PC左ペイン */
.p-aside{ display:none; }

/* タブレット */
@media (min-width:600px) and (max-width:1023.98px){
  :root{ --col:480px; }
  body{ background:var(--base); }
  .l-stage{ max-width:var(--col); margin-inline:auto; box-shadow:0 0 40px rgba(23,24,28,.08); }
  .p-fv{ min-height:min(calc(100svh - var(--header-h)), 900px); }
  .p-fixcta{ left:50%; right:auto; width:var(--col); margin-left:calc(var(--col) / -2); }
}

/* PC スプリット */
@media (min-width:1024px){
  :root{ --col:clamp(420px, 32vw, 470px); --pane:min(56.8vw, calc(100vw - var(--col) - 40px)); --header-h:0px; }
  html{ scroll-padding-top:0; }
  body{ background:var(--dark); }
  .l-split{ display:grid; grid-template-columns:var(--pane) var(--col) minmax(0, 1fr); }
  .l-stage{ grid-column:2; grid-row:1; box-shadow:0 0 60px rgba(0,0,0,.3); }
  .p-header, .p-drawer, .p-fixcta{ display:none !important; }
  .p-fv{ min-height:100vh; min-height:100svh; padding-top:calc(22 * var(--u)); }

  .p-aside{
    display:block; grid-column:1; grid-row:1;
    position:sticky; top:0; z-index:var(--z-aside);
    height:100vh; height:100svh; overflow:hidden;
    background:var(--dark); color:var(--white);
  }
  .p-aside::before{
    content:""; position:absolute; inset:0; pointer-events:none;
    background:
      linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px) 0 0 / 100% 64px,
      linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px) 0 0 / 64px 100%;
    -webkit-mask-image:radial-gradient(120% 90% at 0% 100%, #000, transparent 70%);
            mask-image:radial-gradient(120% 90% at 0% 100%, #000, transparent 70%);
  }
  .p-aside::after{
    content:""; position:absolute; pointer-events:none;
    left:-18vw; bottom:-30vh; width:60vw; aspect-ratio:1;
    background:radial-gradient(circle, rgba(245,50,91,.22), transparent 60%);
    animation:asideGlow 16s ease-in-out infinite alternate;
  }
  @keyframes asideGlow{ to{ translate:12vw -10vh; scale:1.2; } }
  .p-aside__inner{
    position:relative; z-index:1;
    display:flex; flex-direction:column;
    height:100%;
    padding:clamp(32px, 4.4vh, 56px) 4.4vw clamp(28px, 4vh, 48px) 8.78vw;
  }
  .p-aside__logo{ display:block; width:clamp(200px, 15vw, 280px); }
  .p-aside__logo svg{ display:block; width:100%; height:auto; }

  .p-aside__now{ margin-top:auto; padding-top:24px; }
  .p-aside__num{
    display:flex; align-items:flex-start; overflow:hidden;
    font-family:var(--font-en); font-weight:700; font-variant-numeric:tabular-nums;
    line-height:.78; letter-spacing:-.04em;
  }
  .p-aside__num-in{ display:block; font-size:clamp(110px, min(14vw, 21vh), 250px); padding-top:.04em; }
  .p-aside__total{ margin:.25em 0 0 .3em; font-size:clamp(16px, 1.4vw, 22px); letter-spacing:.06em; color:rgba(255,255,255,.35); }
  .p-aside__en{
    margin-top:clamp(14px, 2vh, 24px);
    font-family:var(--font-en); font-weight:700; font-size:clamp(11px, .85vw, 13px); letter-spacing:.24em; color:var(--pink);
  }
  .p-aside__ja{
    max-width:100%; margin-top:10px;
    font-size:clamp(20px, 2vw, 34px); font-weight:900; line-height:1.4; letter-spacing:-.03em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }

  .p-aside__nav{
    display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:0 clamp(16px, 2vw, 32px);
    max-width:620px; margin-top:clamp(20px, 3.6vh, 44px);
    border-top:1px solid rgba(255,255,255,.14);
  }
  .p-aside__nav a{
    display:flex; align-items:baseline;
    padding:clamp(8px, 1.2vh, 13px) 0; border-bottom:1px solid rgba(255,255,255,.08);
    font-size:13px; font-weight:700; color:rgba(255,255,255,.6);
    transition:color .3s ease, translate .3s var(--ease);
  }
  .p-aside__nav a:hover{ color:var(--white); translate:4px 0; }
  .p-aside__nav a.is-current{ color:var(--pink); }

  .p-aside__foot{ width:min(100%, 480px); margin-top:clamp(20px, 3.2vh, 40px); }
  .p-aside__cta{ --u:1px; min-height:60px; font-size:15px; }
  .p-aside__sub{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:10px; }
  .p-aside__btn{
    display:flex; align-items:center; gap:12px;
    min-height:64px; padding:10px 14px;
    border-radius:10px; background:var(--white); color:var(--ink);
    transition:background-color .3s ease, translate .2s ease;
  }
  .p-aside__btn-body{ display:flex; flex-direction:column; min-width:0; line-height:1.35; }
  .p-aside__btn-main{ font-size:13.5px; font-weight:700; white-space:nowrap; }
  .p-aside__btn-tel{ font-family:var(--font-en); font-size:18px; letter-spacing:.03em; }
  .p-aside__btn small{ margin-top:2px; font-size:10.5px; color:var(--ink-3); white-space:nowrap; }
  .p-aside__icon{ position:relative; flex:none; display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:var(--pink-50); color:var(--pink); }
  .p-aside__icon--dl::before{ content:""; position:absolute; left:50%; top:9px; width:2px; height:10px; margin-left:-1px; background:currentColor; }
  .p-aside__icon--dl::after{ content:""; position:absolute; left:50%; top:13px; width:7px; height:7px; margin-left:-4px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; rotate:45deg; }
  .p-aside__icon--tel::before{
    content:""; width:15px; height:15px; background:currentColor;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E") center / contain no-repeat;
            mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E") center / contain no-repeat;
  }

  .is-sub .p-aside__now{ display:none; }
  .is-sub .p-aside__foot{ margin-top:auto; }

  @media (hover:hover){
    .p-aside__btn:hover{ background:var(--pink-50); }
  }
}
@media (min-width:1024px) and (max-height:760px){
  .p-aside__nav{ display:none; }
}

/* モーション */
.js-anim [data-anim],
.js-anim [data-kv]{ visibility:hidden; }
.js-anim.is-ready [data-anim],
.js-anim.is-ready [data-kv]{ visibility:visible; }

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .p-fv__track{ animation:none; }
}
