*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:#F6F1E6;color:#1E1622;font:17px/1.8 "Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif}
a{color:#8A2897;text-underline-offset:3px}a:hover{color:#4A1358}
h1,h2,h3,.serif{font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif;font-weight:700;line-height:1.3;margin:0}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
header.top{background:#2A0A33;color:#F4EEDF}header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;color:#F4EEDF;text-decoration:none;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:700;font-size:22px}
.brand img{width:36px;height:36px;border-radius:8px}
nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}nav a{color:#F4EEDF;text-decoration:none;font-size:15px}nav a:hover{color:#E7B6EE;text-decoration:underline}
nav .lang{border:1px solid #C58BCF;border-radius:999px;padding:4px 14px}
.hero{background:radial-gradient(ellipse 900px 700px at 70% 55%,#7A2587 0,transparent 70%),#2A0A33;color:#F4EEDF;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:32px;align-items:center;padding-top:64px;padding-bottom:0}
.hero .ico{width:132px;height:132px;border-radius:29px;box-shadow:0 18px 40px rgba(0,0,0,.45);display:block;margin-bottom:28px}
.hero h1{font-size:clamp(34px,4.6vw,60px);margin-bottom:20px}
.hero p{font-size:19px;color:#E7CDEC;margin:0 0 28px;max-width:34em}
.badge{display:inline-block;line-height:0}.badge img{height:50px;width:auto}
.stage{position:relative;height:640px}
.phone{position:absolute;width:240px;aspect-ratio:1206/2622;border-radius:42px;background:#17111c;padding:5px;box-shadow:0 0 0 1.5px #5a4a63,0 30px 60px rgba(8,0,12,.5)}
.phone .scr{position:relative;width:100%;height:100%;border-radius:37px;overflow:hidden;background:#000}.phone img{width:100%;display:block}
.phone .scr:after{content:"";position:absolute;top:2.8%;left:34%;width:32%;height:3.4%;background:#000;border-radius:99px}
.phone i{position:absolute;display:block;background:#3b3042}
.phone .p{position:absolute}
.p1{left:0;top:70px;z-index:2}.p2{left:200px;top:10px;z-index:3}.p3{left:400px;top:90px;z-index:2}
.obj{position:absolute;filter:drop-shadow(0 20px 24px rgba(8,0,12,.5))}
section{padding:88px 0}section h2{font-size:clamp(28px,3.4vw,42px);margin-bottom:12px}
.lead{font-size:18px;color:#4a3f50;max-width:38em;margin:0 0 40px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.card{background:#FBF8F0;border:1px solid #E4D9C3;border-radius:14px;padding:28px;box-shadow:0 1px 0 #fff inset,0 8px 20px rgba(74,19,88,.06)}
.card h3{font-size:22px;margin-bottom:8px}.card p{margin:0;color:#4a3f50;font-size:16px}
.card .n{display:inline-block;font-family:"Hiragino Mincho ProN",serif;font-weight:700;color:#9E30AC;font-size:15px;margin-bottom:10px;border:1.5px solid #9E30AC;border-radius:99px;padding:0 10px}
.dark{background:#2A0A33;color:#F4EEDF}.dark .lead{color:#E7CDEC}.dark .card{background:#3B1046;border-color:#5C2468;color:#F4EEDF;box-shadow:none}.dark .card p{color:#E7CDEC}
.price{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;align-items:stretch}
.price .card{position:relative}.price ul{margin:16px 0 0;padding-left:1.2em;color:#4a3f50;font-size:16px}
.price .pro{background:linear-gradient(160deg,#9E30AC,#6B1B78);color:#fff;border:0}.price .pro p,.price .pro ul{color:#fff}.price .pro h3{color:#fff}
.cta{text-align:center;background:#EAD3EE}.cta h2{margin-bottom:24px}
footer{background:#1E0725;color:#E7CDEC;padding:40px 0;font-size:15px}footer .wrap{display:flex;gap:16px 28px;flex-wrap:wrap;justify-content:space-between}footer a{color:#F4EEDF}footer .l{display:flex;gap:20px;flex-wrap:wrap}
.doc{max-width:760px;margin:0 auto;padding:56px 24px 88px}.doc h1{font-size:clamp(30px,4vw,44px);margin-bottom:8px}.doc h2{font-size:24px;margin:40px 0 8px}.doc h3{font-size:19px;margin:28px 0 4px}.doc p,.doc li{color:#2f2535}.meta{color:#5b4f62;font-size:15px}
.faq{border-top:1px solid #DCCFB8;margin-top:8px}.faq div{border-bottom:1px solid #DCCFB8;padding:18px 0}
@media(max-width:860px){.hero .wrap{grid-template-columns:1fr;padding-top:40px}.stage{height:520px;margin:0 auto;width:100%;max-width:420px}.phone{width:180px;border-radius:32px}.phone .scr{border-radius:28px}.p2{left:120px}.p3{left:240px}section{padding:60px 0}.obj.o1{width:150px!important}.obj.o2{width:130px!important}}
@media(max-width:480px){body{font-size:16px}.phone{width:150px;border-radius:27px}.p2{left:100px}.p3{left:200px}.stage{height:440px}}
.s1{left:17.84%;top:28.38%;width:11.48%;height:2.55%;background:#F4EEDF}
.s2{left:63.58%;top:31.60%;width:11.48%;height:2.55%;background:#F4EEDF}
.s3{left:17.84%;top:55.36%;width:10.64%;height:2.55%;background:#F4EEDF}
.s4{left:63.58%;top:58.55%;width:11.48%;height:2.55%;background:#F4EEDF}
.s5{left:18.68%;top:82.34%;width:10.64%;height:2.55%;background:#F4EEDF}
.s6{left:39.95%;top:35.91%;width:13.59%;height:2.79%;background:#F4EEDF}
.s7{left:64%;top:66.05%;width:26%;height:4.24%;background:#F4F2F6}
.s8{width:170px;left:-20px;bottom:-14px;z-index:4;transform:rotate(-6deg)}
.s9{width:150px;right:-14px;bottom:-14px;z-index:4;transform:rotate(8deg)}
.s10{margin-top:28px}
.s11{margin-top:0}
.s12{margin:6px 0 0}
