:root{--ink:#071b35;--soft:#35445a;--blue:#173a70;--bright:#3565a8;--cream:#fff8e9;--mist:#f3f7f4;--line:#dce4e8;--white:#fff;--gold:#d69224;--danger:#9b352c;--shadow:0 18px 60px rgba(12,36,69,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fbfcfc;font-family:"Noto Sans JP","Yu Gothic",sans-serif;font-size:15px;line-height:1.8}a{color:inherit}button,input,textarea,select{font:inherit}.page-header{position:sticky;z-index:20;top:0;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(7,27,53,.08);backdrop-filter:blur(12px)}.header-inner,.page-main,.footer-inner{width:min(960px,calc(100% - 40px));margin:auto}.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand img{display:block;width:142px}.header-nav{display:flex;align-items:center;gap:24px;font-size:13px;font-weight:700}.header-nav a{text-decoration:none}.login-link{padding:9px 18px;color:#fff;background:var(--ink);border-radius:999px}.page-main{padding:70px 0 110px}.breadcrumb{margin:0 0 38px;color:#6d7989;font-size:12px}.breadcrumb a{text-decoration:none}.page-intro{max-width:760px;margin-bottom:46px}.eyebrow{margin:0 0 10px;color:var(--bright);font-size:12px;font-weight:800;letter-spacing:.14em}.page-intro h1{margin:0;font-size:clamp(30px,4vw,46px);line-height:1.4;letter-spacing:-.03em}.page-intro>p:last-child{margin:18px 0 0;color:var(--soft)}.step-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 38px;padding:0;list-style:none;counter-reset:step}.step-list li{padding:12px 15px;color:#6d7989;background:#edf1f3;border-radius:12px;font-size:12px;font-weight:700}.step-list li::before{counter-increment:step;content:"0" counter(step);margin-right:8px;color:var(--bright)}.step-list li.active{color:#fff;background:var(--blue)}.panel{padding:38px;background:#fff;border:1px solid rgba(7,27,53,.07);border-radius:28px 28px 28px 10px;box-shadow:var(--shadow)}.panel+.panel{margin-top:25px}.panel h2{margin:0 0 7px;font-size:23px}.panel-lead{margin:0 0 28px;color:var(--soft)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field.full,.agreement,.form-actions{grid-column:1/-1}.field label,.fieldset-title{display:block;margin:0 0 7px;font-size:14px;font-weight:800}.required{margin-left:6px;color:var(--danger);font-size:11px}.field input,.field select,.field textarea{width:100%;padding:13px 14px;color:var(--ink);background:#f8fafb;border:1px solid #cfd9df;border-radius:10px;outline:0}.field textarea{min-height:170px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--bright);box-shadow:0 0 0 3px rgba(53,101,168,.13)}.field small{display:block;margin-top:5px;color:#748091;font-size:11px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice-card{display:flex;gap:11px;padding:18px;background:#f8fafb;border:1px solid var(--line);border-radius:14px;cursor:pointer}.choice-card:has(input:checked){background:#eef4fb;border-color:var(--bright)}.choice-card input{margin-top:6px}.choice-card strong,.choice-card span{display:block}.choice-card span{color:var(--soft);font-size:12px}.agreement{padding:22px;background:var(--cream);border-radius:16px}.agreement label{display:flex;align-items:flex-start;gap:12px;font-weight:700}.agreement input{width:18px;height:18px;margin-top:5px}.agreement p{margin:9px 0 0 30px;color:var(--soft);font-size:12px}.agreement a{color:var(--bright)}.form-actions{display:flex;justify-content:flex-end;margin-top:8px}.primary-button{min-height:52px;padding:0 30px;color:#fff;background:var(--ink);border:0;border-radius:999px;font-weight:800;cursor:pointer}.primary-button:hover{background:var(--blue)}.notice{padding:18px 21px;background:#edf5f4;border-left:4px solid #4e7d78;border-radius:8px;font-size:13px}.notice strong{display:block}.contact-choice{margin-bottom:28px}.conditional[hidden]{display:none}.legal-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:35px}.legal-nav a{padding:17px;background:#fff;border:1px solid var(--line);border-radius:13px;text-align:center;text-decoration:none;font-size:13px;font-weight:700}.legal-document{padding:45px;background:#fff;border:1px solid rgba(7,27,53,.07);border-radius:20px}.legal-document h2{margin:45px 0 12px;padding-top:25px;border-top:1px solid var(--line);font-size:21px}.legal-document h2:first-child{margin-top:0;padding-top:0;border:0}.legal-document h3{margin:28px 0 8px;font-size:16px}.legal-document p,.legal-document li{color:var(--soft)}.legal-document table{width:100%;border-collapse:collapse}.legal-document th,.legal-document td{padding:13px;text-align:left;vertical-align:top;border:1px solid var(--line)}.legal-document th{width:30%;background:#f5f7f8}.legal-meta{margin-top:38px;color:#748091;font-size:12px}.site-footer{padding:38px 0;color:rgba(255,255,255,.72);background:#041326}.footer-inner{display:flex;justify-content:space-between;gap:25px;align-items:center}.footer-inner img{width:125px;filter:brightness(0) invert(1)}.footer-links{display:flex;flex-wrap:wrap;gap:17px;font-size:11px}.footer-links a{color:inherit}.dialog{width:min(620px,calc(100% - 30px));padding:0;border:0;border-radius:22px;box-shadow:0 30px 100px rgba(7,27,53,.3)}.dialog::backdrop{background:rgba(7,27,53,.58)}.dialog-inner{padding:30px}.dialog h2{margin-top:0}.summary{display:grid;grid-template-columns:150px 1fr;margin:20px 0}.summary dt,.summary dd{margin:0;padding:9px 0;border-bottom:1px solid var(--line)}.summary dt{font-weight:700}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.secondary-button{min-height:48px;padding:0 23px;background:#fff;border:1px solid var(--ink);border-radius:999px;font-weight:700;cursor:pointer}
@media(max-width:700px){.header-nav a:not(.login-link){display:none}.page-main{padding-top:45px}.panel,.legal-document{padding:25px 20px}.form-grid,.choice-grid,.legal-nav{grid-template-columns:1fr}.field{grid-column:1}.step-list{gap:4px}.step-list li{padding:10px 7px;font-size:10px}.footer-inner{align-items:flex-start;flex-direction:column}.summary{grid-template-columns:1fr}.summary dt{padding-bottom:0;border:0}.summary dd{padding-top:2px}}
