/* Mobile */

.sp{display:none}
@media (max-width:767px){
  .page{display:none}
  .sp{display:block}
  body{background:#000}
}

.sp{
  --yellow:#FFCD05;
  font-family:'Hiragino Sans','Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif;
  color:#fff;line-height:1.6;overflow-x:clip;
  -webkit-text-size-adjust:100%;text-size-adjust:100%;
}
.sp *{box-sizing:border-box}
:where(.sp) :where(h1,h2,h3,h4,p,ul){margin:0;padding:0}
:where(.sp) img{display:block;max-width:none}
:where(.sp) a{color:inherit;text-decoration:none}
.sp em{font-style:normal;color:var(--yellow)}
.sp-nowrap{white-space:nowrap}
.sp .sp-center{text-align:center}
.sp .sp-card-note.sp-center{padding:0}

/* Buttons */
.sp-btn{display:flex;align-items:center;justify-content:center;border-radius:999px;font-weight:700;transition:background-color .2s,opacity .2s}
.sp-btn-yellow{background:var(--yellow);color:#1A1A1A;box-shadow:0 4px 4px rgba(0,0,0,.25)}
.sp-btn-yellow:active{background:#FFDB4B}
.sp-btn-white{background:#F4F4F4;color:#1A1A1A;box-shadow:0 4px 4px rgba(0,0,0,.25)}
.sp-btn-white:active{background:#DDDDDD}
.sp-btn-outline{border:1.5px solid #6B6B6B;color:#fff}
.sp-btn-lg{height:48px;margin:0 32px;font-size:16px;letter-spacing:.05em}

/* Header */
.sp-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;height:68px;margin-bottom:35px;padding:0 16px;background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.sp-logo{font-family:'Helvetica Neue',Arial,sans-serif;font-weight:700;font-size:23px;letter-spacing:-.01em;line-height:1}
.sp-header-cta{margin-left:auto;height:28px;padding:0 15px;border:1px solid #fff;border-radius:999px;font-size:12px;font-weight:700;display:flex;align-items:center}
.sp-menu-btn{width:34px;height:34px;margin:0 -8px 0 10px;padding:8px;background:none;border:0;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer}
.sp-menu-btn span{display:block;height:2px;background:#fff;border-radius:1px;transition:transform .3s,opacity .3s}
.sp-menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.sp-menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.sp-menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.sp-menu{position:fixed;inset:68px 0 auto 0;z-index:19;display:flex;flex-direction:column;gap:4px;padding:16px 16px 28px;background:rgba(0,0,0,.96);
  opacity:0;visibility:hidden;translate:0 -8px;transition:opacity .25s,translate .25s,visibility .25s}
.sp-menu.is-open{opacity:1;visibility:visible;translate:0 0}
.sp-menu a{padding:14px 4px;font-size:16px;font-weight:700;border-bottom:1px solid #2A2A2A}
.sp-menu .sp-btn{margin-top:16px;height:48px;border:0;padding:0}
@media (max-width:767px){html{scroll-padding-top:76px}}

/* Hero */
.sp-hero{background:#000;padding:15px 0 60px}
.sp-hero-title{padding:0 16px;font-size:28px;font-weight:700;line-height:43px;letter-spacing:.02em}
.sp-hero-visual{width:auto;height:320px;height:clamp(200px,calc(100svh - 433px),320px);aspect-ratio:394/320;margin:7px 0 0;position:relative;left:50%;transform:translateX(-50%);object-fit:contain}
.sp-hero-text{margin-top:11px;font-size:14px;line-height:24.5px;letter-spacing:.06em;text-align:center}
.sp-hero-note{margin:22px 0 5px;font-size:14px;letter-spacing:.06em;text-align:center}

/* Marquee */
.sp-band{height:40px;background:#E5E5E5;overflow:hidden;display:flex;align-items:center}
.sp-band-track{display:flex;white-space:nowrap;font-size:15px;font-weight:700;color:#1A1A1A;width:max-content;will-change:transform;animation:sp-marquee 20s linear infinite}
.sp-band-group{display:flex;flex-shrink:0;gap:24px;padding-right:24px}
@keyframes sp-marquee{to{transform:translateX(-50%)}}

/* Fee */
.sp-fee{background:#444;text-align:center;padding:16px 0 18px;box-shadow:0 8px 10px rgba(0,0,0,.25);position:relative}
.sp-fee-lead{font-size:14px;line-height:20px}
.sp-fee-title{margin-top:12px;font-size:18px;font-weight:700;line-height:24px}

/* Plans */
.sp-plans{background:linear-gradient(180deg,#EDEDED,#D9D9D9);color:#1A1A1A;padding:22px 0 50px;text-align:center}
.sp-plans-title{font-size:18px;font-weight:700;color:#555;line-height:26px}
.sp-dots{display:flex;justify-content:center;gap:16px;margin:16px 0 18px}
.sp-dots i{width:8px;height:8px;border-radius:50%;background:#fff;transition:background-color .3s}
.sp-dots i.is-on{background:#999}
.sp-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.sp-carousel::-webkit-scrollbar{display:none}
.sp-plan-list{gap:8px;padding:0 16px 8px}
.sp-plan{flex:0 0 min(358px,calc(100vw - 32px));scroll-snap-align:center;min-height:408px;background:#F5F5F5;border-radius:24px;box-shadow:0 4px 8px rgba(0,0,0,.15);padding:30px 22px 24px;color:#000105}
.sp-plan h3{font-size:16px;font-weight:700;line-height:24px}
.sp-pill{display:flex;align-items:center;justify-content:center;height:48px;margin:16px 22px 0;border-radius:999px;background:var(--yellow);font-size:18px;font-weight:700;color:#000105}
.sp-plan-lead{margin-top:20px;font-size:16px;font-weight:700;line-height:27px}
.sp-plan ul{list-style:none;margin:24px 0 0;display:inline-flex;flex-direction:column;gap:8px;text-align:left}
.sp-plan li{position:relative;padding-left:26px;font-size:14px;line-height:21px}
.sp-plan li::before{content:"";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:4px;background:#444 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 13.58 10.02'%3E%3Cpath d='M4.75 10.02L0 5.27 1.19 4.08 4.75 7.65 12.4 0l1.19 1.19z' fill='%23FFCD05'/%3E%3C/svg%3E") center/13.6px 10px no-repeat}
.sp-note{margin-top:10px;font-size:11px;line-height:16px;color:#333}
.sp-note-dark{color:#ddd}

/* Worries */
.sp-worries{background:#1C1C1C;text-align:center;padding:36px 0 30px;font-size:13px;font-weight:700;line-height:18px}
.sp-worries p+p{margin-top:12px}
.sp-worries .sp-worries-main{font-size:20px;line-height:28px;letter-spacing:.06em;margin-bottom:26px}

/* Features */
.sp-features{background:#111;padding:72px 16px 64px;text-align:center}
.sp-features-title{font-family:'Helvetica Neue',Arial,sans-serif;font-size:36px;font-weight:700;line-height:44px;letter-spacing:-.01em}
.sp-features-title small{font-family:'Hiragino Sans','Noto Sans JP',sans-serif;font-size:16px}
.sp-features-sub{margin-top:0;font-size:16px;line-height:24px}
.sp-card{background:#222;border-radius:20px;padding:24px 16px 40px;margin-top:20px}
.sp-features-sub+.sp-card{margin-top:17px}
.sp-card+.sp-card{margin-top:16px}
.sp-card-body,.sp-card-note{text-wrap:balance}
.sp-card img{margin:0 auto}
.sp-card-img-1{width:214px;height:291px;margin-bottom:6px!important}
.sp-card-img{width:140px;height:280px;margin-bottom:12px!important}
.sp-card h3{font-size:26px;font-size:min(26px,calc((100vw - 64px) / 12.4));font-weight:700;line-height:36px;letter-spacing:.02em}
.sp-card-body{margin-top:16px;font-size:15px;line-height:25px;text-align:center}
.sp-card-note{margin-top:6px;padding:0;font-size:12px;line-height:19px;color:#AAA;text-align:center}

/* SNS */
.sp-sns{background:linear-gradient(180deg,#E8E8E8,#DADADA);color:#000;padding:97px 16px 96px}
.sp-sns-lead{text-align:center;font-size:16px;font-weight:600;line-height:21px}
.sp-sns-title{margin-top:10px;text-align:center;font-size:24px;font-weight:700;line-height:40px}
.sp-sns-row{display:flex;gap:0;margin-top:36px;max-width:358px;margin-left:auto;margin-right:auto}
.sp-sns-row-1{align-items:flex-start}
.sp-sns-row-2{align-items:flex-start;margin-top:33px;padding-left:22px;gap:16px}
.sp-sns-col h3{font-size:20px;font-weight:700;line-height:31px}
.sp-sns-col p{margin-top:6px;font-size:14px;line-height:21.7px}
.sp-sns-row-1 .sp-sns-col{flex:1 1 194px;min-width:0;margin-right:10px}
.sp-sns-col h3{white-space:nowrap}
.sp-sns-row-1 .sp-sns-col p{margin-top:8px}
.sp-sns-logo{width:124px;height:44px;margin-top:8px}
.sp-sns-phone-1{width:151px;height:232px;margin-top:33px;flex-shrink:0}
.sp-sns-phone-2{width:115px;height:231px;flex-shrink:0}
.sp-sns-row-2 .sp-sns-col{flex:1;padding-top:23px}
.sp-sns-row-2 .sp-sns-col p{margin-top:8px}

/* Area */
.sp-area{background:linear-gradient(180deg,#000 30%,#2A2A2A);padding:73px 0 56px;text-align:center}
.sp-area-icon{width:48px;height:48px;margin:0 auto}
.sp-area-title{margin-top:22px;font-size:22px;font-weight:700;line-height:39px}
.sp-area-text{margin:22px 40px 0;font-size:14px;line-height:22px;text-align:left}
.sp-area-dashboard{width:358px;height:192px;margin:24px auto 0}
.sp-area-note{margin:2px 16px 0;font-size:12px;font-weight:400;line-height:16px;color:#F0F0F0;text-align:right}
.sp-area-lead{margin-top:34px;font-size:14px;line-height:20px}
.sp-area-sub{margin-top:8px;font-size:18px;font-weight:600;line-height:26px}
.sp-dots-dark{margin:18px 0 14px}
.sp-dots-dark i{background:#777}
.sp-dots-dark i.is-on{background:#fff}
.sp-area-list{gap:16px;padding:0 calc(50% - 140px) 8px}
.sp-aplan{flex:0 0 280px;scroll-snap-align:center;height:240px;border-radius:16px;padding:32px 32px 24px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 0 24px rgba(255,255,255,.06);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.sp-aplan h4{font-size:18px;font-weight:700;line-height:26px}
.sp-aplan .sp-pill{margin:18px 0 0;height:46px;font-size:18px}
.sp-aplan-text{margin-top:24px;font-size:15px;line-height:27px;text-align:center}

/* Stores */
.sp-stores{background:#161616;padding:108px 16px 56px;text-align:center}
.sp-stores-lead{font-size:14px;line-height:20px}
.sp-stores-title{margin-top:8px;font-size:22px;font-weight:700;line-height:32px}
.sp-stores-flow{position:relative;height:232px;margin-top:23px}
.sp-stores-steps{position:absolute;left:calc(50% - 193px);top:0;width:386px;height:121px}
.sp-stores-map{position:absolute;left:calc(50% - 140px);top:105px;width:280px;height:144px}
.sp-stores-flow p{position:absolute;left:0;right:0;top:165px;font-size:18px;font-weight:700;line-height:26px}
.sp-line{border:0;border-top:1px solid #6B6B6B;margin:39px 0 0}

/* Compare */
.sp-compare{background:#0A0A0A;padding:62px 0 67px}
.sp-compare-title{text-align:center;font-size:22px;font-weight:700;line-height:37px}
.sp-compare-scroll{display:flex;margin-top:32px;overflow-x:auto;scrollbar-width:none;padding-left:16px}
.sp-compare-scroll::-webkit-scrollbar{display:none}
.sp-compare-scroll img{width:702px;height:216px;margin-right:16px}
/* Compare scrollbar */
.sp-compare-bar{position:relative;height:4px;margin:14px 16px 0;border-radius:2px;background:#333;touch-action:none}
.sp-compare-bar i{position:absolute;top:-4px;bottom:-4px;left:0;width:40%;border-radius:6px;background:#8A8A8A;background-clip:content-box;padding:4px 0;cursor:grab}
.sp-compare-text{margin:16px 16px 0;font-size:10px;line-height:18px}

/* FAQ */
.sp-faq{background:#2B2B2B;padding:49px 16px 40px;text-align:center}
.sp-faq-title{font-size:20px;font-weight:600;line-height:28px;margin-bottom:35px}
.sp-faq-item{background:#1C1C1C;border-radius:16px;text-align:left;overflow:hidden}
.sp-faq-item+.sp-faq-item{margin-top:18px}
.sp-faq-q{position:relative;display:block;width:100%;min-height:62px;padding:16px 52px 16px 16px;background:none;border:0;color:#fff;font:inherit;font-size:15px;font-weight:700;line-height:28px;text-align:left;cursor:pointer}
.sp-faq-q::after{content:"";position:absolute;right:22px;top:50%;width:9px;height:9px;margin-top:-2px;border-left:2px solid var(--yellow);border-top:2px solid var(--yellow);transform:rotate(45deg);transition:transform .35s}
.sp-faq-item:not(.is-open) .sp-faq-q::after{transform:rotate(225deg);margin-top:-7px}
.sp-faq-a{display:grid;grid-template-rows:1fr;transition:grid-template-rows .35s}
.sp-faq-item:not(.is-open) .sp-faq-a{grid-template-rows:0fr}
.sp-faq-a p{overflow:hidden;margin:0;padding:0 16px;border-top:2px solid #2B2B2B;font-size:14px;line-height:22.5px;color:#DDD}
.sp-faq-a p::before,.sp-faq-a p::after{content:"";display:block;height:20px}
.sp-faq-a p::after{height:33px}
.sp-faq-contact{width:194px;height:37px;margin:25px auto 0;font-size:14px}

/* Account */
.sp-account{background:#161616;padding:66px 0 65px;text-align:center}
.sp-account-title{font-size:17px;font-weight:700;line-height:26px;margin-bottom:18px}
.sp-account-note{margin-top:18px;font-size:10px;line-height:16px}
.sp-account .sp-line{margin:57px 16px 0}
.sp-app-title{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;font-size:15px;font-weight:700}
.sp-app-title img{width:40px;height:40px}
.sp-app-note{margin-top:14px;font-size:10px;line-height:16px}
.sp-app-btn{height:40px;margin:11px 32px 0;font-size:15px}
.sp-app-btn+.sp-app-btn{margin-top:15px;height:48px}

/* Footer */
.sp-footer{background:#222;padding:26px 16px 30px}
.sp-footer-logo{font-family:'Helvetica Neue',Arial,sans-serif;font-size:28px;font-weight:700;line-height:32px}
.sp-footer-text{margin-top:4px;font-size:10px;line-height:16px}

/* Reveal */
.sp-anim{opacity:0;translate:0 28px;transition:opacity .8s cubic-bezier(.22,.61,.36,1),translate .8s cubic-bezier(.22,.61,.36,1)}
.sp-anim.is-in{opacity:1;translate:0 0}
@media (prefers-reduced-motion:reduce){.sp-anim{opacity:1;translate:none;transition:none}.sp-band-track{animation:none}}
