: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}.container.narrow{max-width:760px}.lg-only{display:inline}@media(max-width:720px){.lg-only{display:none}}.site-header{position:absolute;top:0;left:0;right:0;z-index:50;padding:18px 24px}.header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-moon{font-size:28px;filter:drop-shadow(0 0 12px rgba(255,215,0,.6));animation:brand-float 4s ease-in-out infinite}@keyframes brand-float{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-3px) rotate(5deg)}}.brand-jp{display:block;font-family:Shippori Mincho,serif;font-weight:700;font-size:19px;color:var(--pp-800);letter-spacing:.18em;line-height:1.1}.brand-en{display:block;font-family:Sacramento,cursive;font-size:16px;color:var(--pink-500);margin-top:2px;line-height:1}.site-nav{display:flex;gap:24px;align-items:center}.site-nav a{color:var(--pp-700);text-decoration:none;font-family:Shippori Mincho,serif;font-size:13px;font-weight:600;letter-spacing:.1em;transition:opacity .2s}.site-nav a:hover{opacity:.7}.nav-fav{background:linear-gradient(135deg,#fff,#ffe1ec);color:var(--pink-500)!important;padding:7px 16px!important;border-radius:999px!important;font-size:12px!important;font-weight:700!important;box-shadow:0 4px 16px #e765904d}.star-mark{color:var(--gold)}@media(max-width:720px){.site-nav a:not(.nav-fav){display:none}.brand-jp{font-size:17px}.brand-en{font-size:14px}}.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}.guide{background:linear-gradient(180deg,white 0%,var(--pp-50) 100%);padding:64px 24px 80px}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}@media(max-width:720px){.guide-grid{grid-template-columns:1fr;max-width:480px;margin:0 auto}}.guide-card{background:linear-gradient(180deg,var(--paper) 0%,var(--pink-50) 100%);border-radius:24px;padding:32px 24px;position:relative;text-align:center;border:1px solid rgba(220,197,250,.4)}.guide-num{font-family:Italiana,serif;color:var(--gold);font-size:18px;letter-spacing:.2em;margin-bottom:12px}.guide-icon{font-size:44px;margin-bottom:12px}.guide-card h3{font-family:Shippori Mincho,serif;font-size:18px;margin:0 0 14px;color:var(--pp-800);font-weight:700}.guide-card p{font-size:13px;color:var(--text-mid);line-height:2;margin:0;text-align:left;font-family:Klee One,serif}.guide-card strong{color:var(--pink-500);font-weight:700}.intro{background:linear-gradient(180deg,white 0%,var(--pp-50) 100%);padding:56px 24px 0}.intro-text{font-family:Klee One,serif;font-size:15px;line-height:2.05;color:var(--text-dark);margin:0;background:linear-gradient(135deg,#fffffff2,#fff1f8d9);padding:28px 26px;border-radius:20px;border-left:4px solid var(--pink-300);box-shadow:0 8px 24px -10px #baa1e84d}.intro-text strong{color:var(--pp-700);font-weight:700}.guide{padding:56px 24px 72px}.step-eyebrow{font-family:Sacramento,cursive;font-size:clamp(18px,2.6vw,24px);color:var(--pink-500);text-align:center;margin:0 0 6px}.block-title{font-family:Shippori Mincho,serif;font-size:clamp(22px,3.6vw,30px);font-weight:800;text-align:center;margin:0 0 12px;color:var(--pp-900);letter-spacing:.05em}.block-title:before,.block-title:after{content:"✦";color:var(--gold);font-size:.55em;margin:0 12px;opacity:.7;vertical-align:middle}.block-lead{text-align:center;font-family:Klee One,serif;font-size:14px;color:var(--text-mid);margin:0 0 36px;line-height:1.95}.block-note{font-size:12px;color:var(--text-light);text-align:center;margin:16px 0 0;line-height:1.7}.block{padding:64px 24px;background:linear-gradient(180deg,#fff,#fff8fc)}.block.alt{background:linear-gradient(180deg,var(--pink-50) 0%,var(--pp-50) 100%)}.table-wrap{overflow-x:auto;border-radius:16px;box-shadow:0 12px 28px -10px #baa1e859}.cmp-table{width:100%;border-collapse:collapse;background:#fff;font-size:14px;min-width:560px}.cmp-table th,.cmp-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--pink-100)}.cmp-table thead{background:linear-gradient(135deg,var(--pink-100) 0%,var(--pp-100) 100%)}.cmp-table th{font-family:Shippori Mincho,serif;color:var(--pp-800);font-weight:700;font-size:13px;letter-spacing:.05em}.cmp-table td{color:var(--text-dark);font-family:Klee One,serif;line-height:1.7}.cmp-table td strong{color:var(--pink-500);font-weight:700}.cmp-table tbody tr:hover{background:var(--pink-50)}.cmp-table tbody tr:last-child td{border-bottom:none}.topic-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}@media(max-width:720px){.topic-grid{grid-template-columns:1fr}}.topic-card{background:#fff;border-radius:18px;padding:26px 24px;border:1.5px solid rgba(220,197,250,.4);box-shadow:0 8px 22px -10px #baa1e84d;transition:transform .3s,box-shadow .3s}.topic-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px -10px #ffa3c166}.topic-icon{font-size:32px;margin-bottom:10px}.topic-card h3{font-family:Shippori Mincho,serif;font-size:17px;font-weight:700;color:var(--pp-800);margin:0 0 10px}.topic-card p{font-family:Klee One,serif;font-size:13.5px;line-height:1.95;color:var(--text-mid);margin:0}.topic-card strong{color:var(--pink-500);font-weight:700}.check-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}.check-list li{background:#fff;padding:22px 24px 22px 22px;border-radius:16px;border:1.5px solid rgba(220,197,250,.4);box-shadow:0 6px 18px -8px #baa1e84d;display:flex;gap:18px;align-items:flex-start}.check-num{flex:0 0 auto;width:38px;height:38px;background:linear-gradient(135deg,var(--pink-400) 0%,var(--pp-500) 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Italiana,serif;font-size:18px;box-shadow:0 4px 12px -2px #f88aa880}.check-list h4{font-family:Shippori Mincho,serif;font-size:16px;font-weight:700;color:var(--pp-800);margin:0 0 6px}.check-list p{font-family:Klee One,serif;font-size:13.5px;line-height:1.9;color:var(--text-mid);margin:0}.check-list strong{color:var(--pink-500);font-weight:700}.prep-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}@media(max-width:720px){.prep-grid{grid-template-columns:1fr}}.prep-card{background:#fff;padding:26px 22px;border-radius:18px;border:1.5px solid rgba(220,197,250,.4);box-shadow:0 8px 20px -10px #baa1e84d;position:relative}.prep-num{position:absolute;top:-14px;left:18px;width:32px;height:32px;background:linear-gradient(135deg,#ffd96b 0%,var(--gold) 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Italiana,serif;font-size:16px;box-shadow:0 4px 10px -2px #d4a01780}.prep-card h3{font-family:Shippori Mincho,serif;font-size:16px;font-weight:700;color:var(--pp-800);margin:6px 0 10px}.prep-card p{font-family:Klee One,serif;font-size:13px;line-height:1.95;color:var(--text-mid);margin:0}.prep-card strong{color:var(--pink-500);font-weight:700}.warn-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.warn-list li{position:relative;padding:18px 22px 18px 50px;background:linear-gradient(135deg,#fff5f8,#fff);border-radius:14px;border-left:4px solid var(--pink-400);font-family:Klee One,serif;font-size:14px;line-height:1.95;color:var(--text-dark)}.warn-list li:before{content:"⚠️";position:absolute;top:18px;left:16px;font-size:18px}.warn-list strong{color:var(--pink-500);font-weight:700}.faq-list{display:flex;flex-direction:column;gap:12px}.faq-item{background:#fff;border-radius:14px;border:1.5px solid rgba(220,197,250,.4);box-shadow:0 4px 14px -6px #baa1e84d;overflow:hidden}.faq-item summary{cursor:pointer;padding:18px 50px 18px 24px;font-family:Shippori Mincho,serif;font-size:15px;font-weight:700;color:var(--pp-800);list-style:none;position:relative;line-height:1.5}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"＋";position:absolute;right:22px;top:50%;transform:translateY(-50%);color:var(--pink-500);font-size:18px;font-weight:700;transition:transform .3s}.faq-item[open] summary:after{content:"−";transform:translateY(-50%) scale(1.2)}.faq-item summary:hover{background:var(--pink-50)}.faq-item p{margin:0;padding:0 24px 22px;font-family:Klee One,serif;font-size:14px;line-height:1.95;color:var(--text-mid)}.faq-item strong{color:var(--pink-500);font-weight:700}.closing{text-align:center;padding:40px 28px;background:linear-gradient(135deg,#fffffff2,#fff1f8f2 60%,#dcc9fad9),radial-gradient(ellipse at top,rgba(255,215,0,.15) 0%,transparent 60%);border-radius:24px;border:1.5px dashed var(--pink-300)}.closing-eyebrow{font-family:Sacramento,cursive;font-size:24px;color:var(--pink-500);margin:0 0 8px}.closing-title{font-family:Shippori Mincho,serif;font-size:clamp(20px,3.4vw,26px);font-weight:800;color:var(--pp-900);margin:0 0 14px;letter-spacing:.04em}.closing-text{font-family:Klee One,serif;font-size:14px;color:var(--text-mid);margin:0 0 24px;line-height:1.95}.services-foot{margin-top:56px;text-align: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}.ml-icon{font-size:18px}.cta-arrow{font-family:Cormorant Garamond,serif;font-style:italic;font-size:18px;transition:transform .3s}.more-link:hover .cta-arrow{transform:translate(4px)}.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}
