@charset "utf-8";


:root{
  --bg:#FFF0FA;         
  --ink:#2b2333;
  --gray:#8a7f91;
  --line:#f0dcea;
  --rose:#D94BAE;       
  --pink:#D94BAE;       
  --pink2:#F06BC5;      
  --vio:#C75BE6;        
  --lav:#B979E5;        
  --vio-t:#8E3BAF;      
  --pink-t:#B0348B;     
  --line-green:#06c755;
  --panel:#FFF7FC;
  --black:#5B2A63;
  --hero-bg:linear-gradient(100deg,#D94BAE 0%,#F06BC5 38%,#C75BE6 72%,#B979E5 100%);
  --gut:max(4.5vw,calc((100vw - 1230px) / 2));
  --gut-h:max(5vw,calc((100vw - 1180px) / 2));
  --rail-l:4.5vw;
  --cw:288px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:#fff;color:var(--ink);
  font-family:"Noto Sans JP",system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:14px;line-height:1.4;letter-spacing:.06em;font-weight:400;
  word-break:auto-phrase;line-break:strict;text-wrap:pretty;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}
p,h1,h2,h3,h4{margin:0}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
main{background:var(--bg);display:block}
svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
svg .fill{fill:currentColor;stroke:none}
a:hover,button:hover{opacity:.8;transition:opacity .1s ease-out}
:focus-visible{outline:2px solid var(--pink);outline-offset:2px}


.hd{position:fixed;inset:0 0 auto 0;z-index:60;background:#fff}
.hd-top{height:54px;display:flex;align-items:center;justify-content:space-between;padding-left:var(--gut-h)}
.hd-logo{display:flex;align-items:center;flex:none}
.hd-logo img{height:38px;width:auto}
.hd-right{display:flex;align-items:center;gap:14px;height:70px}
.hd-login{display:flex;flex-direction:column;align-items:center;justify-content:center;width:64px;color:var(--ink)}
.hd-login svg{width:21px;height:21px}
.hd-login span{font-size:9px;letter-spacing:.02em;margin-top:3px;white-space:nowrap}
.hd-login i{font-style:normal}
.hd-cta{
  width:auto;min-width:92px;padding:0 12px;height:40px;border-radius:3px;border:1px solid var(--pink);
  display:flex;align-items:center;justify-content:center;gap:7px;
  background:var(--pink);color:#fff;text-align:left;
}
.hd-cta svg{width:18px;height:18px;flex:none}
.hd-cta span{display:flex;flex-direction:column;line-height:1.2;white-space:nowrap}
.hd-cta b{font-size:11px;font-weight:700;letter-spacing:.02em}
.hd-cta i{font-style:normal;font-size:12px;font-weight:700;letter-spacing:.02em}
.hd-cta em{font-style:normal;margin-left:3px}
.hd-cta--line{background:var(--line-green);color:#fff;border-color:var(--line-green)}
.hd-menu{width:58px;height:54px;background:var(--vio);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.hd-menu-bar{display:block;width:26px;height:1.5px;background:#fff}
.hd-menu em{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.06em;margin-top:4px}
.hd-nav{height:40px;background:var(--vio)}
.hd-nav ul{display:flex;height:40px;padding:0 var(--gut-h)}
.hd-nav li{flex:1 1 0}
.hd-nav a{display:flex;align-items:center;justify-content:center;gap:7px;height:40px;color:#fff;font-size:12px;letter-spacing:.04em}
.hd-nav svg{width:17px;height:17px;flex:none}
.hd-spacer{height:94px}


:root{--bw:470px;--bh:264px}
@media (max-width:767px){:root{--bw:min(calc(100vw - 24px),560px);--bh:calc(min(calc(100vw - 24px),560px) * 9 / 16)}}
.hero{position:relative;background:var(--vio);background-image:var(--hero-bg);padding:56px 0 12px;overflow:hidden;isolation:isolate}
.hero-vp{overflow:hidden}
.hero-track{display:flex;will-change:transform}
.hero-slide{flex:none;width:470px;margin-right:20px}
.hero-dots{display:flex;justify-content:center;align-items:center;gap:8px;height:36px}
.hero-dots button{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.4)}
.hero-dots button[aria-current="true"]{background:#fff}
.hero-arw{
  position:absolute;top:calc(56px + 132px);transform:translateY(-50%);z-index:3;
  width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;
  display:flex;align-items:center;justify-content:center;
}
.hero-arw svg{width:20px;height:20px;stroke-width:2}
.hero-arw--prev{left:14px}
.hero-arw--next{right:14px}


.th{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#ece8f7}
.th img{width:100%;height:100%;object-fit:cover;display:block}


.plans{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:48px var(--gut) 0}
.plan{display:grid;grid-template-columns:1fr 240px;min-height:256px;border-radius:5px;overflow:hidden;color:#fff}
.plan--basic{background:var(--vio)}
.plan--adv{background:var(--pink)}
.plan-tx{display:flex;flex-direction:column;align-items:flex-start;padding:22px 24px 24px;gap:0}
.plan-flag{
  background:#fff;font-size:13px;font-weight:700;letter-spacing:.08em;line-height:1;
  padding:7px 22px 7px 12px;margin-bottom:14px;
  clip-path:polygon(0 0,100% 0,88% 50%,100% 100%,0 100%);
}
.plan--basic .plan-flag{color:var(--vio-t)}
.plan--adv .plan-flag{color:var(--pink)}
.plan-name{font-size:30px;font-weight:700;line-height:1.3;letter-spacing:.02em}
.plan-sub{font-size:15px;font-weight:700;line-height:1.5;margin-top:8px}
.plan-lead{font-size:14px;line-height:1.6;margin-top:10px}
.plan-btn{
  margin-top:auto;display:flex;align-items:center;justify-content:center;align-self:stretch;
  background:#fff;height:50px;min-height:50px;border-radius:5px;
  font-size:16px;font-weight:700;letter-spacing:.04em;width:100%;
}
.plan-lead{margin-bottom:20px}
.plan--basic .plan-btn{color:var(--vio-t)}
.plan--adv .plan-btn{color:var(--pink)}
.plan-btn i{font-style:normal;margin-left:10px;font-size:18px}
.plan-ph{display:block;position:relative;overflow:hidden}
.plan-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}


.howto{padding:30px var(--gut) 0}
.howto-panel{
  background:var(--panel);border-radius:5px;min-height:264px;
  display:grid;grid-template-columns:344px 1fr 300px;align-items:center;gap:0;
  padding:24px 0 24px 24px;overflow:visible;position:relative;
}
.howto-movie{position:relative;display:block;width:300px;aspect-ratio:16/9;border-radius:4px;overflow:hidden;background:#fff}
.howto-movie img{width:100%;height:100%;object-fit:cover}
.howto-play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:56px;height:56px;border-radius:50%;background:var(--vio);color:#fff;
  display:flex;align-items:center;justify-content:center;
}
.howto-play svg{width:26px;height:26px;fill:currentColor;stroke:none}
.howto-txt{padding-right:24px}
.howto-h{font-size:40px;font-weight:700;line-height:1.4;color:var(--vio-t);letter-spacing:.02em}
.howto-lead{font-size:15px;font-weight:700;line-height:1.6;color:var(--vio-t);margin-top:12px}
.btn-pill{
  display:inline-flex;align-items:center;justify-content:center;
  height:40px;min-width:200px;padding:0 22px;border-radius:50px;
  background:var(--vio);color:#fff;font-size:14px;font-weight:700;margin-top:18px;
}
.btn-pill i{font-style:normal;margin-left:10px}
.howto-ph{position:relative;height:216px;overflow:visible}
.howto-ph img{width:100%;height:100%;object-fit:cover;border-radius:4px}

.howto-video{display:block;width:100%;height:100%;object-fit:cover;
  border-radius:4px;background:var(--black);pointer-events:none}


.sec{position:relative;padding-top:60px}
.sec-h{text-align:center}
.sec-h h2{font-size:36px;font-weight:700;line-height:1.25;letter-spacing:.04em}
.sec-en{font-size:12px;color:var(--pink);font-weight:700;letter-spacing:.14em;margin-top:6px}
.row{margin-top:45px}
.row-h{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:0 var(--rail-l)}
.row-h h3{font-size:28px;font-weight:700;line-height:1.25;letter-spacing:.04em;padding-left:14px;border-left:4px solid var(--pink)}
.row-sub{font-size:14px;color:var(--gray);margin-top:8px;line-height:1.5}
.row-more{display:flex;align-items:center;gap:10px;color:var(--gray);font-size:14px;flex:none;white-space:nowrap}
.row-more span{width:30px;height:30px;border-radius:50%;background:var(--pink);color:#fff;display:flex;align-items:center;justify-content:center}
.row-more svg{width:16px;height:16px;stroke-width:1.8}
.rail-wrap{position:relative;margin-top:30px}
.rail{display:flex;gap:20px;overflow-x:auto;padding:0 var(--rail-l) 4px;scrollbar-width:none;scroll-snap-type:x proximity;scroll-padding-left:var(--rail-l)}
.rail::-webkit-scrollbar{display:none}
.card{flex:none;width:var(--cw);scroll-snap-align:start}
.card-kind{font-size:12px;color:var(--pink);font-weight:700;letter-spacing:.06em;margin-top:10px;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;min-height:38px;align-content:flex-start}
.card-kind span{font-size:13px;font-weight:400;color:#555;letter-spacing:.04em;line-height:1.5}
.card-by{display:flex;align-items:center;gap:10px;margin-top:8px}
.card-by img{width:43px;height:43px;border-radius:50%;object-fit:cover;flex:none}
.card-by span{display:flex;flex-direction:column;gap:2px;min-width:0}
.card-by b{font-size:14px;font-weight:700}
.card-by i{font-style:normal;font-size:13px;color:var(--gray)}
.card-name{font-size:14px;font-weight:700;line-height:1.5;margin-top:10px}
.card-list{margin-top:8px;display:flex;flex-direction:column;gap:6px}
.card-list li{font-size:13px;line-height:1.6;color:#4a4a4a;padding-left:12px;position:relative}
.card-list li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--pink)}
.rail-btn{
  position:absolute;right:calc(var(--rail-l) - 18px);top:calc((var(--cw) * 9 / 16) / 2);
  transform:translateY(-50%);width:50px;height:50px;border-radius:50%;background:var(--vio);color:#fff;
  display:flex;align-items:center;justify-content:center;z-index:3;
}
.rail-btn svg{width:18px;height:18px;stroke-width:2}
.note{font-size:12px;color:var(--gray);line-height:1.6;margin-top:14px}
.note--c{text-align:center;margin-top:24px}


.box-wrap{margin-top:30px;padding:0 var(--gut)}


.stats-wrap{margin-top:30px;padding:0 var(--gut)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.stat{
  background:#fff;padding:24px 16px;text-align:center;min-width:0;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
}
.stat-ic{width:56px;height:56px;border-radius:50%;object-fit:cover;margin-bottom:12px;flex:none}
.stat-l{font-size:14px;color:var(--ink);font-weight:700;line-height:1.4;min-height:2.8em;display:flex;align-items:center;justify-content:center}
.stat-pre{font-size:20px;font-weight:700;color:var(--gray);line-height:1.2;height:24px;letter-spacing:0}
.stat-n{
  font-size:44px;font-weight:700;color:var(--vio-t);line-height:1.1;letter-spacing:0;
  margin-top:2px;display:flex;align-items:baseline;justify-content:center;
}
.stat-n b{font-weight:700;font-size:1em}
.stat-n small{font-size:.45em;font-weight:700;margin-left:.1em}

.voice{background:#fff;display:grid;grid-template-columns:480px 1fr;align-items:start}
.voice-ph{position:relative;aspect-ratio:16/9;overflow:hidden}
.voice-ph img{width:100%;height:100%;object-fit:cover;display:block}
.voice-tx{padding:30px 32px}
.voice-tag{font-size:12px;color:var(--gray);letter-spacing:.1em}
.voice-h{font-size:22px;font-weight:700;line-height:1.5;margin-top:10px}
.voice-p{font-size:14px;line-height:1.85;margin-top:14px}
.voice-who{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
.voice-who b{font-size:15px;font-weight:700}
.voice-who span{font-size:13px;color:var(--gray)}


.br-sp,.br-xs{display:none}

.row-h--case{display:block;text-align:center;padding:0 var(--gut)}
.row-h--case .row-h-l{position:relative;display:block;max-width:680px;margin:0 auto}
.row-h--case h3{font-size:28px;font-weight:700;line-height:1.35;letter-spacing:.04em;
  color:var(--vio-t);text-align:center;border-left:0;padding-left:0}
.row-h--case h3::after{content:"";display:block;width:56px;height:5px;border-radius:999px;
  background:var(--pink);margin:14px auto 0}

.cs{position:absolute;display:block;width:var(--s,14px);height:var(--s,14px);background:var(--pink);
  opacity:.9;pointer-events:none;animation:twinkle3d 3s ease-in-out infinite;
  clip-path:polygon(50% 0%,59% 41%,100% 50%,59% 59%,50% 100%,41% 59%,0% 50%,41% 41%)}
.cs--h1{--s:19px;left:4px;top:4px;animation-delay:0s}
.cs--h2{--s:11px;left:34px;top:40px;animation-delay:.6s}
.cs--h3{--s:19px;right:4px;top:8px;animation-delay:1s}
.cs--h4{--s:11px;right:36px;top:44px;animation-delay:1.5s}

.calc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.calc-c{position:relative;background:#fff;border:1px solid #efeafb;border-radius:8px;overflow:hidden;
  box-shadow:0 6px 18px rgba(59,42,156,.07);min-width:0;
  padding:36px 24px 32px;display:flex;flex-direction:column;align-items:center;text-align:center}
.calc-c::before{content:"";position:absolute;left:0;right:0;top:0;height:8px;
  background:linear-gradient(90deg,#ff4fa8 0%,#f06ec8 48%,#8f7ae6 100%)}
.calc-tag{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.1em;line-height:1.3;
  color:#fff;background:var(--pink);border-radius:999px;padding:5px 16px}

.calc-ic{position:relative;display:flex;align-items:center;justify-content:center;
  width:100%;height:138px;margin:14px 0}
.calc-ic img{width:130px;height:auto;max-height:100%;object-fit:contain;display:block;
  animation:fuwafuwa 3.8s ease-in-out infinite}
.calc-c:nth-child(2) .calc-ic img{animation-duration:4.4s;animation-delay:-1.4s}
.calc-c:nth-child(3) .calc-ic img{animation-duration:4.1s;animation-delay:-2.6s}
.cs--ic{--s:13px;top:50%;margin-top:-34px}
.cs--ic-l{left:calc(50% - 90px);animation-delay:.3s}
.cs--ic-r{right:calc(50% - 90px);animation-delay:1.2s}

.calc-f{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:8px 10px;width:100%;margin-top:2px}
.calc-chip{display:inline-block;max-width:100%;background:#ece8fb;color:var(--vio-t);
  font-size:14px;font-weight:700;line-height:1.5;padding:9px 16px;border-radius:999px;white-space:nowrap}
.calc-x{font-size:15px;font-weight:700;color:var(--vio-t);line-height:1}

.calc-gap{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px}
.calc-gap-t{font-size:15px;font-weight:700;color:var(--pink);line-height:1.4}
.calc-arw{display:inline-block;font-size:20px;font-weight:700;color:var(--pink);line-height:1;
  transform:rotate(90deg);-webkit-text-stroke:.7px currentColor}

.calc-res{--num:46px;--lbl:16px;margin-top:auto;padding-top:16px;width:100%}
.calc-res--wide{--num:38px}
.calc-lead{display:block;font-size:14px;font-weight:700;color:var(--vio-t);line-height:1.4;margin-bottom:2px}
.calc-line{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;column-gap:6px;row-gap:2px}
.calc-g{display:flex;align-items:baseline;white-space:nowrap}
.calc-pre,.calc-suf{font-size:var(--lbl);font-weight:700;color:var(--vio-t);white-space:nowrap;line-height:1.4}
.calc-pre i{font-style:normal;margin-left:.34em}
.calc-num{position:relative;display:inline-flex;align-items:baseline;margin:0 5px;
  padding-bottom:11px;font-weight:700;color:var(--pink);letter-spacing:0;line-height:1.05}
.calc-num em{font-style:normal;font-size:var(--num);line-height:1.05}
.calc-man{font-style:normal;font-size:calc(var(--num) * .6);line-height:1.05}
.calc-num::after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;
  border-radius:999px;background:#ffc2e0}
.note--case{max-width:560px;margin:20px auto 0}
@media (max-width:479px){.br-xs{display:inline}}


@media (max-width:1199px){
  .calc{grid-template-columns:1fr;gap:20px;max-width:560px;margin-left:auto;margin-right:auto}
}
@media (min-width:1200px) and (max-width:1359px){
  .calc-res{--num:38px;--lbl:13px}
  .calc-res--wide{--num:28px}
  .calc-chip{font-size:13px}
  .calc-f{gap:8px}
  .calc-lead{font-size:13px}
}



.sec-en--dash{display:flex;align-items:center;justify-content:center;gap:14px}
.sec-en--dash::before,.sec-en--dash::after{content:"";width:26px;height:2px;border-radius:2px;background:var(--pink)}

.why-wrap{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:0;
  max-width:560px;margin-left:auto;margin-right:auto}
.why{width:100%;min-width:0;text-align:center}
.why-ph{display:flex;align-items:center;justify-content:center}
.why-ph img{display:block;height:auto;max-width:100%}
.why-tag{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.08em;
  line-height:1.35;padding:6px 16px;border-radius:999px}


.why--solo{background:#ecebf3;border:2px dashed #c9c5dd;border-radius:12px;box-shadow:none;
  width:calc(100% - 16px);padding:26px 22px 30px}
.why--solo .why-tag{background:#8a86a8;color:#fff}
.why--solo .why-ph{margin:14px auto 4px}
.why--solo .why-ph img{width:260px}
.why--solo .why-h{font-size:22px;font-weight:700;line-height:1.5;color:#2b2554;margin-top:6px}
.why-list{margin:16px auto 0;display:inline-flex;flex-direction:column;gap:10px;
  text-align:left;max-width:100%}
.why-list li{font-size:14px;line-height:1.7;color:#5a5678;padding-left:26px;position:relative}
.why-list .mk--x{background:none;top:.3em}
.why-list .mk--x::before,.why-list .mk--x::after{background:#8a86a8;height:2.2px}


.why-arrow{position:relative;z-index:3;width:64px;height:64px;margin:-32px 0;flex:none}
.why-arrow-b{display:flex;align-items:center;justify-content:center;width:100%;height:100%;
  position:relative;overflow:hidden;border-radius:50%;
  background:linear-gradient(165deg,#ff96cd 0%,#ff5cae 46%,#f0348f 100%);
  box-shadow:0 6px 0 rgba(198,26,120,.5),0 12px 22px rgba(214,42,128,.28);
  animation:whyBobY 3s ease-in-out infinite}
.why-arrow-b::before{content:"";position:absolute;left:16%;top:8%;width:48%;height:26%;
  border-radius:50%;background:rgba(255,255,255,.5);filter:blur(2px)}
.why-arrow svg{position:relative;width:46%;height:46%;display:block}
@keyframes whyBobY{0%,100%{transform:translateY(-3px)}50%{transform:translateY(3px)}}
@keyframes whyBobX{0%,100%{transform:translateX(-3px)}50%{transform:translateX(3px)}}


.why--nb{position:relative;overflow:hidden;color:#fff;border-radius:16px;padding:30px 20px 30px;
  background:linear-gradient(160deg,#6a4be0 0%,#a45ce6 52%,#ff6fb8 100%);
  box-shadow:0 20px 50px rgba(124,92,246,.35)}
.why--nb::before{content:"";position:absolute;left:0;right:0;top:0;height:56%;
  pointer-events:none;z-index:0;
  background:radial-gradient(120% 96% at 50% -8%,rgba(255,255,255,.34),rgba(255,255,255,0) 70%)}
.why--nb>*:not(.cs){position:relative;z-index:1}
.why--nb .why-ph{margin:0 auto 12px}
.why--nb .why-ph img{width:300px;animation:fuwafuwa 4.6s ease-in-out infinite}
.why--nb .why-tag{background:#fff;color:var(--pink)}
.why--nb .why-h{margin-top:12px;display:flex;flex-direction:column;align-items:center;gap:2px}
.why-h1{font-size:30px;font-weight:700;line-height:1.35;color:#fff}
.why-h2{font-size:37px;font-weight:700;line-height:1.3;color:#fff;position:relative;padding-bottom:12px}
.why-h2::after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;
  border-radius:999px;background:#ff58ab}
.why-num{margin-top:24px;display:flex;flex-direction:column;gap:10px;max-width:440px;margin-left:auto;margin-right:auto}
.why-num li{display:flex;align-items:center;gap:14px;text-align:left;
  background:rgba(255,255,255,.72);border-radius:999px;padding:12px 20px}
.why-no{flex:none;width:48px;height:48px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;letter-spacing:.02em;
  background:linear-gradient(160deg,#ff7cbd,#ef2f8c);color:#fff;font-size:19px;font-weight:700}
.why-tx{display:flex;flex-direction:column;gap:2px;min-width:0;
  font-size:13px;line-height:1.5;color:#4a3f86}
.why-tx i{font-style:normal;font-size:17px;font-weight:700;line-height:1.35;color:#2b1d6b}

.why--nb .cs{z-index:1}
.cs--w1{--s:15px;left:14px;top:70px;background:rgba(255,255,255,.9);animation-delay:0s}
.cs--w2{--s:10px;left:44px;top:112px;background:#ffa6d8;animation-delay:.5s}
.cs--w3{--s:17px;right:16px;top:60px;background:rgba(255,255,255,.9);animation-delay:.9s}
.cs--w4{--s:11px;right:48px;top:106px;background:#ffa6d8;animation-delay:1.4s}
.cs--w5{--s:13px;left:26px;top:200px;background:rgba(255,255,255,.85);animation-delay:1.8s}
.cs--w6{--s:14px;right:28px;top:212px;background:#ffb6de;animation-delay:2.2s}


@media (min-width:1000px){
  .why-wrap{grid-template-columns:minmax(0,46fr) 40px minmax(0,54fr);align-items:stretch;max-width:none}
  .why--solo{width:100%;padding:30px 28px 34px;display:flex;flex-direction:column;align-items:center;justify-content:center}
  .why--solo .why-ph img{width:280px}
  .why-list li{font-size:15px;line-height:1.9}
  .why-arrow{width:72px;height:72px;margin:0 -16px;align-self:center;justify-self:center}
  .why-arrow-b{animation-name:whyBobX}
  .why-arrow svg{transform:rotate(-90deg)}
  .why--nb{padding:36px 26px 32px}
  .why--nb .why-ph img{width:240px}
  .why--nb .why-h{margin-top:12px;gap:0}
  .why-h2{padding-bottom:10px}
  .why-num li{padding:10px 20px}
}

@media (min-width:1000px) and (max-width:1049px){
  .why--solo{padding-left:22px;padding-right:22px}
  .why-list li{font-size:13.5px;line-height:1.85}
}
@media (min-width:1050px) and (max-width:1149px){
  .why-list li{font-size:14px;line-height:1.85}
}
.mk{position:absolute;left:0;top:.18em;width:18px;height:18px;border-radius:50%;display:block}
.mk--x{background:#efeafc}
.mk--x::before,.mk--x::after{content:"";position:absolute;left:4px;top:8.1px;width:10px;height:1.8px;background:var(--gray)}
.mk--x::before{transform:rotate(45deg)}
.mk--x::after{transform:rotate(-45deg)}

.ins{background:#fff;padding:32px 34px}
.ins-head{display:flex;align-items:center;gap:22px}
.ins-av{width:120px;height:120px;border-radius:50%;object-fit:cover;flex:none}
.ins-name{font-size:28px;font-weight:700;line-height:1.3}
.ins-role{font-size:14px;color:var(--gray);margin-top:8px}
.ins-body{margin-top:24px}
.ins-p{font-size:14px;line-height:1.85}
.ins-p + .ins-p{margin-top:14px}
.ins-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px}
.ins-cap{font-size:12px;color:var(--gray);letter-spacing:.1em;display:flex;flex-direction:column;gap:6px}
.ins-cap span{font-size:16px;font-weight:700;color:var(--ink);letter-spacing:.04em}
.ins-list{margin-top:14px;display:flex;flex-direction:column;gap:9px}
.ins-list li{font-size:14px;line-height:1.6;padding-left:16px;position:relative}
.ins-list li::before{content:"";position:absolute;left:0;top:.56em;width:8px;height:8px;border-radius:50%;background:var(--pink)}
.ins-list--2 li::before{background:var(--vio)}


.price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.pcard{background:#fff;border:1px solid #ddd;border-radius:5px;padding:28px 28px 30px;display:flex;flex-direction:column}
.pcard--rec{border-color:var(--vio-t)}
.pcard-tag{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--gray)}
.pcard-tag em{font-style:normal;background:var(--vio);color:#fff;font-size:11px;letter-spacing:.08em;padding:5px 10px}
.pcard-name{font-size:24px;font-weight:700;margin-top:12px}
.pcard-lead{font-size:14px;line-height:1.7;margin-top:10px;min-height:2.8em}
.pcard-list{margin-top:18px;display:flex;flex-direction:column;gap:9px;padding-top:18px;border-top:1px solid var(--line)}
.pcard-list li{font-size:14px;line-height:1.6;padding-left:22px;position:relative}
.pcard-list li::before{
  content:"";position:absolute;left:0;top:.28em;width:13px;height:8px;
  border-left:2px solid var(--pink);border-bottom:2px solid var(--pink);transform:rotate(-45deg);
}
.pcard-price{margin-top:auto;padding-top:22px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.pcard-price span{font-size:12px;color:var(--gray);letter-spacing:.1em}
.pcard-price b{font-size:34px;font-weight:700;color:var(--vio-t);letter-spacing:0}
.pcard-price small{font-size:14px;font-weight:700}
.price-link{text-align:center;margin-top:10px}
.price-link a{font-size:14px;color:var(--vio-t);text-decoration:underline;text-underline-offset:3px}
.price-link span{margin-left:6px}
.btns{display:flex;justify-content:center;gap:16px;margin-top:26px;flex-wrap:wrap}
.btns--c{margin-top:22px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  height:60px;padding:0 30px;border-radius:5px;font-size:15px;font-weight:700;letter-spacing:.04em;
  text-align:center;
}
.btn svg{width:21px;height:21px;fill:currentColor;stroke:none;flex:none}
.btn--pink{background:var(--pink);color:#fff}
.btn--black{background:var(--vio);color:#fff;height:50px;min-width:250px;font-size:14px}
.btn--line{background:var(--line-green);color:#fff}
.btn--lineout{background:#fff;color:var(--line-green);border:1px solid var(--line-green)}


.flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.flow li{background:#fff;display:flex;flex-direction:column;min-width:0}
.flow-ph{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.flow-in{padding:20px 22px 26px}
.flow-n{
  display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;
  background:var(--vio);color:#fff;font-size:15px;font-weight:700;letter-spacing:.02em;
}
.flow h4{font-size:17px;font-weight:700;line-height:1.5;margin-top:12px}
.flow p{font-size:14px;line-height:1.7;margin-top:8px;color:#4a4a4a}


.news{max-width:920px;margin:40px auto 0;padding:0 4.5vw}
.news-list li + li{border-top:1px solid #d8d8d8}
.news-list li:first-child{border-top:1px solid #d8d8d8}
.news-list li:last-child{border-bottom:1px solid #d8d8d8}
.news-list a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 4px;font-size:14px;line-height:1.6}
.news-list span{color:var(--gray);font-size:18px;flex:none}
.news-btn-wrap{display:flex;justify-content:center;margin-top:48px}


.faq{max-width:920px;margin:40px auto 0;padding:0 4.5vw}
.faq details{background:#fff;border-bottom:1px solid var(--line)}
.faq summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:20px 22px;font-size:15px;font-weight:700;line-height:1.6;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:13px;height:13px;flex:none;border-right:2px solid var(--gray);border-bottom:2px solid var(--gray);transform:rotate(45deg) translateY(-3px);transition:transform .15s}
.faq details[open] summary::after{transform:rotate(225deg) translateY(-3px)}
.faq-a{padding:0 22px 22px}
.faq-a p{font-size:14px;line-height:1.85;color:#444}

.contact{position:relative;padding:60px 0 60px;background:var(--bg)}
.contact-in{max-width:920px;margin:0 auto;padding:0 4.5vw;text-align:center}
.contact-en{font-size:12px;color:var(--gray);letter-spacing:.1em}
.contact-h{font-size:26px;font-weight:700;line-height:1.5;margin-top:10px}
.contact-info{font-size:14px;line-height:1.9;margin-top:20px}
.contact-info a{text-decoration:underline;text-underline-offset:3px}
.contact-info span{color:var(--gray);font-size:13px}

.band2{position:relative;display:grid;grid-template-columns:1fr 1fr}
.band2-a{height:60px;display:flex;align-items:center;justify-content:center;gap:10px;color:#fff;font-size:14px;font-weight:700}
.band2-a svg{width:19px;height:19px}
.band2-a--faq{background:var(--vio)}
.band2-a--contact{background:var(--pink)}

.payband{background:#fff;padding:26px 5vw}
.payband-in{display:flex;align-items:center;justify-content:center;gap:14px}
.payband-in svg{width:34px;height:24px;flex:none;color:var(--pink)}
.payband-in p{font-size:14px;line-height:1.6}


.ft{position:relative;background:linear-gradient(90deg,#D94BAE 0%,#C75BE6 100%);color:#fff;padding:72px 5vw 64px;text-align:center;
  overflow-x:clip;overflow-y:visible}  
.ft-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 14px;row-gap:12px}
.ft-links li{display:flex;align-items:center;gap:14px}
.ft-links li + li::before{content:"";width:1px;height:12px;background:rgba(255,255,255,.4)}
.ft-links a{font-size:13px;text-decoration:underline;text-underline-offset:3px}
.ft-logo{margin-top:72px;display:flex;justify-content:center}
.ft-logo img{height:90px;width:auto}
.ft-tag{font-size:14px;line-height:1.8;margin-top:16px;max-width:760px;margin-left:auto;margin-right:auto}
.ft-info{margin-top:40px;display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:1.7;color:rgba(255,255,255,.82)}
.ft-info a{text-decoration:underline;text-underline-offset:3px}
.ft-copy{margin-top:48px;font-size:12px;color:rgba(255,255,255,.7)}


.tabbar{display:none}
.drawer{
  position:fixed;inset:0;z-index:90;color:#fff;overflow-y:auto;
  padding:24px 6vw 40px;
  background:linear-gradient(150deg,#D94BAE 0%,#C75BE6 55%,#B979E5 100%);
  animation:drawerIn .34s cubic-bezier(.22,1,.36,1) both;
}
.drawer::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(38% 26% at 18% 12%,rgba(255,255,255,.34) 0%,rgba(255,255,255,0) 70%),
             radial-gradient(30% 22% at 86% 78%,rgba(255,255,255,.22) 0%,rgba(255,255,255,0) 70%)}
.drawer.is-closing{animation:drawerOut .26s ease-in both}
@keyframes drawerIn{from{opacity:0;clip-path:circle(0% at calc(100% - 34px) 34px)}
  to{opacity:1;clip-path:circle(150% at calc(100% - 34px) 34px)}}
@keyframes drawerOut{from{opacity:1;clip-path:circle(150% at calc(100% - 34px) 34px)}
  to{opacity:0;clip-path:circle(0% at calc(100% - 34px) 34px)}}
.drawer-nav a,.drawer-sep{position:relative;opacity:0;transform:translateY(14px);
  animation:drawerItem .4s cubic-bezier(.22,1,.36,1) both}
.drawer[hidden] .drawer-nav a,.drawer[hidden] .drawer-sep{animation:none}
@keyframes drawerItem{to{opacity:1;transform:none}}
.drawer-nav a:nth-child(1),.drawer-sep:nth-child(1){animation-delay:0.10s}
.drawer-nav a:nth-child(2),.drawer-sep:nth-child(2){animation-delay:0.15s}
.drawer-nav a:nth-child(3),.drawer-sep:nth-child(3){animation-delay:0.20s}
.drawer-nav a:nth-child(4),.drawer-sep:nth-child(4){animation-delay:0.24s}
.drawer-nav a:nth-child(5),.drawer-sep:nth-child(5){animation-delay:0.28s}
.drawer-nav a:nth-child(6),.drawer-sep:nth-child(6){animation-delay:0.33s}
.drawer-nav a:nth-child(7),.drawer-sep:nth-child(7){animation-delay:0.38s}
.drawer-nav a:nth-child(8),.drawer-sep:nth-child(8){animation-delay:0.42s}
.drawer-nav a:nth-child(9),.drawer-sep:nth-child(9){animation-delay:0.46s}
.drawer-nav a:nth-child(10),.drawer-sep:nth-child(10){animation-delay:0.51s}
.drawer-nav a:nth-child(11),.drawer-sep:nth-child(11){animation-delay:0.55s}
.drawer-nav a:nth-child(12),.drawer-sep:nth-child(12){animation-delay:0.60s}
.drawer-nav a:nth-child(13),.drawer-sep:nth-child(13){animation-delay:0.65s}
.drawer-nav a:nth-child(14),.drawer-sep:nth-child(14){animation-delay:0.69s}
.drawer-nav a:nth-child(15),.drawer-sep:nth-child(15){animation-delay:0.73s}
.drawer-nav a:nth-child(16),.drawer-sep:nth-child(16){animation-delay:0.78s}
.drawer-nav a::after{content:"›";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:20px;opacity:.85}
.drawer-btns{animation:drawerItem .45s cubic-bezier(.22,1,.36,1) .46s both}
.drawer[hidden]{display:none}
.drawer-close{position:absolute;right:0;top:0;width:70px;height:70px;background:rgba(255,255,255,.18);backdrop-filter:blur(4px);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}
.drawer-close span{display:block;width:26px;height:1px;background:#fff}
.drawer-close span:first-child{transform:translateY(4px) rotate(45deg)}
.drawer-close span:nth-child(2){transform:translateY(3px) rotate(-45deg)}
.drawer-close em{font-style:normal;font-size:10px;font-weight:700;margin-top:10px}
.drawer-nav{display:flex;flex-direction:column;margin-top:80px;max-width:520px}
.drawer-nav a{padding:18px 26px 18px 6px;border-bottom:1px solid rgba(255,255,255,.28);font-size:16px;font-weight:700;letter-spacing:.02em}
.drawer-btns{display:flex;flex-direction:column;gap:12px;margin-top:32px;max-width:520px}
.drawer-btns .btn{width:100%}


@media (max-width:1100px){
  .howto-panel{grid-template-columns:344px 1fr;padding-right:24px}
  .howto-ph{grid-column:1 / -1;height:auto;aspect-ratio:16/9;margin-top:22px}
  .howto-txt{padding-right:24px}
  .stats{grid-template-columns:1fr 1fr}
  .flow{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .hd-nav a{font-size:11px;gap:5px}
  .plan{grid-template-columns:1fr 180px}
  .plan-name{font-size:24px}
  .voice{grid-template-columns:260px 1fr}
}


@media (max-width:767px){
  :root{--gut:16px;--gut-h:15px;--rail-l:16px;--cw:250px}

  .hd-top{height:60px;padding-left:12px}
  .hd-right{height:60px;gap:6px}
  .hd-logo img{height:34px}
  .hd-login{width:42px}
  .hd-login i{display:none}
  .hd-login svg{width:20px;height:20px}
  .hd-login span{font-size:9px;margin-top:2px}
  .hd-cta{
    width:72px;height:44px;gap:0;flex-direction:column;justify-content:center;
    padding:0 2px;text-align:center;
  }
  .hd-cta svg{width:15px;height:15px;margin-bottom:1px}
  .hd-cta span{align-items:center;line-height:1.1}
  .hd-cta b{font-size:10px}
  .hd-cta i{font-size:10px}
  .hd-menu{width:60px;height:60px;gap:4px}
  .hd-menu-bar{width:26px}
  .hd-menu em{font-size:9px;margin-top:3px}
  .hd-nav{display:none}
  .hd-spacer{height:60px}

  .hero{padding-top:28px;padding-bottom:8px}
  
  .hero-slide{width:var(--bw);margin-right:12px}
  .hero-arw{display:none}
  .hero-dots{height:30px}
  .hero-dots button{width:8px;height:8px}

  .plans{grid-template-columns:1fr;gap:14px;padding-top:30px}
  .plan{grid-template-columns:1fr 38%;min-height:0}
  .plan-tx{padding:16px 16px 18px}
  .plan-flag{font-size:12px;margin-bottom:10px;padding:6px 20px 6px 10px}
  .plan-name{font-size:26px}
  .plan-sub{font-size:13px;margin-top:6px;margin-bottom:0}
  .plan-lead{display:none}
  .plan-btn{height:44px;min-height:44px;font-size:15px;margin-top:16px}

  .howto{padding-top:30px}
  .howto-panel{display:flex;flex-direction:column;align-items:center;padding:22px 18px 26px;text-align:center;gap:0}
  .howto-txt{display:contents}
  .howto-h{font-size:28px;order:1}
  .howto-movie{width:100%;margin:16px 0 0;order:2}
  .howto-lead{font-size:14px;margin-top:16px;order:3}
  .btn-pill{margin-top:18px;min-width:230px;order:4}
  .howto-ph{order:5;width:100%;height:auto;aspect-ratio:16/9;margin-top:20px}
  .howto-play{width:48px;height:48px}

  .sec{position:relative;padding-top:60px}
  .sec-h h2{font-size:22px;line-height:1.45}
  .row{margin-top:36px}
  .row-h{align-items:flex-start;flex-direction:column;gap:10px}
  .row-h{position:relative;padding-right:56px}
  .row-h h3{font-size:18px}
  .row-sub{font-size:13px;margin-top:6px}
  .row-more{position:absolute;right:16px;top:0;font-size:0;gap:0}
  .row-more span{width:30px;height:30px}
  .rail-wrap{margin-top:16px}
  .rail-btn{display:none}
  .card-by img{width:38px;height:38px}
  .card-kind{min-height:34px}

  .stats{grid-template-columns:1fr 1fr;gap:10px}
  .stat{padding:24px 16px}
  .stat-ic{width:44px;height:44px;margin-bottom:10px}
  .stat-l{font-size:14px;line-height:1.4;min-height:2.8em}
  .stat-pre{font-size:15px;height:19px}
  .stat-n{font-size:36px}

  .box-wrap{margin-top:16px}
  .voice{grid-template-columns:1fr}
  .voice-tx{padding:20px 18px 24px}
  .voice-h{font-size:19px}
  .calc{gap:20px}
  .br-sp{display:inline}
  .row-h--case{display:block;padding:0 var(--gut);text-align:center}
  .row-h--case .row-h-l{width:100%;max-width:340px}
  .row-h--case h3{font-size:22px;line-height:1.45}
  .row-h--case h3::after{margin-top:12px}
  .cs--h1{--s:15px;left:2px;top:2px}
  .cs--h2{--s:9px;left:13px;top:33px}
  .cs--h3{--s:15px;right:2px;top:6px}
  .cs--h4{--s:9px;right:15px;top:37px}
  .calc-c{padding:32px 20px 28px}
  .calc-ic{height:126px;margin:12px 0}
  .calc-ic img{width:120px}
  .cs--ic{--s:12px;margin-top:-30px}
  .cs--ic-l{left:calc(50% - 83px)}
  .cs--ic-r{right:calc(50% - 83px)}
  .calc-chip{font-size:clamp(13px,3.55vw,14px);padding:9px 15px}
  .calc-res{--num:clamp(30px,8.8vw,42px);--lbl:clamp(13px,3.6vw,16px)}
  .calc-res--wide{--num:clamp(26px,7.4vw,36px)}
  .calc-num{padding-bottom:9px;margin:0 4px}
  .calc-num::after{height:7px}
  .calc-lead{font-size:14px}

  .why--solo{padding:22px 20px 26px}
  .why--solo .why-ph img{width:240px}
  .why--solo .why-h{font-size:clamp(17px,5.1vw,20px)}
  .why-list li{font-size:14px;padding-left:24px}
  .why--nb{padding:76px 20px 28px}
  .why--nb .why-ph img{width:280px}
  .why-h1{font-size:clamp(19px,6.2vw,26px)}
  .why-h2{font-size:clamp(23.7px,7.75vw,32.5px);padding-bottom:10px}
  .why-h2::after{height:6px}
  .why-num{margin-top:16px;gap:10px}
  .why-num li{padding:11px 16px;gap:12px}
  .why-no{width:44px;height:44px;font-size:18px}
  .why-tx{font-size:13px}
  .why-tx i{font-size:16px}
  .cs--w1{--s:14px;left:10px;top:120px}
  .cs--w2{--s:9px;left:36px;top:160px}
  .cs--w3{--s:16px;right:12px;top:110px}
  .cs--w4{--s:10px;right:40px;top:152px}
  .cs--w5{--s:12px;left:18px;top:252px}
  .cs--w6{--s:13px;right:20px;top:264px}
  .ins{padding:22px 18px 26px}
  .ins-head{gap:16px}
  .ins-av{width:88px;height:88px}
  .ins-name{font-size:22px}
  .ins-cols{grid-template-columns:1fr;gap:24px}

  .price-grid{grid-template-columns:1fr;gap:14px}
  .pcard{padding:22px 18px 24px}
  .pcard-name{font-size:21px}
  .pcard-lead{min-height:0}
  .pcard-price b{font-size:30px}
  .btns{flex-direction:column;gap:12px}
  .btn{width:100%;height:56px;font-size:14px;padding:0 16px}
  .btn--black{width:100%;max-width:320px;min-width:0}

  .flow{grid-template-columns:1fr;gap:12px}
  .flow li{flex-direction:row;align-items:stretch}
  .flow-ph{width:38%;flex:none;aspect-ratio:auto;object-fit:cover}
  .flow-in{padding:16px 16px 18px;flex:1;min-width:0}
  .flow-n{width:34px;height:34px;font-size:13px}
  .flow h4{margin-top:8px;font-size:16px}
  .flow p{margin-top:6px}

  .news{margin-top:24px;padding:0 16px}
  .news-list a{padding:18px 2px;font-size:14px}
  .news-btn-wrap{margin-top:32px}
  .faq{margin-top:24px;padding:0 16px}
  .faq summary{padding:16px 16px;font-size:14px}
  .faq-a{padding:0 16px 18px}

  .contact-in{padding:0 16px}
  .contact-h{font-size:20px}

  .contact{padding-bottom:48px}
  .band2-a{font-size:13px;gap:8px}
  .payband{padding:20px 16px}
  .payband-in{gap:10px}
  .payband-in p{font-size:13px;text-align:left}

  .ft{padding:56px 6vw 40px}
  .ft-links{flex-direction:column;gap:12px}
  .ft-links li + li::before{display:none}
  .ft-logo{margin-top:48px}
  .ft-logo img{height:64px}
  .ft-tag{font-size:13px;text-align:left}
  .ft-copy{margin-top:36px;padding-bottom:0}

  
  .tabbar{
    display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:70;
    height:calc(56px + env(safe-area-inset-bottom,0px));
    background:linear-gradient(90deg,#D94BAE 0%,#C75BE6 100%);
    padding-bottom:env(safe-area-inset-bottom,0px);
  }
  .tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#fff;font-size:10px;letter-spacing:.02em}
  .tabbar svg{width:20px;height:20px}
  .ft{padding-bottom:calc(40px + 56px + env(safe-area-inset-bottom,0px))}
  .drawer{padding-bottom:calc(40px + 56px)}
  .drawer-close{width:60px;height:60px}
  .drawer-nav{margin-top:70px}
}

@media (max-width:359px){
  :root{--cw:228px}
  .flow li{flex-direction:column}
  .flow-ph{width:100%;aspect-ratio:16/9}
  .hd-top{padding-left:8px}
  .hd-right{gap:4px}
  .hd-login span{display:none}
  .hd-login{width:24px}
  .hd-cta{min-width:78px;padding:0 8px}
  .stat{padding:14px 6px}
  .stat-l{font-size:11px;white-space:nowrap}
  .stat-n{font-size:23px}
  .stat-n--ar{font-size:15px}
  .hd-logo img{height:32px}
  .row-h--case h3{font-size:20px}
  .why-list li{font-size:12.5px;padding-left:20px}
  .why--solo .why-ph img{width:220px}
  .why--nb .why-ph img{width:240px}
  .why-num li{padding:10px 14px;gap:9px}
  .why-no{width:38px;height:38px;font-size:16px}
  .why-tx{font-size:11.5px}
  .why-tx i{font-size:15px}
  .cs--h2,.cs--h4{display:none}
  .calc-f{flex-direction:column;gap:8px}
  .calc-res{--lbl:12.5px}
  .calc-res--wide{--num:24px;--lbl:12px}
  .calc-line{column-gap:4px}
  .calc-num{margin:0 3px}
  .cs--h1{--s:13px}
  .cs--h3{--s:13px}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}





.hero-wrap{position:relative;overflow-x:clip;overflow-y:visible}



.nw{white-space:nowrap}
.howto-lead{text-wrap:pretty;word-break:auto-phrase;line-break:strict}


.gl{position:absolute;pointer-events:none;display:block;line-height:0;opacity:0}
.gl.only-pc,.gl.only-md{display:none}
@media (min-width:768px) and (max-width:1100px){
  .gl.only-sp{display:none}
  .gl.only-md{display:block}
}
@media (min-width:1101px){
  .gl.only-sp{display:none}
  .gl.only-pc{display:block}
}


.gl-glint{width:var(--w,40px);height:var(--w,40px);z-index:4;rotate:var(--rot,0deg)}
.gl-glint svg{width:100%;height:100%;display:block;overflow:visible;fill:#fff;stroke:none}
.gl-glint::before{
  content:"";position:absolute;left:50%;top:50%;width:46%;height:46%;
  transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.95) 0%,rgba(255,255,255,.55) 38%,rgba(255,255,255,0) 72%);
}


.gl-dot{
  width:var(--w,3px);height:var(--w,3px);border-radius:50%;z-index:4;
  background:#fff;box-shadow:0 0 calc(var(--w,3px) * 2.4) rgba(255,255,255,.95);
}


.gl-bokeh{
  width:var(--w,90px);height:var(--w,90px);border-radius:50%;z-index:-1;
  background:radial-gradient(circle,rgba(255,255,255,var(--a,.16)) 0%,rgba(255,255,255,calc(var(--a,.16) * .45)) 45%,rgba(255,255,255,0) 72%);
}
.gl-bokeh.on-bg{z-index:0}


.gl-arc{
  width:var(--w,520px);height:var(--h,3px);z-index:-1;border-radius:50%;
  rotate:var(--rot,-6deg);
  background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.75) 42%,rgba(255,255,255,.95) 55%,rgba(255,255,255,0) 100%);
  filter:blur(2.5px);
}
.gl-arc.on-bg{z-index:0}

@keyframes glTwinkle{
  0%,100%{opacity:calc(var(--o,1) * .30);transform:scale(.6)}
  50%{opacity:var(--o,1);transform:scale(1.1)}
}
@keyframes glPop{0%{opacity:0;transform:scale(0)}60%{opacity:var(--o,1);transform:scale(1.2)}
  100%{opacity:var(--o,1);transform:scale(1)}}
@keyframes glDot{0%,100%{opacity:calc(var(--o,1) * .18);transform:scale(.7)}
  45%{opacity:var(--o,1);transform:scale(1)}}
@keyframes glDrift{0%{transform:translate(0,0)}50%{transform:translate(4px,-8px)}100%{transform:translate(0,0)}}
@keyframes glArc{0%{opacity:0;transform:translateX(-14%)}
  18%{opacity:var(--o,.35)}62%{opacity:var(--o,.35)}
  100%{opacity:0;transform:translateX(14%)}}

html.op-run .gl-glint{animation:glPop .5s cubic-bezier(.22,1.3,.36,1) both,
  glTwinkle var(--d,3.2s) ease-in-out infinite}
html.op-run .gl-dot{animation:glPop .4s cubic-bezier(.22,1.3,.36,1) both,
  glDot var(--d,2.6s) ease-in-out infinite}
html.op-run .gl-bokeh{opacity:1;animation:glDrift var(--d,14s) ease-in-out infinite}
html.op-run .gl-arc{animation:glArc 6s ease-in-out infinite}


@keyframes d3Spin{0%,100%{rotate:calc(var(--rot,0deg) - 6deg)}50%{rotate:calc(var(--rot,0deg) + 6deg)}}
html.op-run .d3-star.spin{animation:popBang .55s cubic-bezier(.22,1.3,.36,1) both,
  fuwafuwa 3.4s ease-in-out infinite, d3Spin 9s ease-in-out infinite}

html.shot .gl{opacity:var(--o,1) !important;transform:none !important}
html.shot .gl-bokeh,html.shot .gl-arc{opacity:var(--o,1) !important}
@media (prefers-reduced-motion:reduce){
  .gl{opacity:var(--o,1) !important}
}


.d3{
  position:absolute;width:var(--w,40px);height:auto;z-index:4;
  pointer-events:none;will-change:transform,opacity;
  rotate:var(--rot,0deg);opacity:0;
}
.d3.only-pc,.d3.only-md{display:none}
@media (min-width:768px) and (max-width:1100px){
  .d3.only-sp{display:none}
  .d3.only-md{display:block}
}
@media (min-width:1101px){
  .d3.only-sp{display:none}
  .d3.only-pc{display:block}
}

@keyframes popBang{
  0%{opacity:0;transform:scale(0) rotate(-12deg)}
  55%{opacity:1;transform:scale(1.35) rotate(6deg)}
  78%{transform:scale(.95) rotate(-2deg)}
  100%{opacity:1;transform:scale(1) rotate(0)}
}
@keyframes twinkle3d{0%,100%{opacity:.6;transform:scale(.7)}50%{opacity:1;transform:scale(1.15)}}
@keyframes fuwafuwa{0%{transform:translateY(0)}50%{transform:translateY(-8px)}100%{transform:translateY(0)}}
@keyframes bubbleRise{
  0%{opacity:0;transform:translateY(20px) scale(.9)}
  12%{opacity:.95}
  70%{opacity:.85}
  100%{opacity:0;transform:translateY(var(--rise,-120px)) scale(1.05)}
}
html.op-run .d3-star{animation:popBang .55s cubic-bezier(.22,1.3,.36,1) both,
  fuwafuwa 3.4s ease-in-out infinite, twinkle3d 3s ease-in-out infinite}
html.op-run .d3-heart{animation:popBang .55s cubic-bezier(.22,1.3,.36,1) both,
  fuwafuwa 4.2s ease-in-out infinite, none 1s}
html.op-run .d3-bubble{animation:popBang .55s cubic-bezier(.22,1.3,.36,1) both,
  bubbleRise 9s ease-in-out infinite, none 1s}


.mascot{position:absolute;line-height:0;width:var(--w,150px);z-index:5;pointer-events:none}
.mascot svg{width:100%;height:auto;display:block;overflow:visible;
  filter:drop-shadow(0 6px 12px rgba(40,10,110,.24))}
.mascot [id^="mascot-entrance"],.mascot [id^="mascot-float"],.mascot [id^="sparkles"],
.mascot [id^="sparkles"] path,.mascot .is-waving,.mascot .is-waving-lift,
.mascot [id^="accents"],.mascot [id^="arm-"],.mascot [id^="eye-"],
.mascot [id^="pupil-"],.mascot [id^="leg-"]{
  transform-box:fill-box;transform-origin:var(--ox,50%) var(--oy,50%);will-change:transform}
.mascot [id^="mascot-float"]{transform-origin:50% 90%;
  animation:m-float 3.2s ease-in-out .9s infinite alternate}
@keyframes m-float{from{transform:translateY(0) rotate(-1.1deg)}
  to{transform:translateY(-2.6%) rotate(1.4deg)}}
.mascot .is-waving-lift{animation:m-lift .7s cubic-bezier(.3,1.4,.4,1) .85s both}
@keyframes m-lift{from{transform:rotate(0deg)}to{transform:rotate(-11deg)}}
.mascot .is-waving{animation:m-wave 1.4s ease-in-out 1.5s infinite}
@keyframes m-wave{0%,100%{transform:rotate(-14deg)}50%{transform:rotate(14deg)}}
.mascot [id^="arm-"]:not(.is-waving){animation:m-sway 3.2s ease-in-out 1.5s infinite alternate}
@keyframes m-sway{from{transform:rotate(3deg)}to{transform:rotate(-4deg)}}
.mascot [id^="sparkles"] path{animation:m-twinkle 2.6s ease-in-out infinite}
.mascot [id^="sparkles"] path:nth-child(2){animation-delay:.65s}
.mascot [id^="sparkles"] path:nth-child(3){animation-delay:1.3s}
.mascot [id^="sparkles"] path:nth-child(4){animation-delay:1.95s}
@keyframes m-twinkle{0%,100%{opacity:.35;transform:scale(.72)}
  50%{opacity:1;transform:scale(1.12)}}
.mascot [id^="accents"]{animation:m-accent 1.4s ease-in-out 1.5s infinite}
@keyframes m-accent{0%,100%{opacity:.25}45%{opacity:1}}
.mascot [id^="pupil-"]{transform:translate(var(--dx,0px),var(--dy,0px))}
.mascot.off *{animation-play-state:paused !important}


.mascot [id^="mascot-body"],.mascot .face-lids,.mascot .wink-star{
  transform-box:fill-box;transform-origin:50% 50%}
.mascot .lid{opacity:0}
.mascot .wink-star{opacity:0}
.mascot.is-blink [id^="eye-"],.mascot.is-blink [id^="pupil-"]{
  animation:m-blink .35s cubic-bezier(.4,0,.2,1) both}
@keyframes m-blink{0%{transform:scaleY(1)}34%{transform:scaleY(.06)}
  51%{transform:scaleY(.06)}100%{transform:scaleY(1)}}
.mascot.is-blink .lid-blink{animation:m-lid1 .35s linear both}
@keyframes m-lid1{0%,29%{opacity:0}34%,51%{opacity:1}58%,100%{opacity:0}}
.mascot.is-wink [id^="eye-"],.mascot.is-wink [id^="pupil-"]{
  animation:m-wink .9s cubic-bezier(.4,0,.2,1) both}
@keyframes m-wink{0%{transform:scaleY(1)}16.7%{transform:scaleY(.05)}
  66.7%{transform:scaleY(.05)}100%{transform:scaleY(1)}}
.mascot.is-wink .lid-wink{animation:m-lid2 .9s linear both}
@keyframes m-lid2{0%,13%{opacity:0}17%,66%{opacity:1}72%,100%{opacity:0}}
.mascot.is-wink [id^="mascot-body"]{animation:m-tilt .9s ease-in-out both}
@keyframes m-tilt{0%{transform:rotate(0)}28%{transform:rotate(4deg)}
  70%{transform:rotate(4deg)}100%{transform:rotate(0)}}
.mascot.is-wink .wink-star{animation:m-winkstar .5s ease-out .18s both}
@keyframes m-winkstar{0%{opacity:0;transform:scale(0) rotate(0)}
  50%{opacity:1;transform:scale(1) rotate(25deg)}
  100%{opacity:0;transform:scale(.2) rotate(45deg)}}


.mascot--m1{--w:90px;left:-63px;bottom:0}
.mascot--m2{--w:120px;right:calc(var(--gut) + 6px);top:-28px}
.mascot--m3{--w:130px;right:calc(var(--gut) + 6px);top:36px}
.mascot--m4{--w:150px;right:14px;bottom:60px}
.mascot--m5{--w:120px;left:3vw;top:-46px}
@media (min-width:768px) and (max-width:1100px){
  .mascot--m1{--w:96px;left:-22px;bottom:0}
  .mascot--m4{--w:150px;right:14px;bottom:60px}
  .mascot--m5{--w:88px;left:3vw;top:-44px}
}
@media (max-width:767px){
  .mascot--m1{--w:96px;left:-16px;bottom:0}
  .mascot--m2{--w:66px;right:4px;top:-52px}
  .mascot--m3{--w:84px;right:8px;top:4px}
  .mascot--m4{--w:50px;right:0;bottom:60px}
  .mascot--m5{--w:80px;left:6px;top:2px}
}

@media (max-width:360px){
  .mascot--m2{--w:54px;right:2px;top:-46px}
  .mascot--m3{--w:62px;right:2px}
  .mascot--m4{--w:40px;right:0}
  .mascot--m5{--w:64px;left:4px}
}


@keyframes revealFadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes revealScaleIn{0%{opacity:0;transform:scale(.88)}70%{opacity:1;transform:scale(1.02)}
  100%{opacity:1;transform:scale(1)}}
@keyframes revealSlideLeft{from{opacity:0;transform:translateX(-36px)}to{opacity:1;transform:translateX(0)}}
@keyframes revealSlideRight{from{opacity:0;transform:translateX(36px)}to{opacity:1;transform:translateX(0)}}

.plans,.faq,.contact{overflow-x:clip;overflow-y:visible}
.reveal-up,.reveal-scale,.reveal-left,.reveal-right{opacity:0}
.reveal-up.in-view{animation:revealFadeUp .7s cubic-bezier(.22,1,.36,1) forwards}
.reveal-scale.in-view{animation:revealScaleIn .7s cubic-bezier(.22,1,.36,1) forwards}
.reveal-left.in-view{animation:revealSlideLeft .7s cubic-bezier(.22,1,.36,1) forwards}
.reveal-right.in-view{animation:revealSlideRight .7s cubic-bezier(.22,1,.36,1) forwards}
.reveal-stagger>*{opacity:0}
.reveal-stagger.in-view>*{animation:revealFadeUp .62s cubic-bezier(.22,1,.36,1) forwards}
.reveal-stagger.in-view>*:nth-child(1){animation-delay:0s}
.reveal-stagger.in-view>*:nth-child(2){animation-delay:.12s}
.reveal-stagger.in-view>*:nth-child(3){animation-delay:.24s}
.reveal-stagger.in-view>*:nth-child(4){animation-delay:.36s}
.reveal-stagger.in-view>*:nth-child(5){animation-delay:.48s}
.reveal-stagger.in-view>*:nth-child(6){animation-delay:.60s}
.reveal-scale-stagger.in-view>*{animation-name:revealScaleIn}
.reveal-slide-stagger.in-view>*{animation-name:revealSlideLeft}


@keyframes fuwafuwa-button{0%{scale:1}8%{scale:1.04}17%{scale:1}
  25%{scale:1.02}38%{scale:1}100%{scale:1}}
@keyframes sweep{0%{left:-40%}28%{left:130%}100%{left:130%}}
.btn--pink,.btn--lineout,.btn-pill,.plan-btn,.btn--black{position:relative;overflow:hidden}
.btn--pink::after,.btn--lineout::after{
  content:"";position:absolute;top:-30%;left:-40%;width:34%;height:160%;z-index:0;
  background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.45),rgba(255,255,255,0));
  transform:skewX(-18deg);animation:sweep 3.6s linear infinite;pointer-events:none}
.btn--lineout::after{
  background:linear-gradient(100deg,rgba(6,199,85,0),rgba(6,199,85,.16),rgba(6,199,85,0))}
.btn--pink{box-shadow:0 4px 0 #cf2c81;animation:fuwafuwa-button 3.4s ease-in-out infinite}
.btn--pink:hover{translate:0 -2px;box-shadow:0 6px 0 #cf2c81}
.btn--pink:active{translate:0 2px;box-shadow:0 2px 0 #cf2c81}
.btn-pill{box-shadow:0 4px 0 #291c78}
.btn-pill:hover{translate:0 -2px;box-shadow:0 6px 0 #291c78}
.btn-pill:active{translate:0 2px;box-shadow:0 2px 0 #291c78}
.btn--black{box-shadow:0 4px 0 #291c78}
.btn--black:hover{translate:0 -2px;box-shadow:0 6px 0 #291c78}
.btn--black:active{translate:0 2px;box-shadow:0 2px 0 #291c78}
.plan--basic .plan-btn{box-shadow:0 4px 0 #d9d2f2}
.plan--adv .plan-btn{box-shadow:0 4px 0 #f6d3e6}
.plan:hover .plan-btn{translate:0 -2px}
.plan:active .plan-btn{translate:0 2px}
.btn--lineout:hover{translate:0 -2px}
.btn--lineout:active{translate:0 2px}


html.shot *,html.shot *::before,html.shot *::after{
  animation:none !important;transition:none !important}
html.shot .d3{opacity:1 !important;transform:none !important}
html.shot .reveal-up,html.shot .reveal-scale,html.shot .reveal-left,
html.shot .reveal-right,html.shot .reveal-stagger>*{
  opacity:1 !important;transform:none !important}
html.shot .mascot [id^="pupil-"]{transform:none !important}
html.shot .btn--pink,html.shot .btn-pill,html.shot .btn--black,html.shot .plan-btn{
  scale:1 !important;translate:0 0 !important}
html.shot .btn--pink::after,html.shot .btn--lineout::after{display:none}

@media (prefers-reduced-motion:reduce){
  .d3{opacity:1 !important}
  .reveal-up,.reveal-scale,.reveal-left,.reveal-right,.reveal-stagger>*{opacity:1 !important}
  .btn--pink::after,.btn--lineout::after{display:none}
  .howto-video{opacity:1}
}


@media (max-width:999px){.why--solo{padding-bottom:62px}}


@media (max-width:767px){
  .howto-ph{width:calc(100% + 36px);margin-left:-18px;margin-right:-18px;align-self:center}
  .howto-video{border-radius:0}
  .mascot--m1{left:6px}
}



@media (max-width:1000px){
  .hd-nav ul{padding:0 max(2vw,10px)}
  .hd-nav a{font-size:11px;gap:5px}
  .hd-nav svg{width:19px;height:19px}
}
.hd-nav a[aria-current="page"]{position:relative}
.hd-nav a[aria-current="page"]::after{
  content:"";position:absolute;left:12%;right:12%;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--pink)}
.drawer-sep{
  font-size:12px;font-weight:700;letter-spacing:.1em;color:rgba(255,255,255,.62);
  margin:26px 0 4px;padding:0 6px}
.ft-links--legal{margin-top:14px}
.ft-links--legal a{color:rgba(255,255,255,.82);font-size:12px}
@media (max-width:767px){.ft-links--legal{margin-top:12px}}



html.jw .faq-a p,html.jw .flow p,html.jw .pcard-lead,html.jw .note,html.jw .ins-p,
html.jw .faq summary{
  word-break:keep-all;
}


.row-banner{margin:18px 0 16px;border-radius:8px;overflow:hidden;max-width:560px;
  box-shadow:0 8px 24px rgba(176,52,139,.16)}
.row-top{display:flex;flex-direction:column}
.row-top .row-banner{margin-left:auto;margin-right:auto;width:calc(100% - var(--rail-l)*2);height:auto}
.row-banner img{height:auto;object-fit:contain}
@media (min-width:768px){
  .row-top .row-banner{margin:18px auto;width:min(calc(100% - var(--gut)*2),620px);height:auto}
}
.row-banner img{width:100%;height:auto;display:block}
.cvs{display:flex;justify-content:center;gap:14px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.cvs li{width:min(30%,186px);border-radius:14px;overflow:hidden;background:#000;
  box-shadow:0 6px 18px rgba(176,52,139,.18);border:3px solid #fff}
.cvs img{width:100%;height:auto;display:block}
@media (max-width:767px){.cvs{gap:8px}}


.fvh{background:#FDEAF9 url("img/fv_bg_sp.webp?v=28") center bottom/cover no-repeat;
  min-height:0;display:flex;align-items:flex-start;
  padding:0 10px 44px;text-align:center;position:relative;overflow:hidden}
.fvh::after{content:"";position:absolute;inset:0;background:radial-gradient(56% 36% at 50% 33%,rgba(255,255,255,.34) 0%,rgba(255,255,255,.14) 60%,rgba(255,255,255,0) 100%);pointer-events:none}
.fvh-in{position:relative;z-index:1;width:100%;max-width:960px;margin:0 auto;padding-top:84px}


.fvh-ribbon{position:absolute;left:0;right:0;top:0;z-index:3;margin:0;
  background:linear-gradient(90deg,#D94BAE 0%,#C75BE6 100%);color:#fff;
  font-size:12px;font-weight:900;letter-spacing:0;line-height:1.35;padding:10px 8px}
.fvh-ribbon span{position:relative;display:inline-block;padding:0 16px;max-width:320px}
.fvh-ribbon span::before,.fvh-ribbon span::after{content:"";position:absolute;top:50%;width:2px;height:20px;background:#fff;transform:translateY(-50%) rotate(20deg)}
.fvh-ribbon span::before{left:4px;transform:translateY(-50%) rotate(-20deg)}
.fvh-ribbon span::after{right:4px}
.fvh-ribbon em{font-style:normal;color:#FFE55C}


.fvh-eyebrow{display:inline-block;font-size:20px;font-weight:900;letter-spacing:.04em;color:var(--pink);
  background:#fff;border-radius:999px;padding:12px 26px;
  box-shadow:0 4px 12px rgba(176,52,139,.2)}
.fvh-eyebrow b{color:var(--pink);font-size:1em}


.fvh-h{margin:14px 0 0;font-size:clamp(34px,11.4vw,44px);font-weight:900;line-height:1.18;letter-spacing:.005em;
  display:flex;flex-direction:column;align-items:center;gap:6px}
.fvh-h span:last-child{margin-left:.2em}
.fvh-h span{position:relative;display:inline-block;
  background:linear-gradient(180deg,#FFD9F1 0%,#FF93D2 26%,#FF4FB2 52%,#E42A9C 76%,#B01E7F 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.fvh-h span::before{content:attr(data-t);position:absolute;left:0;top:0;z-index:-1;color:#fff;
  -webkit-text-stroke:8px #fff;
  text-shadow:0 2px 0 #C0369C,0 4px 0 #B02A8E,0 6px 0 #9E2280,0 8px 0 #8C1E72,0 11px 14px rgba(122,32,120,.4)}

.fvh-lead{margin:22px auto 0;font-size:15px;font-weight:900;line-height:1.5;color:#2b2333;
  background:rgba(255,255,255,.94);border-radius:999px;padding:10px 20px;display:inline-block;
  box-shadow:0 3px 10px rgba(176,52,139,.16)}


.fvh-icons{display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:4px;list-style:none;margin:24px 0 0;padding:0}
.fvh-icons li{display:flex;align-items:center;gap:6px;white-space:nowrap;
  font-size:clamp(13px,4.3vw,17px);font-weight:900;color:#fff;
  text-shadow:0 1px 2px rgba(96,20,96,.75),0 3px 10px rgba(96,20,96,.6)}
.fvh-icons li+li::before{content:"×";margin-right:5px;font-size:clamp(12px,3.6vw,15px);color:#fff;opacity:.95;
  text-shadow:0 1px 2px rgba(96,20,96,.7)}
.fvh-ic{width:clamp(30px,8.8vw,36px);height:clamp(30px,8.8vw,36px);flex:none;border-radius:50%;background:#fff;display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 3px 8px rgba(176,52,139,.25)}
.fvh-ic svg{width:62%;height:62%;fill:none;stroke:#D94BAE;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.fvh-note{margin:20px 0 0;line-height:1.85;font-size:14px;font-weight:900;color:#fff;text-shadow:0 2px 6px rgba(122,32,120,.5)}
.fvh-note b{font-size:1.5em;color:#FFE55C}

.fvh-btns{display:flex;flex-direction:column;gap:14px;align-items:center;margin-top:28px}
.fvh-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:340px;height:54px;
  border-radius:999px;font-size:15px;font-weight:700;letter-spacing:.02em;text-decoration:none}
.fvh-btn i{font-style:normal;font-size:17px}
.fvh-btn--pink{background:linear-gradient(180deg,#F06BC5 0%,#D94BAE 100%);color:#fff;
  box-shadow:0 4px 0 #B0348B,0 10px 22px rgba(217,75,174,.32)}
.fvh-btn--line{background:linear-gradient(180deg,#2ad15e 0%,#06c755 100%);color:#fff;
  box-shadow:0 4px 0 #04a647,0 10px 22px rgba(6,199,85,.28)}
.fvh-btn--line .fvh-line-ic{background:#fff}
.fvh-line-ic{width:18px;height:18px;border-radius:5px;background:var(--line-green);display:inline-block}


.fvh-bub{position:absolute;z-index:2;margin:0;background:#fff;color:#2b2333;
  font-size:12px;font-weight:700;line-height:1.5;text-align:center;
  padding:12px 15px;border-radius:50%/42%;box-shadow:0 4px 12px rgba(176,52,139,.2)}
.fvh-bub::before,.fvh-bub::after{content:"";position:absolute;background:#fff;border-radius:50%;
  box-shadow:0 3px 8px rgba(176,52,139,.16)}
.fvh-bub::before{width:12px;height:12px;bottom:-9px}
.fvh-bub::after{width:7px;height:7px;bottom:-19px}
.fvh-bub--l{left:2%;bottom:96px;display:none}
.fvh-bub--l::before{left:26px}.fvh-bub--l::after{left:18px}
.fvh-bub--r{right:2%;bottom:96px;display:none}
.fvh-bub--r::before{right:26px}.fvh-bub--r::after{right:18px}
@media (max-width:359px){.fvh-bub{font-size:11px;padding:10px 12px}.fvh-bub--l,.fvh-bub--r{bottom:84px}}

@media (min-width:768px){:root{--rail-l:var(--gut)}}
@media (min-width:768px){
  .fvh{background-image:url("img/pf_fv_bg.webp?v=1");background-position:center 38%;min-height:660px;align-items:center;padding:0 var(--gut) 30px}
  .fvh-in{padding-top:118px}
  .fvh-ribbon{font-size:20px;padding:14px}
  .fvh-ribbon span{padding:0 34px}
  .fvh-ribbon span::before,.fvh-ribbon span::after{height:28px;width:3px}
  .fvh-eyebrow{font-size:30px;padding:14px 40px}
  .fvh-h{font-size:80px;gap:8px}
  .fvh-h span::before{-webkit-text-stroke-width:12px;
    text-shadow:0 3px 0 #C0369C,0 6px 0 #B02A8E,0 9px 0 #9E2280,0 12px 0 #8C1E72,0 16px 20px rgba(122,32,120,.4)}
  .fvh-lead{font-size:18px;padding:12px 26px}
  .fvh-lead br.sp{display:none}
  .fvh-icons{gap:10px;margin-top:22px}
  .fvh-icons li{font-size:19px;gap:9px}
  .fvh-ic{width:44px;height:44px}
  .fvh-ic svg{width:23px;height:23px}
  .fvh-note{font-size:17px}
  .fvh-btns{flex-direction:row;justify-content:center;margin-top:22px}
  .fvh-btn{width:auto;min-width:280px;height:58px;font-size:16px}
  .fvh-bub{display:none}
}
@media (min-width:1250px){
  .fvh-bub{display:block;max-width:132px;font-size:12px;padding:10px 12px;line-height:1.45}
  .fvh-bub--l{left:23.5%;right:auto;bottom:auto;top:25%}
  .fvh-bub--r{right:24.8%;left:auto;bottom:auto;top:25%}
}


.linelead{background:#fff;padding:28px var(--gut) 30px;text-align:center}
.linelead-in{max-width:760px;margin:0 auto}
.linelead-h{font-size:21px;font-weight:700;line-height:1.5;color:var(--vio-t);margin:0}
.linelead-lead{font-size:14px;font-weight:700;line-height:1.7;color:var(--ink);margin:10px 0 0}
.linelead-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;
  min-width:280px;height:52px;padding:0 24px;border-radius:999px;font-size:15px;font-weight:700;text-decoration:none;
  background:linear-gradient(180deg,#2ad15e 0%,#06c755 100%);color:#fff;
  box-shadow:0 4px 0 #04a647,0 10px 22px rgba(6,199,85,.28)}
.linelead-btn i{font-style:normal}
.linelead-btn .fvh-line-ic{background:#fff;border-radius:5px}
@media (min-width:768px){.linelead{padding:40px var(--gut) 42px}.linelead-h{font-size:30px}.linelead-lead{font-size:15px}}




.fvh-h--img{display:block;margin:4px auto 0;line-height:0}
.fvh-h--img img{width:min(100%,430px);height:auto;display:block;margin:0 auto;
  filter:drop-shadow(0 6px 14px rgba(176,52,139,.25))}
@media (min-width:768px){.fvh-h--img img{width:min(38%,460px)}}


.linelead-btn,.fvh-btn--line,.btn--lineout{position:relative;overflow:hidden;isolation:isolate}
.linelead-btn::after,.fvh-btn--line::after,.btn--lineout::after{
  content:"";position:absolute;top:-60%;left:-40%;width:34%;height:220%;z-index:1;pointer-events:none;
  background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.85) 50%,rgba(255,255,255,0) 100%);
  transform:rotate(14deg);animation:lineSweep 3.2s ease-in-out infinite}
@keyframes lineSweep{0%{left:-40%}22%{left:130%}100%{left:130%}}
.linelead-btn{animation:linePulse 2.6s ease-in-out infinite}
@keyframes linePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
html.shot .linelead-btn,html.shot .linelead-btn::after,html.shot .fvh-btn--line::after{animation:none}
@media (prefers-reduced-motion:reduce){.linelead-btn,.linelead-btn::after,.fvh-btn--line::after,.btn--lineout::after{animation:none}}


.ben-wrap{margin-top:22px;padding:0 var(--rail-l)}
.ben-grid{display:grid;grid-template-columns:1fr;gap:16px}
.ben-card{background:#fff;border-radius:14px;overflow:hidden;
  box-shadow:0 6px 20px rgba(176,52,139,.12);border:1px solid #F6DCEF}
.ben-card .th{aspect-ratio:16/9;display:block;position:relative;overflow:hidden}
.ben-card .th img{width:100%;height:100%;object-fit:cover;display:block}
.ben-card .card-kind{display:block;margin:0;padding:16px 18px 0;font-size:12px;letter-spacing:.06em;color:var(--pink-t);font-weight:700}
.ben-card .card-kind span{display:block;margin-top:4px;font-size:17px;font-weight:700;color:var(--ink);letter-spacing:.01em;line-height:1.5}
.ben-card .card-list{margin:12px 0 0;padding:0 18px 20px;list-style:none}
.ben-card .card-list li{position:relative;padding-left:18px;font-size:14px;line-height:1.75;color:#3a3142}
.ben-card .card-list li+li{margin-top:10px}
.ben-card .card-list li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:50%;
  background:linear-gradient(140deg,#F06BC5,#C75BE6)}
@media (min-width:768px){
  .ben-wrap{padding:0 var(--gut)}
  .ben-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .ben-card .card-kind{padding:20px 22px 0}
  .ben-card .card-kind span{font-size:19px}
  .ben-card .card-list{padding:0 22px 24px}
  .ben-card .card-list li{font-size:15px}
}
@media (min-width:1200px){.ben-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}}


.ben-card{position:relative;display:flex;gap:14px;align-items:flex-start;
  background:#fff;border-radius:18px;padding:20px 18px 20px 16px;border:1px solid #F7DFF0;
  box-shadow:0 8px 22px rgba(176,52,139,.10)}
.ben-no{flex:none;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(145deg,#F06BC5,#D2349F);color:#fff;font-size:19px;font-weight:900;letter-spacing:.02em;
  box-shadow:0 4px 12px rgba(210,52,159,.35)}
.ben-body{min-width:0;flex:1}
.ben-en{margin:0;font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--pink-t);text-transform:uppercase}
.ben-title{margin:2px 0 0;font-size:17px;font-weight:700;line-height:1.45;color:var(--ink);letter-spacing:.01em}
.ben-list{margin:10px 0 0;padding:0;list-style:none}
.ben-list li{position:relative;padding-left:16px;font-size:14px;line-height:1.75;color:#4a4154}
.ben-list li+li{margin-top:8px}
.ben-list li::before{content:"";position:absolute;left:0;top:.66em;width:7px;height:7px;border-radius:50%;
  background:linear-gradient(140deg,#F06BC5,#C75BE6)}
.ben-head{display:flex;align-items:center;gap:10px}
.ben-head>div{min-width:0;flex:1}
.ben-ic{order:2;flex:none;width:54px;height:auto;margin-left:auto}
@media (min-width:768px){
  .ben-card{padding:24px 22px 24px 20px;gap:16px}
  .ben-no{width:58px;height:58px;font-size:21px}
  .ben-title{font-size:20px}
  .ben-list li{font-size:15px}
  .ben-ic{width:64px}
}
@media (min-width:1200px){.ben-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}}


#benefits .row + .row .rail{display:block;overflow:visible;padding-left:var(--rail-l);padding-right:var(--rail-l)}
#benefits .row + .row .card{width:100%;max-width:none}
#benefits .row + .row .card .th{aspect-ratio:16/9}
@media (min-width:768px){
  #benefits .row + .row .rail{padding-left:var(--gut);padding-right:var(--gut)}
  #benefits .row + .row .card{display:grid;grid-template-columns:minmax(0,46%) minmax(0,1fr);gap:24px;align-items:center}
  #benefits .row + .row .card .card-kind{margin-top:0}
}


.sup-wrap{display:grid;grid-template-columns:1fr;gap:16px;padding:0 var(--rail-l);margin-top:16px}
.sup-ph{border-radius:16px;overflow:hidden;background:#fff;padding:8px;border:1px solid #F7DFF0;
  box-shadow:0 8px 22px rgba(176,52,139,.12);display:flex}
.sup-ph img{width:100%;height:auto;display:block;border-radius:10px;aspect-ratio:16/9;object-fit:cover;flex:1;min-height:0}
.sup-card{background:#fff;border-radius:18px;border:1px solid #F7DFF0;padding:20px 18px 22px;
  box-shadow:0 8px 22px rgba(176,52,139,.10)}
.sup-en{margin:0;font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--pink-t);text-transform:uppercase}
.sup-title{margin:6px 0 0;font-size:19px;font-weight:700;line-height:1.45;color:var(--ink)}
.sup-list{margin:12px 0 0;padding:0;list-style:none}
.sup-list li{position:relative;padding-left:16px;font-size:14px;line-height:1.75;color:#4a4154}
.sup-list li+li{margin-top:8px}
.sup-list li::before{content:"";position:absolute;left:0;top:.66em;width:7px;height:7px;border-radius:50%;
  background:linear-gradient(140deg,#F06BC5,#C75BE6)}
.sup-points{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 0;padding:0;list-style:none}
.sup-points li{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center}
.sup-points img{width:52px;height:52px;display:block}
.sup-points span{font-size:12px;font-weight:700;color:#4a4154;line-height:1.4}
.sup-cta{margin-top:20px;width:100%}
.sup-cta i{font-style:normal;margin-left:6px;font-size:17px}
@media (min-width:768px){
  .sup-wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;padding:0 var(--gut);align-items:stretch}
  .sup-ph img{height:100%;aspect-ratio:auto}
  .sup-card{padding:28px 30px 30px;display:flex;flex-direction:column}
  .sup-title{font-size:23px}
  .sup-list li{font-size:15px}
  .sup-points{margin-top:auto;padding-top:22px;gap:12px}
  .sup-points img{width:60px;height:60px}
  .sup-points span{font-size:13px}
  .sup-cta{width:auto;min-width:260px;align-self:flex-start;margin-top:24px}
}


.fvh-h--pivot{display:flex;flex-direction:column;align-items:center;gap:8px;margin:16px auto 0;
  background:linear-gradient(118deg,#7E2AA8 0%,#A82F9E 52%,#D0348F 100%);
  border-radius:14px;padding:18px 18px 20px;width:min(100%,560px);
  box-shadow:0 10px 26px rgba(110,30,110,.28);
  font-family:"Noto Sans JP",sans-serif;font-weight:900;line-height:1.16;letter-spacing:.01em}
.fvh-h--pivot .fvh-l1,.fvh-h--pivot .fvh-l2{color:#fff;text-shadow:none}
.fvh-h--pivot .fvh-l1{font-size:30px;display:flex;align-items:center;gap:2px}
.fvh-h--pivot .fvh-l1 em{font-style:normal;background:#fff;color:#8E2BB0;padding:2px 10px;border-radius:5px}
.fvh-h--pivot .fvh-l2{font-size:40px}
.fvh-h--pivot .fvh-badge{display:inline-flex;align-items:baseline;gap:3px;margin-top:8px;
  background:#fff;border-radius:999px;padding:7px 18px;box-shadow:0 4px 14px rgba(176,52,139,.22)}
.fvh-h--pivot .fvh-badge i{font-style:normal;font-size:13px;font-weight:900;color:#5B2A63}
.fvh-h--pivot .fvh-badge b{font-size:28px;font-weight:900;color:var(--pink);letter-spacing:0;line-height:1}
@media (min-width:768px){
  .fvh-h--pivot{gap:12px;margin-top:18px;padding:24px 28px 26px;width:min(100%,720px);border-radius:16px}
  .fvh-h--pivot .fvh-l1{font-size:44px}
  .fvh-h--pivot .fvh-l1 em{padding:3px 14px;border-radius:6px}
  .fvh-h--pivot .fvh-l2{font-size:66px}
  .fvh-h--pivot .fvh-badge{padding:9px 24px}
  .fvh-h--pivot .fvh-badge i{font-size:15px}
  .fvh-h--pivot .fvh-badge b{font-size:38px}
}


.fvh-h--boxed{display:flex;flex-direction:column;align-items:center;gap:10px;margin:22px 0 22px;max-width:100%;
  font-family:"Noto Sans JP",sans-serif;font-weight:900;line-height:1.02;letter-spacing:-.055em}
.fvh-h--boxed .l1{display:flex;align-items:center;gap:0;font-size:calc(var(--fvhs) * 1);
  transform:rotate(-3deg)}
.fvh-h--boxed .l1 em{position:relative;font-style:normal;color:#fff;padding:.035em .085em .11em .065em;z-index:0;font-size:1.26em;
  text-shadow:0 4px 0 rgba(90,20,110,.35)}
.fvh-h--boxed .l1 em::before{content:"";position:absolute;inset:0;
  background:linear-gradient(120deg,#7A22A0 0%,#65208B 100%);border-radius:3px;z-index:-1;
  box-shadow:0 10px 26px rgba(90,25,110,.30),0 2px 6px rgba(90,25,110,.22)}
.fvh-h--boxed .l1 b{color:#fff;font-weight:900;padding:0 .06em;font-size:.86em;
  text-shadow:0 4px 0 rgba(90,20,110,.35),0 0 14px rgba(120,30,120,.5)}
.fvh-h--boxed .l2{font-size:calc(var(--fvhs) * .93);color:#fff;transform:rotate(-3deg);
  text-shadow:0 5px 0 rgba(90,20,110,.35),0 10px 24px rgba(110,30,110,.5)}
:root{--fvhs:clamp(32px,11.6vw,46px)}
@media (min-width:768px){
  :root{--fvhs:86px}
  .fvh-h--boxed{margin:40px 0 16px}
}
}

}

@media (prefers-reduced-motion:reduce){
  .drawer,.drawer.is-closing,.drawer-nav a,.drawer-sep,.drawer-btns{animation:none!important;opacity:1;transform:none}
}


.five-lead{max-width:760px;margin:0 auto;padding:0 var(--rail-l);font-size:14px;line-height:1.85;color:#4a4154;text-align:center;text-wrap:pretty}
.five{display:grid;grid-template-columns:1fr;gap:12px;list-style:none;margin:20px 0 0;padding:0}
.five li{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid #F7DFF0;border-radius:16px;
  padding:16px 14px 18px;box-shadow:0 8px 22px rgba(176,52,139,.10)}
.five-no{flex:none;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(145deg,#F06BC5,#D2349F);color:#fff;font-size:17px;font-weight:900;
  box-shadow:0 4px 12px rgba(210,52,159,.32)}
.five li h3{margin:2px 0 0;font-size:17px;font-weight:700;color:var(--ink)}
.five li p{margin:8px 0 0;font-size:14px;line-height:1.8;color:#4a4154;
  word-break:normal;line-break:strict;text-wrap:pretty}
@media (min-width:768px){
  .five-lead{font-size:15px;padding:0 var(--gut)}
  .five{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:0;margin-top:26px}
  .five li{padding:22px 22px 24px}
  .five li h3{font-size:19px}
  .five li p{font-size:15px}
  .five li:nth-child(5){grid-column:1 / -1}
}


.fvh-h--boxed .l2{display:inline-flex;align-items:center;justify-content:center;gap:0;max-width:100%}
.l2-ic{height:1.34em;width:auto;flex:none;transform:rotate(10deg);margin-left:-.1em;
  filter:drop-shadow(0 4px 8px rgba(110,30,110,.4))}


.res-lead{max-width:760px;margin:0 auto 20px;padding:0 var(--rail-l);font-size:14px;line-height:1.9;text-align:center;color:#4a4154}
.res-vis{display:flex;flex-direction:column;align-items:center;gap:14px;padding:0 var(--rail-l);margin-bottom:24px}
.res-ph{width:100%;max-width:520px;height:auto;border-radius:14px;box-shadow:0 8px 22px rgba(176,52,139,.16)}
.res-logo{width:150px;height:auto}
@media (min-width:768px){
  .res-lead{font-size:15px;padding:0 var(--gut);margin-bottom:26px}
  .res-vis{flex-direction:row;justify-content:center;gap:28px;padding:0 var(--gut);margin-bottom:32px}
  .res-ph{max-width:460px}
  .res-logo{width:180px}
}


.stat-logo{height:96px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;flex:none}
.stat-logo-cs{height:96px;width:96px;border-radius:14px;object-fit:cover}
.stat-logo-hpb{width:min(100%,170px);height:auto}
@media(max-width:767px){
  .stat-logo{height:84px;margin-bottom:10px}
  .stat-logo-cs{height:84px;width:84px;border-radius:12px}
  .stat-logo-hpb{width:min(100%,136px)}
}

@media(min-width:1101px){.stat-ic{margin:20px 0 32px}}

@media(max-width:767px){.mascot--m2{--w:46px;right:6px;top:3px}}


.vc-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.vc{container-type:inline-size;background:#fff;border:1px solid #F6D3EA;border-radius:18px;overflow:hidden;
  box-shadow:0 8px 24px rgba(217,75,174,.10)}
.vc-prof{position:relative;background:linear-gradient(160deg,#FFF0FA 0%,#F9E6FF 100%);padding:52px 14px 16px}
.vc-rb{position:absolute;left:10px;top:12px;transform:rotate(-3deg);
  background:linear-gradient(90deg,#F06BC5,#C75BE6);color:#fff;font-weight:900;font-size:14px;letter-spacing:.08em;
  padding:5px 14px 6px;border-radius:6px;box-shadow:0 4px 10px rgba(199,91,230,.28);line-height:1.2}
.vc-sample{position:absolute;right:12px;top:14px;font-size:12px;font-weight:700;color:var(--vio-t);
  background:#fff;border:1px dashed #C75BE6;border-radius:999px;padding:3px 10px;line-height:1.3}
.vc-top{display:grid;grid-template-columns:104px minmax(0,1fr);gap:10px;align-items:center}
.vc-me{display:flex;flex-direction:column;align-items:center}
.vc-av{width:104px;height:104px;border-radius:50%;border:3px solid #fff;box-shadow:0 4px 12px rgba(217,75,174,.18);display:block}
.vc-name{margin-top:8px;background:#fff;color:var(--pink-t);font-weight:900;font-size:14px;line-height:1.3;
  padding:4px 10px;border-radius:999px;box-shadow:0 2px 6px rgba(217,75,174,.12);white-space:nowrap}
.vc-job{margin-top:4px;background:var(--pink);color:#fff;font-weight:700;font-size:12px;line-height:1.3;padding:2px 10px;border-radius:999px;white-space:nowrap}
.vc-bub{position:relative;background:#fff;border-radius:16px;padding:12px 12px 14px;box-shadow:0 4px 14px rgba(217,75,174,.12);text-align:center}
.vc-bub::before{content:"";position:absolute;left:-8px;top:50%;margin-top:-8px;border:8px solid transparent;border-left:0;border-right-color:#fff}
.vc-pre{display:inline-block;background:#FCE3F4;color:var(--pink-t);font-weight:900;font-size:13px;line-height:1.3;padding:3px 12px;border-radius:999px}
.vc-h{margin-top:6px;font-size:16px;font-weight:900;line-height:1.45;color:#5B1F66;letter-spacing:.01em}
.vc-h em{font-style:normal;color:var(--pink);font-size:1.3em;background:linear-gradient(transparent 70%,#FFF3A8 70%)}
.vc-boxes{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}
.vc-box{background:#fff;border-radius:14px;padding:12px;box-shadow:0 2px 8px rgba(217,75,174,.08);text-align:center}
.vc-lb{display:inline-block;background:linear-gradient(90deg,#F06BC5,#D94BAE);color:#fff;font-weight:900;font-size:13px;line-height:1.3;padding:4px 16px;border-radius:999px}
.vc-lb--vio{background:linear-gradient(90deg,#B979E5,#C75BE6)}
.vc-learn{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px;text-align:left}
.vc-learn li{display:flex;align-items:center;gap:8px;background:#FFF0FA;border-radius:999px;padding:4px 12px 4px 4px;
  font-size:14px;font-weight:700;color:#5B1F66;line-height:1.3}
.vc-learn img{width:30px;height:30px;flex:none}
.vc-box--res{display:grid;grid-template-columns:112px minmax(0,1fr);grid-template-areas:"lb lb" "il res";gap:8px 10px;align-items:center}
.vc-box--res .vc-lb{grid-area:lb;justify-self:center}
.vc-il{grid-area:il;width:112px;height:auto;border-radius:10px}
.vc-res{grid-area:res;background:linear-gradient(90deg,#F06BC5,#D94BAE);color:#fff;font-weight:900;font-size:14px;line-height:1.4;
  padding:8px 10px;border-radius:12px;box-shadow:0 4px 10px rgba(217,75,174,.25)}
.vc-res em{font-style:normal;color:#FFF16B}
.vc-body{padding:18px 18px 22px}
.vc-body p{font-size:14px;line-height:1.85;color:var(--ink)}
.vc-body p+p{margin-top:10px}
.vc-note{margin-top:12px}
@container (min-width:520px){
  .vc-prof{padding:56px 22px 20px}
  .vc-top{grid-template-columns:136px minmax(0,1fr);gap:16px}
  .vc-av{width:136px;height:136px}
  .vc-h{font-size:22px}
  .vc-boxes{grid-template-columns:1fr 1fr}
  .vc-box--res{grid-template-columns:1fr;grid-template-areas:"lb" "il" "res"}
  .vc-il{width:100%;max-width:200px;justify-self:center}
  .vc-body{padding:22px 26px 26px}
  .vc-body p{font-size:15px}
}
@media(max-width:1100px){
  .vc-list{grid-template-columns:1fr;max-width:680px;margin:0 auto}
}
@media(max-width:360px){
  .vc-prof{padding:50px 12px 14px}
  .vc-top{grid-template-columns:84px minmax(0,1fr);gap:8px}
  .vc-av{width:84px;height:84px}
  .vc-name{font-size:13px;padding:3px 8px}
  .vc-bub{padding:10px 10px 12px}
  .vc-h{font-size:15px}
  .vc-h em{font-size:1.2em}
  .vc-box--res{grid-template-columns:88px minmax(0,1fr)}
  .vc-il{width:88px}
}


.fvh-h--boxed .l2{position:relative}
.l2-ic--hand{position:absolute;left:calc(100% - .62em);top:.28em;height:1.95em;margin:0;transform:rotate(8deg);
  filter:drop-shadow(0 6px 12px rgba(110,30,110,.35))}

.vc-career{margin-top:12px;background:#fff;border-radius:999px;padding:6px 14px;text-align:center;
  font-size:13px;font-weight:700;line-height:1.5;color:var(--vio-t);box-shadow:0 2px 8px rgba(199,91,230,.10)}
.vc-points{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.vc-points li{position:relative;padding-left:20px;font-size:14px;line-height:1.7;color:var(--ink)}
.vc-points li::before{content:"";position:absolute;left:3px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--pink)}
@container (min-width:520px){.vc-career{font-size:14px}.vc-points li{font-size:15px}}
.l2-ic--hand{left:calc(100% - 1.25em);top:.42em;height:1.7em}
@media (min-width:768px){.l2-ic--hand{left:calc(100% - .95em);top:.3em;height:1.7em}}
@media (min-width:1100px){.l2-ic--hand{left:calc(100% - .62em);top:.28em;height:1.95em}}
@media (max-width:767px){
  .l2-ic--hand{left:auto;right:-.3em;top:.98em;height:1.55em}
  .fvh-h--boxed .l2-wrap-sp{display:block}
  .fvh-h--boxed .l2{margin-bottom:.62em}
}
@media (min-width:1100px){.l2-ic--hand{top:-.28em}}
@media (min-width:768px) and (max-width:1099px){.l2-ic--hand{left:calc(100% - .7em);top:-.2em;height:1.6em}}
@media (min-width:1100px){.l2-ic--hand{top:-.36em}}


@media (min-width:768px){
  .howto-panel{grid-template-columns:minmax(0,46%) 1fr;gap:40px;padding:28px 40px 28px 28px}
  .howto-movie{width:100%}
  .howto-txt{padding-right:0}
}


.card-desc{margin-top:6px;font-size:13px;line-height:1.75;color:#6a6170;letter-spacing:.02em;text-wrap:pretty}
.card-kind:has(+ .card-desc){min-height:0}
.card-kind:has(+ .card-desc) span{font-weight:700;color:var(--ink)}
.card-desc{word-break:normal;line-break:strict}

html.jw .card-desc{word-break:keep-all}


.bear-cs{position:absolute;z-index:5;pointer-events:none;width:120px;height:auto;left:calc(var(--gut) + 6px);top:-40px;
  filter:drop-shadow(0 6px 12px rgba(120,30,110,.22));transform-origin:50% 90%}
.mascot--m2{--w:140px;top:-40px}
@keyframes bearSway{0%,100%{rotate:-6deg;translate:0 0}50%{rotate:6deg;translate:0 -8px}}
html.op-run .bear-cs{animation:bearSway 2.8s ease-in-out infinite}
@media(max-width:767px){
  #voice{padding-top:118px}
  .bear-cs{width:74px;left:10px;top:12px}
  .mascot--m2{--w:88px;right:8px;top:8px}
}
@media(max-width:360px){
  #voice{padding-top:108px}
  .bear-cs{width:66px}
  .mascot--m2{--w:78px}
}
@media (prefers-reduced-motion:reduce){.bear-cs{animation:none!important}}


@keyframes kFloat{0%,100%{translate:0 0}25%{translate:5px -10px}50%{translate:0 -18px}75%{translate:-5px -9px}}
@keyframes kTwinkle{0%,100%{opacity:.45;scale:.55}45%{opacity:1;scale:1.35}60%{opacity:1;scale:1.1}}
@keyframes kSpin{0%,100%{rotate:calc(var(--rot,0deg) - 22deg)}50%{rotate:calc(var(--rot,0deg) + 22deg)}}
@keyframes kBeat{0%,100%{scale:1}12%{scale:1.22}24%{scale:.96}36%{scale:1.12}50%{scale:1}}
@keyframes kSway{0%,100%{rotate:calc(var(--rot,0deg) - 14deg)}50%{rotate:calc(var(--rot,0deg) + 14deg)}}
html.op-run .d3-star,html.op-run .d3-star.spin{animation:popBang .55s cubic-bezier(.22,1.3,.36,1) both,
  kFloat 3.2s ease-in-out infinite, kTwinkle 2.2s ease-in-out infinite, kSpin 4.6s ease-in-out infinite}
html.op-run .d3-heart{animation:popBang .55s cubic-bezier(.22,1.3,.36,1) both,
  kFloat 3.6s ease-in-out infinite, kBeat 1.8s ease-in-out infinite, kSway 4s ease-in-out infinite}
@keyframes glTwinkle{
  0%,100%{opacity:calc(var(--o,1) * .2);transform:scale(.35) rotate(0deg)}
  50%{opacity:var(--o,1);transform:scale(1.35) rotate(45deg)}
}
@keyframes glDrift{0%,100%{transform:translate(0,0)}50%{transform:translate(10px,-18px)}}

@keyframes m-float{from{transform:translateY(0) rotate(-3deg)}to{transform:translateY(-6%) rotate(3deg)}}
@media (prefers-reduced-motion:reduce){
  .d3-star,.d3-heart{animation:none!important;opacity:1}
}
@media(min-width:768px){
  #voice{padding-top:96px}
  .bear-cs{top:20px;width:112px}
  .mascot--m2{--w:132px;top:16px}
}
@media(min-width:768px) and (max-width:1100px){
  #voice{padding-top:190px}
  .bear-cs{width:100px;top:22px}
  .mascot--m2{--w:116px;top:18px}
}
html,body{overflow-x:clip}

.stat-logo-ic{height:84%;width:auto;max-width:100%;object-fit:contain}
@media(max-width:400px){.fvh-eyebrow{font-size:clamp(15px,4.9vw,20px);letter-spacing:0;padding:11px 18px;white-space:nowrap}}
.pcard-tag{min-height:25px}
@media(min-width:0px) and (max-width:767px){.pfd20,.pfd74,.pfd112,.pfd121{display:none!important}}
@media(min-width:768px) and (max-width:1100px){.pfd84,.pfd85,.pfd86,.pfd87,.pfd88,.pfd89,.pfd125,.pfd188{display:none!important}}
@media(min-width:1101px) and (max-width:9999px){.pfd97,.pfd100,.pfd117,.pfd136,.pfd144,.pfd194{display:none!important}}
