:root{--navy:#071b30;--ink:#15283b;--blue:#075394;--line:#d9dfe4;--muted:#53616c;--paper:#f2f5f7;--width:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:#fff;color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a,button,input,textarea{touch-action:manipulation}a:hover{text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #258ddd;outline-offset:5px}img{max-width:100%;display:block}button,input,textarea{font:inherit}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}h1,h2,h3,p,figure,dl{margin:0}h1,h2,h3{line-height:1.55;font-weight:700;letter-spacing:.025em}h2{font-size:clamp(25px,2.5vw,36px)}h3{font-size:21px}p+p{margin-top:18px}.container{width:min(var(--width),calc(100% - 112px));margin-inline:auto}.section{padding-block:96px}.eyebrow{font-family:Arial,sans-serif;font-weight:600;font-size:12px;line-height:1.5;letter-spacing:.18em;color:var(--blue);margin-bottom:15px}.small{font-size:13px;line-height:1.9}.cover{width:100%;height:100%;object-fit:cover}.skip-link{position:absolute;left:16px;top:-100px;z-index:100;background:#fff;color:var(--ink);padding:10px 24px}.skip-link:focus{top:12px}.site-header{background:var(--navy);color:white;position:relative;z-index:20}.header-inner{width:min(1440px,calc(100% - 80px));margin:auto;min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{font-size:22px;letter-spacing:.065em;font-weight:700;line-height:1.3}.brand .custom-logo{width:auto;max-width:320px;max-height:55px}.nav-list{display:flex;align-items:center;gap:36px;padding:0;margin:0;list-style:none;font-size:14px}.nav-list a{display:flex;align-items:center;gap:22px;min-height:44px}.nav-list a:hover,.nav-list a[aria-current=page]{color:#b8dafa}.site-header .nav-list li:last-child a{border:1px solid #8290a0;padding:10px 24px}.menu-toggle{display:none}.home-hero{height:650px;min-height:570px;position:relative;color:#fff;background:var(--navy);overflow:hidden}.home-hero>.cover,.page-hero>.cover,.contact-cta>.cover,.service-dark>.cover,.contact-aside>.cover{position:absolute;inset:0}.home-hero>.cover{object-position:center 52%}.home-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,21,39,.88),rgba(4,21,39,.49) 53%,rgba(4,21,39,.08))}.hero-inner{position:relative;z-index:1}.home-hero .hero-inner{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.home-hero h1{font-size:clamp(35px,4vw,56px);line-height:1.6;letter-spacing:.03em;padding-left:26px;border-left:3px solid #278bd2;margin-bottom:27px}.home-hero p{max-width:590px;font-size:16px;line-height:2.1;margin-bottom:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;min-height:58px;padding:15px 28px;font-size:15px;font-weight:600;border:1px solid transparent;transition:background .2s,color .2s}.button span{font-size:22px;line-height:1}.button-light{background:#fff;color:var(--ink)}.button-light:hover{background:#e6eff5}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:60px;color:var(--blue);font-weight:600;font-size:14px;border-bottom:1px solid #a9c0d2;padding:16px 0 10px;min-height:48px}.text-link:hover{color:var(--navy);border-color:var(--navy)}.text-link span{font-size:22px}.trust-band{background:#eaf0f4;border-bottom:1px solid #dfe6ec;color:#40566b;font-size:13px;padding:20px 0;letter-spacing:.06em}.about{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-copy{padding-top:32px}.about-copy p{line-height:2.25}.about-copy .text-link{margin-top:21px}.services-overview{background:var(--paper)}.services-overview h2{margin-bottom:45px}.service-overview-grid{display:grid;grid-template-columns:.83fr 1.17fr;gap:64px}.service-overview-grid figure{position:relative;min-height:565px;overflow:hidden}.service-overview-grid figure .cover{position:absolute;inset:0}.service-overview-grid figure:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(4,22,40,.9))}.service-overview-grid figcaption{position:absolute;z-index:1;bottom:36px;left:32px;right:28px;color:white;font-size:21px;line-height:1.8;font-weight:600}.service-row{display:grid;grid-template-columns:26px 1fr 20px;gap:15px;align-items:start;border-top:1px solid #bdcbd7;padding:23px 0;transition:opacity .2s}.service-row:hover{opacity:.72}.service-row h3{font-size:20px;margin-bottom:10px}.service-row p{font-size:14px;color:#4c5e6c;line-height:1.9}.service-row .number{color:var(--blue);font-size:12px;letter-spacing:.1em;padding-top:5px}.service-row .arrow{padding-top:1px;color:var(--blue)}.service-list{border-bottom:1px solid #bdcbd7}.service-overview-grid .text-link{margin-top:20px}.company-overview{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.company-overview p:not(.eyebrow){margin-top:20px}.company-overview .text-link{margin-top:20px}.company-photo{height:330px}.contact-cta{position:relative;color:#fff;background:var(--navy);overflow:hidden}.contact-cta>.cover{opacity:.13;object-position:center 57%}.cta-inner{position:relative;z-index:1;padding-block:68px;display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-cta .eyebrow{color:#b8d5e9}.contact-cta h2{font-size:30px;margin-bottom:14px}.contact-cta p:not(.eyebrow){font-size:14px}.contact-cta .button{min-width:240px;flex-shrink:0}.site-footer{background:var(--navy);color:#fff;border-top:1px solid #334357;padding:46px 0 28px}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-brand{font-size:18px;font-weight:600;letter-spacing:.04em}.site-footer .nav-list{font-size:12px;gap:23px}.site-footer .nav-list a{gap:8px}.copyright{border-top:1px solid #334357;margin-top:30px;padding-top:20px;text-align:right;font:11px/1.6 Arial,sans-serif;color:#b8c5d1}.page-hero{height:320px;position:relative;background:var(--navy);color:#fff}.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,23,45,.88),rgba(3,23,45,.25))}.page-hero .hero-inner{height:100%;display:flex;flex-direction:column;justify-content:center}.page-hero .eyebrow{color:#d2e5f4;font-size:13px}.page-hero h1{font-size:44px;border-left:3px solid #2583c8;padding-left:24px}.breadcrumb{display:flex;gap:20px;padding-top:25px;font-size:12px;color:#647480}.breadcrumb a{color:var(--blue)}.service-intro{padding-top:65px;padding-bottom:50px}.service-intro>p{margin-top:20px;color:var(--muted)}.service-anchors{margin-top:38px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-anchors a{font-size:13px;line-height:1.7;display:flex;align-items:center;gap:10px;padding:20px 15px;border-right:1px solid var(--line)}.service-anchors a:last-child{border:0}.service-anchors a span{color:var(--blue);font-size:11px}.service-anchors a b{margin-left:auto;font-weight:400}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;padding:36px 0 60px;scroll-margin-top:30px}.detail-photo{height:350px}.detail-copy h2{font-size:27px;margin-bottom:20px}.detail-copy>p:not(.eyebrow){font-size:15px}.example{border-top:1px solid var(--line);margin-top:25px;padding-top:17px}.example h3{font-size:12px;font-weight:600;color:var(--blue);margin-bottom:8px}.example p{font-size:14px}.service-detail-2 .detail-photo{order:2}.service-dark{background:var(--navy);color:#fff;position:relative;margin-top:20px;overflow:hidden}.service-dark>.cover{opacity:.15}.dark-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-block:70px}.dark-grid section+section{padding-left:60px;border-left:1px solid #576574}.dark-grid h2{font-size:27px;margin-bottom:20px}.dark-grid p:not(.eyebrow){font-size:15px}.dark-grid .eyebrow,.dark-grid .example h3{color:#bdd7ec}.dark-grid .example{border-color:#576574}.flow{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:start}.flow h2{margin-bottom:18px}.flow>div>p:not(.eyebrow){font-size:14px}.flow-photo{height:310px;margin-top:32px}.flow-photo img{object-position:70% center}.flow ol{padding:0;margin:0 0 22px;list-style:none;border-bottom:1px solid var(--line)}.flow li{display:flex;gap:26px;align-items:center;border-top:1px solid var(--line);padding:21px 8px;font-weight:600}.flow li span{font:12px Arial;color:var(--blue)}.company-info{display:grid;grid-template-columns:.36fr 1fr;gap:65px;padding-top:75px}.company-table{border-top:1px solid #a6b6c4}.company-table>div{display:grid;grid-template-columns:140px 1fr;padding:25px 0;border-bottom:1px solid var(--line);gap:30px;font-size:15px}.company-table dt{font-weight:600}.company-table dd{margin:0;overflow-wrap:anywhere}.company-table a:hover{text-decoration:underline}.company-service{background:var(--paper);padding-block:64px}.company-service>.container{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.company-service h2{font-size:32px;margin-bottom:22px}.company-service p:not(.eyebrow){font-size:14px}.company-service .text-link{margin-top:16px}.company-service-photo{height:330px}.contact-section{padding-top:65px}.contact-section>h2{font-size:31px}.contact-intro{margin-top:20px;font-size:15px}.contact-grid{display:grid;grid-template-columns:1fr .45fr;gap:70px;margin-top:50px;align-items:start}.contact-aside{position:relative;background:var(--navy);color:#fff;min-height:530px;padding:38px 30px;overflow:hidden}.contact-aside>.cover{opacity:.15}.contact-aside>div{position:relative}.contact-aside .eyebrow{color:#b9d6eb}.contact-aside h3{font-size:23px;margin-bottom:24px}.contact-aside p:not(.eyebrow){font-size:13px}.contact-aside dl{margin-top:25px}.contact-aside dt{font:11px Arial;letter-spacing:.14em;color:#b9d6eb;margin-top:20px}.contact-aside dd{margin:8px 0;overflow-wrap:anywhere}.contact-aside .phone{font:24px/1.6 Arial,sans-serif}.contact-aside .aside-note{margin-top:27px;padding-top:22px;border-top:1px solid #677886}.field{margin:0 0 27px}.field label{display:block;font-size:15px;font-weight:600;margin-bottom:10px}.field .required,.field .optional{display:inline-block;font-size:11px;font-weight:400;margin-left:15px;color:#a32727}.field .optional{color:var(--muted)}.field input,.field textarea{border:1px solid #b8c3cc;background:#fff;color:var(--ink);border-radius:0;padding:12px 14px;width:100%;min-height:52px;line-height:1.7}.field textarea{min-height:190px;resize:vertical}.field small{display:block;font-size:12px;color:var(--muted);margin-top:8px}.privacy-disclosure{background:#f3f5f7;padding:22px 25px;font-size:13px;margin:32px 0 23px;border:1px solid #e1e6eb}.privacy-disclosure h3{font-size:14px;margin-bottom:10px}.privacy-disclosure a{color:var(--blue);text-decoration:underline}.consent{font-size:14px;margin-bottom:24px}.wpcf7-list-item{margin:0}.wpcf7-list-item label{display:flex;align-items:flex-start;gap:10px}.wpcf7-list-item input{width:20px;height:20px;flex-shrink:0;margin:4px 0;accent-color:var(--blue)}.wpcf7-submit{background:var(--navy);color:#fff;border:0;min-height:58px;padding:15px 45px;cursor:pointer;font-weight:600;border-radius:0}.wpcf7-submit:disabled{opacity:.5;cursor:default}.wpcf7-not-valid-tip{font-size:12px;color:#a32727;margin-top:7px}.wpcf7 form .wpcf7-response-output{margin:24px 0 0;padding:15px;font-size:14px}.form-note{font-size:12px;color:var(--muted);margin-top:16px}.form-unavailable{padding:25px;background:var(--paper)}.reading{min-height:60vh;max-width:900px}.reading h1{font-size:36px;margin-bottom:36px}.entry-content{overflow-wrap:anywhere}.entry-content h2,.entry-content h3{margin:35px 0 18px}.entry-content a{color:var(--blue);text-decoration:underline}.entry-content img{height:auto}.reading article+article{margin-top:50px}
@media(min-width:1600px){.home-hero{height:710px}}
@media(max-width:1100px){.container{width:calc(100% - 72px)}.header-inner{width:calc(100% - 56px)}.brand{font-size:19px}.nav-list{gap:25px}.service-overview-grid{gap:38px}.about,.company-overview,.flow,.service-detail,.company-service>.container{gap:45px}.contact-grid{gap:35px;grid-template-columns:1fr .52fr}.contact-aside{padding:30px 23px}.contact-aside .phone{font-size:21px}.footer-row{align-items:flex-start}.site-footer .nav-list{gap:16px;flex-wrap:wrap;justify-content:flex-end}.service-anchors{grid-template-columns:1fr 1fr}.service-anchors a:nth-child(2){border-right:0}.service-anchors a:nth-child(-n+2){border-bottom:1px solid var(--line)}.company-info{grid-template-columns:.3fr 1fr;gap:35px}}
@media(max-width:860px){.header-inner{min-height:74px}.brand{font-size:18px}.brand .custom-logo{max-width:235px;max-height:45px}.menu-toggle{display:flex;align-items:center;gap:15px;border:0;background:none;color:#fff;min-width:44px;min-height:44px;padding:8px 0;font-size:12px}.menu-toggle i,.menu-toggle i:before{display:block;width:22px;height:1px;background:#fff;content:"";transition:transform .2s}.menu-toggle i:before{transform:translateY(-7px)}.menu-toggle[aria-expanded=true] i{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] i:before{transform:rotate(-90deg)}#site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--navy);padding:15px 36px 28px;border-top:1px solid #34465a}#site-nav.is-open{display:block}.site-header .nav-list{display:block}.site-header .nav-list a{padding:15px 0;min-height:54px}.site-header .nav-list li:last-child a{margin-top:10px;justify-content:space-between;padding:12px 18px}.home-hero{height:600px;min-height:0}.home-hero h1{font-size:39px}.home-hero p{max-width:470px}.home-hero>.cover{object-position:60% center}.section{padding-block:70px}.about{gap:35px}.about h2{font-size:26px}.about-copy{padding-top:23px;font-size:14px}.service-overview-grid{grid-template-columns:.72fr 1fr;gap:30px}.service-overview-grid figcaption{font-size:18px;left:23px;bottom:25px}.service-row{grid-template-columns:20px 1fr 12px;gap:8px;padding:20px 0}.service-row h3{font-size:17px}.service-row p{font-size:13px}.company-overview{gap:30px}.company-photo{height:280px}.company-overview h2{font-size:26px}.cta-inner{padding-block:50px}.contact-cta .button{min-width:200px;padding-inline:23px}.contact-cta h2{font-size:27px}.footer-row{display:block}.footer-brand{display:inline-block;margin-bottom:22px}.site-footer .nav-list{justify-content:flex-start}.page-hero{height:270px}.page-hero h1{font-size:38px}.service-detail{gap:30px}.detail-copy h2,.dark-grid h2{font-size:23px}.detail-photo{height:300px}.dark-grid{gap:35px}.dark-grid section+section{padding-left:35px}.company-info{display:block}.company-info>div{margin-bottom:35px}.company-table>div{grid-template-columns:140px 1fr}.contact-grid{grid-template-columns:1fr}.contact-aside{min-height:0;padding:35px}.contact-aside dl{display:grid;grid-template-columns:60px 1fr;margin-top:20px;align-items:baseline}.contact-aside dt{margin-top:0}.contact-aside .phone{font-size:26px}.contact-aside .aside-note{max-width:500px}.contact-aside>.cover{object-position:center 60%}}
@media(max-width:600px){body{font-size:14px}.container{width:calc(100% - 40px)}.header-inner{width:calc(100% - 36px);min-height:66px;gap:15px}.brand{font-size:15px;letter-spacing:.015em}.brand .custom-logo{max-width:205px}.menu-toggle span{font-size:10px}.menu-toggle{gap:10px}.home-hero{height:590px}.home-hero>.cover{object-position:64% center}.home-hero:after{background:linear-gradient(90deg,rgba(4,21,39,.88),rgba(4,21,39,.5))}.home-hero h1{font-size:clamp(27px,7.1vw,38px);padding-left:17px;line-height:1.8;letter-spacing:0;margin-bottom:23px}.home-hero p{font-size:14px;line-height:2.1;max-width:340px;margin-bottom:28px}.button{font-size:14px;min-height:56px;padding:14px 24px;gap:40px}.trust-band{font-size:11px;padding:17px 0}.section{padding-block:55px}.eyebrow{font-size:11px;margin-bottom:12px}h2{font-size:26px}.about,.company-overview,.service-overview-grid,.service-detail,.flow,.company-service>.container{grid-template-columns:1fr;gap:28px}.about-copy{padding-top:0;font-size:14px}.about-copy .text-link{margin-top:13px}.services-overview h2{margin-bottom:27px}.service-overview-grid figure{min-height:340px;height:340px}.service-overview-grid figure .cover{object-position:center 45%}.service-overview-grid figcaption{font-size:20px;left:25px}.service-row{gap:12px;padding:22px 0;grid-template-columns:22px 1fr 15px}.service-row h3{font-size:18px}.service-row p{font-size:13px}.company-photo{height:245px}.company-overview p:not(.eyebrow){margin-top:14px}.company-overview .text-link{margin-top:12px}.cta-inner{display:block;padding-block:45px}.contact-cta h2{font-size:26px}.contact-cta p:not(.eyebrow){font-size:13px}.contact-cta .button{margin-top:24px;min-width:220px}.site-footer{padding-top:30px}.footer-brand{font-size:16px;margin-bottom:20px}.site-footer .nav-list{gap:8px 24px;font-size:11px}.copyright{text-align:left;margin-top:22px;padding-top:20px}.page-hero{height:220px}.page-hero h1{font-size:32px;padding-left:18px}.page-hero .eyebrow{font-size:11px}.breadcrumb{font-size:10px;padding-top:20px;gap:13px}.service-intro{padding-top:40px;padding-bottom:25px}.service-intro h2{font-size:25px}.service-intro>p{margin-top:15px}.service-anchors{margin-top:27px}.service-anchors a{padding:15px 8px;font-size:11px;gap:7px}.service-anchors a span{font-size:10px}.service-detail{padding:20px 0 40px;gap:23px}.detail-photo{height:245px}.service-detail-2 .detail-photo{order:0}.detail-copy h2{font-size:24px;margin-bottom:16px}.detail-copy>p:not(.eyebrow){font-size:14px}.example{margin-top:20px}.example p{font-size:13px}.service-dark{margin-top:0}.dark-grid{grid-template-columns:1fr;gap:35px;padding-block:45px}.dark-grid section+section{padding:35px 0 0;border-left:0;border-top:1px solid #576574}.dark-grid p:not(.eyebrow){font-size:14px}.flow-photo{height:230px;margin-top:23px}.flow li{padding:18px 4px}.company-info>div{margin-bottom:27px}.company-table>div{grid-template-columns:90px 1fr;gap:15px;padding:20px 0;font-size:13px}.company-service{padding-block:45px}.company-service h2{font-size:27px}.company-service-photo{height:250px}.contact-section{padding-top:40px}.contact-section>h2{font-size:25px}.contact-intro{font-size:14px;margin-top:15px}.contact-grid{margin-top:30px;gap:35px}.field{margin-bottom:24px}.field label{font-size:14px}.field input,.field textarea{font-size:16px}.privacy-disclosure{padding:19px;font-size:12px}.wpcf7-submit{width:100%;padding-inline:20px;font-size:14px}.contact-aside{padding:28px}.contact-aside h3{font-size:21px}.reading h1{font-size:28px}.reading{min-height:55vh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before{transition:none!important}}

@media(max-width:600px){.home-hero h1{font-size:clamp(20px,6vw,32px)}.contact-aside h3 br{display:initial}}

/* Arrows are drawn with borders: independent of text and emoji fonts. */
.xf-arrow{display:inline-block;position:relative;width:22px;height:22px;flex:0 0 22px;vertical-align:middle;line-height:1;color:inherit}
.xf-arrow:before{content:"";position:absolute;left:2px;top:10px;width:18px;border-top:1px solid currentColor}
.xf-arrow:after{content:"";position:absolute;right:2px;top:7px;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
.xf-arrow-up{transform:rotate(-45deg)}
.xf-arrow-down{transform:rotate(90deg)}
.service-row>.xf-arrow{color:var(--blue);width:18px;height:22px;justify-self:end}
.service-anchors .xf-arrow{margin-left:auto}
.xf-submit-wrap{display:inline-block;position:relative;color:white}
.xf-submit-wrap .wpcf7-submit{padding-right:70px}
.xf-submit-wrap>.xf-arrow{position:absolute;right:25px;top:50%;transform:translateY(-50%);pointer-events:none}
.xf-submit-wrap:has(.wpcf7-submit:disabled)>.xf-arrow{opacity:.5}
.xf-submit-wrap .wpcf7-spinner{position:absolute;right:24px;top:50%;transform:translateY(-50%);margin:0}
.wpcf7 form.submitting .xf-submit-wrap>.xf-arrow{visibility:hidden}
@media(max-width:600px){.xf-submit-wrap{width:100%}}
