:root { color:#0b1f44; background:#eaf1ff; font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Yu Gothic",sans-serif; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; } img { max-width:100%; }
.lp { width:min(540px,100%); margin:auto; overflow:hidden; background:#fff; box-shadow:0 0 40px rgb(36 79 157 / 9%); }
.full { display:block; width:100%; height:auto; }.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
.image-section { background:#fff; }.section { padding:64px 22px; }.blue{color:#fff;background:#1256d5;}.pale,.form { background:#f3f7ff; }.jobs,.faq { background:#fff; }
.section-header { margin-bottom:30px; text-align:center; }.section-header h2 { margin:0; font-size:clamp(28px,8vw,38px); line-height:1.28; font-weight:900; letter-spacing:-.04em; }.section-header mark { color:#ffe000; background:transparent; }.pale mark,.jobs mark,.faq mark,.form mark { color:#1558d6; }
.stack { display:grid; gap:24px; }.point,.job,.listing { overflow:hidden; border-radius:24px; background:#fff; color:#0b1f44; box-shadow:0 10px 28px rgb(9 34 95 / 16%); }.point,.job { padding:24px; }.point img,.job img { display:block; width:100%; margin:18px 0; border-radius:16px; aspect-ratio:3/2; object-fit:cover; }.point h3,.job h3{margin:14px 0 4px;font-size:25px;line-height:1.3}.point p,.job p{margin:0;line-height:1.85}.point .sub{color:#1558d6;font-weight:800}.badge,.mini{display:inline-block;padding:7px 12px;border-radius:99px;font-weight:900;font-size:13px}.badge{background:#ff4b35;color:#fff}.mini{background:#ffe000;color:#0b1f44}.job ul{display:grid;gap:8px;margin:14px 0 2px;padding:0;list-style:none;color:#1558d6;font-weight:700}
.cta { display:grid; gap:12px; padding:22px; background:#fff; }.blue>.cta,.jobs>.cta,.faq>.cta { margin:42px -22px -64px; }.cta-button { display:grid; grid-template-columns:46px 1fr 20px; align-items:center; min-height:66px; padding:0 20px; border-radius:999px; color:#fff; text-decoration:none; box-shadow:0 8px 16px rgb(11 31 68 / 17%); }.cta-button span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;color:#1558d6;font-size:9px;font-weight:900}.cta-button strong{text-align:center;font-size:16px}.cta-button i{font-size:25px;font-style:normal}.cta-button.line{background:#06c755}.cta-button.line span{color:#06c755}.cta-button.web{background:#1558d6}
.work-check { padding:54px 30px 68px; background:#2858c7; color:#fff; text-align:center; }.work-check>span{display:block;margin-bottom:12px;color:#ffe205;font-weight:800}.work-check h2{margin:0 0 30px;font-size:27px;line-height:1.38}.work-check a{display:grid;grid-template-columns:1fr auto;min-height:60px;align-items:center;margin-top:14px;padding:0 22px;border-radius:99px;background:#fff;color:#171717;text-align:left;text-decoration:none;font-weight:700}.work-check i{color:#1558d6;font-size:24px;font-style:normal}
.listing-scroller { display:flex; gap:14px; overflow-x:auto; margin:0 -22px; padding:4px 22px 18px; scroll-snap-type:x mandatory; }.listing { flex:0 0 calc(100% - 34px); scroll-snap-align:start; border:1px solid #d9e4fb; }.listing-head { padding:24px; background:#1256d5; color:#fff; text-align:center; }.listing-head span { display:inline-block;padding:5px 12px;border-radius:99px;background:#ffe000;color:#0b1f44;font-size:13px;font-weight:900; }.listing-head h3 { margin:16px 0 0;font-size:21px }.listing dl{margin:0}.listing dl>div{display:grid;grid-template-columns:94px 1fr;border-bottom:1px solid #e4e9f3}.listing dt{padding:14px 10px;background:#f3f7ff;font-weight:900}.listing dd{margin:0;padding:14px 12px;line-height:1.7;font-size:14px}.listing .salary dd{color:#f43;font-weight:900}.note{text-align:center;color:#667085;font-size:11px}
.flow { display:grid; justify-items:center; }.flow article { display:grid; grid-template-columns:58px 1fr; gap:14px; align-items:center; width:100%; padding:18px; border-radius:20px; background:#fff; color:#0b1f44; }.flow article>b { display:grid; place-items:center; width:58px; height:58px; border-radius:50%; background:#e8f2ff; color:#1558d6; font-size:16px; }.flow article span{color:#1558d6;font-size:12px;font-weight:900}.flow article h3{margin:4px 0;font-size:20px}.flow article p{margin:0;font-size:14px;line-height:1.6}.flow>i{padding:8px;color:#ffe000;font-style:normal}
.faq-list details{border-bottom:1px solid #dfe5ef}.faq-list summary{position:relative;padding:18px 38px 18px 0;cursor:pointer;font-weight:800;list-style:none}.faq-list summary::after{content:"+";position:absolute;right:0;top:11px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#1558d6;color:#fff;font-size:22px}.faq-list details[open] summary::after{content:"−"}.faq-list p{margin:0;padding:0 6px 20px;line-height:1.7}
.step-form{display:grid;gap:18px}.form-status{padding:15px;border-radius:8px;background:#ffe205;text-align:center}.form-status strong{font-size:22px}.form-progress{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.form-progress::before{content:"";grid-area:1/1;height:12px;border-radius:99px;background:#d5dde5}.form-progress i{z-index:1;grid-area:1/1;width:20%;height:12px;border-radius:99px;background:#ffe205;transition:width .25s}.form-progress b{font-size:14px}.step-form fieldset{display:grid;gap:10px;margin:0;padding:0;border:0}.step-form legend,.step-form label{font-weight:700}.step-form input,.step-form textarea{width:100%;margin-top:7px;padding:15px;border:1px solid #b8c8e8;border-radius:8px;background:#fff;font:inherit}.step-form fieldset label:has(input[type=radio]){display:block;padding:14px;border:1px solid #b8c8e8;border-radius:9px;background:#fff;font-weight:500}.step-form fieldset label:has(input[type=radio]) input{width:auto;margin:0 8px 0 0}.step-form em{margin-left:5px;padding:2px 5px;border-radius:4px;background:#ff4b35;color:#fff;font-size:10px;font-style:normal}.privacy{display:flex;gap:8px;align-items:center}.privacy input{width:auto;margin:0}.form-actions{display:grid;gap:10px}.form-actions button{padding:16px;border:0;border-radius:8px;background:#1558d6;color:#fff;font:inherit;font-weight:900;cursor:pointer}.form-actions .back{background:#fff;color:#7890a5;border:2px solid #9aafbf}.form-note{margin:0;text-align:center;color:#667085;font-size:12px}
footer{display:grid;gap:4px;padding:30px 22px;background:#0b1f44;color:#fff;text-align:center}footer small{opacity:.75}.floating-cta{position:fixed;z-index:100;bottom:0;left:50%;width:min(540px,100%);transform:translateX(-50%);box-shadow:0 -8px 28px rgb(11 31 68 / 19%)}.floating-cta .cta{grid-template-columns:1fr 1fr;gap:8px;padding:8px}.floating-cta .cta-button{grid-template-columns:22px 1fr;min-height:54px;padding:0 8px;border-radius:14px}.floating-cta .cta-button span{width:20px;height:20px;font-size:6px}.floating-cta .cta-button strong{font-size:12px}.floating-cta .cta-button i{display:none}
@media (max-width:370px){.section{padding-left:16px;padding-right:16px}.point,.job{padding:18px}.cta{padding-left:16px;padding-right:16px}.cta-button strong{font-size:14px}.listing-scroller{margin:0 -16px;padding-inline:16px}}
