:root{--navy:#102a43;--navy-deep:#071b2e;--blue:#176b87;--cyan:#33b6b0;--lime:#b9dd4b;--ink:#172331;--muted:#657483;--paper:#f5f8f8;--white:#fff;--line:#dce5e7;--radius:18px;--shadow:0 18px 55px rgba(16,42,67,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;line-height:1.8}body.menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1160px,calc(100% - 36px));margin-inline:auto}.narrow{width:min(780px,calc(100% - 36px));margin-inline:auto}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{position:sticky;z-index:50;top:0;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(220,229,231,.8);backdrop-filter:blur(14px)}.header-inner{display:flex;min-height:70px;align-items:center;justify-content:space-between}.site-logo,.footer-logo{display:flex;align-items:center;gap:9px;color:var(--navy);font-size:1.02rem;font-weight:800;letter-spacing:.03em}.site-logo span{display:grid;width:34px;height:34px;place-items:center;border-radius:10px 2px 10px 2px;background:linear-gradient(135deg,var(--cyan),var(--blue));color:#fff;font-family:Georgia,serif;font-size:1.25rem}.menu-toggle{display:grid;width:44px;height:44px;padding:10px;gap:5px;align-content:center;border:0;background:transparent}.menu-toggle span{display:block;height:2px;background:var(--navy);transition:.2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.primary-nav{display:none;position:fixed;inset:70px 0 0;padding:34px 24px;background:var(--white)}.primary-nav.is-open{display:block}.primary-nav ul{display:flex;flex-direction:column;gap:18px;margin:0;padding:0;list-style:none}.primary-nav a{font-size:1.15rem;font-weight:700}.header-contact{display:none}.hero{position:relative;overflow:hidden;padding:80px 0 70px;background:linear-gradient(135deg,#eff8f7 0%,#fff 60%)}.hero-inner{display:grid;gap:52px}.hero h1{margin:.2em 0;color:var(--navy-deep);font-size:clamp(2.35rem,10vw,5.4rem);line-height:1.16;letter-spacing:-.045em}.hero h1 em{color:var(--blue);font-style:normal}.hero-copy{max-width:610px;color:var(--muted);font-size:1.02rem}.eyebrow{margin:0 0 8px;color:var(--blue);font-size:.72rem;font-weight:800;letter-spacing:.2em}.hero-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:30px}.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:0 26px;border:1px solid var(--navy);border-radius:999px;background:var(--navy);color:#fff;font-weight:700;cursor:pointer;transition:.2s}.button:hover{background:var(--blue);border-color:var(--blue);transform:translateY(-2px)}.button-outline{background:transparent;color:var(--navy)}.text-link,.arrow-link{font-weight:700}.text-link span,.arrow-link span{display:inline-block;margin-left:8px;color:var(--cyan)}.hero-visual{position:relative;min-height:330px}.visual-card{position:absolute;padding:24px;border-radius:var(--radius);box-shadow:var(--shadow)}.visual-card-main{inset:10px 15px 45px 0;background:linear-gradient(145deg,var(--navy),#174d67);color:#fff;transform:rotate(-3deg)}.visual-card-main span{font-size:.68rem;letter-spacing:.16em}.visual-card-main strong{display:block;margin-top:60px;font-size:1.6rem;line-height:1.5}.visual-card-main i{position:absolute;right:25px;bottom:25px;width:72px;height:72px;border:14px solid rgba(51,182,176,.8);border-radius:50%}.visual-card-small{right:0;bottom:0;width:145px;background:var(--lime);color:var(--navy);font-size:.7rem;letter-spacing:.1em;transform:rotate(4deg)}.visual-card-small b{display:block;font-size:2.4rem;letter-spacing:-.06em}.hero-shape{position:absolute;border-radius:50%;filter:blur(1px)}.hero-shape-one{top:-80px;right:-80px;width:220px;height:220px;background:rgba(185,221,75,.24)}.hero-shape-two{bottom:-50px;left:40%;width:120px;height:120px;background:rgba(51,182,176,.12)}.section{padding:70px 0}.section-title{margin:.15em 0;color:var(--navy);font-size:clamp(2rem,7vw,3.6rem);line-height:1.25;letter-spacing:-.03em}.split-layout,.section-heading{display:grid;gap:25px}.lead{color:var(--muted);font-size:1.08rem}.intro-section{background:#fff}.services-preview,.service-detail-section,.company-section{background:var(--paper)}.service-grid{display:grid;gap:16px;margin-top:35px}.service-card{position:relative;min-height:260px;padding:28px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);transition:.25s}.service-card:hover{border-color:var(--cyan);transform:translateY(-5px);box-shadow:var(--shadow)}.service-number{color:var(--cyan);font-weight:800}.service-card h3{margin:38px 0 12px;color:var(--navy);font-size:1.3rem}.service-card p{margin:0;color:var(--muted);font-size:.92rem}.service-card i{position:absolute;right:22px;bottom:18px;color:var(--blue);font-style:normal}.center{text-align:center;margin-top:34px}.recruit-preview{background:var(--navy-deep);color:#fff}.recruit-preview .section-title{color:#fff}.recruit-preview .eyebrow{color:var(--lime)}.recruit-list{display:grid;gap:12px}.recruit-card a{position:relative;display:block;padding:24px;background:#fff;border:1px solid var(--line);border-radius:14px;color:var(--ink);transition:.2s}.recruit-card a:hover{border-color:var(--cyan);transform:translateX(4px)}.recruit-meta{display:flex;gap:14px;align-items:center;color:var(--muted);font-size:.78rem}.recruit-meta span{padding:3px 10px;border-radius:99px;background:#e9f5f4;color:var(--blue);font-weight:700}.recruit-card h3{margin:13px 35px 5px 0;color:var(--navy);font-size:1.12rem}.recruit-card p{margin:0;color:var(--muted);font-size:.86rem}.recruit-card b{position:absolute;right:22px;top:50%;color:var(--cyan);font-size:1.3rem}.cta-section{padding:70px 0;background:var(--lime)}.cta-inner{display:grid;gap:30px}.cta-section h2{margin:.2em 0;color:var(--navy-deep);font-size:clamp(2rem,8vw,3.8rem);line-height:1.25}.cta-button{display:flex;min-height:80px;align-items:center;justify-content:space-between;padding:0 28px;border-radius:14px;background:var(--navy);color:#fff;font-size:1.1rem;font-weight:700}.page-hero{padding:70px 0 55px;background:linear-gradient(135deg,var(--navy-deep),#174d67);color:#fff}.page-hero .eyebrow{color:var(--lime)}.page-hero h1{margin:.1em 0;font-size:clamp(2.5rem,9vw,5rem);line-height:1.2}.page-hero>div>p:last-child{color:#c9d7df}.message-block h2{color:var(--navy);font-size:clamp(2rem,7vw,3.2rem);line-height:1.35}.entry-content{color:#4c5d6b}.entry-content>*+*{margin-top:1.4em}.company-table,.requirements-table{margin:0;border-top:1px solid var(--line)}.company-table>div,.requirements-table>div{display:grid;gap:8px;padding:20px 0;border-bottom:1px solid var(--line)}.company-table dt,.requirements-table dt{color:var(--blue);font-weight:700}.company-table dd,.requirements-table dd{margin:0}.filter-form{display:grid;gap:14px;margin-bottom:30px;padding:22px;background:var(--paper);border-radius:var(--radius)}.filter-form label{display:grid;gap:5px;font-size:.82rem;font-weight:700}.filter-form select,.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-height:50px;padding:11px 14px;border:1px solid #cfdadd;border-radius:9px;background:#fff;color:var(--ink)}.filter-form select:focus,.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:3px solid rgba(51,182,176,.18);border-color:var(--cyan)}.filter-reset{align-self:center;color:var(--muted);text-align:center;text-decoration:underline}.result-count{color:var(--muted)}.page-numbers{display:flex;justify-content:center;gap:8px;margin:35px 0 0;padding:0;list-style:none}.page-numbers a,.page-numbers span{display:grid;min-width:42px;height:42px;place-items:center;border-radius:50%;background:var(--paper)}.page-numbers .current{background:var(--navy);color:#fff}.recruit-type{display:inline-block!important;padding:4px 12px;border-radius:99px;background:var(--lime);color:var(--navy)!important;font-size:.8rem;font-weight:700}.recruit-content{margin-bottom:45px}.apply-box{margin-top:45px;padding:30px;border-radius:var(--radius);background:var(--paper);text-align:center}.contact-layout{display:grid;gap:40px}.contact-layout aside h2{color:var(--navy);font-size:1.8rem;line-height:1.4}.contact-layout aside dl>div{padding:12px 0;border-bottom:1px solid var(--line)}.contact-layout aside dt{font-size:.78rem;color:var(--muted)}.contact-layout aside dd{margin:0;font-weight:700}.contact-panel{padding:24px;background:var(--paper);border-radius:var(--radius)}.contact-form{display:grid;gap:20px}.form-row{display:grid;gap:20px}.contact-form label{display:grid;gap:6px;font-size:.88rem;font-weight:700}.contact-form em{color:#c44536;font-size:.7rem;font-style:normal}.contact-form textarea{resize:vertical}.privacy-check{display:flex!important;grid-template-columns:22px 1fr;align-items:center}.privacy-check input{width:20px!important;min-height:20px!important}.form-submit{width:100%;justify-content:space-between}.honeypot{position:absolute!important;left:-9999px!important}.form-notice{margin-bottom:20px;padding:16px;border-radius:9px}.form-notice.success{background:#e5f4ea;color:#25623b}.form-notice.error{background:#fbe9e7;color:#922f25}.thanks-panel{padding:30px 5px;text-align:center}.thanks-panel>span{display:grid;width:64px;height:64px;margin:0 auto 20px;place-items:center;border-radius:50%;background:var(--cyan);color:#fff;font-size:1.8rem}.site-footer{padding:60px 0 22px;background:var(--navy-deep);color:#b9c7d0}.footer-grid{display:grid;gap:35px}.footer-logo{color:#fff;font-size:1.25rem}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer nav a{color:#fff}.social-links a{display:block;color:#fff}.footer-bottom{display:grid;gap:8px;margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);font-size:.72rem}.entry-card{margin-bottom:15px;padding:22px;border:1px solid var(--line);border-radius:14px}.entry-card h2{margin:.2em 0}.entry-date{color:var(--muted);font-size:.8rem}
@media(min-width:720px){.hero{padding:115px 0}.hero-inner{grid-template-columns:1.15fr .85fr;align-items:center}.hero-visual{min-height:420px}.split-layout{grid-template-columns:1fr 1fr}.section-heading{grid-template-columns:1fr auto;align-items:end}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-grid-detail{grid-template-columns:repeat(2,minmax(0,1fr))}.cta-inner{grid-template-columns:1fr 300px;align-items:center}.company-table>div,.requirements-table>div{grid-template-columns:170px 1fr}.filter-form{grid-template-columns:1fr 1fr auto auto;align-items:end}.contact-layout{grid-template-columns:.72fr 1.28fr}.form-row{grid-template-columns:1fr 1fr}.contact-panel{padding:38px}.footer-grid{grid-template-columns:1.5fr 1fr .7fr}.footer-bottom{grid-template-columns:1fr auto}}
@media(min-width:980px){.section{padding:100px 0}.header-inner{min-height:82px}.menu-toggle{display:none}.primary-nav{display:block;position:static;padding:0;background:transparent}.primary-nav ul{flex-direction:row;gap:28px}.primary-nav a{font-size:.88rem}.header-contact{display:inline-flex;min-height:42px;align-items:center;padding:0 19px;border-radius:99px;background:var(--navy);color:#fff;font-size:.82rem;font-weight:700}.service-grid-detail{grid-template-columns:repeat(3,minmax(0,1fr))}.page-hero{padding:105px 0 75px}}

