:root{--navy:#06396b;--blue:#075b9c;--orange:#e96919;--ink:#172433;--muted:#5d6b78;--line:#dbe5ec;--pale:#f2f7fa;--shadow:0 16px 45px rgba(12,54,89,.11)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Noto Sans JP",sans-serif;line-height:1.75}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}.topbar{background:var(--navy);color:#fff}.topbar-inner{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px}.topbar strong{font-size:14px}.header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);border-bottom:1px solid #edf1f4;backdrop-filter:blur(14px)}.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:flex;align-items:center;gap:12px;font-weight:900;line-height:1.4}.brand img{width:50px;height:50px;object-fit:contain}.brand small{display:block;color:var(--muted);font-size:10px;font-weight:500;letter-spacing:.08em}.nav{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:700}.nav a:hover,.nav .active{color:var(--blue)}.nav .contact-btn{padding:10px 17px;border-radius:8px;background:var(--orange);color:#fff}.menu-button{display:none;border:0;background:none;font-size:26px}.hero{padding:78px 0;background:linear-gradient(120deg,#06396b,#0872b1);color:#fff}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:center}.eyebrow{margin:0 0 10px;color:#a9dcf7;font-size:13px;font-weight:900;letter-spacing:.16em}.hero h1{margin:0;font-size:clamp(34px,5vw,56px);line-height:1.32;letter-spacing:-.035em}.hero p:not(.eyebrow){color:rgba(255,255,255,.82);font-size:17px}.hero img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;box-shadow:var(--shadow);background:#fff}.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;margin-top:20px;padding:0 24px;border-radius:8px;background:var(--orange);color:#fff;font-weight:900}.section{padding:85px 0}.section.pale{background:var(--pale)}.section-head{text-align:center}.section-head .eyebrow{color:var(--blue)}.section h2{margin:0;font-size:clamp(27px,4vw,40px);line-height:1.4}.lead{max-width:730px;margin:15px auto 0;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px}.card{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(19,55,82,.07)}.card img{width:100%;height:210px;object-fit:cover}.card-body{padding:23px}.card h3{margin:0 0 8px;color:var(--navy);font-size:20px}.card p{margin:0;color:var(--muted);font-size:14px}.points{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}.point{padding:27px;border-radius:15px;background:#fff;border:1px solid var(--line)}.point b{color:var(--orange);font-size:12px}.point h3{margin:6px 0 8px;color:var(--navy)}.point p{margin:0;color:var(--muted);font-size:14px}.flow{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:42px}.step{padding:20px 12px;border-radius:12px;background:#fff;border:1px solid var(--line);text-align:center}.step strong{display:block;color:var(--blue);font-size:12px}.step span{font-weight:700}.makers{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:35px}.makers span{padding:8px 15px;border-radius:99px;background:#fff;border:1px solid var(--line);font-size:13px}.cta{padding:70px 0;background:var(--navy);color:#fff;text-align:center}.cta h2{margin:0;font-size:clamp(27px,4vw,40px)}.cta p{color:rgba(255,255,255,.74)}.contact-grid{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.contact-grid .button{margin-top:10px}.contact-grid .light{background:#fff;color:var(--navy)}.footer{padding:38px 0;background:#0d263b;color:rgba(255,255,255,.7);font-size:12px}.footer-inner{display:flex;justify-content:space-between;gap:25px}.footer strong{color:#fff;font-size:15px}
@media(max-width:850px){.nav{display:none}.menu-button{display:block}.hero-grid{grid-template-columns:1fr}.cards,.points{grid-template-columns:1fr}.flow{grid-template-columns:repeat(3,1fr)}.footer-inner{display:block}}@media(max-width:520px){.wrap{width:min(100% - 28px,1120px)}.topbar-inner span:first-child{display:none}.header-inner{height:68px}.brand img{width:43px;height:43px}.brand{font-size:13px}.hero{padding:55px 0}.section{padding:65px 0}.flow{grid-template-columns:1fr 1fr}.contact-grid{display:grid}.contact-grid .button{width:100%}}
