:root{--page-max:941px;--navy:#112947;--pink:#eb5b98;--violet:#9b7ce8}*{box-sizing:border-box}html{background:#fff7fc;color:var(--navy)}body{margin:0;min-width:320px;overflow-x:hidden;background:radial-gradient(circle at 7% 2%,rgba(251,207,226,.68),transparent 30vw),radial-gradient(circle at 92% 24%,rgba(224,211,255,.58),transparent 26vw),linear-gradient(180deg,#fff,#fff7fc 38%,#fff);font-family:Hiragino Mincho ProN,Yu Mincho,YuMincho,"Noto Serif JP",serif}a{color:inherit;text-decoration:none}.site-shell{width:100%;overflow-x:clip}.lp-frame{width:min(100%,var(--page-max));margin-inline:auto;background:#fff;box-shadow:0 0 0 1px rgba(232,197,222,.18),0 22px 80px rgba(156,120,166,.18)}.lp-section{position:relative;width:100%;line-height:0}.cta-overlay{position:absolute;display:block;cursor:pointer}.section-image{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none}.form-section{position:relative;padding:clamp(48px,8vw,76px) clamp(18px,5vw,54px) clamp(58px,8vw,86px);background:radial-gradient(circle at 8% 8%,rgba(255,208,229,.72),transparent 19%),radial-gradient(circle at 92% 14%,rgba(224,209,255,.62),transparent 18%),radial-gradient(circle at 0 88%,rgba(248,217,244,.66),transparent 24%),linear-gradient(180deg,#fff,#fff7fc 58%,#fff)}.form-section:after,.form-section:before{content:"";position:absolute;pointer-events:none;border-radius:999px}.form-section:before{top:28px;right:42px;width:116px;height:116px;background:radial-gradient(circle,rgba(235,91,152,.18) 18%,transparent 20%) 0 0 /18px 18px;opacity:.7}.form-section:after{left:-56px;bottom:128px;width:160px;height:160px;background:rgba(224,209,255,.5)}.form-header{position:relative;z-index:1;text-align:center;margin:0 auto clamp(28px,5vw,42px)}.form-badge{display:inline-block;margin-bottom:18px;color:var(--pink);font-family:Hiragino Sans,Yu Gothic,Meiryo,sans-serif;font-size:clamp(14px,2.6vw,21px);font-weight:800;letter-spacing:.18em}.form-header h2{margin:0;color:var(--navy);font-size:clamp(36px,8.2vw,72px);line-height:1.28;letter-spacing:.04em}.form-header h2:first-letter{color:var(--pink)}.form-divider{width:min(260px,68%);height:2px;margin:22px auto;background:linear-gradient(90deg,transparent,#f49ac3,var(--violet),transparent)}.form-header p{margin:0;color:var(--navy);font-family:Hiragino Sans,Yu Gothic,Meiryo,sans-serif;font-size:clamp(14px,2.4vw,20px);font-weight:700;line-height:2;letter-spacing:.08em}.form-body,.thanks-msg{position:relative;z-index:1;width:min(100%,820px);margin:0 auto;border:1px solid rgba(180,148,230,.45);border-radius:28px;background:rgba(255,255,255,.94);box-shadow:0 20px 50px rgba(129,99,157,.16)}.form-body{padding:clamp(22px,4.6vw,42px)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}.form-group{min-width:0;margin-bottom:20px;font-family:Hiragino Sans,Yu Gothic,Meiryo,sans-serif}.form-grid .form-group{margin-bottom:0}.form-group label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;color:var(--navy);font-size:15px;font-weight:800;letter-spacing:.04em}.badge-optional,.badge-required{flex:0 0 auto;border-radius:999px;padding:4px 10px;color:#fff;font-size:11px;line-height:1}.badge-required{background:linear-gradient(135deg,#f175aa,#e9468d)}.badge-optional{background:linear-gradient(135deg,#b9a5f2,#9272dd)}.form-group input,.form-group select,.form-group textarea{width:100%;border:1px solid rgba(181,154,221,.42);border-radius:16px;background:linear-gradient(180deg,#fff,#fffafd);color:var(--navy);font:inherit;font-size:16px;line-height:1.6;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.form-group input,.form-group select{min-height:54px;padding:12px 16px}.form-group textarea{min-height:132px;resize:vertical;padding:14px 16px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:rgba(235,91,152,.86);box-shadow:0 0 0 4px rgba(235,91,152,.12)}.select-wrap{position:relative}.select-wrap:after{content:"";position:absolute;top:50%;right:18px;width:10px;height:10px;border-right:2px solid var(--pink);border-bottom:2px solid var(--pink);transform:translateY(-66%) rotate(45deg);pointer-events:none}.select-wrap select{appearance:none;padding-right:44px}.submit-btn{display:block;width:min(100%,520px);min-height:68px;margin:28px auto 16px;border:0;border-radius:20px;background:linear-gradient(135deg,#ef78ad,#e64187);color:#fff;box-shadow:0 16px 32px rgba(232,76,137,.28);cursor:pointer;font-family:Hiragino Sans,Yu Gothic,Meiryo,sans-serif;font-size:clamp(17px,3.2vw,24px);font-weight:900;letter-spacing:.08em}.submit-btn:disabled{cursor:wait;opacity:.72}.form-note{margin:0;color:#263b59;text-align:center;font-family:Hiragino Sans,Yu Gothic,Meiryo,sans-serif;font-size:clamp(12px,2.2vw,15px);font-weight:700;line-height:2}.form-note span{display:inline-block;margin:0 8px 4px;color:var(--violet)}.form-error{margin:0 0 12px;color:#d6336c;font-weight:800}.form-error,.thanks-msg{text-align:center;font-family:Hiragino Sans,Yu Gothic,Meiryo,sans-serif}.thanks-msg{padding:clamp(34px,7vw,58px) clamp(22px,5vw,48px)}.thanks-icon{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 18px;border-radius:50%;background:linear-gradient(135deg,#ef78ad,#9f7deb);color:#fff;font-size:34px;font-weight:900}.thanks-msg h3{margin:0 0 14px;color:var(--pink);font-size:clamp(24px,5vw,36px)}.thanks-msg p{margin:0;color:var(--navy);font-size:clamp(14px,2.8vw,18px);font-weight:700;line-height:2}@media (min-width:1180px){.lp-frame{margin-top:18px;margin-bottom:18px;border-radius:24px;overflow:hidden}}@media (max-width:720px){.form-grid{grid-template-columns:1fr}.form-section{padding-inline:14px}.form-body,.thanks-msg{border-radius:22px}.form-group label{align-items:flex-start;flex-direction:column;gap:7px}}