/* HIKARI SAGA V4 / PDF-backed recruitment. V3 visual identity stays intact. */
.v4-summary-section{padding:52px 0 0;background:#fff}.v4-job-summary{border-top:4px solid var(--ink);padding:27px 0 20px;color:var(--ink)}.v4-job-summary-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.v4-job-summary-head h3{font-size:28px;line-height:1.5;letter-spacing:-.035em;margin:10px 0 0}.v4-job-summary-head .v3-kicker{font-size:10px;margin:0}.v4-employment{font-size:14px;font-weight:700;padding:10px 16px;border:1px solid currentColor;white-space:nowrap;margin:0}.v4-employment span{font-weight:500}.v4-facts{display:grid;grid-template-columns:1.2fr 1fr .75fr}.v4-fact{padding:10px 28px;border-left:1px solid #d8dddf;min-width:0}.v4-fact:first-child{padding-left:0;border-left:0}.v4-fact:last-child{padding-right:0}.v4-fact>small{font-size:13px;font-weight:700;display:block;margin-bottom:6px}.v4-fact>small>span{font-size:11px;font-weight:400;margin-left:10px}.v4-fact>strong{font-family:var(--en);font-size:clamp(34px,3.6vw,50px);font-weight:800;letter-spacing:-.045em;line-height:1.25;white-space:nowrap;display:block}.v4-fact strong>span{font-size:.58em;padding:0 .08em;font-weight:500}.v4-fact strong>em{font-family:var(--jp);font-size:16px;margin-left:7px;letter-spacing:0;font-style:normal}.v4-fact .v4-time{font-size:clamp(29px,3vw,40px);padding-top:8px;padding-bottom:4px;letter-spacing:-.05em}.v4-fact>p{font-size:11px;line-height:1.8;margin:8px 0 0}.v4-pay-note{font-size:13px!important;line-height:1.9!important;padding:18px 20px;margin:26px 0 20px!important;background:#f3f4f4;border-left:3px solid var(--accent)}.v4-pay-note>strong{display:block;font-size:12px;margin-bottom:3px}.v4-job-tags{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:12px;line-height:1.9}.v4-job-tags>span:before{content:'／';color:#7f8589;margin-right:9px}.v4-job-tags small{font-size:11px}.v4-job-summary--dark{border-color:var(--accent);color:#fff;margin:25px 0 40px}.v4-job-summary--dark .v4-fact{border-color:#ffffff30}.v4-job-summary--dark .v4-fact>strong{color:var(--accent)}.v4-job-summary--dark .v4-pay-note{background:#ffffff0b;color:#e5e9ec}.v4-job-summary--dark .v4-job-tags{color:#dce0e3}.v4-job-summary--dark .v4-employment{border-color:#ffffff45}.v4-hero-badge{display:inline-block;font-size:12px!important;line-height:1.6!important;padding:8px 13px;margin:0 0 23px!important;border:1px solid #ffffff60;background:#11182055;color:#fff;letter-spacing:.03em}.v3-recruit-hero-copy .v4-hero-badge+.v3-kicker{margin-top:0}.v4-requirements .narrow{max-width:1000px}.v4-spec-group{margin-top:50px}.v4-spec-group h3{display:flex;align-items:baseline;gap:19px;border-bottom:2px solid var(--ink);padding-bottom:20px;margin:0;font-size:24px;line-height:1.5;letter-spacing:-.03em}.v4-spec-group h3>span{font-family:var(--en);font-size:15px;letter-spacing:0;color:#697178}.v4-spec-list{margin:0}.v4-spec-list>div{display:grid;grid-template-columns:190px minmax(0,1fr);gap:25px;padding:25px 0;border-bottom:1px solid #d7dcdf}.v4-spec-list dt{font-size:14px;font-weight:700;line-height:1.9}.v4-spec-list dd{margin:0;font-size:14px;line-height:2;overflow-wrap:anywhere}.v4-spec-list dd>p{font-size:inherit;line-height:inherit;margin:10px 0 0}.v4-inline-note{display:block;font-size:12px;line-height:1.9;color:#59636a;margin-top:7px}.v4-spec-salary{font-size:24px;letter-spacing:-.025em}.v4-source-note{font-size:12px!important;color:#5a646c;line-height:1.95!important;margin:27px 0 0!important}.v4-entry-job{border-top:4px solid var(--accent);padding:24px 28px 28px;background:#f3f4f4;margin-bottom:26px}.v4-entry-job .v3-kicker{font-size:10px;margin:0 0 10px}.v4-entry-job h2{font-size:25px;line-height:1.5;letter-spacing:-.03em;margin:0}.v4-entry-employment{font-size:13px!important;font-weight:700;margin:8px 0 21px!important}.v4-entry-job dl{margin:0;border-top:1px solid #d6dcdf}.v4-entry-job dl>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid #d6dcdf;font-size:12px;line-height:1.9}.v4-entry-job dt{font-weight:700}.v4-entry-job dd{margin:0}.v4-entry-job dd>strong{font-size:17px}.v4-entry-job>p:last-child{font-size:12px;line-height:1.9;margin:18px 0 0}.v4-entry-job a{text-decoration:underline;text-underline-offset:3px}.v4-recruit-contact{border-top:1px solid #d9dfe1;padding-top:24px;margin-top:28px}.v4-recruit-contact>small{font-size:10px;letter-spacing:.08em;line-height:1.8;display:block}.v4-recruit-contact>a{display:block}.v4-recruit-contact .v4-phone{font:700 27px/1.6 var(--en);letter-spacing:-.04em;margin-top:9px}.v4-recruit-contact .v4-email{font-size:13px;line-height:1.8;overflow-wrap:anywhere}.v4-recruit-contact>p{font-size:11px;line-height:1.9!important;margin:12px 0 0}.v4-footer-recruit{margin-top:17px!important;font-size:12px!important;line-height:2}.v4-footer-recruit small{font-size:10px;color:#b7bfc5}.v4-footer-recruit a{color:#fff}.v4-job-source-footer{background:#f5f6f6;font-size:12px;padding:18px 24px;margin-top:24px}.v4-recruitment-form-hint{font-size:12px;color:#505a63;line-height:1.9}.v4-more-jobs{padding-top:0}.v4-more-jobs h2{font-size:25px}
@media(max-width:1100px){.v4-fact{padding-left:20px;padding-right:20px}.v4-job-summary-head h3{font-size:24px}.v4-employment{font-size:12px}.v4-spec-list>div{grid-template-columns:165px minmax(0,1fr);gap:20px}.v4-recruit-contact .v4-phone{font-size:24px}}
@media(max-width:700px){.v4-summary-section{padding-top:35px}.v4-job-summary{padding-top:21px;padding-bottom:0}.v4-job-summary-head{display:block;margin-bottom:22px}.v4-job-summary-head h3{font-size:24px}.v4-job-summary-head .v3-kicker{font-size:9px}.v4-employment{display:inline-block;white-space:normal;margin:16px 0 0;font-size:12px;padding:8px 10px}.v4-facts{grid-template-columns:1.1fr 1fr;row-gap:20px}.v4-fact--salary{grid-column:1/-1}.v4-fact{padding:0 15px;border-left:1px solid #d8dddf}.v4-fact:nth-child(2){border-left:0;padding-left:0}.v4-fact>small{font-size:12px}.v4-fact>small>span{font-size:11px}.v4-fact>strong{font-size:39px}.v4-fact--salary>strong{font-size:51px}.v4-fact .v4-time{font-size:27px;padding-top:10px;padding-bottom:7px}.v4-fact strong>em{font-size:15px}.v4-fact>p{font-size:11px;line-height:1.8}.v4-pay-note{font-size:12px!important;padding:14px 15px;margin:20px 0 16px!important;line-height:1.95!important}.v4-job-tags{font-size:12px;gap:7px 12px}.v4-job-tags small{font-size:10px;display:inline-block}.v4-job-summary--dark{margin:30px 0}.v4-hero-badge{font-size:10px!important;margin-bottom:18px!important;padding:7px 10px}.v4-spec-group{margin-top:36px}.v4-spec-group h3{font-size:22px;gap:13px;padding-bottom:17px}.v4-spec-group h3>span{font-size:13px}.v4-spec-list>div{display:block;padding:20px 0}.v4-spec-list dt{font-size:13px;margin-bottom:9px}.v4-spec-list dd{font-size:14px;line-height:1.95}.v4-inline-note{font-size:12px}.v4-spec-salary{font-size:23px}.v4-source-note{font-size:12px!important;line-height:1.95!important}.v4-entry-job{padding:21px 19px}.v4-entry-job h2{font-size:23px}.v4-entry-job dl>div{display:block;font-size:13px}.v4-entry-job dt{font-size:12px;margin-bottom:7px}.v4-entry-job dd>strong{font-size:18px}.v4-entry-job>p:last-child{font-size:12px}.v3-form-layout .form-intro .v4-recruit-contact{padding-top:21px;margin-top:23px;margin-right:-110px;max-width:calc(100% + 110px)}.v4-recruit-contact .v4-phone{font-size:28px}.v4-recruit-contact .v4-email{font-size:13px}.v3-form-layout .form-intro .v4-recruit-contact>p{font-size:12px}.v4-recruit-contact>small{font-size:10px}.v4-footer-recruit{font-size:12px!important}}
@media(max-width:390px){.v4-fact .v4-time{font-size:24px}.v4-fact>strong{font-size:36px}.v4-fact--salary>strong{font-size:47px}.v4-fact{padding-right:9px;padding-left:12px}.v4-fact strong>em{font-size:14px}.v3-form-layout .form-intro .v4-recruit-contact{margin-right:-97px;max-width:calc(100% + 97px)}}
@media print{.v4-job-summary--dark{color:#111820}.v4-job-summary--dark .v4-fact>strong{color:#111820}.v4-job-summary--dark .v4-pay-note{color:#111820}.v4-spec-list>div{break-inside:avoid}.v4-entry-job,.v4-job-summary{break-inside:avoid}.v4-summary-section{padding:15px 0}}
