
:root{--text:#1f2933;--sub:#52606d;--bg:#fff;--bg-soft:#f5f7fa;--line:#dfe4ea;--brand:#1d3a5f;--brand-deep:#142a45;--brand-text:#1d3a5f;--brand-tint:#eef2f7;--dark:#1d3a5f;--dark-sub:#cdd6e2;--dark-line:rgba(255,255,255,.2);--ph:#e9ebef;--ph-text:#565c66}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Noto Sans JP',sans-serif;line-height:1.75;font-size:16px;-webkit-text-size-adjust:100%}
a{color:inherit}
h1,h2,h3{line-height:1.45;margin:0;font-weight:900}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
.wrap.narrow{max-width:640px}

.num{color:var(--brand)}


.ph{display:flex;align-items:center;justify-content:center;text-align:center;background:repeating-linear-gradient(45deg,var(--ph),var(--ph) 10px,#f1f2f5 10px,#f1f2f5 20px);color:var(--ph-text);font-size:13px;font-weight:700;border:1px dashed #b9bec7}
.logo-ph{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border:1px dashed #b9bec7;background:var(--ph);color:var(--ph-text);font-size:9px;font-weight:700;line-height:1.2;text-align:center;border-radius:6px}


.util{background:var(--bg-soft);border-bottom:1px solid var(--line);font-size:12px;color:var(--sub)}
.util-bar{display:flex;justify-content:space-between;gap:12px;padding-top:6px;padding-bottom:6px}
.util p{margin:0}
.util b{color:var(--text)}
@media (max-width:860px){.util-tel{display:none}}
header.site{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 8px rgba(31,35,40,.04)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:12px;height:68px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo-text b{display:block;font-size:17px;line-height:1.3;white-space:nowrap}
.logo-text small{display:block;font-size:11px;color:var(--sub)}
.gnav{display:flex;align-items:center;gap:16px;font-size:14px;font-weight:700}
.gnav a{text-decoration:none;white-space:nowrap}
.gnav a:hover{color:var(--brand-text)}
.gnav .cta{background:var(--brand);color:#fff;padding:10px 18px;border-radius:6px}
.gnav .cta:hover{background:var(--brand-deep);color:#fff}
@media (max-width:1080px){.gnav .wide{display:none}}
@media (max-width:720px){.gnav{gap:14px;font-size:13px}.gnav .cta,.gnav .col-link{display:none}.util-lead{display:none}.logo-text small{display:none}.logo-text b{font-size:15px}}


.hero{background:linear-gradient(180deg,var(--brand-tint),#fff);padding:48px 0 56px;border-bottom:1px solid var(--line)}
.hero h1{font-size:clamp(26px,4.4vw,42px)}
.hero-lead{color:var(--sub);margin:16px 0 0;max-width:620px}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.btn{display:inline-block;text-decoration:none;font-weight:700;padding:14px 28px;border-radius:6px;font-size:16px}
.btn.primary{background:var(--brand);color:#fff}
.btn.primary:hover{background:var(--brand-deep)}
.btn.ghost{border:2px solid var(--brand);color:var(--brand-text);background:#fff}
.hero-stats{list-style:none;display:flex;flex-wrap:wrap;gap:12px;padding:0;margin:24px 0 0;font-size:13px}
.hero-stats li{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 16px}
.hero-stats b{font-size:24px;color:var(--brand-text);margin-right:2px}
.hero-stats span{display:block;font-size:12px;color:var(--sub);font-weight:700}
.as-of{margin:12px 0 0;font-size:12px;color:var(--sub)}
.hero-a{padding-bottom:110px}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.hero-ph{min-height:320px;border-radius:12px}
.hero-ph.small{min-height:160px;margin-top:24px}
.hero-points{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.hero-points li{background:#fff;border:1px solid var(--line);border-radius:6px;padding:4px 12px;font-size:13px;font-weight:700}
.hero-points li::before{content:"✓ ";color:var(--brand)}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}.hero-a .hero-ph{min-height:180px}}


.search-box{margin-top:-72px;position:relative;z-index:2}
.search-card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(31,35,40,.10);padding:24px}
.search-title{font-size:20px;font-weight:900;margin:0}
.search-title small{font-size:13px;color:var(--sub);margin-left:8px;font-weight:500}
.tabs{display:flex;gap:4px;margin:16px 0 0;border-bottom:2px solid var(--brand)}
.tabs button{flex:1;font:inherit;font-weight:700;font-size:14px;padding:10px 6px;border:0;border-radius:6px 6px 0 0;background:var(--bg-soft);color:var(--sub);cursor:pointer}
.tabs button[aria-selected=true]{background:var(--brand);color:#fff}
.panel{padding:20px 0 0}
.region{display:grid;grid-template-columns:110px 1fr;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}
.region h4{margin:0;font-size:13px;color:var(--sub);padding-top:4px}
.prefs{display:flex;flex-wrap:wrap;gap:6px}
.prefs a,.prefs .none,.chips a{display:inline-flex;align-items:baseline;gap:4px;text-decoration:none;font-size:14px;font-weight:700;padding:5px 12px;border:1px solid var(--line);border-radius:6px;background:#fff}
.prefs a:hover,.chips a:hover{border-color:var(--brand);color:var(--brand-text)}
.prefs small,.chips small{font-size:11px;color:var(--sub);font-weight:500}
.prefs .none{color:#5f6570;background:var(--bg-soft)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips a{font-size:15px;padding:10px 16px}
@media (max-width:600px){.region{grid-template-columns:1fr}.tabs button{font-size:12px}}


.sec{padding:64px 0}
.sec h2{font-size:clamp(22px,3vw,28px);margin-bottom:24px;padding-left:14px;border-left:5px solid var(--brand)}
.sec-lead{margin:-12px 0 20px;color:var(--sub)}
.more{margin:20px 0 0;text-align:right;font-weight:700}
.more a{color:var(--brand-text)}


.special{margin-bottom:40px}
.special-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin-bottom:14px}
.special-head h3{font-size:19px}
.special-head p{margin:0;color:var(--sub);font-size:14px;flex:1}
.special-head a{color:var(--brand-text);font-weight:700;font-size:14px;white-space:nowrap}
.jobs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:960px){.jobs{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.jobs{grid-template-columns:1fr}}
.job{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;text-decoration:none;transition:box-shadow .15s}
.job:hover{box-shadow:0 6px 20px rgba(31,35,40,.12);border-color:#c5cad2}
.job-thumb{height:120px;border:0;border-bottom:1px dashed #b9bec7}
.job-body{display:flex;flex-direction:column;flex:1;padding:14px 16px 16px}
.job-meta{display:flex;flex-wrap:wrap;gap:2px 10px;margin:0;font-size:11px;color:var(--sub)}
.new-tag{display:inline-block;padding:0 6px;border-radius:4px;background:#a61b1b;color:#fff;font-weight:700;letter-spacing:.04em}
.job-title{font-size:16px;font-weight:700;margin:4px 0 8px}
.job-dl{margin:0 0 10px;font-size:13px}
.job-dl div{display:grid;grid-template-columns:4em 1fr;gap:4px;padding:3px 0;border-top:1px solid var(--line)}
.job-dl dt{color:var(--sub);font-weight:700}
.job-dl dd{margin:0}
.job-dl b{color:var(--brand-text)}
.tags{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-wrap:wrap;gap:4px}
.tags li{font-size:11px;font-weight:700;background:var(--brand-tint);color:var(--brand-text);border-radius:4px;padding:1px 7px}
.job-more{margin-top:auto;display:block;text-align:center;font-size:14px;font-weight:700;color:#fff;background:var(--brand);border-radius:6px;padding:8px}
.job:hover .job-more{background:var(--brand-deep)}


.worries{background:var(--bg-soft)}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:760px){.three{grid-template-columns:1fr}}
.worry{background:#fff;border-radius:10px;padding:20px;border:1px solid var(--line)}
.worry b{display:block;font-size:17px;margin-bottom:4px}
.worry p,.sup p,.sol p{margin:0;font-size:14px;color:var(--sub)}
.arrow{text-align:center;font-weight:900;font-size:19px;margin:36px 0 20px}
.sol{display:block;text-decoration:none;background:#fff;border:2px solid var(--brand);border-radius:10px;padding:20px}
.sol .num{font-size:30px;font-weight:900;color:var(--brand-text)}
.sol .num small{font-size:14px;margin-left:2px}
.sol b{display:block;font-size:17px;margin:2px 0 4px}
.sol:hover{background:var(--brand-tint)}
.sup{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px}
.sup span{display:inline-block;background:var(--brand);color:#fff;font-weight:900;font-size:13px;border-radius:4px;padding:0 8px}
.sup b{display:block;font-size:17px;margin:8px 0 4px}


.consult-sec{background:var(--brand-tint)}
.consult{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;box-shadow:0 10px 30px rgba(31,35,40,.10);color:var(--text)}
.consult-title{font-size:21px;font-weight:900;text-align:center;margin:0}
.consult-lead{text-align:center;color:var(--sub);font-size:13px;margin:4px 0 16px}
.consult label,.consult fieldset{display:block;font-size:14px;font-weight:700;margin:0 0 12px;border:0;padding:0}
.consult legend{padding:0;margin-bottom:6px}
.consult em{font-style:normal;font-size:11px;background:var(--brand);color:#fff;border-radius:3px;padding:1px 6px;margin-left:4px;vertical-align:1px}
.consult input,.consult select{display:block;width:100%;font:inherit;font-weight:400;font-size:16px;padding:10px 12px;margin-top:6px;border:1px solid #b9bec7;border-radius:6px;background:#fff}
.consult input:focus,.consult select:focus{outline:2px solid var(--brand);outline-offset:0;border-color:var(--brand)}
.ymd{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:6px}
.ymd select{margin-top:0}
.sex{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.consult .sex label{display:flex;align-items:center;gap:8px;margin:0;padding:10px 12px;border:1px solid #b9bec7;border-radius:6px;font-weight:400;font-size:16px;cursor:pointer}
.consult .sex input{display:inline-block;width:auto;margin:0;accent-color:var(--brand)}
.consult .sex label:has(input:checked){border-color:var(--brand);outline:2px solid var(--brand)}
.consent{font-size:12px;color:var(--sub);text-align:center;margin:8px 0 12px}
.consult button{width:100%;font:inherit;font-weight:900;font-size:17px;padding:14px;border:0;border-radius:6px;background:var(--brand);color:#fff;cursor:pointer}
.consult button:hover{background:var(--brand-deep)}


.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media (max-width:760px){.steps{grid-template-columns:1fr 1fr}}
.steps li{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px}
.steps b{display:block;font-size:15px}
.steps p{margin:4px 0 0;font-size:13px;color:var(--sub)}
.flow{background:var(--bg-soft)}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:760px){.cols{grid-template-columns:1fr}}
.cols a{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;text-decoration:none;font-weight:700;line-height:1.6}
.cols a:hover{border-color:var(--brand)}
.cols span{display:inline-block;font-size:11px;font-weight:700;color:var(--brand-text);background:var(--brand-tint);border-radius:4px;padding:0 8px;margin-bottom:6px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:8px;margin-bottom:10px;padding:0 16px}
.faq summary{cursor:pointer;font-weight:700;padding:14px 0}
.faq summary::before{content:"Q. ";color:var(--brand-text)}
.faq details p{margin:0 0 14px;color:var(--sub);font-size:14px}


.company{background:var(--bg-soft);border-top:1px solid var(--line)}
.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
@media (max-width:860px){.company-grid{grid-template-columns:1fr}}
.company-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);font-size:14px}
.company-table th,.company-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.company-table th{width:8.5em;white-space:nowrap;background:#fafbfc;color:var(--sub);font-weight:700}
.company-table a{color:var(--brand-text)}
.staff{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.staff div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;text-align:center}
.staff-ph{aspect-ratio:1;border-radius:50%;margin:0 auto 8px;width:88%}
.staff b{display:block;font-size:14px}
.staff small{font-size:12px;color:var(--sub)}


footer.site{background:var(--dark);color:var(--dark-sub);font-size:13px;padding:48px 0 96px}
.f-cols{display:grid;grid-template-columns:2.2fr 1fr 1fr 1.2fr;gap:28px}
@media (max-width:860px){.f-cols{grid-template-columns:1fr 1fr}.f-area{grid-column:1/-1}}
.f-h{color:#fff;font-weight:700;font-size:14px;margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--dark-line)}
.f-col a{display:block;color:var(--dark-sub);text-decoration:none;padding:2px 0}
.f-col a:hover{color:#fff;text-decoration:underline}
.f-region{margin-bottom:8px}
.f-region b{display:block;color:#fff;font-size:12px;margin-bottom:2px}
.f-region a{display:inline-block;margin-right:10px}
.f-bottom{border-top:1px solid var(--dark-line);margin-top:32px;padding-top:20px}
.f-bottom p{margin:0 0 4px}
.f-logo{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:15px;margin-bottom:8px!important}
.f-logo .logo-ph{background:#3a4049;color:var(--dark-sub);border-color:#5b626d}
.float-cta{display:none}
@media (max-width:720px){.float-cta{display:block;position:fixed;left:16px;right:16px;bottom:12px;z-index:55;text-align:center;background:var(--brand);color:#fff;font-weight:900;text-decoration:none;padding:14px;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.25)}}


.hero-c{padding:36px 0 40px}
.hero-c h1{font-size:clamp(24px,4vw,34px)}
.crumb{margin:0 0 10px;font-size:12px;color:var(--sub)}
.crumb a{color:var(--brand-text)}
.finder-sec{padding:32px 0 64px}
.finder-grid{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start}
@media (max-width:860px){.finder-grid{grid-template-columns:1fr}}
.finder{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.finder-col{position:sticky;top:84px;max-height:calc(100vh - 92px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
@media (max-width:860px){.finder-col{position:static;max-height:none;overflow:visible}}
.finder-title{font-weight:900;font-size:17px;margin:0 0 8px}
.finder label,.finder fieldset{display:block;font-size:13px;font-weight:700;margin:0 0 8px;border:0;padding:0}
.finder legend{padding:0;margin-bottom:6px}
.finder select,.finder input[type=text]{display:block;width:100%;font:inherit;font-weight:400;font-size:16px;padding:7px 10px;margin-top:4px;border:1px solid #b9bec7;border-radius:6px;background:#fff}
.chks{display:flex;flex-wrap:wrap;gap:6px}
.chk{display:inline-flex!important;align-items:center;gap:4px;margin:0!important;font-weight:500!important;border:1px solid var(--line);border-radius:6px;padding:4px 10px;background:#fff;cursor:pointer}
.chk:has(input:checked){background:var(--brand-tint);color:var(--brand-text);border-color:var(--brand)}
.chk input{margin:0;accent-color:var(--brand)}
.finder-consult{display:block;font-size:13px;font-weight:700;color:var(--brand-text);margin-top:4px}
.r-head{margin:0 0 12px;font-size:14px;color:var(--sub)}
.r-head b{font-size:26px;color:var(--brand-text);margin-right:2px}
.jobs-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:960px){.jobs-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.jobs-3{grid-template-columns:1fr}}
.job[hidden]{display:none}
.empty{grid-column:1/-1;background:#fff;border:1px dashed var(--line);border-radius:10px;padding:24px;text-align:center;color:var(--sub)}
.more-btn{display:block;margin:20px auto 0;font:inherit;font-weight:700;padding:12px 40px;border:2px solid var(--brand);color:var(--brand-text);border-radius:6px;background:#fff;cursor:pointer}
.more-btn[hidden]{display:none}
.e-summary{padding:32px 0 8px}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px}
@media (max-width:760px){.facts{grid-template-columns:1fr 1fr}}
.facts div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.facts span{display:block;font-size:12px;color:var(--sub);font-weight:700}
.facts b{font-size:22px;color:var(--brand-text)}
.facts small{font-size:13px;margin-left:2px}
.h-sm{font-size:18px!important;margin:24px 0 12px!important}
.chips.small a,.chips.small button{font:inherit;font-size:14px;font-weight:700;padding:6px 12px;cursor:pointer;display:inline-flex;align-items:baseline;gap:4px;border:1px solid var(--line);border-radius:6px;background:#fff;text-decoration:none;color:inherit}
.chips.small small{font-size:11px;color:var(--sub);font-weight:500}
.cbtn.on,.fbtn.on{background:var(--brand-tint)!important;color:var(--brand-text)!important;border-color:var(--brand)!important}
.cbtn.on small,.fbtn.on small{color:var(--brand-text)}
.e-list-sec{padding-top:32px}
.e-filter{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:16px}
.e-filter span{font-size:13px;font-weight:700;margin-right:4px}
.fbtn{font:inherit;font-size:13px;font-weight:700;padding:6px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer;display:inline-flex;gap:4px;align-items:baseline}
.fbtn small{font-size:11px;color:var(--sub)}
.about-job{background:var(--bg-soft)}
.about-job p{margin:0 0 12px}
.related{padding-top:40px}
.note{font-size:12px;color:var(--sub);margin:16px 0 0}


.idx-sec{padding:32px 0 8px}
.idx-sec:last-of-type{padding-bottom:64px}
.idx-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media (max-width:760px){.idx-grid{grid-template-columns:1fr}}
.idx-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;text-decoration:none;transition:box-shadow .15s}
.idx-card:hover{box-shadow:0 6px 20px rgba(31,35,40,.12);border-color:var(--brand)}
.idx-tag{align-self:flex-start;font-size:12px;font-weight:700;background:var(--brand);color:#fff;border-radius:4px;padding:1px 8px}
.idx-card b{font-size:21px;margin:6px 0 4px}
.idx-card p{margin:0 0 8px;font-size:14px;color:var(--sub)}
.idx-card .idx-goal{color:var(--brand-text);font-weight:700}
.idx-card .job-more{background:none;color:var(--brand-text);text-align:left;padding:0}


.logo-img{width:40px;height:40px;flex:none;border-radius:6px;background:#fff;border:1px solid var(--line);object-fit:contain}
.hero-img{position:relative;margin:0}
.hero-img img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px;box-shadow:0 10px 30px rgba(31,35,40,.12)}
.hero-img.small{margin-top:24px}
.hero-img.small img{aspect-ratio:16/9}
.hero-img figcaption,.img-note{position:absolute;right:8px;bottom:8px;font-size:11px;color:#fff;background:rgba(31,35,40,.72);border-radius:4px;padding:1px 6px}
.job-thumb{position:relative;height:auto;border:0}
.job-thumb img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.staff-img{display:block;width:88%;aspect-ratio:1;object-fit:cover;border-radius:50%;margin:0 auto 8px}
.nw{white-space:nowrap}
.hero-grid h1{font-size:clamp(26px,3.3vw,38px)}


.job-wrap{position:relative;display:flex;flex-direction:column}
.job-wrap[hidden]{display:none}
.job-wrap>.job{flex:1}
.keep{position:absolute;top:8px;left:8px;font:inherit;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--text);cursor:pointer}
.keep[aria-pressed=true]{background:var(--brand-tint);color:var(--brand-text);border-color:var(--brand)}
.keep.big{position:static;font-size:15px;padding:12px 20px;border-radius:6px}
.keep-link{display:inline-flex;align-items:center;gap:4px}
.keep-count{display:inline-block;min-width:20px;text-align:center;font-size:12px;background:var(--brand-tint);color:var(--brand-text);border-radius:999px;padding:0 6px}
.mylist-sec{background:var(--bg-soft);border-top:1px solid var(--line)}
.mylist{margin-bottom:24px}
.minis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media (max-width:860px){.minis{grid-template-columns:1fr 1fr}}
.mini{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 12px;text-decoration:none;font-size:13px}
.mini b{font-size:14px}
.mini span{color:var(--sub)}
.mini .mini-pay{color:var(--brand-text);font-weight:700}
.job-dl small{display:block;font-size:11px;color:var(--sub)}

.hero-a .hero-points{margin-top:16px}
.data-sec{background:#fff}
.data-lead{max-width:860px;margin:0 0 20px}
.data-list{list-style:none;padding:0;margin:0 0 12px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media (max-width:760px){.data-list{grid-template-columns:1fr 1fr}}
.data-list li{background:var(--bg-soft);border-radius:10px;padding:14px 16px}
.data-list b{display:block;font-size:22px;color:var(--brand-text)}
.data-list span{font-size:12px;color:var(--sub);font-weight:700}
.faq details[open] summary{color:var(--brand-text)}

.detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:start}
@media (max-width:860px){.detail-grid{grid-template-columns:1fr}}
.detail-hero h1{margin-top:4px}
.detail-loc{margin:4px 0 12px;color:var(--sub);font-weight:700}
.pay-box{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin-bottom:12px}
.pay-box span{display:block;font-size:12px;color:var(--sub);font-weight:700}
.pay-box b{display:block;font-size:24px;color:var(--brand-text)}
.pay-box small{font-size:12px;color:var(--sub)}
.detail-actions{flex-direction:row;flex-wrap:wrap;gap:10px;margin:16px 0 0}
.toc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px;padding:12px;background:var(--bg-soft);border-radius:8px;font-size:14px;font-weight:700}
.toc a{color:var(--brand-text)}
.detail-sec.alt{background:var(--bg-soft)}
.detail-body .body-head{font-size:17px;margin:24px 0 8px}
.detail-body p{margin:0 0 6px}
.check-list{padding-left:1.2em;margin:0}
.notice-box{margin-top:24px;background:var(--brand-tint);border-radius:8px;padding:14px 16px;font-size:14px}
.detail-table{width:100%;border-collapse:collapse;background:#fff;font-size:14px}
.detail-table th,.detail-table td{text-align:left;vertical-align:top;padding:12px;border-bottom:1px solid var(--line)}
.detail-table th{width:8em;background:#fafbfc;color:var(--sub);white-space:nowrap}
.detail-table .sub{font-size:12px;color:var(--sub)}
@media (max-width:720px){.kl-text{display:none}.gnav{gap:10px}.logo{gap:8px}.logo-text b{font-size:14px}}


.svc-sec{padding:32px 0 8px}
.finder-sec+.svc-sec{padding-top:0;padding-bottom:48px}
.svc-h{font-weight:900;font-size:17px;margin:0 0 12px}
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.svc{display:grid;grid-template-columns:160px 1fr;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;text-decoration:none;transition:box-shadow .15s}
.svc:hover{box-shadow:0 6px 20px rgba(31,35,40,.12);border-color:var(--brand)}
.svc img{display:block;width:160px;height:160px;object-fit:cover}
.svc-body{padding:12px 16px 12px 0}
.svc-for{display:inline-block;font-size:11px;font-weight:700;color:var(--brand-text);background:var(--brand-tint);border-radius:4px;padding:0 8px}
.svc b{display:block;font-size:18px;margin:4px 0}
.svc p{margin:0 0 6px;font-size:13px;color:var(--sub)}
.svc-go{font-size:13px;font-weight:700;color:var(--brand-text)}
@media (max-width:760px){.svc{grid-template-columns:1fr;gap:0}.svc img{width:100%;height:auto;aspect-ratio:1}.svc-body{padding:10px 12px 12px}.svc p{display:none}.svc b{font-size:15px}.svc-grid{gap:10px}}

.svc-sec.in-results{padding:0 0 24px}
.in-results .svc{grid-template-columns:120px 1fr;gap:12px}
.in-results .svc img{width:120px;height:120px}
.in-results .svc b{font-size:16px}
@media (max-width:1000px){.in-results .svc p{display:none}}
@media (max-width:760px){.in-results .svc{grid-template-columns:1fr;gap:0}.in-results .svc img{width:100%;height:auto}}


.svc-logos{margin-top:10px;display:grid;gap:6px}
.svc-logos p{margin:0;font-size:12px;font-weight:700;color:var(--sub)}
.svc-logos a{display:block;border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.svc-logos a:hover{border-color:var(--brand);box-shadow:0 4px 14px rgba(31,35,40,.12)}
.svc-logos img{display:block;width:100%;height:auto}
@media (max-width:360px){.logo-img{width:32px;height:32px}.logo-text b{font-size:13px}.gnav{gap:8px;font-size:12px}}


.tool-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:start}
@media (max-width:860px){.tool-grid{grid-template-columns:1fr}}
.tool-form,.quiz{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}
.tool-form fieldset,.quiz fieldset{border:0;padding:0;margin:0 0 16px}
.tool-form legend{font-weight:900;margin-bottom:8px}
.tool-form label{display:block;font-size:13px;font-weight:700;margin:0 0 10px}
.tool-form input[type=number],.tool-form select,.quiz select{display:block;width:100%;font:inherit;font-size:16px;font-weight:400;padding:9px 10px;margin-top:4px;border:1px solid #b9bec7;border-radius:6px;background:#fff}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.seg{display:flex;gap:6px;margin-bottom:10px}
.seg label{flex:1;margin:0;text-align:center;border:1px solid var(--line);border-radius:6px;padding:8px 4px;cursor:pointer;font-size:14px}
.seg label:has(input:checked){background:var(--brand-tint);border-color:var(--brand);color:var(--brand-text)}
.seg input{position:absolute;opacity:0;pointer-events:none}
.chk1{display:flex!important;align-items:center;gap:6px;font-weight:500!important}
.tool-result{position:sticky;top:84px;background:#fff;border:2px solid var(--brand);border-radius:12px;padding:20px}
@media (max-width:860px){.tool-result{position:static}}
.res-main{margin-bottom:12px}
.res-main span{display:block;font-size:13px;font-weight:700;color:var(--sub)}
.res-main b{display:block;font-size:34px;line-height:1.2;color:var(--brand-text)}
.res-main small{font-size:12px;color:var(--sub)}
.res-main.save b{font-size:28px;color:var(--text)}
.res-compare{background:var(--brand-tint);border-radius:8px;padding:10px 12px;font-size:14px;font-weight:700;margin:0 0 12px}
.res-compare:empty{display:none}
.res-table{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:16px}
.res-table th,.res-table td{padding:7px 4px;border-bottom:1px solid var(--line);text-align:left}
.res-table td{text-align:right;font-weight:700}
.btn.wide{display:block;text-align:center}
.calc-note{padding-left:1.2em;font-size:14px;color:var(--sub)}
.calc-note li{margin-bottom:6px}
.quiz .q{border-bottom:1px solid var(--line);padding-bottom:14px}
.quiz legend{font-weight:900;font-size:16px;margin-bottom:10px}
.quiz legend span{display:inline-block;background:var(--brand);color:#fff;border-radius:4px;font-size:12px;padding:0 8px;margin-right:8px;vertical-align:2px}
.opts{display:grid;gap:6px}
.opts label{display:block;border:1px solid var(--line);border-radius:8px;padding:10px 12px;cursor:pointer;font-size:15px}
.opts label:has(input:checked){background:var(--brand-tint);border-color:var(--brand);color:var(--brand-text);font-weight:700}
.opts input{position:absolute;opacity:0;pointer-events:none}
.q-pref{display:block;font-size:13px;font-weight:700;margin:0 0 16px}
.q-types{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
@media (max-width:760px){.q-types{grid-template-columns:1fr}}
.q-type{background:#fff;border:2px solid var(--brand);border-radius:12px;padding:18px}
.q-type:nth-child(2){border-color:var(--line)}
.q-type span{font-size:12px;font-weight:700;color:var(--brand-text)}
.q-type b{display:block;font-size:22px;margin:2px 0 6px}
.q-type p{margin:0 0 8px;font-size:14px;color:var(--sub)}
.q-type a{font-weight:700;color:var(--brand-text)}
.q-conds{font-weight:700;margin:0 0 20px}
.tools-sec .tools{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:760px){.tools-sec .tools{grid-template-columns:1fr}}
.tool-card{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;text-decoration:none}
.tool-card:hover{border-color:var(--brand);box-shadow:0 6px 20px rgba(31,35,40,.12)}
.tool-card span{font-size:12px;font-weight:700;color:var(--brand-text);background:var(--brand-tint);border-radius:4px;padding:0 8px}
.tool-card b{display:block;font-size:19px;margin:6px 0 4px}
.tool-card p{margin:0 0 8px;font-size:14px;color:var(--sub)}
.tool-card em{font-style:normal;font-weight:700;color:var(--brand-text)}
.calc-link{display:inline-block;margin-top:6px;font-size:13px;font-weight:700;color:var(--brand-text)}


.game-howto{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px;text-align:center;font-size:13px}
.game-howto div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 4px}
.game-howto svg{background:#3a4049;border-radius:8px}
.game-howto b{display:block}
.game-howto span{color:var(--sub);font-size:12px}
.game{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.game-hud{display:flex;justify-content:space-around;padding:10px;font-weight:700;border-bottom:1px solid var(--line)}
.game-hud b{font-size:20px;color:var(--brand-text)}
.belt{position:relative;height:300px;background:#3a4049;overflow:hidden;touch-action:manipulation;user-select:none;-webkit-user-select:none}
.belt-lines{position:absolute;inset:0;background:repeating-linear-gradient(90deg,#3a4049 0 38px,#444b55 38px 40px)}
.part{position:absolute;left:0;top:0;width:64px;height:64px;padding:0;border:0;background:none;cursor:pointer;transition:opacity .2s}
.part.ok{opacity:.25;outline:3px solid #2e7d32;border-radius:50%}
.part.ng{opacity:.25;outline:3px solid var(--brand);border-radius:50%}
.game-start{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:rgba(35,39,46,.65);color:#fff;font-weight:700}
.game-start[hidden]{display:none}
.game-result{margin-top:16px;background:var(--brand-tint);border-radius:12px;padding:20px;text-align:center}
.g-rank{font-size:40px;font-weight:900;color:var(--brand-text);margin:0}
.g-score{font-weight:700;margin:4px 0 8px}
.g-links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:12px}
.r-min{display:inline-flex;align-items:center;gap:6px;margin-left:8px;font-size:12px;background:var(--brand-tint);color:var(--brand-text);border-radius:999px;padding:2px 10px}
.r-min[hidden]{display:none}
.r-min b{font-size:12px!important;color:inherit!important}
.r-min button{font:inherit;font-size:11px;border:0;background:#fff;border-radius:999px;padding:0 8px;cursor:pointer}


.mini-banner{display:flex;align-items:center;gap:10px;margin:20px 0 0;padding:10px 14px;background:#fff;border:1px dashed #b9bec7;border-radius:8px;text-decoration:none;font-size:14px}
.mini-banner:hover{border-style:solid;border-color:var(--brand)}
.mb-tag{flex:none;font-size:11px;font-weight:700;color:var(--brand-text);background:var(--brand-tint);border-radius:4px;padding:0 8px}
.mb-text{flex:1;font-weight:700}
.mb-go{color:var(--brand-text);font-weight:900}
.res-consult{margin-top:8px}
.chips.small.switch .on{display:inline-flex;align-items:baseline;gap:4px;font-size:14px;font-weight:700;padding:6px 12px;border-radius:6px;background:var(--brand);color:#fff;border:1px solid var(--brand)}
.chips.small.switch .on small{color:#fff}


.menu-btn{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}
.menu-btn span{display:block;height:2px;border-radius:2px;background:var(--text);transition:transform .2s,opacity .2s}
.menu-btn[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.sp-menu{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(31,35,40,.12);max-height:calc(100vh - 68px);overflow-y:auto}
.sp-menu[hidden]{display:none}
.sp-menu .wrap{display:grid;padding-top:8px;padding-bottom:16px}
.sp-menu a{display:block;padding:14px 4px;border-bottom:1px solid var(--line);font-weight:700;text-decoration:none}
.sp-menu a:hover{color:var(--brand-text)}
.sp-menu .sp-cta{margin-top:14px;border:0;border-radius:8px;background:var(--brand);color:#fff;text-align:center}
.sp-menu .sp-cta:hover{color:#fff;background:var(--brand-deep)}
header.site{position:sticky}
@media (max-width:1080px){.menu-btn{display:inline-flex}}
@media (max-width:420px){.gnav a[href$="jobs-all.html"]{display:none}}


.finder-box{background:#fff;border:1px solid var(--line);border-radius:12px}
.finder-box>.finder{border:0;border-radius:0;padding-top:4px}
.finder-sum{list-style:none;cursor:pointer;font-weight:900;font-size:17px;padding:14px 18px 6px}
.finder-sum::-webkit-details-marker{display:none}
.finder-sum span{font-size:13px;color:var(--brand-text);margin-left:6px}
.finder-box:not([open]) .finder-sum{padding-bottom:14px}
.finder-box:not([open]) .finder-sum::after{content:"開く ▾";float:right;font-size:13px;color:var(--brand-text)}
.fd{border:1px solid var(--line);border-radius:8px;margin:0 0 10px}
.fd>summary{cursor:pointer;padding:10px 12px;font-size:13px;font-weight:700;display:flex;justify-content:space-between;gap:8px}
.fd-sel{font-weight:500;color:var(--brand-text);text-align:right;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fd-body{padding:0 12px 10px;max-height:340px;overflow-y:auto}
.fd-region p{margin:8px 0 4px;font-size:12px;font-weight:700;color:var(--sub)}
.finder .chk small{font-size:11px;color:var(--sub);margin-left:2px}
.finder .chk.zero{color:#6b717b;background:var(--bg-soft)}
.finder-go{display:block;width:100%;font:inherit;font-size:15px;font-weight:900;padding:11px 8px;margin:6px 0 8px;border:0;border-radius:6px;background:var(--brand);color:#fff;cursor:pointer}
.finder-go:hover{background:var(--brand-deep)}
.finder-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}
.finder-foot .finder-consult{margin:0}
.finder-clear{flex:none;font:inherit;font-size:12px;color:var(--sub);background:none;border:0;padding:4px 0;text-decoration:underline;cursor:pointer}
.finder-clear:hover{color:var(--brand-text)}

.r-chips{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 12px}
.r-chip{font:inherit;font-size:13px;font-weight:700;padding:4px 10px;border:1px solid var(--brand);border-radius:999px;background:var(--brand-tint);color:var(--brand-text);cursor:pointer}
.r-chip.clear{background:#fff;border-color:var(--line);color:var(--sub)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.combo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}
@media (max-width:760px){.combo-row{grid-template-columns:1fr}}
.combo label{font-size:13px;font-weight:700}
.combo select{display:block;width:100%;font:inherit;font-size:16px;padding:9px 10px;margin-top:4px;border:1px solid #b9bec7;border-radius:6px;background:#fff}
.combo .chks{margin-bottom:8px}
.combo-note{font-size:12px;color:var(--sub);margin:4px 0 12px}
@media (max-width:860px){.svc-logos{grid-template-columns:1fr 1fr}.svc-logos p{grid-column:1/-1}}


h1,h2,h3,.consult-title,.search-title{font-weight:700}
.util{background:var(--brand);color:var(--dark-sub);border-bottom:0}
.util-bar{padding-top:5px;padding-bottom:5px}
@media (max-width:720px){.util-co{display:none}}
.gnav{font-weight:500}
.gnav .cta{background:#fff;color:var(--brand);border:1px solid var(--brand);border-radius:4px;padding:8px 16px;font-weight:700}
.gnav .cta:hover{background:var(--brand-tint);color:var(--brand)}
.sp-cta{border:1px solid var(--brand);color:var(--brand)!important;background:#fff!important}
.hero{background:var(--brand-tint);padding:40px 0}
.btn{border-radius:4px;padding:12px 24px}
.btn.ghost{border:1px solid var(--brand);color:var(--brand)}
.btn.ghost:hover{background:var(--brand-tint)}
.sec h2{border-left:0;padding-left:0;color:var(--brand);font-size:clamp(21px,2.6vw,25px);margin-bottom:6px}
.sec-lead{margin:0 0 20px;font-size:14px}
.sec{padding:56px 0;border-bottom:1px solid var(--line)}
.job{border-radius:6px}
.job:hover{box-shadow:0 2px 10px rgba(31,41,51,.08);border-color:#b8c2cc}
.job-title{color:var(--brand)}
.job-dl b{color:var(--text)}
.tags li{background:var(--bg-soft);color:var(--sub);border:1px solid var(--line);font-weight:500}
.job-more{background:#fff;color:var(--brand);border:1px solid var(--brand);border-radius:4px}
.job:hover .job-more{background:var(--brand-tint)}
.consult-sec{background:var(--bg-soft)}
.consult{box-shadow:none;border-radius:6px}
.consult em{background:#fff;color:#a61b1b;border:1px solid #a61b1b}
.consult button{border-radius:4px;font-weight:700}
.float-cta{border-radius:4px}
body.menu-open .float-cta{display:none}
.faq summary::before{color:var(--brand)}
.steps li{border-radius:6px}
.cols a{border-radius:6px}
.company{background:var(--bg-soft)}
.apply-note{margin:14px 0 0;font-size:13px;color:var(--sub)}

.hero-t{padding:48px 0}
.hero-t-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.hero-t h1{font-size:clamp(22px,3.2vw,30px);color:var(--brand);line-height:1.5}
.facts-t{display:flex;flex-wrap:wrap;gap:16px 28px;margin:24px 0 0}
.facts-t div{border-left:2px solid var(--brand);padding-left:12px}
.facts-t dt{font-size:12px;color:var(--sub)}
.facts-t dd{margin:0;font-size:22px;font-weight:700;color:var(--brand)}
.search-t{background:#fff;border:1px solid var(--line);border-radius:6px;padding:20px 22px}
.search-t-h{font-weight:700;margin:0 0 4px}
.search-t label{display:block;font-size:13px;font-weight:700;margin-top:12px}
.search-t select{display:block;width:100%;margin-top:4px;padding:10px;font:inherit;font-size:16px;border:1px solid #9aa5b1;border-radius:4px;background:#fff;color:var(--text)}
.search-t .btn{display:block;width:100%;margin-top:18px;border:0;font:inherit;font-weight:700;cursor:pointer}
.search-t-more{display:block;text-align:center;margin-top:10px;font-size:13px;color:var(--brand)}
@media (max-width:860px){.hero-t{padding:28px 0}.hero-t-grid{grid-template-columns:1fr;gap:24px}.hero-t .pc{display:none}}
.find-t-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:40px}
@media (max-width:860px){.find-t-grid{grid-template-columns:1fr;gap:16px}}
.find-t .h-sm{font-size:15px;margin:0 0 8px}
.find-t .h-sm:not(:first-child){margin-top:24px}
.regions-t .region{grid-template-columns:96px 1fr;padding:8px 0}
.regions-t .prefs{gap:2px 14px}
.regions-t .prefs a,.regions-t .prefs .none{border:0;padding:0;background:none;font-weight:400;color:var(--brand);text-decoration:underline;text-underline-offset:3px}
.regions-t .prefs .none{color:var(--sub);text-decoration:none}
.list-t a{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:9px 0;color:var(--brand);text-decoration:none}
.list-t a:hover{text-decoration:underline}
.list-t small{color:var(--sub);font-size:12px}
.jobs-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:960px){.jobs-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.jobs-3{grid-template-columns:1fr}}

.flow-t{background:#fff}
.steps-t{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:st}
.steps-t li{border-top:3px solid var(--brand);padding-top:12px}
.steps-t li::before{counter-increment:st;content:"STEP " counter(st);font-size:12px;font-weight:700;color:var(--brand)}
.steps-t b{display:block;margin:2px 0 4px}
.steps-t p{margin:0;font-size:13px;color:var(--sub)}
@media (max-width:760px){.steps-t{grid-template-columns:1fr 1fr}}

.consult-cta{background:var(--bg-soft)}
.consult-box{display:flex;align-items:center;gap:24px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:20px 24px}
.consult-box>div{flex:1}
.consult-box p{margin:0;font-size:14px;color:var(--sub)}
.consult-box .cb-title{font-weight:700;color:var(--text);font-size:16px;margin-bottom:4px}
.consult-box .btn{white-space:nowrap}
@media (max-width:640px){.consult-box{flex-direction:column;align-items:stretch}.consult-box .btn{text-align:center}}

.skip-to-work{display:block;text-align:right;font-size:13px;color:var(--sub);margin-bottom:8px}


.col-cat{display:inline-block;margin:0 0 6px;font-size:12px;font-weight:700;color:var(--brand-text);background:#fff;border-radius:4px;padding:0 8px}
.article{font-size:16px;line-height:1.9}
.article h2{font-size:22px;margin:40px 0 12px;padding-left:12px;border-left:5px solid var(--brand)}
.article h3{font-size:18px;margin:28px 0 8px}
.article p{margin:0 0 14px}
.article table{width:100%;border-collapse:collapse;margin:0 0 16px;font-size:14px}
.article th,.article td{border:1px solid var(--line);padding:8px 10px;text-align:left}
.article th{background:var(--bg-soft)}
.article ul,.article ol{padding-left:1.4em;margin:0 0 14px}
.article a{color:var(--brand-text)}
.article .cta-box{background:var(--brand-tint);border-radius:10px;padding:16px;margin:20px 0}

.article .jp-photo{position:relative;flex:0 0 132px;border-radius:6px;overflow:hidden;background:var(--ph)}
.article .jp-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.article .jp-photo .img-note{right:4px;bottom:4px}
.article .inline-cta,.article .jp-card{display:flex;gap:12px;text-decoration:none;color:var(--text)}
.article .inline-cta{align-items:center;background:var(--brand-tint);border-radius:10px;padding:12px;margin:24px 0}
.article .ic-body{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.article .ic-t{font-size:15px;line-height:1.6}
.article .ic-t strong{font-size:18px;color:var(--brand-text);margin:0 2px}
.article .ic-btn{font-size:14px;font-weight:700;color:#fff;background:var(--brand);border-radius:6px;padding:6px 16px}
.article .inline-cta:hover .ic-btn{background:var(--brand-deep)}
.article .job-pick{margin-top:32px}
.article .jp-grid{display:grid;gap:10px}
.article .jp-card{align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff}
.article .jp-card:hover{border-color:#c5cad2;box-shadow:0 6px 20px rgba(31,35,40,.12)}
.article .jp-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;line-height:1.5}
.article .jp-title{font-size:15px;font-weight:700}
.article .jp-card:hover .jp-title{text-decoration:underline}
.article .jp-pay{font-size:14px;font-weight:700;color:var(--brand-text)}
.article .jp-pay:empty{display:none}
.article .jp-loc{font-size:13px;color:var(--sub)}
.article .jp-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.article .jp-tags span{font-size:11px;font-weight:700;color:var(--brand-text);background:var(--brand-tint);border-radius:4px;padding:1px 7px}
.article .jp-more{display:inline-block;margin-top:12px;font-weight:700}
.article .jp-more::after{content:" →"}
@media (min-width:600px){.article .jp-photo{flex-basis:200px}}
.col-d{display:block;margin-top:6px;font-size:12px;font-weight:400;color:var(--sub)}
.policy-body{font-size:15px}
.policy-body h2{font-size:20px;margin:32px 0 10px}
.policy-body table{width:100%;border-collapse:collapse;background:#fff;font-size:14px}
.policy-body th,.policy-body td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.policy-body th{width:9em;color:var(--sub);background:#fafbfc}
.news-list{list-style:none;margin:0;padding:0}
.news-item{padding:20px 0;border-bottom:1px solid var(--line)}
.news-item time{color:var(--sub);font-size:13px}
.news-item h2{font-size:18px;margin:4px 0 8px}
.news-item p{margin:6px 0}

.detail-grid{grid-template-columns:1fr}
.detail-grid.has-photo{grid-template-columns:1.2fr .8fr}
@media (max-width:860px){.detail-grid.has-photo{grid-template-columns:1fr}}
.company-grid.one{grid-template-columns:1fr;max-width:760px}
.consult textarea{display:block;width:100%;font:inherit;font-size:16px;font-weight:400;padding:10px 12px;margin-top:6px;border:1px solid #b9bec7;border-radius:6px}
