:root{color:#17263f;background:#f4efe8;font-family:Noto Sans JP,Yu Gothic,Hiragino Kaku Gothic ProN,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}body{margin:0;min-width:320px;max-width:100%;overflow-x:hidden;background:radial-gradient(circle at 18% 8%,rgba(255,255,255,.72),transparent 34%),linear-gradient(180deg,#f4efe8,#f7f2ec 52%,#f4efe8)}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}.site-header{position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(23,38,63,.09);background:#f4efe8e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1180px;margin:0 auto;padding:16px 24px}.brand{display:inline-flex;align-items:center;min-width:0;gap:18px}.brand-mark{display:grid;place-items:center;width:62px;height:62px;overflow:hidden;border:1px solid rgba(23,38,63,.1);border-radius:12px;background:#ffffffd1;box-shadow:0 12px 28px #17263f0d}.brand-mark img{width:62px;height:62px;object-fit:cover;object-position:center}.brand-text{display:grid;gap:8px}.brand-text span{font-family:Georgia,Times New Roman,serif;font-size:22px;letter-spacing:.2em;line-height:1}.brand-text small{color:#17263f94;font-size:13px;letter-spacing:.12em;line-height:1.2;text-transform:uppercase}.site-nav{display:none;align-items:center;gap:28px;color:#17263fa8;font-size:14px}.site-nav a{transition:color .16s ease,background .16s ease}.site-nav a:hover{color:#17263f}.nav-contact{border:1px solid rgba(23,38,63,.18);border-radius:999px;padding:10px 20px}.nav-contact:hover{background:#17263f;color:#fff!important}.hero{display:grid;gap:48px;width:100%;max-width:1180px;margin:0 auto;padding:62px 24px 88px;overflow:hidden}.hero>*,.hero-copy,.hero-panel,.section-inner>*,.split>*,.service-head>*{min-width:0;max-width:100%}.eyebrow{margin-bottom:22px;color:#17263f85;font-size:11px;font-weight:700;letter-spacing:.32em;line-height:1.8;text-transform:uppercase;overflow-wrap:anywhere}h1{max-width:720px;margin-bottom:0;font-size:45px;font-weight:700;letter-spacing:0;line-height:1.16;overflow-wrap:normal;word-break:keep-all}.mobile-h1-line,.policy-mobile-line{display:none}.policy-desktop-line{white-space:nowrap}.hero-lead{max-width:690px;margin:28px 0 0;color:#17263fb8;font-size:16px;line-height:2.05;overflow-wrap:anywhere}.hero-actions{display:grid;gap:14px;margin-top:38px;max-width:100%}.button,.contact-panel{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;border-radius:999px;padding:16px 24px;font-size:14px;font-weight:700;transition:transform .16s ease,box-shadow .16s ease,background .16s ease;max-width:100%;min-width:0}.button svg,.contact-panel svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.button.primary,.contact-panel{background:#17263f;box-shadow:0 18px 34px #17263f1f;color:#fff}.button.secondary{border:1px solid rgba(23,38,63,.16);background:#ffffff75}.button:hover,.contact-panel:hover{transform:translateY(-2px)}.hero-panel{position:relative;width:100%;min-height:420px;overflow:hidden;border:1px solid rgba(255,255,255,.74);border-radius:32px;background:radial-gradient(circle at 86% 12%,rgba(23,38,63,.1),transparent 22%),radial-gradient(circle at 0% 100%,rgba(255,255,255,.85),transparent 32%),#ffffff73;box-shadow:0 28px 70px #17263f1a;padding:28px}.panel-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;min-width:0}.panel-top span{border:1px solid rgba(23,38,63,.13);border-radius:999px;background:#ffffff8a;padding:10px 16px;color:#17263fa3;font-size:11px;font-weight:700;letter-spacing:.16em;min-width:0;overflow-wrap:anywhere}.panel-top small{color:#17263f70;font-size:12px;min-width:0;overflow-wrap:anywhere}.panel-main{margin:74px 0}.panel-line{width:100%;height:1px;margin-bottom:28px;background:#17263f1c}.panel-title{margin-bottom:20px;font-family:Georgia,Times New Roman,serif;font-size:32px;font-weight:600;letter-spacing:0;line-height:1.34;overflow-wrap:anywhere}.panel-text{max-width:420px;margin-bottom:0;color:#17263f9e;font-size:14px;line-height:1.9;overflow-wrap:anywhere}.panel-tags{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.panel-tags span{border-radius:18px;background:#ffffff8f;padding:14px 10px;color:#17263f94;font-size:11px;line-height:1.4;text-align:center}.section{padding:84px 24px;max-width:100%;overflow-x:hidden}.section-inner{width:100%;max-width:1180px;margin:0 auto}.concept,.contact{background:#ffffff6b}.split{display:grid;gap:42px}h2{margin-bottom:0;font-size:34px;font-weight:700;letter-spacing:0;line-height:1.28}.large-text{margin-bottom:34px;color:#17263fbd;font-size:18px;line-height:2;overflow-wrap:anywhere}.issue-grid{display:grid;gap:14px}.issue-card{border:1px solid rgba(23,38,63,.1);border-radius:24px;background:#f4efe8a8;padding:20px;color:#17263fad;font-size:14px;line-height:1.85}.service-head{display:grid;gap:24px;margin-bottom:46px}.service-head p,.contact p{color:#17263f9e;font-size:14px;line-height:1.9}.service-grid{display:grid;gap:18px}.service-card{border:1px solid rgba(23,38,63,.1);border-radius:30px;background:#ffffff8f;box-shadow:0 12px 24px #17263f0f;padding:28px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.service-card:hover{transform:translateY(-3px);background:#ffffffbd;box-shadow:0 22px 48px #17263f1a}.service-icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:46px;border-radius:20px;background:#17263f;color:#fff}.service-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.service-card h3{margin-bottom:24px;font-size:21px;line-height:1.45}.service-card p{margin-bottom:0;color:#17263fa6;font-size:14px;line-height:2;overflow-wrap:anywhere}.policy{padding:88px 24px;background:#17263f;color:#fff}.policy .eyebrow{color:#ffffff75}.policy p{margin-bottom:0;color:#ffffffb8;font-size:17px;line-height:2}.policy h2{max-width:620px}.company h2{margin-bottom:42px}.company-table{overflow:hidden;border:1px solid rgba(23,38,63,.1);border-radius:30px;background:#ffffff8f}.company-row{display:grid;border-bottom:1px solid rgba(23,38,63,.1)}.company-row:last-child{border-bottom:0}.company-row dt,.company-row dd{margin:0;padding:20px;font-size:14px;line-height:1.85;min-width:0;overflow-wrap:anywhere}.company-row dt{background:#ffffff6b;color:#17263f8c;font-weight:700}.company-row dd{color:#17263fbd}.contact-panel{justify-content:space-between;border-radius:999px;width:100%}.site-footer{display:flex;flex-direction:column;gap:22px;max-width:1180px;margin:0 auto;padding:52px 24px 58px;color:#17263f75;font-size:12px;line-height:1.7}.site-footer img{width:150px;height:auto;mix-blend-mode:multiply}.footer-copy{display:grid;gap:8px}.footer-copy p{margin:0}@media(min-width:560px){.hero-actions{display:flex;flex-wrap:wrap}.button{min-width:168px}.issue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.header-inner,.hero,.section,.policy,.site-footer{width:100%;max-width:100%}.hero{display:block;grid-template-columns:minmax(0,1fr);gap:34px;padding:46px 34px 70px 18px;overflow:visible}.hero-copy,.hero-lead,.hero-actions,.hero-panel{width:auto;max-width:none}.eyebrow{font-size:10px;letter-spacing:.22em}h1{max-width:100%;font-size:32px;line-height:1.22}h1>br{display:none}.desktop-h1-line{display:none}.mobile-h1-line{display:block}.hero-lead{font-size:15px;line-height:1.95}.hero-actions{display:grid;grid-template-columns:minmax(0,1fr);overflow:visible}.button,.contact-panel{display:flex;box-sizing:border-box;width:100%;max-width:100%;min-width:0;padding-inline:18px}.hero-panel{min-height:auto;margin-top:34px;border-radius:28px;padding:22px}.hero-panel .panel-top{display:grid;grid-template-columns:minmax(0,1fr);align-items:flex-start;gap:10px}.panel-top span,.panel-top small,.panel-text{max-width:100%}.panel-main{margin:54px 0}.panel-title{font-size:28px}.panel-tags{grid-template-columns:minmax(0,1fr)}.section{padding:72px 24px 72px 18px}.large-text{font-size:16px;line-height:1.95}.company-table,.service-card,.issue-card{max-width:100%}}@media(min-width:860px){.site-nav{display:flex}.header-inner{padding:24px 48px}.hero{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);align-items:center;padding:92px 48px 118px}h1{font-size:72px;line-height:1.12}h2{font-size:52px}.split{grid-template-columns:.82fr 1.18fr;align-items:start;gap:74px}.concept .split{grid-template-columns:.72fr 1.28fr}.concept h2{max-width:460px}.section{padding:108px 48px}.service-head{grid-template-columns:1fr .7fr;align-items:end}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.company-row{grid-template-columns:220px 1fr}.company-row dt,.company-row dd{padding:22px 28px}.policy{padding:108px 48px}.policy .split{grid-template-columns:minmax(600px,.95fr) minmax(0,1.05fr)}.site-footer{flex-direction:row;align-items:center;justify-content:space-between;padding-inline:48px}.footer-copy{justify-items:end;text-align:right}}@media(min-width:1120px){.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:460px){.header-inner{padding:14px 18px}.brand{gap:14px}.brand-mark{width:64px;height:64px;flex:0 0 auto}.brand-mark img{width:64px;height:64px}.brand-text span{font-size:18px;letter-spacing:.16em}.brand-text small{font-size:11px;letter-spacing:.08em}.hero{display:block;gap:34px;padding:46px 18px 70px;width:100%;max-width:100%;overflow:visible}.hero-copy,.hero-lead,.hero-actions,.hero-panel{width:auto;max-width:none}.eyebrow{font-size:10px;letter-spacing:.22em}h1{max-width:100%;font-size:32px;line-height:1.22}.desktop-h1-line{display:none}.mobile-h1-line{display:block}.hero-lead{font-size:15px;line-height:1.95}.hero-actions{display:grid;grid-template-columns:1fr;width:100%;max-width:100%}.button,.contact-panel{width:100%;max-width:100%;min-width:0;padding-inline:18px}.button.primary,.button.secondary{display:flex}.hero-panel{border-radius:28px;min-height:auto;margin-top:34px;padding:22px}.hero-panel .panel-top{align-items:flex-start;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.panel-top span,.panel-top small{max-width:100%}.panel-main{margin:54px 0}.panel-title{font-size:28px}.panel-text{max-width:100%}.panel-tags{grid-template-columns:1fr}.section{padding:72px 18px}h2{font-size:30px}.policy h2{font-size:42px;line-height:1.28;word-break:keep-all}.policy-desktop-line{display:none}.policy-mobile-line{display:block}.large-text{font-size:16px;line-height:1.95}.company-table,.service-card,.issue-card{max-width:100%}}
