:root{--blue:#123f62;--ink:#18354a;--muted:#647580;--pale:#f0f5f8;--line:#dce5e9;--serif:"Noto Serif JP",serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);font-family:Noto Sans JP,sans-serif;font-size:16px;line-height:1.95;background:#fff}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #3d95cf;outline-offset:5px}img{max-width:100%;display:block;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500}h2{font-size:clamp(1.65rem,2.6vw,2.4rem);line-height:1.7;letter-spacing:.07em}h3{font-weight:500;font-size:1.25rem;line-height:1.7}p{margin-bottom:1.3em}span.eyebrow{display:block}.eyebrow{font-size:12px;letter-spacing:.2em;font-weight:600;margin-bottom:22px;color:#547d98}.wrap{width:min(1160px,calc(100% - 112px));margin:auto}.section{padding-top:110px;padding-bottom:110px}.header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;gap:25px;background:#fff;position:relative;z-index:30}.brand{display:flex;gap:13px;align-items:center;white-space:nowrap}.brand>span{font-family:var(--serif);font-size:25px;font-weight:600;letter-spacing:.13em;line-height:1.5}.brand small{display:block;font-family:sans-serif;letter-spacing:.22em;font-size:10px}.header nav{display:flex;align-items:center;gap:30px;font-size:14px}.header nav>a:not(.nav-contact){padding:10px 0;position:relative}.header nav>a[aria-current=page]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--blue)}.nav-contact{background:var(--blue);color:#fff;padding:17px 24px}.nav-contact span{margin-left:22px}.menu-button{display:none}.hero{position:relative;min-height:clamp(660px,calc(100svh - 100px),900px);height:auto;margin:0 26px;background:#dce6e7;overflow:hidden}.hero-image{width:100%;height:100%;position:absolute;object-position:center}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f4f8f6f5,#f5f8f6d1 25%,#fff0 63%)}.hero-content{position:relative;z-index:1;margin-inline:6%;padding:clamp(45px,8svh,85px) 0 95px;max-width:none}.hero-content h1{font-size:clamp(3.2rem,5vw,5.1rem);line-height:1.55;letter-spacing:.16em;margin:26px 0;white-space:nowrap}.hero-content p{font-size:16px;line-height:2.1;margin-bottom:32px}.button{background:var(--blue);color:#fff;display:inline-flex;justify-content:space-between;align-items:center;gap:50px;padding:18px 28px;font-size:14px;min-height:60px;border:1px solid var(--blue);cursor:pointer;transition:background .2s}.button:hover,.nav-contact:hover{background:#235d85}.button span{font-size:22px;line-height:1}.hero-foot{position:absolute;bottom:25px;left:6%;right:4%;display:flex;justify-content:space-between;z-index:2;font-size:12px;letter-spacing:.1em}.hero-foot a{background:#ffffffd9;padding:2px 12px}.hero-caption{position:absolute;right:35px;top:50px;writing-mode:vertical-rl;letter-spacing:.3em;z-index:2;background:#ffffffd9;padding:20px 8px;font-family:var(--serif)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:70px}.intro h2{font-size:2.65rem}.intro p{font-size:15px;line-height:2.3}.intro .lead{font-size:20px;font-family:var(--serif);margin-bottom:25px}.text-link{display:inline-flex;gap:45px;border-bottom:1px solid #8299aa;padding:12px 0;font-size:14px;white-space:nowrap}.text-link:hover{color:#2c87ba}.services{background:var(--pale)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:48px}.section-heading h2{margin-bottom:0;font-size:1.9rem}.section-heading .eyebrow{margin-bottom:14px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{background:#fff;padding:30px;position:relative;min-height:340px;border-top:3px solid var(--blue);transition:transform .2s}.service-card:hover{transform:translateY(-5px)}.number{font-family:var(--serif);font-size:32px;color:#9eb4c3}.service-card h3{font-size:25px;margin:10px 0 20px}.service-card strong{font-weight:500;font-size:15px}.service-card p{font-size:14px;color:var(--muted);margin:12px 0 35px}.circle-arrow{position:absolute;bottom:25px;right:28px;font-size:24px}.works-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.image-wrap{overflow:hidden;background:var(--pale)}.work-card img{width:100%;aspect-ratio:1.4;height:auto;transition:transform .6s}.work-card:hover img{transform:scale(1.035)}.work-meta{display:flex;justify-content:space-between;font-size:12px;margin:22px 0 10px;letter-spacing:.08em}.work-meta span{color:var(--muted)}.work-card h3{font-size:19px;display:flex;justify-content:space-between}.note{font-size:12px;color:var(--muted);margin-top:28px}.promise{background:#f4f7f8}.promise-inner{display:grid;grid-template-columns:1fr 1.1fr;column-gap:65px}.promise-inner>.eyebrow{grid-column:1/-1}.promise h2{font-size:2.4rem}.promise article{display:flex;gap:26px;border-bottom:1px solid var(--line);padding:0 0 24px;margin-bottom:24px}.promise article>span{font-family:var(--serif);color:#7291a8}.promise h3{margin-bottom:8px;font-size:18px}.promise p{font-size:14px;margin:0;color:var(--muted)}.contact-band{padding:65px max(7%,calc((100% - 1160px)/2));background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-band .eyebrow{color:#a7c5d9;margin-bottom:12px}.contact-band h2{font-size:28px;margin-bottom:16px}.contact-band p{font-size:14px;margin:0;color:#d0dee8}.white{background:#fff;color:var(--blue);border-color:#fff;white-space:nowrap}.white:hover{background:#e7f0f5}footer{padding:55px 5% 20px}.footer-top{display:flex;align-items:center;flex-wrap:wrap;gap:30px}.footer-top p{font-size:13px;margin:0}.footer-top nav{margin-left:auto;display:flex;gap:24px;font-size:13px}.footer-bottom{border-top:1px solid var(--line);margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;font-size:11px;color:var(--muted);gap:20px}.mobile-only{display:none}.skip{position:absolute;top:-100px;left:15px;background:#fff;padding:15px;z-index:100}.skip:focus{top:10px}.page-head{padding:65px max(7%,calc((100% - 1160px)/2)) 70px;background:var(--pale);position:relative}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:38px}.breadcrumb a{border-bottom:1px solid #a5b7c2}.page-head h1{font-size:2.9rem;margin:0 0 15px;letter-spacing:.1em}.page-head .eyebrow{margin-bottom:10px}.page-head p{margin:0;max-width:680px}.anchor-nav{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:55px}.anchor-nav a{border:1px solid var(--line);padding:10px 22px;font-size:14px}.anchor-nav a:hover{background:var(--pale)}.detail-row{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:55px 0;border-top:1px solid var(--line);align-items:center;scroll-margin-top:30px}.detail-row img{aspect-ratio:1.2;width:100%;height:auto}.detail-row h2{margin-bottom:20px}.detail-row p{color:var(--muted);font-size:15px}.detail-row ul{padding-left:1.2em;font-size:14px}.detail-row .number{font-size:18px}.steps{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.steps article{border-top:2px solid var(--blue);padding-top:20px}.steps h3{font-size:18px}.steps p{font-size:14px;color:var(--muted)}.case{padding:55px 0;border-top:1px solid var(--line);scroll-margin-top:25px}.case img{width:100%;aspect-ratio:2;object-fit:cover;height:auto}.case-body{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:32px 0 0}.case h2{font-size:26px}.case p{color:var(--muted);font-size:15px}.tags{display:flex;gap:10px;flex-wrap:wrap}.tags span{background:var(--pale);padding:3px 12px;font-size:12px}.specs{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:14px;background:var(--pale);padding:25px}.specs dt{color:var(--muted)}.specs dd{margin:0}.company-message{max-width:850px;margin:0 auto 70px}.company-message h2{font-size:2.3rem}.company-message p{line-height:2.3}.company-table{max-width:850px;margin:auto}.company-table>div{display:grid;grid-template-columns:180px 1fr;padding:24px;border-bottom:1px solid var(--line)}.company-table dt{font-weight:500}.company-table dd{margin:0;color:var(--muted)}.faq-list{max-width:850px;margin:auto}.faq-list h2{font-size:25px;margin-top:60px}.faq-list h2:first-child{margin-top:0}details{border-bottom:1px solid var(--line);padding:22px 0}summary{cursor:pointer;list-style:none;display:flex;align-items:baseline;gap:20px;font-weight:500}summary::-webkit-details-marker{display:none}summary:before{content:"Q";font-family:var(--serif);color:#7492a7;font-size:23px}summary:after{content:"+";margin-left:auto;font-weight:400;font-size:24px}details[open] summary:after{content:"−"}details>p{padding:20px 45px 0;color:var(--muted);font-size:15px;margin:0}.contact-content{max-width:780px}.notice{border-left:3px solid #7498ae;background:var(--pale);padding:20px 24px;font-size:14px;margin-bottom:40px}.field{margin-bottom:26px}.field label,.field legend{display:block;font-weight:500;margin-bottom:9px}.required{display:inline-block;background:var(--blue);color:#fff;font-size:11px;padding:0 7px;margin-left:12px;vertical-align:middle}.optional{font-size:12px;color:var(--muted);margin-left:12px}input:not([type=checkbox]),textarea,select{width:100%;padding:13px 16px;border:1px solid #aebfc9;border-radius:0;background:#fff;color:var(--ink)}textarea{resize:vertical;min-height:160px}.field small{color:var(--muted);font-size:12px}.check{display:flex;gap:12px;align-items:flex-start;font-size:14px;margin:25px 0}.check input{width:19px;height:19px;margin-top:4px;accent-color:var(--blue)}.form-actions{display:flex;gap:20px;justify-content:center;margin-top:35px}.secondary{background:#fff;color:var(--blue)}[hidden]{display:none!important}.success{padding:50px 20px;text-align:center;border:1px solid var(--line);background:var(--pale)}.success .success-icon{font-size:40px;color:#326d86}.confirm-table>div{padding:18px 0;border-bottom:1px solid var(--line)}.confirm-table dt{font-size:13px;color:var(--muted)}.confirm-table dd{margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.privacy{font-size:13px;background:var(--pale);padding:22px}.privacy h3{font-size:16px;margin-bottom:8px}.privacy p{margin:0}.page-head .head-number{position:absolute;right:7%;bottom:25px;font-size:90px;color:#dce7ed;font-family:var(--serif);line-height:1}@media(max-width:1100px){.header nav{gap:18px}.header{padding:0 3%}.brand>span{font-size:21px}.nav-contact{padding:15px}.wrap{width:calc(100% - 70px)}.section-heading h2{font-size:1.6rem}.service-card{padding:25px}.footer-top nav{margin-left:0}.hero{min-height:620px}.hero-content{padding-top:75px}.contact-band{padding:55px 5%}.contact-band h2{font-size:23px}}@media(max-width:800px){.header{height:80px;padding:0 22px}.brand>span{font-size:22px}.brand img{width:36px;height:36px}.menu-button{display:flex;align-items:center;gap:12px;border:0;background:transparent;color:var(--blue);font-size:12px;padding:10px 0}.menu-button span{font-size:24px}.header nav{display:none;position:absolute;top:80px;left:0;right:0;background:#fff;padding:22px;box-shadow:0 15px 20px #143a5717}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:8px}.header nav>a{padding:12px!important}.hero{margin:0 12px;height:auto;min-height:700px}.hero-image{object-position:61% center}.hero:after{background:linear-gradient(90deg,#f4f8f6eb,#f5f8f699 48%,#ffffff14)}.hero-content{margin-inline:26px;padding:60px 0 100px}.hero-content h1{font-size:3.8rem}.hero-content .eyebrow{font-size:10px}.hero-content p{font-size:14px}.hero-caption{display:none}.hero-foot{left:26px;font-size:10px}.hero-foot>span{max-width:210px}.wrap{width:calc(100% - 44px)}.section{padding-top:65px;padding-bottom:65px}.intro{grid-template-columns:1fr;gap:20px}.intro h2{font-size:2.1rem}.intro p{font-size:14px}.intro .lead{font-size:19px}.eyebrow{margin-bottom:15px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:1.6rem}.section-heading .text-link{margin-top:15px}.service-grid{grid-template-columns:1fr;gap:16px}.service-card{min-height:0;padding:22px 26px}.service-card h3{margin-top:0;font-size:23px}.service-card .number{float:right;font-size:27px}.service-card p{max-width:90%;margin-bottom:15px}.circle-arrow{bottom:20px;right:22px}.works-grid{grid-template-columns:1fr;gap:34px}.work-meta{margin-top:15px}.work-card h3{font-size:17px}.promise-inner{display:block}.promise h2{font-size:2rem;margin-bottom:35px}.contact-band{display:block;padding:48px 25px}.contact-band h2{font-size:26px}.contact-band .button{margin-top:28px}.mobile-only{display:block}.footer-top{gap:20px}.footer-top nav{flex-wrap:wrap;gap:15px 23px}.footer-top p{width:100%}.footer-bottom{display:flex;flex-direction:column;gap:10px}.page-head{padding:28px 22px 45px}.breadcrumb{margin-bottom:28px}.page-head h1{font-size:2.25rem}.page-head p{font-size:14px;padding-right:20px}.page-head .head-number{font-size:60px;right:20px;bottom:15px;opacity:.65}.detail-row{grid-template-columns:1fr;gap:25px;padding:35px 0}.detail-row img{aspect-ratio:1.4}.detail-row h2{font-size:1.75rem}.steps{grid-template-columns:1fr 1fr;gap:20px}.case{padding:35px 0}.case img{aspect-ratio:1.3}.case-body{grid-template-columns:1fr;gap:10px}.case h2{font-size:23px}.company-message h2{font-size:1.75rem}.company-table>div{grid-template-columns:100px 1fr;padding:18px 0;font-size:14px;gap:16px}.company-message p{font-size:15px}.faq-list h2{font-size:22px}summary{font-size:15px;gap:13px}details>p{padding:16px 0 0 30px;font-size:14px}.form-actions{flex-direction:column}.form-actions .button{justify-content:center}.notice{padding:18px;font-size:13px}.anchor-nav{gap:9px}.anchor-nav a{font-size:13px;padding:8px 13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}@media(max-width:800px){.hero-content h1{font-size:clamp(2.1rem,10.8vw,3.8rem);letter-spacing:.1em}}.hero-content .button{white-space:nowrap;max-width:100%}.recruit-intro{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:65px}.recruit-intro h2{font-size:clamp(1.8rem,2.7vw,2.5rem)}.recruit-intro p{line-height:2.1}.recruit-intro figure{margin:0}.recruit-intro img{width:100%;height:auto;aspect-ratio:1/1.15}.recruit-intro figcaption{font-size:12px;color:var(--muted);margin-top:14px}.recruit-values{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:35px}.recruit-values article{border-top:2px solid var(--blue);padding-top:24px}.recruit-values h3{margin:12px 0}.recruit-values p{color:var(--muted);font-size:16px}.recruit-position{display:grid;grid-template-columns:1fr 2fr;gap:55px;padding:50px 0;border-top:1px solid var(--line);scroll-margin-top:35px}.recruit-position-heading h3{font-family:var(--serif);font-size:27px}.recruit-position-heading p{color:var(--muted);font-size:16px}.recruit-table{width:100%;max-width:none;margin:0}.recruit-table>div{padding:22px 0;grid-template-columns:125px 1fr;gap:20px}.recruit-table>div:first-child{padding-top:0}.recruit-table dd{font-size:16px}.header nav{gap:24px}.header nav>a{white-space:nowrap}@media(min-width:801px)and (max-width:1100px){.header{gap:16px;padding-inline:2%}.header nav{gap:12px;font-size:13px}.header .brand{gap:8px}.header .brand>span{font-size:19px}.header .brand img{width:34px;height:34px}.nav-contact{padding:13px 12px}.nav-contact span{margin-left:8px}}@media(max-width:800px){.recruit-intro{grid-template-columns:1fr;gap:30px}.recruit-intro img{aspect-ratio:1.4}.recruit-values{grid-template-columns:1fr;gap:20px}.recruit-position{grid-template-columns:1fr;gap:20px;padding:35px 0}.recruit-position-heading h3{font-size:24px}.recruit-position-heading .eyebrow{margin-bottom:10px}.recruit-table>div{grid-template-columns:85px 1fr;gap:15px}.recruit-table dd{font-size:15px}.header nav.open{gap:8px}.contact-band .button{white-space:normal;gap:20px;max-width:100%}}
