:root{--blue:#0B5FD6;--navy:#0A1F44;--red:#E60012;--ink:#111;--bg:#fff;--sub:#f2f6fc}*{box-sizing:border-box;margin:0}body{font-family:Noto Sans JP,sans-serif;color:var(--ink);background:var(--bg)}header{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:20px 48px;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.4)}header b{font-size:22px;letter-spacing:.05em}nav a{color:#fff;margin-left:28px;font-weight:700;text-decoration:none;font-size:15px}nav a.cta{background:var(--red);padding:10px 20px;border-radius:4px;text-shadow:none}.hero{position:relative;height:800px;background:url(/img/top_hero.png) right bottom/cover #2a8fd8;overflow:hidden}.hero .ph{position:absolute;left:3%;bottom:0;height:100%;filter:drop-shadow(0 10px 30px rgba(0,30,90,.45));-webkit-mask-image:linear-gradient(to right,#000 72%,transparent),linear-gradient(#000 82%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,#000 72%,transparent),linear-gradient(#000 82%,transparent);mask-composite:intersect}.hero .tx{position:absolute;left:5%;max-width:52%;top:170px;right:48px}.hero small{display:inline-block;background:var(--navy);color:#fff;padding:6px 14px;font-weight:700;font-size:18px}.hero h1{font-family:Noto Sans JP,sans-serif;font-size:96px;line-height:1.3;margin:18px 0;color:#fff;-webkit-text-stroke:0;text-shadow:0 0 28px rgba(0,40,120,.55),0 3px 0 rgba(0,40,120,.4);font-weight:900}.hero h1 em{color:var(--red);font-style:normal;background:#fff;padding:0 .12em;display:inline-block;line-height:1.15;text-shadow:none}.hero p{font-size:22px;font-weight:700;color:#fff;text-shadow:0 1px 8px rgba(0,30,90,.7);margin-bottom:28px}.btns a{display:inline-block;padding:18px 34px;font-weight:900;font-size:19px;text-decoration:none;margin-right:14px;border-radius:4px}.b1{background:var(--red);color:#fff}.b2{background:#fff;color:var(--navy)}.nums{background:var(--navy);color:#fff;display:flex;justify-content:space-around;padding:36px 48px;text-align:center}.nums div b{display:block;font-size:56px;color:#fff;line-height:1}.nums div b i{font-size:22px;font-style:normal;color:#8fb8ff}.nums span{font-size:14px;color:#c8d6f0}section{padding:80px 48px;max-width:1200px;margin:auto}h2{font-size:34px;font-weight:900;margin-bottom:8px}h2+p{color:#555;margin-bottom:32px}.two{display:grid;grid-template-columns:1fr 1fr;gap:28px}.card{padding:44px;color:#fff;border-radius:6px;min-height:240px}.c1{background:linear-gradient(135deg,var(--blue),#4c97ff)}.c2{background:linear-gradient(135deg,var(--navy),#27498f)}.card h3{font-size:30px;margin-bottom:12px}.card p{line-height:1.8;margin-bottom:20px}.card a{color:#fff;font-weight:900;border-bottom:2px solid #fff;text-decoration:none}.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.svc div{background:var(--sub);padding:26px;border-top:4px solid var(--blue)}.svc b{font-size:19px}.svc p{font-size:14px;color:#555;margin-top:8px;line-height:1.7}.news li{list-style:none;padding:16px 0;border-bottom:1px solid #dde;display:flex;gap:20px}.news time{color:var(--blue);font-weight:700;white-space:nowrap}.news span{background:var(--navy);color:#fff;font-size:12px;padding:2px 8px;border-radius:2px;white-space:nowrap;height:fit-content}footer{background:var(--navy);color:#cfd9ee;padding:40px 48px;font-size:14px;line-height:1.9}@media(max-width:800px){.hero{height:auto;padding:90px 20px 40px;background-position:70% top}.hero .ph{position:static;height:300px;display:block;margin:0 auto}.hero .tx{position:static;padding:0;max-width:none}.hero h1{font-size:44px}.hero{background-position:75% bottom}.two,.svc{grid-template-columns:1fr}header{padding:14px 20px}nav a:not(.cta){display:none}.nums{flex-wrap:wrap;gap:20px}section{padding:50px 20px}}.wrap{max-width:900px;margin:auto;padding:110px 24px 60px}.wrap h1{font-size:32px;margin-bottom:24px}.page-hd{background:var(--navy);height:70px}.page-hd header{position:static;height:70px}.body img{max-width:100%;height:auto;margin:14px 0;border-radius:4px}.body p,.body li{line-height:1.9;margin:10px 0}.body h2{margin:36px 0 12px;border-left:6px solid var(--red);padding-left:12px;font-size:24px}.meta{color:#667;font-size:14px;margin-bottom:20px}.pager a{margin-right:12px}.news a{color:inherit;text-decoration:none;font-weight:700}.news a:hover{color:var(--blue)}
