/* ===== Eternal Plus One Fukuoka Recruit LP / scoped ===== */
.epo-job-lp{
  --epo-orange:#f28b2d;
  --epo-orange-dark:#d86f15;
  --epo-cream:#fff8ef;
  --epo-ink:#2d2d2d;
  --epo-muted:#222;
  --epo-line:#eadfce;
  --epo-white:#fff;
  --epo-green:#4e8b61;
  --epo-radius:20px;
  --epo-shadow:0 10px 30px rgba(80,55,30,.10);
  color:var(--epo-ink);
  background:var(--epo-white);
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic",Meiryo,sans-serif;
  line-height:1.8;
  overflow:hidden;
}
.epo-job-lp *{box-sizing:border-box}
.epo-job-lp img{max-width:100%;height:auto;display:block}
.epo-job-lp a{text-decoration:none}
.epo-job-lp .wrap{width:min(1080px,calc(100% - 32px));margin:0 auto}
.epo-job-lp .section{padding:72px 0}
.epo-job-lp .section.alt{background:var(--epo-cream)}
.epo-job-lp .eyebrow{
  display:inline-block;font-size:13px;font-weight:700;letter-spacing:.08em;
  color:var(--epo-orange-dark);background:#fff0df;border-radius:999px;padding:6px 12px;margin-bottom:14px
}
.epo-job-lp h1,.epo-job-lp h2,.epo-job-lp h3{line-height:1.35;margin:0}
.epo-job-lp h2{font-size:clamp(28px,4vw,42px);text-align:center;margin-bottom:18px}
.epo-job-lp .lead{max-width:760px;margin:0 auto 34px;text-align:center;color:var(--epo-muted);font-size:17px;font-weight:500}
.epo-job-lp .note{font-size:14px;color:var(--epo-muted);font-weight:500}
.epo-job-lp .center{text-align:center}

/* hero */
.epo-job-lp .hero{
  background:linear-gradient(135deg,#fff8ef 0%,#fff 60%,#fff1dd 100%);
  padding:54px 0 44px;border-bottom:1px solid var(--epo-line)
}
.epo-job-lp .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}
.epo-job-lp .brand-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.epo-job-lp .brand-logo{width:64px;height:66px;object-fit:contain;flex:0 0 auto}
.epo-job-lp .brand{font-size:14px;font-weight:800;color:#222;margin:0}
.epo-job-lp .hero h1{font-size:clamp(32px,4.1vw,54px);letter-spacing:.01em}
.epo-job-lp .hero-line{display:block;white-space:nowrap}
.epo-job-lp .hero h1 strong{color:var(--epo-orange-dark)}
.epo-job-lp .hero-sub{font-size:clamp(18px,2.5vw,24px);font-weight:700;margin:18px 0 24px}
.epo-job-lp .hero-img{
  aspect-ratio:4/3;border-radius:28px;overflow:hidden;background:#f0e5d8;box-shadow:var(--epo-shadow);
  display:flex;align-items:center;justify-content:center;color:#8b7d6d;font-weight:700;text-align:center;padding:20px
}
.epo-job-lp .hero-img img{width:100%;height:100%;object-fit:cover}
.epo-job-lp .section-photo{
  margin:28px auto 30px;max-width:860px;border-radius:24px;overflow:hidden;
  box-shadow:var(--epo-shadow);border:1px solid var(--epo-line);background:#f3eee8
}
.epo-job-lp .section-photo img{width:100%;height:auto;display:block}
.epo-job-lp .image-caption{font-size:14px;color:#222;text-align:center;margin-top:10px;font-weight:500}
.epo-job-lp .voice-img.text-only{
  background:linear-gradient(135deg,#fff8ef,#fff1df);
  color:var(--epo-orange-dark);font-size:20px;line-height:1.6
}

.epo-job-lp .quick-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0}
.epo-job-lp .quick-point{background:#fff;border:1px solid var(--epo-line);border-radius:15px;padding:12px 14px;font-weight:700}
.epo-job-lp .quick-point b{color:var(--epo-orange-dark);font-size:21px}
.epo-job-lp .cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.epo-job-lp .btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 24px;border-radius:999px;
  font-weight:800;transition:.2s ease;border:2px solid var(--epo-orange)
}
.epo-job-lp .btn.primary{background:var(--epo-orange);color:#fff}
.epo-job-lp .btn.secondary{background:#fff;color:var(--epo-orange-dark)}
.epo-job-lp .btn:hover{transform:translateY(-1px)}

/* cards */
.epo-job-lp .grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.epo-job-lp .card{background:#fff;border:1px solid var(--epo-line);border-radius:var(--epo-radius);padding:24px;box-shadow:var(--epo-shadow)}
.epo-job-lp .card .num{font-size:34px;font-weight:900;color:var(--epo-orange-dark);line-height:1.1}
.epo-job-lp .card h3{font-size:18px;margin:10px 0 6px}
.epo-job-lp .card p{margin:0;color:#222;font-size:16px;font-weight:500}

/* pay */
.epo-job-lp .pay-box{
  max-width:760px;margin:0 auto;background:#fff;border:2px solid #ffd2a8;border-radius:24px;padding:30px;
  box-shadow:var(--epo-shadow);text-align:center
}
.epo-job-lp .pay-main{font-size:clamp(42px,7vw,72px);font-weight:900;color:var(--epo-orange-dark);line-height:1.1}
.epo-job-lp .pay-main small{font-size:.42em}
.epo-job-lp .pay-break{margin-top:12px;font-weight:700}
.epo-job-lp .mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}
.epo-job-lp .mini{background:var(--epo-cream);border-radius:15px;padding:15px;font-size:14px}

/* work */
.epo-job-lp .work-list{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}
.epo-job-lp .work-item{background:#fff;border:1px solid var(--epo-line);border-radius:18px;padding:22px;text-align:center}
.epo-job-lp .work-icon{font-size:34px;margin-bottom:8px}

/* voices */
.epo-job-lp .voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.epo-job-lp .voice{background:#fff;border-radius:22px;overflow:hidden;border:1px solid var(--epo-line);box-shadow:var(--epo-shadow)}
.epo-job-lp .voice-img{
  aspect-ratio:4/3;background:#efe5d9;display:flex;align-items:center;justify-content:center;text-align:center;
  color:#8b7d6d;font-weight:700;padding:16px
}
.epo-job-lp .voice-img img{width:100%;height:100%;object-fit:cover}
.epo-job-lp .voice-body{padding:22px}
.epo-job-lp .tags{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 14px}
.epo-job-lp .tag{font-size:12px;background:#fff0df;color:var(--epo-orange-dark);border-radius:999px;padding:4px 9px;font-weight:700}
.epo-job-lp .quote{font-weight:800;font-size:18px;line-height:1.55;margin-bottom:12px}
.epo-job-lp .voice p{font-size:16px;color:#222;margin:0;font-weight:500}

/* points */
.epo-job-lp .point-list{max-width:860px;margin:28px auto 0;display:grid;gap:14px}
.epo-job-lp .point{
  display:grid;grid-template-columns:66px 1fr;gap:18px;background:#fff;border:1px solid var(--epo-line);
  border-radius:18px;padding:20px;align-items:center
}
.epo-job-lp .point-no{
  width:58px;height:58px;border-radius:50%;background:var(--epo-orange);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:900;font-size:20px
}
.epo-job-lp .point h3{font-size:20px;margin-bottom:4px}
.epo-job-lp .point p{margin:0;color:#222;font-size:16px;font-weight:500}

/* ideal */
.epo-job-lp .check-list{max-width:720px;margin:22px auto 0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.epo-job-lp .check{background:#fff;border:1px solid var(--epo-line);border-radius:14px;padding:14px 16px;font-weight:700}
.epo-job-lp .check::before{content:"✓";color:var(--epo-green);font-weight:900;margin-right:8px}

/* requirements */
.epo-job-lp .req{max-width:860px;margin:0 auto;border:1px solid var(--epo-line);border-radius:20px;overflow:hidden;background:#fff}
.epo-job-lp .req-row{display:grid;grid-template-columns:190px 1fr;border-bottom:1px solid var(--epo-line)}
.epo-job-lp .req-row:last-child{border-bottom:0}
.epo-job-lp .req dt{margin:0;padding:16px 18px;background:#fff8ef;font-weight:800}
.epo-job-lp .req dd{margin:0;padding:16px 18px}
.epo-job-lp .req strong{color:var(--epo-orange-dark)}

/* faq */
.epo-job-lp details{max-width:860px;margin:0 auto 12px;border:1px solid var(--epo-line);border-radius:16px;background:#fff;overflow:hidden}
.epo-job-lp summary{cursor:pointer;padding:18px 58px 18px 22px;font-weight:800;list-style:none;position:relative}
.epo-job-lp summary::-webkit-details-marker{display:none}
.epo-job-lp summary::before{content:"Q";display:inline-flex;width:28px;height:28px;border-radius:50%;align-items:center;justify-content:center;background:var(--epo-orange);color:#fff;margin-right:10px}
.epo-job-lp .answer{padding:0 22px 20px 60px;color:#222;font-size:16px;font-weight:500}

/* final */
.epo-job-lp .final{
  background:linear-gradient(135deg,#f28b2d,#db7117);color:#fff;text-align:center
}
.epo-job-lp .final h2{color:#fff}
.epo-job-lp .final .lead{color:#111;font-weight:600}
.epo-job-lp .final .btn.primary{background:#fff;color:var(--epo-orange-dark);border-color:#fff}
.epo-job-lp .final .btn.secondary{background:transparent;color:#fff;border-color:#fff}
.epo-job-lp .contact-box{margin:24px auto 0;max-width:720px;background:rgba(255,255,255,.13);border-radius:18px;padding:20px}
.epo-job-lp .contact-box a{color:#fff;font-weight:800}

/* footer note */
.epo-job-lp .legal{padding:28px 0 90px;background:#fff;font-size:14px;color:#222;font-weight:500}
.epo-job-lp .legal p{margin:4px 0}

/* mobile fixed CTA */
.epo-job-lp .mobile-fixed{display:none}

@media (max-width:900px){
  .epo-job-lp .hero-grid{grid-template-columns:1fr}
  .epo-job-lp .hero-img{order:-1;aspect-ratio:16/10}
  .epo-job-lp .grid-4,.epo-job-lp .work-list{grid-template-columns:repeat(2,1fr)}
  .epo-job-lp .voice-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .epo-job-lp .section{padding:54px 0}
  .epo-job-lp .wrap{width:min(100% - 24px,1080px)}
  .epo-job-lp .hero{padding:24px 0 34px}
  .epo-job-lp .hero h1{font-size:32px}
  .epo-job-lp .quick-points,.epo-job-lp .grid-4,.epo-job-lp .work-list,.epo-job-lp .mini-grid,.epo-job-lp .check-list{grid-template-columns:1fr 1fr}
  .epo-job-lp .cta-row{display:grid;grid-template-columns:1fr}
  .epo-job-lp .btn{width:100%}
  .epo-job-lp .req-row{grid-template-columns:1fr}
  .epo-job-lp .req dt{padding-bottom:8px}
  .epo-job-lp .req dd{padding-top:8px}
  .epo-job-lp .point{grid-template-columns:52px 1fr}
  .epo-job-lp .point-no{width:48px;height:48px}
  .epo-job-lp .mobile-fixed{
    position:fixed;left:0;right:0;bottom:0;z-index:9999;display:grid;grid-template-columns:1fr 1.2fr;
    gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);
    border-top:1px solid #eee;box-shadow:0 -5px 20px rgba(0,0,0,.08)
  }
  .epo-job-lp .mobile-fixed a{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;font-weight:900}
  .epo-job-lp .mobile-fixed .tel{border:2px solid var(--epo-orange);color:var(--epo-orange-dark);background:#fff}
  .epo-job-lp .mobile-fixed .apply{background:var(--epo-orange);color:#fff}
}
@media (max-width:420px){
  .epo-job-lp .quick-points,.epo-job-lp .grid-4,.epo-job-lp .work-list,.epo-job-lp .mini-grid,.epo-job-lp .check-list{grid-template-columns:1fr}
}

/* ===== Application form ===== */
.epo-job-lp #epo-apply-form{scroll-margin-top:24px}
.epo-job-lp .epo-form-section{background:#fff}
.epo-job-lp .epo-apply-form{
  max-width:860px;margin:34px auto 0;background:#fff;border:1px solid var(--epo-line);
  border-radius:24px;padding:30px;box-shadow:var(--epo-shadow)
}
.epo-job-lp .epo-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.epo-job-lp .epo-field{display:flex;flex-direction:column;gap:7px}
.epo-job-lp .epo-field.full{grid-column:1/-1}
.epo-job-lp .epo-field label,
.epo-job-lp .epo-field legend{font-weight:800;font-size:15px}
.epo-job-lp .epo-field fieldset{border:0;padding:0;margin:0}
.epo-job-lp .required{
  display:inline-block;margin-left:6px;padding:2px 7px;border-radius:999px;
  background:#d9534f;color:#fff;font-size:11px;font-weight:800;vertical-align:middle
}
.epo-job-lp .optional{
  display:inline-block;margin-left:6px;padding:2px 7px;border-radius:999px;
  background:#efefef;color:#666;font-size:11px;font-weight:800;vertical-align:middle
}
.epo-job-lp .epo-field input[type="text"],
.epo-job-lp .epo-field input[type="tel"],
.epo-job-lp .epo-field input[type="email"],
.epo-job-lp .epo-field select,
.epo-job-lp .epo-field textarea{
  width:100%;border:1px solid #d9d3cb;border-radius:12px;padding:13px 14px;
  font:inherit;background:#fff;color:var(--epo-ink);outline:none
}
.epo-job-lp .epo-field input:focus,
.epo-job-lp .epo-field select:focus,
.epo-job-lp .epo-field textarea:focus{
  border-color:var(--epo-orange);box-shadow:0 0 0 3px rgba(242,139,45,.13)
}
.epo-job-lp .epo-checks{display:flex;flex-wrap:wrap;gap:10px}
.epo-job-lp .epo-checks label{
  display:inline-flex;align-items:center;gap:7px;background:var(--epo-cream);
  border:1px solid var(--epo-line);border-radius:999px;padding:9px 13px;font-weight:700
}
.epo-job-lp .epo-consent{display:flex!important;align-items:flex-start;gap:10px;font-weight:700!important}
.epo-job-lp .epo-consent input{margin-top:5px}
.epo-job-lp .epo-consent a{color:var(--epo-orange-dark);text-decoration:underline}
.epo-job-lp .epo-submit{
  display:block;width:min(100%,520px);margin:26px auto 0;border:0;border-radius:999px;
  background:var(--epo-orange);color:#fff;font:inherit;font-size:18px;font-weight:900;
  padding:16px 22px;cursor:pointer;box-shadow:0 8px 20px rgba(216,111,21,.2)
}
.epo-job-lp .epo-submit:hover{transform:translateY(-1px)}
.epo-job-lp .epo-form-alert{
  max-width:860px;margin:20px auto;background:#fff2f1;border:1px solid #efb6b1;
  color:#9f3e39;border-radius:14px;padding:14px 16px;font-weight:700
}
.epo-job-lp .epo-form-result{
  max-width:760px;margin:30px auto;background:#f5fff7;border:1px solid #b9ddc2;
  border-radius:24px;padding:34px;text-align:center;box-shadow:var(--epo-shadow)
}
.epo-job-lp .epo-form-result h3{font-size:28px;margin:10px 0}
.epo-job-lp .epo-result-icon{
  width:58px;height:58px;margin:0 auto;border-radius:50%;display:flex;align-items:center;
  justify-content:center;background:var(--epo-green);color:#fff;font-weight:900;font-size:28px
}
.epo-job-lp .epo-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

@media (max-width:640px){
  .epo-job-lp .epo-apply-form{padding:20px 16px}
  .epo-job-lp .epo-form-grid{grid-template-columns:1fr}
  .epo-job-lp .epo-field.full{grid-column:auto}
  .epo-job-lp .epo-checks{display:grid;grid-template-columns:1fr 1fr}
}

.epo-job-lp .quick-sub{
  display:block;margin-top:5px;font-size:13px;line-height:1.45;color:#222;font-weight:700
}

.epo-job-lp .inline-em{display:block;margin-top:8px;color:#222;font-size:14px;line-height:1.55}

.epo-job-lp .mini-note{display:inline-block;margin-top:4px;font-size:13px;color:#222;font-weight:600}

.epo-job-lp .work-item .note{font-size:15px;color:#222}
.epo-job-lp .planned-note{font-size:13px;color:var(--epo-orange-dark);font-weight:800}

.epo-job-lp .req-note{display:inline-block;margin-top:5px;color:#222!important;font-size:15px;line-height:1.65}
.epo-job-lp .req-sub{display:inline-block;margin-top:4px;color:#222;font-size:15px}

.epo-job-lp summary::after{
  content:"▼";position:absolute;right:22px;top:50%;transform:translateY(-50%);
  color:var(--epo-orange-dark);font-size:16px;transition:transform .2s ease
}
.epo-job-lp details[open] summary::after{transform:translateY(-50%) rotate(180deg)}

.epo-job-lp .contact-logo{
  width:76px;height:auto;margin:0 auto 10px;filter:drop-shadow(0 2px 5px rgba(0,0,0,.08))
}

.epo-job-lp .epo-form-section .lead{color:#222;font-size:17px}
.epo-job-lp .epo-apply-form .note{color:#222;font-size:14px}

@media (max-width:640px){
  .epo-job-lp .brand-row{align-items:flex-start}
  .epo-job-lp .brand-logo{width:52px;height:auto}
  .epo-job-lp .brand{font-size:12px;line-height:1.55}
  .epo-job-lp .hero-line{white-space:normal}
}


.epo-job-lp .section-photo--support{
  max-width:720px;
}
