:root{--pp-50: #fdf7ff;--pp-100: #f3e8ff;--pp-200: #dec5fa;--pp-300: #b89def;--pp-400: #9c7be0;--pp-500: #7c5dcf;--pp-600: #5d3eb0;--pp-700: #3d2778;--pp-800: #2d1b4e;--pp-900: #1a0f3d;--gold: #d4a017;--gold-soft: #f0c75e;--gold-pale: #fde9b6;--pink-50: #fff5f8;--pink-100: #ffe1ec;--pink-200: #ffc4d8;--pink-300: #ffa3c1;--pink-400: #f88aa8;--pink-500: #e76590;--bg-page: #fff8fc;--paper: #fdf7ff;--text-dark: #3d2778;--text-mid: #5d4d80;--text-light:#9b8db5}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Klee One,"Noto Serif JP",serif;background:var(--bg-page);color:var(--text-dark);font-feature-settings:"palt";-webkit-font-smoothing:antialiased;line-height:1.85;overflow-x:hidden}.container{max-width:1100px;margin:0 auto;padding:0 24px}.sm-only{display:none}@media(max-width:720px){.sm-only{display:inline}}.page-hero{position:relative;padding:130px 24px 60px;background:radial-gradient(ellipse at 25% 20%,rgba(255,220,235,.85) 0%,transparent 50%),radial-gradient(ellipse at 80% 70%,rgba(220,190,250,.7) 0%,transparent 55%),linear-gradient(135deg,#ffe4ee,#f3d6f0,#ddc4f5 60%,#ffd9e8);overflow:hidden;text-align:center}.page-hero-bg{position:absolute;inset:0;pointer-events:none}.moon-emoji{position:absolute;top:14%;left:8%;font-size:48px;filter:drop-shadow(0 0 30px rgba(255,215,0,.65));animation:moon-float 6s ease-in-out infinite}@keyframes moon-float{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-8px) rotate(3deg)}}.aurora{position:absolute;border-radius:50%;filter:blur(70px);opacity:.45}.aurora.a1{top:20%;left:60%;width:320px;height:320px;background:radial-gradient(circle,rgba(255,200,220,.7) 0%,transparent 70%)}.aurora.a2{bottom:0;right:5%;width:280px;height:280px;background:radial-gradient(circle,rgba(180,140,230,.6) 0%,transparent 70%)}.sparkle{position:absolute;animation:sparkle-pulse 2.5s ease-in-out infinite}.sparkle.s1{top:26%;left:16%;font-size:18px;color:var(--gold-soft);animation-delay:.2s}.sparkle.s2{top:60%;left:88%;font-size:14px;color:var(--gold-soft);animation-delay:.8s}.sparkle.s3{top:70%;left:12%;font-size:16px;color:var(--pink-300);animation-delay:1.4s}@keyframes sparkle-pulse{0%,to{opacity:.4;transform:scale(.9) rotate(0)}50%{opacity:1;transform:scale(1.3) rotate(180deg)}}.page-hero-inner{position:relative;z-index:2;max-width:800px;margin:0 auto}.section-eyebrow{font-family:Sacramento,cursive;font-size:clamp(20px,3vw,28px);color:var(--pink-500);margin:0 0 8px}.page-title{font-family:Shippori Mincho,serif;font-size:clamp(26px,5vw,40px);font-weight:800;margin:0 0 14px;color:var(--pp-900);letter-spacing:.04em;text-shadow:0 2px 12px rgba(255,255,255,.9)}.page-sub{font-family:Klee One,serif;font-size:clamp(13px,2.4vw,15px);color:var(--text-mid);margin:0;line-height:1.95}.services{background:radial-gradient(ellipse at top,rgba(255,230,240,.6) 0%,transparent 50%),linear-gradient(180deg,#fdf7ff,#fff8fc);padding:64px 24px 80px}.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}@media(max-width:900px){.svc-grid{grid-template-columns:1fr;max-width:480px;margin:0 auto}}.svc-card{background:#fff;border-radius:24px;padding:28px 22px 24px;position:relative;box-shadow:0 12px 32px -10px #baa1e866;transition:transform .3s,box-shadow .3s;border:2px solid transparent}.svc-card.is-available{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,var(--pink-200),var(--pp-200),var(--gold-pale)) border-box}.svc-card.is-coming{opacity:.55}.svc-card.is-available:hover{transform:translateY(-8px);box-shadow:0 24px 48px -10px #ffa3c180}.rank-badge{position:absolute;top:-14px;left:16px;background:linear-gradient(135deg,#ffd96b,#d4a017);color:#fff;padding:7px 16px 7px 10px;border-radius:999px;font-weight:700;font-size:13px;display:inline-flex;align-items:center;gap:5px;box-shadow:0 6px 16px #d4a01766}.rank-1{background:linear-gradient(135deg,#ffd96b,#d4a017);box-shadow:0 6px 18px #d4a0178c;padding:8px 18px 8px 12px}.rank-1 .rank-text{font-size:14px}.rank-2{background:linear-gradient(135deg,#f1f1f5,#a8a8b8);color:var(--pp-900);box-shadow:0 6px 16px #a8a8b880}.rank-2 .rank-text{color:var(--pp-900)}.rank-3{background:linear-gradient(135deg,#e6a878,#b3743f);box-shadow:0 6px 16px #b3743f73}.rank-other{background:linear-gradient(135deg,#ffc4d8,#f88aa8);box-shadow:0 6px 16px #f88aa880}.coming-badge{background:linear-gradient(135deg,#ddd,#aaa);opacity:.6}.crown{font-size:14px}.rank-text{font-family:Shippori Mincho,serif;font-size:13px;letter-spacing:.05em}.svc-image{background:linear-gradient(135deg,var(--pp-700) 0%,var(--pp-900) 100%);border-radius:16px;aspect-ratio:1 / 1;margin:16px 0;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.svc-image.has-photo{background:none}.svc-image.has-photo:before{content:none}.svc-image-link{display:block;width:100%;height:100%}.svc-image-photo{width:100%;height:100%;object-fit:cover;display:block}.svc-image-glow{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(255,215,0,.35) 0%,transparent 60%)}.svc-image:before{content:"✦ ✧ ✦";position:absolute;top:12px;left:0;right:0;text-align:center;font-size:14px;color:var(--gold-soft);opacity:.6;letter-spacing:.5em}.svc-image-name{font-family:Shippori Mincho,serif;color:#fff;font-size:18px;font-weight:700;position:relative;text-shadow:0 2px 12px rgba(0,0,0,.5);letter-spacing:.06em}.svc-name{font-family:Shippori Mincho,serif;font-size:18px;font-weight:700;margin:0 0 6px;color:var(--pp-900)}.svc-catch{font-family:Klee One,serif;font-size:13px;color:var(--pink-500);margin:0 0 14px}.svc-table{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:14px}.svc-table th,.svc-table td{padding:7px 4px;border-bottom:1px dashed rgba(220,197,250,.5);text-align:left}.svc-table th{color:var(--text-light);font-weight:500;width:40%}.svc-table td{color:var(--text-dark);font-weight:600}.svc-desc{font-size:12.5px;color:var(--text-mid);line-height:1.95;margin:0 0 18px;font-family:Klee One,serif}.svc-cta{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;background:linear-gradient(135deg,var(--pink-400) 0%,var(--pp-500) 100%);color:#fff;text-decoration:none;border-radius:999px;font-family:Shippori Mincho,serif;font-weight:700;font-size:14px;transition:all .3s;box-shadow:0 8px 18px -4px #f88aa880;letter-spacing:.05em}.svc-cta:hover{transform:translateY(-3px);box-shadow:0 12px 26px -4px #f88aa8b3}.svc-cta.disabled{background:#e5e0f0;color:#999;box-shadow:none}.svc-detail{display:block;text-align:center;margin-top:10px;font-family:Shippori Mincho,serif;font-size:12px;color:var(--pp-600);text-decoration:none;letter-spacing:.04em}.svc-detail:hover{color:var(--pink-500);text-decoration:underline}.cta-arrow{font-family:Cormorant Garamond,serif;font-style:italic;font-size:18px;transition:transform .3s}.bookmark-msg{margin:56px auto 0;max-width:640px;padding:28px 24px 22px;background:linear-gradient(135deg,#fffffff2,#fff1f8f2);border:1.5px dashed var(--pink-300);border-radius:20px;text-align:center;position:relative}.bookmark-msg:before,.bookmark-msg:after{content:"✦";position:absolute;color:var(--gold-soft);font-size:18px;opacity:.7}.bookmark-msg:before{top:10px;left:14px}.bookmark-msg:after{bottom:10px;right:14px}.bm-icon{font-size:32px;margin:0 0 8px}.bm-text{font-family:Klee One,serif;font-size:14px;color:var(--text-dark);line-height:1.95;margin:0 0 14px}.bm-text strong{color:var(--pp-700);font-weight:700}.bm-hint{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--text-mid);margin:0}.bm-hint kbd{display:inline-block;padding:3px 8px;background:#fff;border:1px solid var(--pp-200);border-bottom-width:2px;border-radius:6px;font-family:Klee One,system-ui,monospace;font-size:12px;color:var(--pp-700);margin:0 2px}.bm-sep{color:var(--text-light)}.services-foot{margin-top:56px;text-align:center;display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.more-link{display:inline-flex;align-items:center;gap:12px;padding:16px 32px;background:#fff;color:var(--pp-700);border:2px solid var(--gold);border-radius:999px;text-decoration:none;font-family:Shippori Mincho,serif;font-size:14px;font-weight:700;transition:all .3s;box-shadow:0 6px 18px -4px #d4a0174d}.more-link:hover{background:linear-gradient(135deg,#ffd96b,#f0c75e);color:var(--pp-800);transform:translateY(-2px);box-shadow:0 12px 26px -4px #d4a01780}.more-link-alt{border-color:var(--pink-300);box-shadow:0 6px 18px -4px #ffa3c14d}.more-link-alt:hover{background:linear-gradient(135deg,#ffe1ec,#ffc4d8);box-shadow:0 12px 26px -4px #ffa3c180}.ml-icon{font-size:18px}.compare-section{padding:56px 24px 8px;background:radial-gradient(ellipse at 80% 0%,rgba(255,230,240,.5) 0%,transparent 50%),linear-gradient(180deg,#fff8fc,#fdf7ff)}.compare-intro{text-align:center;margin-bottom:28px}.compare-title{font-family:Shippori Mincho,serif;font-size:clamp(22px,4vw,32px);font-weight:800;color:var(--pp-900);margin:4px 0 10px;letter-spacing:.06em}.compare-sub{font-family:Klee One,serif;font-size:14px;color:var(--text-mid);margin:0;line-height:1.85}.compare-wrap{position:relative;border-radius:24px;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,var(--pink-200),var(--pp-200),var(--gold-pale)) border-box;border:2px solid transparent;box-shadow:0 16px 40px -16px #baa1e866;padding:6px}.compare-wrap:before,.compare-wrap:after{content:"✦";position:absolute;color:var(--gold-soft);font-size:14px;opacity:.75;z-index:2}.compare-wrap:before{top:10px;left:14px}.compare-wrap:after{bottom:10px;right:14px}.scroll-hint{text-align:center;font-size:14px;color:var(--pink-500);font-family:Sacramento,cursive;padding:6px 0 0;letter-spacing:.15em}.compare-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:18px;scrollbar-width:thin;scrollbar-color:var(--pp-200) transparent}.compare-scroll::-webkit-scrollbar{height:6px}.compare-scroll::-webkit-scrollbar-thumb{background:var(--pp-200);border-radius:999px}.compare-table{width:100%;border-collapse:separate;border-spacing:0;font-family:Klee One,serif;background:#fff;min-width:760px}.compare-table thead th{font-family:Shippori Mincho,serif;font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--pp-700);background:linear-gradient(180deg,#fdf7ff,#f3e8ff);padding:14px 12px;text-align:left;border-bottom:2px solid var(--pp-200);white-space:nowrap}.compare-table thead th:first-child{padding-left:22px;border-top-left-radius:18px}.compare-table thead th:last-child{padding-right:22px;border-top-right-radius:18px}.compare-table tbody td{padding:18px 12px;font-size:13px;color:var(--text-dark);vertical-align:middle}.compare-table tbody td:first-child{padding-left:22px}.compare-table tbody td:last-child{padding-right:22px}.compare-table tbody tr{box-shadow:inset 0 -1px #dcc5fa80;transition:background .2s}.compare-table tbody tr:last-child{box-shadow:none}.compare-table tbody tr.is-on:hover td{background:#fdf7ffb3}.compare-table tbody tr.is-off td{color:var(--text-light);opacity:.75}.cell-name{display:flex;align-items:center;gap:12px;min-width:220px}.rank-pill{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-family:Shippori Mincho,serif;font-weight:800;font-size:13px;color:#fff;letter-spacing:0}.rank-pill-1{background:linear-gradient(135deg,#ffd96b,#d4a017);box-shadow:0 3px 10px #d4a01780,inset 0 -2px 4px #0000001a}.rank-pill-2{background:linear-gradient(135deg,#f1f1f5,#a8a8b8);color:var(--pp-900);box-shadow:0 3px 10px #a8a8b873,inset 0 -2px 4px #00000014}.rank-pill-3{background:linear-gradient(135deg,#e6a878,#b3743f);box-shadow:0 3px 10px #b3743f66,inset 0 -2px 4px #0000001a}.rank-pill-other{background:linear-gradient(135deg,var(--pink-200) 0%,var(--pink-400) 100%);color:#fff;box-shadow:0 3px 8px #f88aa859;font-size:12px}.rank-pill-off{background:#e5e0f0;color:#999;font-size:11px}.cell-thumb{width:48px;height:48px;border-radius:12px;object-fit:cover;flex-shrink:0;box-shadow:0 4px 12px -4px #baa1e873}.cell-thumb-ph{display:flex;align-items:center;justify-content:center;font-size:22px;background:linear-gradient(135deg,var(--pp-700) 0%,var(--pp-900) 100%);color:var(--gold-soft)}.cell-name-text{font-family:Shippori Mincho,serif;font-weight:700;font-size:13.5px;color:var(--pp-900);line-height:1.4;letter-spacing:.02em}.cell-mono{font-variant-numeric:tabular-nums}.cell-bonus{min-width:150px;position:relative}.cell-bonus .bonus-text{font-weight:700;color:var(--pp-800);display:block;font-size:13px}.winner{display:inline-block;background:linear-gradient(135deg,#ffd96b,#d4a017);color:#fff;font-family:Shippori Mincho,serif;font-size:10px;font-weight:700;padding:2px 9px;border-radius:999px;letter-spacing:.1em;box-shadow:0 3px 8px #d4a01759;margin-bottom:5px}.cell-cta{text-align:right}.row-cta{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;background:linear-gradient(135deg,var(--pink-400) 0%,var(--pp-500) 100%);color:#fff;text-decoration:none;border-radius:999px;font-family:Shippori Mincho,serif;font-weight:700;font-size:12px;letter-spacing:.06em;white-space:nowrap;box-shadow:0 6px 14px -4px #f88aa880;transition:transform .25s,box-shadow .25s}.row-cta:hover{transform:translateY(-2px);box-shadow:0 10px 22px -4px #f88aa8a6}.row-cta .cta-arrow{font-family:Cormorant Garamond,serif;font-style:italic;font-size:16px}.row-cta.disabled{background:#ece6f4;color:#a39bb6;box-shadow:none;cursor:default}.compare-note{text-align:center;font-size:11px;color:var(--text-light);margin:14px 0 0;font-family:Klee One,serif;letter-spacing:.04em}@media(max-width:720px){.compare-section{padding:40px 16px 8px}.compare-wrap{border-radius:18px;padding:4px}.compare-wrap:before,.compare-wrap:after{font-size:12px}.compare-wrap:before{top:6px;left:10px}.compare-wrap:after{bottom:6px;right:10px}.compare-table thead th{font-size:11px;padding:10px}.compare-table tbody td{padding:14px 10px;font-size:12px}.compare-table{min-width:660px}.cell-thumb{width:40px;height:40px}.cell-name{min-width:180px;gap:8px}.cell-name-text{font-size:12.5px}.rank-pill{width:24px;height:24px;font-size:11px}.row-cta{padding:8px 14px;font-size:11px}}.site-footer{background:var(--pp-800);color:var(--pp-100);padding:32px 24px;text-align:center;font-size:12px;line-height:1.9}.site-footer p{margin:4px 0}.site-footer a{color:var(--pink-200);text-decoration:none}.site-footer a:hover{color:var(--gold-soft);text-decoration:underline}
