[hidden]{display:none!important}.page{--navy:#112536;--deep:#081a28;--green:#0a8d61;--bright:#13ad78;--mint:#eaf7f2;--ink:#172a38;--muted:#60717d;--line:#dce6e2;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 8% 9%,rgba(19,173,120,.09),transparent 28%),linear-gradient(180deg,#f7faf9,#fff 62%)}
.header{width:min(calc(100% - 48px),1220px);min-height:82px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px}.brandMark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--bright),var(--green));color:#fff;font-size:20px;font-weight:900;box-shadow:0 8px 18px rgba(10,141,97,.2)}.brand strong,.brand small{display:block}.brand strong{color:var(--navy);font-size:16px}.brand small{margin-top:2px;color:#778791;font-size:10px;font-weight:700}.headerTrust{display:flex;gap:8px}.headerTrust span{padding:7px 11px;border:1px solid #cfe3da;border-radius:999px;color:var(--green);background:#fff;font-size:11px;font-weight:800}
.shell{width:min(calc(100% - 48px),1220px);margin:24px auto 80px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(520px,1.08fr);gap:64px;align-items:start}.intro{position:sticky;top:28px;padding-top:42px}.eyebrow{margin:0 0 16px;color:var(--green);font-size:13px;font-weight:900;letter-spacing:.12em}.intro h1{margin:0;color:var(--navy);font-size:clamp(40px,4.5vw,62px);line-height:1.16;letter-spacing:-.025em}.intro h1 em{color:var(--green);font-style:normal}.lead{max-width:580px;margin:24px 0 30px;color:var(--muted);font-size:16px;font-weight:650;line-height:1.9}
.visual{overflow:hidden;aspect-ratio:4/3;border-radius:20px;background:#e8efec;box-shadow:0 24px 50px rgba(17,37,54,.16)}.visual img{display:block;width:100%;height:100%;object-fit:cover}.benefits{margin-top:22px;display:grid;gap:9px}.benefits>div{display:flex;align-items:center;gap:13px;padding:13px 15px;border:1px solid rgba(220,230,226,.85);border-radius:12px;background:rgba(255,255,255,.84)}.benefits>div>span{color:var(--green);font-size:11px;font-weight:900}.benefits p{margin:0}.benefits strong,.benefits small{display:block}.benefits strong{color:var(--navy);font-size:14px}.benefits small{margin-top:2px;color:var(--muted);font-size:11px}
.formPanel{overflow:hidden;border:1px solid rgba(207,222,215,.92);border-radius:24px;background:rgba(255,255,255,.96);box-shadow:0 28px 80px rgba(17,37,54,.13)}.formHeading{padding:38px 42px 28px;border-bottom:1px solid var(--line);background:linear-gradient(120deg,rgba(10,141,97,.07),transparent 58%),#fff}.formHeading>span{display:inline-flex;padding:6px 10px;border-radius:999px;color:var(--green);background:var(--mint);font-size:11px;font-weight:900}.formHeading h2{margin:13px 0 7px;color:var(--navy);font-size:30px}.formHeading p{margin:0;color:var(--muted);font-size:13px}
.form{padding:8px 42px 42px}.form fieldset{margin:0;padding:30px 0;border:0;border-bottom:1px solid var(--line)}.form legend{display:flex;align-items:center;gap:10px;margin-bottom:22px;color:var(--navy);font-size:17px;font-weight:900}.form legend span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:#fff;background:var(--green);font-size:12px}.form label,.questionLabel{display:block;color:#2b4352;font-size:13px;font-weight:850}.form mark{margin-left:7px;padding:2px 5px;border-radius:4px;color:#b83333;background:#fff0f0;font-size:9px;font-weight:900}.questionLabel small{margin-left:8px;color:#84929a;font-size:10px;font-weight:700}.twoColumns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:17px}
.form input[type=text],.form input[type=email],.form select,.form textarea{width:100%;margin-top:8px;border:1px solid #cddbd5;border-radius:10px;color:var(--ink);background:#fbfdfc;font:inherit;font-size:14px;font-weight:600;outline:none;transition:.18s ease}.form input[type=text],.form input[type=email],.form select{height:50px;padding:0 14px}.form textarea{min-height:108px;padding:13px 14px;resize:vertical;line-height:1.6}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--green);background:#fff;box-shadow:0 0 0 4px rgba(10,141,97,.1)}.form input::placeholder,.form textarea::placeholder{color:#9aa7ad}
.optionGrid,.radioGrid{display:grid;gap:9px;margin-top:11px}.optionGrid,.radioGrid{grid-template-columns:1fr 1fr}.radioGrid{margin-bottom:18px}.checkOption,.radioOption{position:relative;cursor:pointer}.checkOption input,.radioOption input{position:absolute;opacity:0;pointer-events:none}.checkOption span,.radioOption span{height:100%;display:flex;align-items:center;gap:9px;padding:12px 13px;border:1px solid #d6e2dd;border-radius:10px;color:#526570;background:#fff;font-size:11px;font-weight:750;line-height:1.45;transition:.18s ease}.checkOption span:before{content:"";flex:0 0 auto;width:16px;height:16px;border:1.5px solid #afc0b9;border-radius:5px}.checkOption input:checked+span,.radioOption input:checked+span{border-color:var(--green);color:var(--navy);background:var(--mint);box-shadow:inset 0 0 0 1px var(--green)}.checkOption input:checked+span:before{content:"✓";display:grid;place-items:center;border-color:var(--green);color:#fff;background:var(--green);font-size:11px;font-weight:900}.checkOption input:focus-visible+span,.radioOption input:focus-visible+span{outline:3px solid rgba(10,141,97,.2);outline-offset:2px}
.radioOption span{min-height:82px;display:block;padding:15px 16px}.radioOption span:before{content:"";float:left;width:15px;height:15px;margin:3px 10px 22px 0;border:1.5px solid #afc0b9;border-radius:50%}.radioOption input:checked+span:before{border:5px solid var(--green)}.radioOption strong{display:block;margin-bottom:5px;color:var(--navy);font-size:14px}.form fieldset label+label,.form fieldset .radioGrid+label,.form fieldset label+.questionLabel{margin-top:18px}
.consent{display:flex!important;align-items:flex-start;gap:9px;margin:22px 0 18px;color:#657680!important;font-size:11px!important;font-weight:650!important;line-height:1.55}.consent input{width:17px;height:17px;margin:0;accent-color:var(--green)}.submit{width:100%;min-height:62px;display:flex;align-items:center;justify-content:center;gap:18px;border:0;border-radius:12px;color:#fff;background:linear-gradient(135deg,var(--bright),var(--green));box-shadow:0 12px 24px rgba(10,141,97,.23);font:inherit;font-size:17px;font-weight:900;cursor:pointer;transition:.18s ease}.submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 30px rgba(10,141,97,.28)}.submit:focus-visible{outline:4px solid rgba(10,141,97,.2);outline-offset:3px}.submit:disabled{opacity:.72;cursor:wait}.submitNote{margin:11px 0 0;color:#839099;font-size:10px;text-align:center}
.success{min-height:680px;padding:90px 54px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.successIcon{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;color:#fff;background:var(--green);font-size:34px;font-weight:900;box-shadow:0 14px 28px rgba(10,141,97,.22)}.successKicker{margin:26px 0 8px!important;color:var(--green)!important;font-size:13px!important;font-weight:900!important}.success h2{margin:0;color:var(--navy);font-size:30px}.success p{margin:18px 0 28px;color:var(--muted);font-size:14px;line-height:1.9}.success a{padding:12px 18px;border:1px solid #ccddd5;border-radius:10px;color:var(--green);background:#fff;font-size:13px;font-weight:850}
.footer{min-height:96px;padding:24px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 22px;color:#a9b6bd;background:var(--deep);font-size:10px}.footer span:first-child{color:#fff;font-weight:850}.footer a{color:#c6ede0;font-weight:850}.responseFrame{position:absolute;width:1px;height:1px;border:0;opacity:0;pointer-events:none}
@media(max-width:980px){.shell{grid-template-columns:1fr;max-width:720px;gap:38px}.intro{position:static;padding-top:18px}.intro h1{font-size:clamp(40px,8vw,58px)}.visual{max-width:620px}.benefits{grid-template-columns:repeat(3,1fr)}.benefits>div{align-items:flex-start}}
@media(max-width:640px){.header,.shell{width:min(calc(100% - 28px),1220px)}.header{min-height:72px}.brand strong{font-size:13px}.brand small,.headerTrust span:last-child{display:none}.shell{margin-top:8px;margin-bottom:52px}.intro h1{font-size:38px}.lead{font-size:14px}.visual{border-radius:14px}.benefits{grid-template-columns:1fr}.formPanel{border-radius:18px}.formHeading{padding:28px 22px 23px}.formHeading h2{font-size:25px}.form{padding:4px 22px 30px}.form fieldset{padding:25px 0}.twoColumns,.optionGrid,.radioGrid{grid-template-columns:1fr}.radioOption span{min-height:72px}.success{min-height:560px;padding:64px 24px}.success h2{font-size:25px}.footer{display:grid;justify-items:center;text-align:center}}

/* Contact page alignment and readability */
html,body{margin:0}
*,*::before,*::after{box-sizing:border-box}
.page{font-family:"Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:18px;line-height:1.8}
.header{width:min(calc(100% - 48px),960px)}
.brand{text-decoration:none}
.shell{width:min(calc(100% - 48px),960px);margin:28px auto 88px;display:block}
.intro{position:static;padding-top:28px;text-align:center}
.intro h1{max-width:880px;margin:0 auto;color:var(--navy);font-size:clamp(42px,5vw,58px);line-height:1.32;letter-spacing:-.035em;text-wrap:balance}
.intro h1 span{display:block}
.intro h1 em{display:block}
.lead{max-width:820px;margin:26px auto 34px;color:#405c70;font-size:19px;line-height:1.9;text-wrap:pretty}
.visual{max-width:900px;margin:0 auto}
.benefits{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.benefits>div{display:block;padding:18px;text-align:center}
.benefits>div>span{display:block;margin-bottom:6px;font-size:13px}
.benefits strong{font-size:17px}
.benefits small{font-size:14px;line-height:1.6}
.formPanel{margin-top:52px}
.formHeading{padding:40px 48px 30px;text-align:center}
.formHeading>span{font-size:13px}
.formHeading h2{font-size:34px}
.formHeading p{font-size:17px}
.form{max-width:820px;margin:0 auto;padding:10px 48px 48px}
.form legend{justify-content:center;font-size:21px}
.form label,.questionLabel{font-size:16px}
.form mark{font-size:11px}
.questionLabel small{font-size:13px}
.form input[type=text],.form input[type=email],.form select,.form textarea{font-size:16px}
.checkOption span,.radioOption span{font-size:14px}
.radioOption strong{font-size:17px}
.consent{font-size:14px!important}
.submit{font-size:19px}
.submitNote{font-size:13px}
.success p{font-size:17px}

@media(max-width:640px){
  .page{font-size:16px}
  .header,.shell{width:min(calc(100% - 28px),960px)}
  .shell{margin-top:4px;margin-bottom:52px}
  .intro{padding-top:22px}
  .intro h1{font-size:32px;line-height:1.45}
  .lead{font-size:17px}
  .benefits{grid-template-columns:1fr}
  .formPanel{margin-top:38px}
  .formHeading{padding:30px 22px 24px}
  .formHeading h2{font-size:28px}
  .formHeading p{font-size:16px}
  .form{padding:6px 22px 32px}
  .form legend{font-size:19px}
  .form label,.questionLabel{font-size:16px}
  .checkOption span,.radioOption span{font-size:15px}
}
