.specialty-page{--paper:#fffaf0;--ink:#191913;--yellow:#ffd329;background:var(--paper);color:var(--ink);font-family:DM Sans,Arial,sans-serif;overflow:clip}.specialty-page h1,.specialty-page h2,.specialty-page h3{font-family:Manrope,DM Sans,sans-serif;font-weight:800;letter-spacing:-.055em;line-height:1.07;text-wrap:balance}.specialty-page p{line-height:1.65}.specialty-hero{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:5%;padding:80px 5% 90px;background:var(--yellow);min-height:650px}.specialty-heading h1{font-size:clamp(42px,5.2vw,80px);margin:24px 0}.specialty-heading h1>span:not(.sr-only){display:block}.specialty-lead{max-width:540px;font-size:18px}.specialty-link{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;background:var(--ink);color:var(--paper);border:2px solid var(--ink);padding:16px 24px;border-radius:100px;font-size:14px;font-weight:800;margin-top:24px;transition:transform .25s,box-shadow .25s}.specialty-link:hover{transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--paper)}.specialty-image{position:relative;transform:rotate(4deg)}.specialty-image>img,.specialty-image>picture>img{width:100%;height:460px;object-fit:cover;border:8px solid var(--paper);box-shadow:12px 12px 0 var(--ink)}.specialty-stamp{position:absolute;left:-28px;bottom:25px;display:flex;align-items:center;gap:12px;padding:18px;background:var(--paper);border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);font-weight:900;font-size:12px;transform:rotate(-8deg)}.specialty-stamp svg{width:28px;height:28px;animation:specialty-wiggle 4s ease-in-out infinite}.specialty-ribbon{display:flex;justify-content:space-around;align-items:center;gap:20px;background:var(--ink);color:var(--yellow);padding:25px;font-size:clamp(14px,2.3vw,30px);font-weight:900;letter-spacing:-.025em}.specialty-ribbon svg{flex-shrink:0}.specialty-brief,.specialty-scope{display:grid;grid-template-columns:1fr 1.2fr;gap:8%;padding:90px 5%}.specialty-brief h2,.specialty-section-heading h2{font-size:clamp(30px,3.5vw,50px);margin:18px 0 24px}.specialty-section-heading p:not(.sp-kicker){max-width:560px}.specialty-task{display:flex;align-items:flex-start;gap:24px;padding:24px 0;border-top:1px solid #19191350}.specialty-task:last-child{border-bottom:1px solid #19191350}.specialty-index{font-size:35px;font-weight:900;letter-spacing:-.07em;color:#8d7300}.specialty-task h3{font-size:25px;margin:4px 0 12px}.specialty-task p{margin:0;max-width:560px}.specialty-routes{padding:70px 5%;background:#ede9da}.specialty-route-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:36px}.specialty-route-grid>a{display:flex;flex-direction:column;background:var(--yellow);padding:40px;border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink);transition:transform .3s}.specialty-route-grid>a:hover{transform:translateY(-6px)}.specialty-route-grid>a+a{background:var(--ink);color:var(--paper)}.specialty-route-grid h3{font-size:clamp(30px,3.2vw,46px);margin:20px 0 8px}.specialty-route-grid p{max-width:480px;margin-bottom:25px}.specialty-route-grid strong{font-size:clamp(28px,3.2vw,42px);letter-spacing:-.04em;margin-top:auto;line-height:1.3}.specialty-route-grid small{font-size:13px;display:block;letter-spacing:0;font-weight:600;margin-top:4px}.specialty-route-cta{display:flex;align-items:center;justify-content:space-between;font-size:15px;font-weight:800;border-top:1px solid;margin-top:25px;padding-top:18px}.specialty-wage-note{font-size:13px;margin-top:22px}.specialty-brief{align-items:center}.specialty-brief ol{list-style:none;margin:0;padding:0}.specialty-brief li{display:flex;gap:22px;align-items:center;border-bottom:1px solid #19191350;padding:25px 0;font-size:20px;font-weight:700}.specialty-brief li span{font-size:13px;min-width:22px}.specialty-faq{padding:70px 5%;background:var(--ink);color:var(--paper)}.specialty-faq details{border-bottom:1px solid #fffaf050}.specialty-faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:21px;font-weight:750;padding:24px 0;cursor:pointer;list-style:none}.specialty-faq summary::-webkit-details-marker{display:none}.specialty-faq summary span{font-size:30px;color:var(--yellow);transition:rotate .3s}.specialty-faq details[open] summary span{rotate:45deg}.specialty-faq details>p{max-width:780px;margin:0 0 26px;color:#e5e0d4}.specialty-faq nav{display:flex;gap:25px;flex-wrap:wrap;margin-top:40px}.specialty-faq nav a{display:flex;gap:14px;align-items:center;color:var(--yellow);font-size:14px;font-weight:700}.specialty-page[lang=ja] h1{font-size:clamp(37px,4.8vw,72px);letter-spacing:-.06em;line-height:1.2;word-break:keep-all;overflow-wrap:anywhere}.specialty-page[lang=ja] h2{line-height:1.3;word-break:keep-all;overflow-wrap:anywhere}.specialty-page[lang=th] h1,.specialty-page[lang=th] h2,.specialty-page[lang=th] h3{letter-spacing:0;line-height:1.25}.specialty-page[lang=th] h1{font-size:clamp(34px,4vw,60px)}@keyframes specialty-wiggle{0%,to{rotate:0deg}50%{rotate:25deg}}@media(max-width:760px){.specialty-hero{grid-template-columns:1fr;padding:35px 22px 55px;gap:36px;min-height:0}.specialty-heading h1{font-size:clamp(34px,9vw,56px);margin:20px 0}.specialty-lead{font-size:16px}.specialty-image{margin:0 12px}.specialty-image>img,.specialty-image>picture>img{height:260px;border-width:5px;box-shadow:7px 7px 0 var(--ink)}.specialty-stamp{font-size:10px;padding:12px;left:-12px;bottom:15px}.specialty-ribbon{padding:20px 15px;gap:15px;text-align:center}.specialty-ribbon svg{width:20px}.specialty-brief,.specialty-scope{grid-template-columns:1fr;padding:45px 22px;gap:25px}.specialty-brief h2,.specialty-section-heading h2{font-size:32px}.specialty-task{gap:18px}.specialty-task h3{font-size:23px}.specialty-index{font-size:30px}.specialty-faq,.specialty-routes{padding:45px 22px}.specialty-route-grid{grid-template-columns:1fr;gap:24px;margin-top:25px}.specialty-route-grid>a{padding:25px}.specialty-route-grid h3{font-size:32px}.specialty-route-grid strong{font-size:34px}.specialty-brief li{font-size:17px;padding:20px 0}.specialty-faq summary{font-size:18px}.specialty-page[lang=ja] h1{font-size:clamp(32px,8.7vw,48px)}.specialty-page[lang=th] h1{font-size:clamp(31px,8vw,44px)}}@media(prefers-reduced-motion:reduce){.specialty-stamp svg{animation:none}.specialty-link,.specialty-route-grid>a{transition:none}}.motion-paused .specialty-stamp svg{animation:none}