:root{--navy:#05275d;--blue:#06457e;--gold:#f4b514;--pale:#f3faff;--line:#d9e8f3;--ink:#061f50;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);background:#fff;line-height:1.8}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.skip-link{position:fixed;left:12px;top:-100px;background:#fff;padding:8px 14px;z-index:1000}.skip-link:focus{top:12px}.site-header{height:110px;background:rgba(255,255,255,.97);position:relative;z-index:20}.header-inner{height:100%;max-width:1760px;margin:auto;padding:0 5vw;display:flex;align-items:center;gap:3vw}.brand{display:flex;align-items:center;min-width:240px}.brand-mark{width:62px;height:66px}.brand-type{display:flex;flex-direction:column;margin-left:8px;line-height:1}.brand-type b{font-family:var(--serif);font-size:30px;letter-spacing:.12em}.brand-type em{font-style:normal;font-weight:700;letter-spacing:.32em;font-size:12px;margin:7px 0}.brand-type small{font-family:var(--serif);font-size:11px;white-space:nowrap}.global-nav{display:flex;align-items:center;justify-content:center;gap:2.4vw;flex:1}.global-nav a{font-size:15px;font-weight:700;white-space:nowrap;position:relative;padding:38px 0}.global-nav a:after{content:"";position:absolute;left:0;right:0;bottom:27px;height:2px;background:var(--gold);transform:scaleX(0);transition:.25s}.global-nav a:hover:after,.global-nav a.is-active:after{transform:scaleX(1)}.header-contact{background:linear-gradient(135deg,#073d75,#004a88);color:#fff;border-radius:10px;padding:17px 25px;font-weight:700;white-space:nowrap;display:flex;gap:14px;align-items:center}.mail-icon{font-size:20px}.menu-button{display:none}.hero{min-height:690px;background:linear-gradient(110deg,#f6fbff 0,#fff 42%,#f2faff 100%);display:grid;grid-template-columns:46% 54%;overflow:hidden}.hero-copy{padding:72px 4vw 42px 5.7vw;position:relative;z-index:1}.eyebrow{font-size:11px;letter-spacing:.35em;color:#7f99ba;margin:0 0 10px}.hero h1{font-family:var(--serif);font-size:clamp(50px,5vw,86px);line-height:1.18;margin:0 0 24px;letter-spacing:.02em;font-weight:700}.gold-stroke{width:160px;height:9px;border-top:4px solid var(--gold);border-radius:50%;transform:rotate(-6deg);margin-bottom:13px}.hero-copy>p:not(.eyebrow){font-family:var(--serif);font-size:19px;line-height:2}.cta{display:inline-flex;align-items:center;justify-content:center;gap:40px;font-weight:800;border-radius:999px;min-height:72px;padding:0 55px;font-size:21px;transition:.25s}.cta:hover{transform:translateY(-3px);filter:brightness(1.03);box-shadow:0 12px 25px rgba(6,39,93,.18)}.cta-gold{background:linear-gradient(115deg,#f2bd32,#ffd45a);margin-top:12px}.hero-visual{align-self:stretch;display:flex;align-items:center}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:left center}.notice{height:92px;display:grid;grid-template-columns:120px 120px 1fr auto;gap:28px;align-items:center;padding:0 5vw;max-width:1800px;margin:auto;font-size:15px}.notice b{font-size:17px}.notice b:after{content:"";border-right:1px solid #b7c8d8;margin-left:30px}.notice p{margin:0}.notice a{font-weight:700}.section{position:relative;overflow:hidden}.trouble{min-height:610px;background:linear-gradient(120deg,#f8fcff,#edf7fd 46%,#f8fcff);padding:70px 6vw;display:grid;grid-template-columns:22% 58% 20%;align-items:center}.trouble:before,.strength:before,.business:before{content:"";position:absolute;inset:0;background:linear-gradient(32deg,transparent 47%,rgba(181,211,234,.17) 47%,rgba(181,211,234,.17) 54%,transparent 54%);pointer-events:none}.section-heading{position:relative;z-index:1}.section-heading h2{font-family:var(--serif);font-size:clamp(40px,4vw,64px);line-height:1.17;margin:0;font-weight:700}.section-heading i{display:block;width:100px;border-top:3px solid var(--gold);margin:24px 0 10px}.section-heading span{font-size:16px;letter-spacing:.32em;color:#88a2c4}.trouble-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;position:relative;z-index:1}.trouble-grid article{background:#fff;min-height:190px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:16px;clip-path:polygon(12% 0,88% 0,100% 18%,100% 82%,88% 100%,12% 100%,0 82%,0 18%);box-shadow:inset 0 0 0 2px #deebf5}.trouble-grid svg,.reason-grid svg,.service-grid svg{width:62px;height:62px;fill:none;stroke:var(--navy);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.trouble-grid p{font-family:var(--serif);font-size:17px;font-weight:700;line-height:1.55;margin:10px 0 0}.hand-note{font-family:var(--serif);font-size:24px;font-weight:700;line-height:1.4;transform:rotate(-7deg);border-left:7px solid var(--gold);padding-left:18px}.strength{padding:95px 6vw 105px;background:#f0f8fd;display:grid;grid-template-columns:25% 75%;gap:30px}.english-copy{letter-spacing:.25em;color:#6e88b0;font-size:14px;line-height:2;margin:20px 0 80px 80px}.strength-main{position:relative;z-index:1}.strength-main>h2{font-family:var(--serif);font-size:clamp(36px,4vw,58px);margin:0 0 10px}.lead{font-family:var(--serif);font-size:19px;max-width:850px;margin-bottom:55px}.reason-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.reason-grid article{background:#fff;border-radius:8px;padding:18px 24px 26px;min-height:310px}.reason-grid article>b{font-family:var(--serif);font-size:22px;display:block}.reason-grid svg{display:block;margin:0 auto 8px}.reason-grid h3{text-align:center;font-family:var(--serif);font-size:18px}.reason-grid p{font-family:var(--serif);font-size:15px;line-height:1.7}.gold-fill{fill:var(--gold);stroke:var(--gold)}.white-stroke{stroke:white}.business{padding:105px 3vw 120px;background:linear-gradient(120deg,#fff,#f7fcff 60%,#fff)}.business-title{display:flex;align-items:center;gap:75px;max-width:1800px;margin:0 auto 20px}.business-title p{font-family:var(--serif);font-size:19px;font-weight:600}.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;max-width:1870px;margin:auto;position:relative;z-index:1}.service-grid article{background:#fff;border:1px solid var(--line);box-shadow:0 6px 20px rgba(27,68,108,.06);min-height:370px;padding:35px 28px}.service-grid svg{display:block;margin:auto;width:80px;height:80px}.service-grid h3{font-family:var(--serif);font-size:19px;text-align:center;margin:15px 0 8px;min-height:52px}.service-grid i{display:block;width:50px;border-top:3px solid var(--gold);margin:0 auto 24px}.service-grid p{font-family:var(--serif);font-size:15px;color:#354767}.flow{padding:100px 6vw;background:#fff}.section-heading.centered{text-align:center}.section-heading.centered i{margin:20px auto 10px}.flow-list{list-style:none;margin:60px auto 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;max-width:1400px;counter-reset:item}.flow-list li{position:relative;text-align:center;padding:42px 25px 30px;background:#f5faff;border-top:4px solid var(--navy)}.flow-list li:not(:last-child):after{content:"→";position:absolute;right:-25px;top:50%;font-size:30px;color:var(--gold);z-index:2}.flow-list b{font-size:14px;letter-spacing:.15em;color:#7792b6}.flow-list h3{font-family:var(--serif);font-size:22px}.flow-list p{font-size:15px}.faq{padding:95px 6vw 110px;background:#eef7fd}.faq-list{max-width:1050px;margin:50px auto 0}.faq-list details{background:#fff;border-bottom:1px solid #dce8f1;padding:0 28px}.faq-list summary{list-style:none;cursor:pointer;padding:22px 35px 22px 0;font-weight:700;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"＋";position:absolute;right:0;color:var(--gold);font-size:22px}.faq-list details[open] summary:after{content:"−"}.faq-list summary span{font-family:var(--serif);color:var(--gold);font-size:22px;margin-right:18px}.faq-list details p{margin:0;padding:0 0 23px 38px;color:#3c4d67}.message{background:linear-gradient(110deg,#f6fcff,#edf7fb);padding:90px 5vw 70px}.message-top{display:grid;grid-template-columns:48% 52%;align-items:center;max-width:1780px;margin:auto 50px}.president-message{font-family:var(--serif);font-size:17px;max-width:650px}.signature{text-align:right;font-size:28px;font-weight:700}.signature small,.signature em{font-size:13px;display:block;font-style:normal;color:#778eb0}.contact-panel{max-width:1780px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;border-top:1px solid white;padding-top:55px}.contact-panel h2{font-family:var(--serif);font-size:clamp(35px,4vw,56px);margin:0;border-bottom:4px solid var(--gold);display:inline}.contact-panel p{font-family:var(--serif);font-size:20px}.contact-action{text-align:center;border-left:1px solid #a9bad0}.contact-action .cta{min-width:480px}.contact-action b{display:block;margin-top:13px}.footer-main{display:grid;grid-template-columns:300px 1fr 300px;align-items:center;gap:45px;padding:42px 4vw;max-width:1900px;margin:auto}.footer-main nav{display:flex;justify-content:center;gap:30px;font-weight:700;font-size:14px}.footer-main address{font-style:normal;display:flex;flex-direction:column}.footer-main address a{font-size:20px;font-weight:700}.footer-main address small{padding-left:29px}.footer-bottom{background:linear-gradient(90deg,#073871,#06498b);color:#fff;padding:12px 4vw;display:flex;justify-content:space-between}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}
@media(max-width:1180px){.global-nav{display:none}.header-inner{justify-content:space-between}.menu-button{display:flex;width:44px;height:40px;border:0;background:none;flex-direction:column;justify-content:center;gap:6px}.menu-button span{display:block;height:2px;background:var(--navy);width:100%}.global-nav.is-open{display:flex;position:absolute;left:0;right:0;top:110px;background:white;flex-direction:column;align-items:stretch;gap:0;padding:20px 7vw;box-shadow:0 12px 20px rgba(0,0,0,.08)}.global-nav.is-open a{padding:12px 0}.global-nav.is-open a:after{bottom:4px}.header-contact{margin-left:auto}.hero{grid-template-columns:48% 52%}.hero-copy{padding-left:4vw}.hero h1{font-size:54px}.hero-copy>p:not(.eyebrow){font-size:16px}.trouble{grid-template-columns:25% 75%;padding:60px 4vw}.hand-note{display:none}.strength{grid-template-columns:100%}.about-copy{display:flex;align-items:flex-end;gap:50px}.english-copy{margin:0}.reason-grid{grid-template-columns:repeat(2,1fr)}.service-grid{grid-template-columns:repeat(3,1fr)}.footer-main{grid-template-columns:270px 1fr}.footer-main nav{display:none}.footer-main address{justify-self:end}}
@media(max-width:760px){.site-header{height:82px;position:sticky;top:0}.header-inner{padding:0 20px}.brand{min-width:auto}.brand-mark{width:43px;height:48px}.brand-type b{font-size:23px}.brand-type em{font-size:9px;margin:4px 0}.brand-type small{display:none}.header-contact{display:none}.global-nav.is-open{top:82px}.hero{display:flex;flex-direction:column;min-height:auto}.hero-copy{padding:52px 24px 36px}.eyebrow{font-size:9px}.hero h1{font-size:46px}.hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.9}.desktop-only{display:none}.cta{min-height:62px;padding:0 33px;font-size:18px}.hero-visual{height:auto}.hero-visual img{height:auto;object-fit:contain}.notice{height:auto;grid-template-columns:auto 1fr;padding:23px 24px;gap:5px 20px}.notice b:after{display:none}.notice p{grid-column:1/3}.notice a{display:none}.trouble{display:block;padding:70px 22px}.section-heading h2{font-size:42px}.trouble-grid{grid-template-columns:repeat(2,1fr);margin-top:40px}.trouble-grid article{min-height:165px;padding:12px 9px}.trouble-grid svg{width:46px;height:46px}.trouble-grid p{font-size:14px}.strength{padding:70px 22px}.about-copy{display:block}.english-copy{display:none}.strength-main>h2{font-size:34px;line-height:1.35;margin-top:45px}.lead{font-size:16px;line-height:1.9}.reason-grid{grid-template-columns:1fr}.reason-grid article{min-height:auto}.business{padding:70px 20px}.business-title{display:block}.business-title p{font-size:16px}.service-grid{grid-template-columns:repeat(2,1fr);gap:8px}.service-grid article{min-height:330px;padding:25px 15px}.service-grid svg{width:62px;height:62px}.service-grid h3{font-size:16px}.service-grid p{font-size:14px}.flow,.faq{padding:70px 20px}.flow-list{grid-template-columns:1fr;gap:16px}.flow-list li:not(:last-child):after{content:"↓";right:calc(50% - 10px);top:auto;bottom:-27px}.message{padding:70px 22px 50px}.message-top{grid-template-columns:1fr;gap:35px}.president-message{font-size:16px}.contact-panel{grid-template-columns:1fr;gap:35px}.contact-panel h2{font-size:34px;line-height:1.5}.contact-panel p{font-size:16px}.contact-action{border-left:0}.contact-action .cta{min-width:0;width:100%}.footer-main{grid-template-columns:1fr;padding:35px 24px}.footer-main address{justify-self:start}.footer-bottom{font-size:12px;gap:20px}.footer-brand{min-width:240px}}
@media(max-width:430px){.hero h1{font-size:41px}.trouble-grid{grid-template-columns:1fr 1fr}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:auto}.footer-bottom{flex-direction:column;gap:3px}.contact-panel h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cta{transition:none}}
.hero h1{font-size:clamp(48px,4.3vw,82px);white-space:nowrap}
@media(max-width:760px){.hero h1{font-size:clamp(31px,9vw,40px)}.hero-copy>.cta-gold{color:#061f50}}
@media(max-width:430px){.hero h1{font-size:clamp(29px,8.8vw,36px)}}
.brand-logo{display:block;width:205px;height:auto;object-fit:contain}.header-contact,.cta{border:0;font-family:var(--sans);cursor:pointer}.header-contact{font-size:16px}.footer-brand .brand-logo{width:220px}.service-grid article{position:relative}.service-grid article:before{content:"";position:absolute;width:94px;height:94px;border-radius:50%;background:linear-gradient(145deg,#eef7fd,#fff);top:27px;left:50%;transform:translateX(-50%);z-index:-1}.service-grid article svg{position:relative}.contact-modal{width:min(760px,calc(100% - 32px));max-height:90vh;border:0;border-radius:16px;padding:0;color:var(--ink);box-shadow:0 30px 90px rgba(1,27,65,.32);overflow:auto}.contact-modal::backdrop{background:rgba(2,24,56,.62);backdrop-filter:blur(4px)}.modal-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:26px 34px 20px;background:#fff;border-bottom:1px solid #dce9f2}.modal-head span{display:block;color:#91a8c5;letter-spacing:.28em;font-size:12px}.modal-head h2{font-family:var(--serif);font-size:32px;margin:2px 0 0}.modal-close{border:1px solid #cbd9e5;background:#fff;color:var(--navy);width:44px;height:44px;border-radius:50%;font-size:27px;line-height:1;cursor:pointer}.modal-close:hover{background:#eef7fd}.modal-intro{margin:25px 34px 12px;font-family:var(--serif)}.contact-modal form{padding:12px 34px 34px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field{display:block;margin:0 0 18px}.form-field>span{display:block;font-weight:700;margin-bottom:7px}.form-field b{display:inline-block;margin-left:8px;padding:1px 8px;background:var(--gold);border-radius:999px;font-size:11px}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #b9cada;border-radius:7px;background:#fbfdff;color:var(--ink);font:16px/1.5 var(--sans);padding:12px 14px;outline:0}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#0c4b87;box-shadow:0 0 0 3px rgba(12,75,135,.12)}.form-field textarea{resize:vertical}.form-honey{position:absolute;left:-9999px}.form-note{font-size:13px;color:#61728b;margin:-3px 0 18px}.form-submit{width:100%;min-height:62px;border:0;border-radius:999px;background:linear-gradient(115deg,#efb329,#ffd45a);color:var(--navy);font:800 18px var(--sans);cursor:pointer}.form-submit:hover{filter:brightness(1.03);box-shadow:0 10px 24px rgba(6,39,93,.16)}.success-toast{position:fixed;z-index:100;left:50%;bottom:28px;transform:translate(-50%,150%);opacity:0;background:#06376f;color:#fff;border-left:5px solid var(--gold);border-radius:8px;padding:16px 22px;box-shadow:0 12px 35px rgba(0,0,0,.2);transition:.35s}.success-toast.is-visible{transform:translate(-50%,0);opacity:1}@media(max-width:760px){.brand-logo{width:145px}.footer-brand .brand-logo{width:210px}.modal-head{padding:20px 20px 16px}.modal-head h2{font-size:25px}.modal-intro{margin:20px 20px 8px}.contact-modal form{padding:10px 20px 24px}.form-row{grid-template-columns:1fr;gap:0}.success-toast{width:calc(100% - 32px);bottom:16px}}
