:root{--navy-deep:#0c1626;--navy:#16233a;--navy-2:#1f3352;--blue:#3d7bc4;--blue-light:#a9cbe8;--sky:#eef3f9;--paper:#f7f8fa;--ink:#182130;--gray:#66707d;--line:#e2e7ed;--line-dark:#ffffff24;--white:#fff;--font-jp:"Zen Kaku Gothic New", "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;--font-en:"Archivo", "Zen Kaku Gothic New", sans-serif;--ease-out:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-jp);color:var(--ink);background:var(--white);letter-spacing:.03em;-webkit-font-smoothing:antialiased;font-size:15.5px;line-height:2}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}::selection{background:var(--blue-light);color:var(--navy)}.grain:after{content:"";pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.06'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.loader{z-index:1000;background:var(--navy-deep);transition:transform .7s var(--ease-out);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loader.done{transform:translateY(-100%)}.loader .word{font-family:var(--font-en);color:var(--white);letter-spacing:.06em;font-size:clamp(3rem,10vw,7rem);font-weight:800;display:flex;overflow:hidden}.loader .word span{animation:rise .7s var(--ease-out) forwards;display:inline-block;transform:translateY(110%)}.loader .word span:nth-child(2){animation-delay:70ms}.loader .word span:nth-child(3){animation-delay:.14s}.loader .word span:nth-child(4){animation-delay:.21s}@keyframes rise{to{transform:translateY(0)}}.topbar{z-index:90;pointer-events:none;letter-spacing:.08em;grid-template-columns:1fr auto 1fr;align-items:center;padding:18px 28px;font-size:.72rem;display:grid;position:fixed;top:0;left:0;right:0}.topbar>*{pointer-events:auto}.topbar .brand .mark{width:auto;height:32px}.topbar .brand{align-items:center;gap:12px;display:flex}.topbar .brand .name{font-family:var(--font-jp);letter-spacing:.1em;font-size:.95rem;font-weight:800;line-height:1.2}.topbar .meta{text-align:center;font-family:var(--font-en);opacity:.75;font-weight:500;line-height:1.5}.topbar .contact-link{border:1.5px solid;border-radius:999px;justify-self:end;padding:9px 22px;font-size:.78rem;font-weight:700;transition:background .25s,color .25s}.theme-dark .topbar{color:var(--white)}.theme-light .topbar{color:var(--navy)}.theme-dark .topbar .contact-link:hover{background:var(--white);color:var(--navy)}.theme-light .topbar .contact-link:hover{background:var(--navy);color:var(--white)}@media (width<=820px){.topbar .meta{display:none}.topbar{grid-template-columns:1fr auto}}.dock{z-index:95;-webkit-backdrop-filter:blur(14px);background:#0c1626d1;border:1px solid #ffffff1f;border-radius:12px;gap:4px;padding:5px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 14px 40px #0c162659}.dock a{color:#cfdae8;letter-spacing:.06em;white-space:nowrap;border:1px solid #0000;border-radius:8px;padding:9px 16px;font-size:.78rem;font-weight:600;transition:color .2s,background .2s,border-color .2s}.dock a:hover{color:var(--white);background:#ffffff14}.dock a.active{color:var(--white);background:#ffffff0f;border-color:#ffffff59}@media (width<=640px){.dock{max-width:calc(100vw - 16px);bottom:12px;overflow-x:auto}.dock a{padding:8px 12px;font-size:.72rem}}.reveal{opacity:0;transition:opacity .9s var(--ease-out), transform .9s var(--ease-out);transition-delay:var(--d,0s);transform:translateY(34px)}.reveal.in{opacity:1;transform:none}.reveal-img{clip-path:inset(0 100% 0 0);transition:clip-path 1.1s var(--ease-out);transition-delay:var(--d,0s)}.reveal-img.in{clip-path:inset(0)}.chars span{opacity:0;transition:opacity .65s var(--ease-out), transform .65s var(--ease-out);display:inline-block;transform:translateY(.9em)}.chars.in span{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal,.reveal-img,.chars span{opacity:1!important;clip-path:none!important;transition:none!important;transform:none!important}.loader{display:none}.marquee-track{animation:none!important}}.hero{background:radial-gradient(1200px 700px at 85% 10%, #3d7bc447, transparent 60%), linear-gradient(160deg, var(--navy-deep) 0%, var(--navy) 70%, var(--navy-2) 100%);min-height:100svh;color:var(--white);align-items:flex-end;display:flex;position:relative;overflow:hidden}.hero .goat-bg{font-family:var(--font-en);letter-spacing:-.02em;color:#0000;-webkit-text-stroke:1px #a9cbe838;user-select:none;pointer-events:none;font-size:clamp(10rem,30vw,26rem);font-weight:800;line-height:.8;position:absolute;top:8vh;right:-2vw}.hero .inner{z-index:2;width:100%;max-width:1240px;margin:0 auto;padding:140px 32px 150px;position:relative}.hero .kicker{font-family:var(--font-en);letter-spacing:.34em;color:var(--blue-light);text-transform:uppercase;margin-bottom:28px;font-size:.78rem;font-weight:600}.hero h1{letter-spacing:.04em;font-size:clamp(2.2rem,6.2vw,4.6rem);font-weight:900;line-height:1.42}.hero .lead{color:#b7c5d8;max-width:34em;margin-top:30px;font-size:.98rem}.hero .scroll-cue{z-index:2;font-family:var(--font-en);letter-spacing:.3em;color:#8fa4c0;align-items:center;gap:12px;font-size:.66rem;display:flex;position:absolute;bottom:26px;left:32px}.hero .scroll-cue:after{content:"";transform-origin:0;background:#8fa4c0;width:56px;height:1px;animation:2s ease-in-out infinite cue}@keyframes cue{0%{transform:scaleX(0)}50%{transform:scaleX(1)}to{transform-origin:100%;transform:scaleX(0)}}@media (width<=900px){.hero .goat-bg{font-size:42vw;top:4vh}}.marquee{background:var(--white);border-bottom:1px solid var(--line);padding:34px 0;overflow:hidden}.marquee-track{width:max-content;font-family:var(--font-en);letter-spacing:.02em;color:#0000;-webkit-text-stroke:1.3px var(--navy);white-space:nowrap;gap:60px;font-size:clamp(2.6rem,6vw,4.6rem);font-weight:800;animation:26s linear infinite marquee;display:flex}.marquee-track em{color:var(--navy);-webkit-text-stroke:0;font-style:normal}@keyframes marquee{to{transform:translate(-50%)}}.section{padding:130px 0;position:relative}.section.paper{background:var(--paper)}.section.navy{background:var(--navy-deep);color:var(--white)}.container{max-width:1240px;margin:0 auto;padding:0 32px}.sec-label{align-items:baseline;gap:18px;margin-bottom:56px;display:flex}.sec-label .no{font-family:var(--font-en);letter-spacing:.12em;color:var(--blue);font-size:.95rem;font-weight:500}.sec-label .en{font-family:var(--font-en);letter-spacing:.01em;color:var(--navy);text-transform:uppercase;font-size:clamp(1.9rem,4.4vw,3.2rem);font-weight:800;line-height:1}.section.navy .sec-label .en{color:var(--white)}.sec-label .jp{color:var(--gray);letter-spacing:.2em;font-size:.85rem;font-weight:700}.section.navy .sec-label .jp{color:#8fa4c0}.statement{letter-spacing:.06em;color:var(--navy);max-width:30em;font-size:clamp(1.4rem,3vw,2.2rem);font-weight:800;line-height:2}.statement .hl{background:linear-gradient(transparent 72%, var(--blue-light) 72%)}.svc-row{border-top:1px solid var(--line);grid-template-columns:90px 1fr 1.05fr;align-items:center;gap:40px;padding:56px 0;display:grid}.svc-row:last-of-type{border-bottom:1px solid var(--line)}.svc-row .no{font-family:var(--font-en);color:var(--blue);letter-spacing:.1em;align-self:start;padding-top:8px;font-size:1rem;font-weight:500}.svc-row h3{color:var(--navy);margin-bottom:14px;font-size:clamp(1.4rem,2.6vw,2rem);font-weight:900;line-height:1.6}.svc-row .tag{letter-spacing:.14em;color:var(--blue);border:1px solid var(--blue-light);border-radius:999px;margin-bottom:18px;padding:3px 14px;font-size:.72rem;font-weight:700;display:inline-block}.svc-row p{color:var(--gray);max-width:34em;font-size:.95rem}.svc-row .link{color:var(--navy);align-items:center;gap:10px;margin-top:22px;font-size:.9rem;font-weight:700;display:inline-flex}.svc-row .link .arrow{transition:transform .25s}.svc-row:hover .link .arrow{transform:translate(6px)}.svc-row .link .ext{opacity:.75;font-size:.9em;transition:transform .25s;display:inline-block}.svc-row:hover .link .ext{transform:translate(3px,-3px)}.svc-row .visual{aspect-ratio:16/10;border-radius:4px;overflow:hidden}.svc-row .visual img{object-fit:cover;filter:saturate(.9);width:100%;height:100%;transition:transform .8s var(--ease-out)}.svc-row:hover .visual img{transform:scale(1.06)}@media (width<=900px){.svc-row{grid-template-columns:1fr;gap:22px;padding:44px 0}.svc-row .no{padding-top:0}}.dl-table{border-collapse:collapse;width:100%}.dl-table th,.dl-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:26px 8px;font-size:.95rem}.dl-table th{width:220px;font-family:var(--font-en);letter-spacing:.1em;color:var(--blue);text-transform:uppercase;padding-top:30px;font-size:.78rem;font-weight:600}.section.navy .dl-table th{color:var(--blue-light)}.section.navy .dl-table td{color:#dce5f0}.section.navy .dl-table th,.section.navy .dl-table td{border-color:var(--line-dark)}@media (width<=640px){.dl-table th,.dl-table td{width:100%;display:block}.dl-table th{border-bottom:none;padding-bottom:0}.dl-table td{padding-top:8px}}.prob-list{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.prob{border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:var(--white);padding:44px 30px}.prob .no{font-family:var(--font-en);letter-spacing:.14em;color:var(--blue);margin-bottom:20px;font-size:.85rem;font-weight:500;display:block}.prob p{color:var(--navy);font-size:1.05rem;font-weight:800;line-height:1.9}.feat-row{border-top:1px solid var(--line-dark);grid-template-columns:110px 1fr;gap:34px;padding:44px 0;display:grid}.feat-row:last-of-type{border-bottom:1px solid var(--line-dark)}.feat-row .no{font-family:var(--font-en);color:var(--blue-light);font-size:2.6rem;font-weight:300;line-height:1}.feat-row h3{margin-bottom:10px;font-size:1.25rem;font-weight:800}.feat-row p{color:#a9b8cc;max-width:44em;font-size:.93rem}@media (width<=640px){.feat-row{grid-template-columns:1fr;gap:10px}}.flow-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:30px;display:grid}.flow-card{border:1px solid var(--line);background:var(--white);padding:40px 32px;position:relative}.flow-card .step{font-family:var(--font-en);letter-spacing:.24em;color:var(--blue);margin-bottom:16px;font-size:.72rem;font-weight:600;display:block}.flow-card h3{color:var(--navy);margin-bottom:12px;font-size:1.15rem;font-weight:800}.flow-card p{color:var(--gray);font-size:.9rem}.btn{letter-spacing:.06em;border:1.5px solid var(--navy);color:var(--navy);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:12px;padding:16px 38px;font-size:.92rem;font-weight:700;transition:background .25s,color .25s,transform .25s;display:inline-flex}.btn:hover{background:var(--navy);color:var(--white);transform:translateY(-2px)}.btn.solid{background:var(--navy);color:var(--white)}.btn.solid:hover{background:var(--blue);border-color:var(--blue)}.btn.inverse{border-color:var(--white);color:var(--white)}.btn.inverse:hover{background:var(--white);color:var(--navy)}.btn .arrow{transition:transform .25s}.btn:hover .arrow{transform:translate(5px)}.cta{background:var(--navy-deep);color:var(--white);padding:150px 0 170px;position:relative;overflow:hidden}.cta .big{font-family:var(--font-en);letter-spacing:.01em;color:#0000;-webkit-text-stroke:1.4px #a9cbe880;user-select:none;font-size:clamp(3.4rem,12vw,10rem);font-weight:800;line-height:.95}.cta .row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:30px;margin-top:46px;display:flex}.cta .row p{color:#a9b8cc;max-width:30em;font-size:.95rem}.page-hero{background:radial-gradient(900px 500px at 90% 0%, #3d7bc440, transparent 60%), linear-gradient(160deg, var(--navy-deep) 0%, var(--navy) 90%);color:var(--white);padding:190px 0 110px;position:relative;overflow:hidden}.page-hero .no{font-family:var(--font-en);letter-spacing:.2em;color:var(--blue-light);margin-bottom:20px;font-size:.85rem;font-weight:500;display:block}.page-hero .en{font-family:var(--font-en);letter-spacing:.01em;text-transform:uppercase;margin-bottom:26px;font-size:clamp(2.4rem,7vw,5rem);font-weight:800;line-height:1}.page-hero h1{letter-spacing:.08em;color:var(--blue-light);font-size:clamp(1.3rem,2.6vw,1.8rem);font-weight:800}.page-hero .lead{color:#b7c5d8;max-width:44em;margin-top:24px;font-size:.95rem}.contact-grid{grid-template-columns:1fr 1.4fr;align-items:start;gap:70px;display:grid}.contact-side h3{color:var(--navy);margin-bottom:10px;font-size:1.05rem;font-weight:800}.contact-side .tel{font-family:var(--font-en);color:var(--navy);letter-spacing:.02em;font-size:2rem;font-weight:700}.contact-side p{color:var(--gray);font-size:.9rem}.form{flex-direction:column;gap:26px;display:flex}.form label{color:var(--navy);letter-spacing:.06em;flex-direction:column;gap:10px;font-size:.85rem;font-weight:700;display:flex}.form .req{color:var(--blue);margin-left:8px;font-size:.7rem}.form input,.form textarea{font:inherit;border:none;border-bottom:1.5px solid var(--line);background:0 0;padding:10px 2px;transition:border-color .25s}.form input:focus,.form textarea:focus{border-color:var(--blue);outline:none}.form textarea{resize:vertical;min-height:140px}.form .note{color:var(--gray);font-size:.78rem}.form .hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form-status{color:#c0392b;min-height:1em;font-size:.85rem;font-weight:700}@media (width<=820px){.contact-grid{grid-template-columns:1fr;gap:46px}}.doc-list{border-top:1px solid var(--line)}.doc-list a{border-bottom:1px solid var(--line);color:var(--navy);justify-content:space-between;align-items:center;gap:20px;padding:30px 8px;font-weight:700;transition:padding-left .25s,color .25s;display:flex}.doc-list a:hover{color:var(--blue);padding-left:20px}.doc-list .pdf{font-family:var(--font-en);letter-spacing:.18em;color:var(--blue);border:1px solid var(--blue-light);border-radius:999px;flex-shrink:0;padding:4px 14px;font-size:.68rem;font-weight:600}.ext-link{color:var(--navy);border-bottom:1px solid var(--blue-light);font-weight:700;transition:color .25s,border-color .25s}.ext-link:hover{color:var(--blue);border-color:var(--blue)}.ext-link .ext{opacity:.7;font-size:.8em}.map-frame{filter:grayscale()contrast(1.04);border:0;border-radius:4px;width:100%;height:440px}.site-footer{background:var(--navy-deep);color:#93a5be;padding:90px 0 130px;font-size:.86rem;position:relative}.site-footer .cols{grid-template-columns:1.6fr 1fr 1fr;gap:44px;margin-bottom:60px;display:grid}.site-footer .logo{font-family:var(--font-en);color:var(--white);letter-spacing:.04em;align-items:center;gap:12px;margin-bottom:18px;font-size:1.5rem;font-weight:800;display:flex}.site-footer .logo .mark{width:auto;height:34px}.site-footer h4{font-family:var(--font-en);letter-spacing:.26em;text-transform:uppercase;color:var(--blue-light);margin-bottom:18px;font-size:.7rem;font-weight:600}.site-footer ul{flex-direction:column;gap:10px;list-style:none;display:flex}.site-footer a:hover{color:var(--white)}.site-footer .group-link{border:1px solid var(--line-dark);color:#c6d2e2;border-radius:999px;align-items:center;gap:10px;margin-top:22px;padding:10px 18px;font-size:.82rem;font-weight:700;transition:border-color .25s,color .25s,background .25s;display:inline-flex}.site-footer .group-link:hover{color:var(--white);border-color:var(--blue-light);background:#a9cbe814;text-decoration:none}.site-footer .group-link .label{font-family:var(--font-en);letter-spacing:.22em;text-transform:uppercase;color:var(--blue-light);font-size:.62rem;font-weight:600}.site-footer .group-link .ext{opacity:.7;font-size:.75rem}.site-footer .copyright{border-top:1px solid var(--line-dark);color:#6a7d99;font-size:.74rem;font-family:var(--font-en);letter-spacing:.08em;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:26px;display:flex}@media (width<=820px){.site-footer .cols{grid-template-columns:1fr;gap:36px}.section{padding:90px 0}}
