:root{--ink:#20343d;--muted:#5b6d76;--blue:#00779e;--accent:#61c5e6;--pale:#f2f8fa;--line:#dce6eb;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--white);color:var(--ink);font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.55;letter-spacing:.025em}h1{font-size:clamp(2rem,4.1vw,3.8rem);font-weight:800;margin-bottom:26px}h2{font-size:clamp(1.65rem,3vw,2.55rem);margin-bottom:24px}h3{font-size:1.2rem;margin-bottom:14px}p{margin-bottom:22px}small{font-size:.8rem}.wrap{width:min(1120px,calc(100% - 64px));margin-inline:auto}.section{padding-block:88px}.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.16em;color:var(--blue);margin-bottom:16px}.section-title{margin-bottom:34px}.lead{font-size:1.35rem;font-weight:700;line-height:1.8}.placeholder{color:var(--muted);font-size:.95em;overflow-wrap:anywhere}.soft{background:var(--pale)}.split{display:grid;grid-template-columns:1fr 1.2fr;gap:72px;align-items:start}.button,.nav-entry{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--blue);color:white;min-height:56px;padding:14px 26px;border:1px solid transparent;border-radius:5px;font-weight:700;line-height:1.5;cursor:pointer;transition:background .2s,transform .2s}.button:hover,.nav-entry:hover{background:#005a78;transform:translateY(-2px)}.button.light{background:white;color:var(--blue)}.button.outline{background:white;color:var(--blue);border-color:var(--blue)}.text-link{display:inline-flex;align-items:center;gap:28px;border-bottom:1px solid var(--accent);padding:12px 0;font-weight:700;min-height:48px}.text-link:hover{color:var(--blue)}.actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.header-inner{width:min(1320px,calc(100% - 64px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:92px}.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;font-weight:800;font-size:1.15rem;line-height:1.5}.brand small{display:block;font-size:.65rem;letter-spacing:.18em;color:var(--muted);margin-top:5px}.brand-mark{font-size:42px;color:var(--accent);font-weight:900;line-height:1}#site-nav{display:flex;align-items:center;gap:24px;font-size:.875rem;font-weight:700}#site-nav>a:not(.nav-entry){padding:12px 0}#site-nav>a[aria-current]{color:var(--blue);box-shadow:0 2px var(--accent)}.nav-entry{min-height:46px;padding:12px 20px;gap:20px}.menu-toggle{background:white;border:1px solid var(--line);border-radius:4px;padding:8px 12px;color:var(--ink)}.hero{display:grid;grid-template-columns:1.35fr 1fr;gap:32px;padding-top:76px}.hero-copy{padding:26px 0}.hero h1{letter-spacing:-.02em;white-space:nowrap}.hero h1 span{color:var(--blue)}.hero-description{color:var(--muted);margin-bottom:30px}.draft-note{font-size:.8rem;color:var(--muted);margin:24px 0 0}.photo-slot{min-height:290px;background:linear-gradient(140deg,#edf6f9,#d9ebf1);border:1px solid #d8e8ee;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:28px;color:#4a6773;position:relative;overflow:hidden}.photo-slot:before{content:"";position:absolute;inset:18px;border:1px solid #b5d5e0;pointer-events:none}.photo-slot p{font-size:1.25rem;font-weight:700;margin-bottom:4px}.photo-label{font-size:.75rem;letter-spacing:.12em;margin-bottom:auto;padding-bottom:65px}.photo-slot small{font-size:.75rem}.hero-photo{min-height:400px;border-radius:90px 6px 6px 6px;margin-left:16px}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:22px 0;font-size:.8rem;color:var(--muted)}.hero-bottom a{letter-spacing:.15em}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:24px}.card{border:1px solid var(--line);background:white;padding:32px;border-radius:5px}.card p:last-child{margin-bottom:0}.number{font-family:Arial,sans-serif;font-size:1rem;letter-spacing:.1em;color:var(--blue);display:block;margin-bottom:35px}.service-row{display:grid;grid-template-columns:48px 1fr auto;gap:22px;border-top:1px solid var(--line);padding:28px 0;align-items:center}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row p,.service-row h3,.service-row .number{margin:0}.service-row h3{margin-bottom:8px}.service-tag{font-size:.8rem;border:1px solid var(--line);padding:4px 12px;border-radius:30px;color:var(--muted)}.service-list{margin-bottom:24px}.recruit-cta{padding:50px 56px;display:flex;align-items:center;justify-content:space-between;gap:40px;background:#eaf6fb;border-top:4px solid var(--accent);border-radius:6px}.recruit-cta h2{margin-bottom:16px}.recruit-cta p:last-child{margin-bottom:0}.cta-actions{display:grid;gap:12px;min-width:240px}.data-list{margin:0;min-width:0}.data-list>div{display:grid;grid-template-columns:160px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:20px 0}.data-list>div:first-child{border-top:1px solid var(--line)}dt{font-size:.9rem;font-weight:700}dd{margin:0;overflow-wrap:anywhere}.contact-band{border-top:1px solid var(--line);padding:42px 0;display:flex;justify-content:space-between;align-items:center;gap:32px}.contact-band h2{font-size:1.35rem;margin:0}.contact-band .eyebrow{margin-bottom:8px}.site-footer{margin-top:64px;padding-bottom:32px}.footer-top{display:flex;justify-content:space-between;gap:40px;padding-bottom:35px}.footer-top p{font-size:.85rem;margin:20px 0 0;color:var(--muted)}.footer-top nav{display:grid;grid-template-columns:repeat(3,auto);gap:15px 35px;font-size:.85rem}.footer-top nav a:hover{color:var(--blue)}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;gap:22px;justify-content:space-between;color:var(--muted);font-size:.8rem}.page-intro{padding-top:72px;padding-bottom:40px;border-bottom:1px solid var(--line)}.page-intro+.actions{padding-top:30px}.page-intro p:last-child{color:var(--muted);max-width:650px}.two-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:36px}.timeline{list-style:none;padding:0;max-width:800px}.timeline li{display:grid;grid-template-columns:160px 1fr;gap:28px;padding:26px 0;border-bottom:1px solid var(--line)}.timeline h3{margin-bottom:6px}.timeline p{margin:0}details{border-bottom:1px solid var(--line)}details:first-of-type{border-top:1px solid var(--line)}summary{padding:24px 34px 24px 0;cursor:pointer;font-weight:700}details p{padding:0 24px 20px;color:var(--muted)}.form-layout{display:grid;grid-template-columns:1fr 1.8fr;gap:70px;padding-block:60px}.form-layout aside h2{font-size:1.6rem}.notice{border-left:3px solid var(--accent);background:var(--pale);padding:22px;margin-bottom:36px}.notice p{margin:8px 0 0;font-size:.9rem}fieldset{padding:0;margin:0 0 28px;border:0;min-width:0}legend{font-weight:700;font-size:1.2rem;margin-bottom:20px}form label{display:block;font-weight:700;margin-bottom:8px}.required,.optional{font-size:.75rem;font-weight:500;margin-left:8px;padding:2px 7px;border-radius:3px;background:#e9f5fa;color:var(--blue)}.optional{background:#f0f3f4;color:var(--muted)}input:not([type=radio]),select,textarea{width:100%;min-height:52px;border:1px solid #aebec7;background:#fff;border-radius:4px;padding:12px;color:var(--ink);margin-bottom:24px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--blue)}.radio-set{display:flex;gap:24px;flex-wrap:wrap;margin-top:5px}.radio-set legend{font-size:1rem;margin-bottom:12px}.radio-set label{display:flex;align-items:center;gap:8px;font-weight:400;min-height:44px}.radio-set input{width:20px;height:20px;accent-color:var(--blue)}.privacy-note{font-size:.85rem;color:var(--muted)}.confirmation{margin-top:36px;padding:26px;background:var(--pale);border:1px solid var(--line)}.confirmation h2{font-size:1.4rem}.confirmation dd{white-space:pre-wrap}.confirmation .data-list{margin-bottom:24px}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:var(--ink);color:#fff;padding:12px}.skip-link:focus{top:12px}.mobile-cta{display:none}[hidden]{display:none!important}
@media(max-width:1050px){.header-inner{width:calc(100% - 40px)}#site-nav{gap:14px;font-size:.8rem}.hero{grid-template-columns:1.25fr 1fr}.hero h1{white-space:normal;font-size:2.6rem}.split{gap:40px}.card{padding:24px}.form-layout{gap:40px}}
@media(max-width:800px){html{scroll-padding-top:84px}.wrap{width:calc(100% - 40px)}.site-header .header-inner{min-height:76px;flex-wrap:wrap;gap:0}.brand{font-size:1rem}.brand-mark{font-size:34px}.menu-toggle:not([hidden]){display:block}#site-nav{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:6px 20px;padding:16px 0 22px}body.js #site-nav{display:none}body.js #site-nav.is-open{display:grid}#site-nav a{min-height:44px}.hero{padding-top:36px;grid-template-columns:1fr;gap:20px}.hero h1{font-size:clamp(1.85rem,6vw,2.65rem)}.hero-copy{padding:0}.hero-description{font-size:.95rem}.hero-photo{margin:0;min-height:240px;border-radius:56px 4px 4px 4px}.hero-bottom{padding:16px 0;font-size:.75rem}.hero-bottom>span{max-width:65%}.section{padding-block:56px}.split,.form-layout{grid-template-columns:1fr;gap:28px}.section-title{margin-bottom:24px}.cards{grid-template-columns:1fr;gap:14px}.card{padding:26px}.number{margin-bottom:18px}.cards .card{border-left:3px solid var(--accent)}.service-row{grid-template-columns:30px 1fr;gap:12px}.service-tag{grid-column:2;justify-self:start}.service-row .number{align-self:start;padding-top:4px}.recruit-cta{padding:32px 24px;display:block}.cta-actions{margin-top:26px}.recruit-cta>.button{margin-top:24px}.data-list>div{grid-template-columns:120px 1fr;gap:16px}.contact-band{display:block;padding-block:32px}.contact-band .button{margin-top:22px}.footer-top{display:block}.footer-top nav{grid-template-columns:1fr 1fr;margin-top:28px;gap:10px}.footer-top nav a{padding:8px 0}.footer-bottom{flex-wrap:wrap;gap:12px;font-size:.75rem}.site-footer{margin-top:42px;padding-bottom:100px}.mobile-cta{display:grid;grid-template-columns:1fr 1.6fr;position:fixed;z-index:25;bottom:0;left:0;right:0;padding:10px 16px max(10px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);gap:10px}.mobile-cta a{display:flex;align-items:center;justify-content:center;gap:12px;min-height:46px;font-size:.85rem;font-weight:700;border-radius:4px}.mobile-primary{background:var(--blue);color:#fff}.mobile-secondary{border:1px solid var(--line)}.page-intro{padding-top:40px;padding-bottom:28px}.page-intro h1{font-size:2.2rem}.two-cards{grid-template-columns:1fr;gap:16px}.timeline li{grid-template-columns:100px 1fr;gap:16px}.form-layout{padding-block:36px}.form-layout aside h2 br{display:none}.form-layout aside p{margin-bottom:10px}.confirmation{padding:18px}.confirmation .data-list>div{grid-template-columns:1fr;gap:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}


/* 個人情報保護方針と応募フォームの導線 */
.privacy-policy{max-width:840px}.privacy-policy section+section{margin-top:40px}.privacy-policy h2{font-size:1.35rem;margin-bottom:16px}.privacy-policy ul{padding-left:1.5em}.privacy-note a,.privacy-policy a{text-decoration:underline;text-underline-offset:3px;color:var(--blue)}

/* 応募フォーム専用。スパム対策欄は通常操作と読み上げから除外。 */
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.application-form [role="status"]{white-space:pre-line}.application-form button:disabled{opacity:.6;cursor:default;transform:none}
