@import url('./fonts.css');

/* ============================================================
   Pattern 10 — STUDENT RECRUIT (DeNA student風)
   真似元: student.dena.com/
   - 左上に縦書きRECRUITMENTロゴ + 右上に黄色丸ENTRYボタン
   - 大きな白いブロックの中央コピー(縦書き+メイン)
   - 街並み風の2色イラスト背景(オレンジ/緑) — CSSで模す
   - 下部に太い黒ピル状ボタン2列(コース選択)
   - 下層: 「募集要項」テーブル、早期選考タイムライン3点
   - 最後に大型ENTRYバナー
   ============================================================ */
:root{
  --p10-ink:#0a0a0a;
  --p10-bg:#ffffff;
  --p10-paper:#f4f4f0;
  --p10-line:#0a0a0a;
  --p10-line-soft:#dcdcd8;
  --p10-mute:#6e6e6e;
  --p10-yellow:#FFE34D;
  --p10-yellow-d:#F5D000;
  --p10-orange:#E5532C;
  --p10-orange-soft:#F2A57E;
  --p10-orange-bg:#EFD6C2;
  --p10-green:#1F8C5C;
  --p10-green-soft:#7FB99A;
  --p10-green-bg:#C5DAC8;
  --p10-cream:#F1ECDD;
  --p10-shell:1180px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{background:var(--p10-bg);color:var(--p10-ink);font-family:var(--p10-font-body);font-weight:500;font-size:14px;line-height:1.85;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
::selection{background:var(--p10-ink);color:#fff}

/* ===== TOP NAV (top.html) — ヒーロー上に重なる固定ヘッダー ===== */
.p10-topnav{position:absolute;top:0;left:0;right:0;z-index:30;padding:18px 22px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}
.p10-topnav > *{pointer-events:auto}
.p10-topnav__brand{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-decoration:none;color:var(--p10-ink)}
.p10-topnav__logo{font-family:var(--p10-font-en);font-weight:900;font-size:13px;letter-spacing:.02em;color:var(--p10-ink);display:flex;align-items:center;gap:6px;line-height:1}
.p10-topnav__logo::before{content:"";display:inline-block;width:14px;height:14px;background:var(--p10-ink);border-radius:50%;position:relative}
.p10-topnav__sub{font-family:var(--p10-font-en);font-weight:700;font-size:10px;letter-spacing:.12em;color:var(--p10-ink)}
.p10-topnav__entry{display:inline-flex;align-items:center;justify-content:center;width:78px;height:78px;border-radius:50%;background:var(--p10-yellow);color:var(--p10-ink);font-family:var(--p10-font-en);font-weight:900;font-size:14px;letter-spacing:.06em;box-shadow:0 4px 0 var(--p10-yellow-d);transition:transform .2s, box-shadow .2s}
.p10-topnav__entry:hover{transform:translate(0,-2px);box-shadow:0 6px 0 var(--p10-yellow-d)}
.p10-topnav__entry::after{content:"→";display:block;font-size:11px;margin-left:6px}

/* 下層ページの上ナビ(白地・小さい) */
.p10-pagenav{background:var(--p10-bg);border-bottom:1px solid var(--p10-line-soft);padding:14px 24px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:30}
.p10-pagenav__brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--p10-ink)}
.p10-pagenav__brand strong{font-family:var(--p10-font-en);font-weight:900;font-size:13px;letter-spacing:.02em;color:var(--p10-ink)}
.p10-pagenav__brand small{font-family:var(--p10-font-en);font-weight:700;font-size:9.5px;letter-spacing:.14em;color:var(--p10-mute)}
.p10-pagenav__menu{display:flex;gap:22px;align-items:center;font-family:var(--p10-font-en);font-weight:700;font-size:11px;letter-spacing:.08em}
.p10-pagenav__menu a{color:var(--p10-ink)}
.p10-pagenav__menu a[aria-current]{color:var(--p10-orange)}
.p10-pagenav__menu .p10-pagenav__entry{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--p10-ink);color:#fff;border-radius:99px;font-size:11px}
.p10-pagenav__menu .p10-pagenav__entry::after{content:"→"}
@media (max-width:760px){.p10-pagenav__menu{gap:12px}.p10-pagenav__menu a:not(.p10-pagenav__entry){display:none}}

/* ===== HERO (top.html) ===== */
.p10-hero{position:relative;min-height:560px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.p10-hero__bg{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;z-index:0}
.p10-hero__bg__l{background:var(--p10-orange-bg);position:relative;overflow:hidden}
.p10-hero__bg__r{background:var(--p10-green-bg);position:relative;overflow:hidden}
/* 街並み風の幾何模様(CSSのみで構成 — 真似元のイラストを直接使わない) */
.p10-hero__bg__l::before,.p10-hero__bg__l::after,
.p10-hero__bg__r::before,.p10-hero__bg__r::after{content:"";position:absolute;background-repeat:no-repeat}
.p10-hero__bg__l::before{
  inset:0;
  background-image:
    /* 屋根/三角 */
    linear-gradient(135deg, transparent 49%, var(--p10-orange) 49% 51%, transparent 51%),
    /* 窓格子 */
    repeating-linear-gradient(0deg, transparent 0 18px, rgba(229,83,44,.18) 18px 19px),
    repeating-linear-gradient(90deg, transparent 0 18px, rgba(229,83,44,.18) 18px 19px);
  background-size: 90px 90px, 100% 100%, 100% 100%;
  background-position: 8% 18%, 0 0, 0 0;
  opacity:.7;
}
.p10-hero__bg__l::after{
  left:6%;bottom:10%;width:42%;height:46%;
  background:
    linear-gradient(180deg, var(--p10-orange) 0 14%, transparent 14%),
    linear-gradient(180deg, transparent 0 14%, #fff 14% 100%);
  border:2px solid var(--p10-ink);
  clip-path:polygon(0 18%, 50% 0, 100% 18%, 100% 100%, 0 100%);
}
.p10-hero__bg__r::before{
  inset:0;
  background-image:
    linear-gradient(45deg, transparent 49%, var(--p10-green) 49% 51%, transparent 51%),
    repeating-linear-gradient(0deg, transparent 0 18px, rgba(31,140,92,.2) 18px 19px),
    repeating-linear-gradient(90deg, transparent 0 18px, rgba(31,140,92,.2) 18px 19px);
  background-size: 90px 90px, 100% 100%, 100% 100%;
  background-position: 80% 22%, 0 0, 0 0;
  opacity:.7;
}
.p10-hero__bg__r::after{
  right:8%;bottom:12%;width:38%;height:50%;
  background:
    linear-gradient(180deg, var(--p10-green) 0 18%, #fff 18% 100%);
  border:2px solid var(--p10-ink);
  clip-path:polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
/* 中央の白カードのキャッチコピー枠 */
.p10-hero__plate{position:relative;z-index:2;margin:74px auto 0;max-width:760px;padding:36px 40px;background:#fff;border:2px solid var(--p10-ink);box-shadow:8px 8px 0 var(--p10-ink);text-align:center}
.p10-hero__eyebrow{font-family:var(--p10-font-en);font-weight:700;font-size:11px;letter-spacing:.18em;color:var(--p10-ink);margin:0 0 18px}
.p10-hero__h1{font-family:var(--p10-font-display);font-weight:900;font-size:clamp(28px,4.5vw,46px);line-height:1.35;color:var(--p10-ink);margin:0 0 12px;letter-spacing:.02em}
.p10-hero__sub{font-family:var(--p10-font-display);font-weight:700;font-size:clamp(15px,1.8vw,20px);line-height:1.6;color:var(--p10-ink);margin:0 0 18px;display:inline-block;border-bottom:3px solid var(--p10-yellow);padding-bottom:4px}
.p10-hero__lead{font-size:13.5px;line-height:1.85;color:var(--p10-ink);max-width:36em;margin:0 auto}
/* 縦書き「あなたは どう挑む？」風サイドキャッチ */
.p10-hero__vertical{position:absolute;left:74px;top:78px;writing-mode:vertical-rl;font-family:var(--p10-font-display);font-weight:900;font-size:18px;letter-spacing:.18em;color:var(--p10-ink);z-index:3;line-height:1.6}
@media (max-width:880px){.p10-hero__vertical{display:none}.p10-hero__plate{margin:120px 16px 0;padding:28px 22px}}

/* HERO 下のコース選択(黒ピルボタン2列) */
.p10-courses{position:relative;z-index:3;max-width:var(--p10-shell);margin:42px auto 0;padding:0 22px 80px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.p10-course{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 26px;background:var(--p10-ink);color:#fff;border-radius:999px;text-decoration:none;transition:transform .2s, background .2s}
.p10-course:hover{transform:translateY(-2px);background:#222}
.p10-course__body{display:flex;flex-direction:column;gap:4px;text-align:left}
.p10-course__t{font-family:var(--p10-font-display);font-weight:900;font-size:17px;color:#fff;letter-spacing:.02em}
.p10-course__s{font-size:11.5px;color:#bbb;line-height:1.4}
.p10-course__arrow{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--p10-green);color:#fff;display:grid;place-items:center;font-size:14px;font-weight:700}
@media (max-width:760px){.p10-courses{grid-template-columns:1fr;padding-bottom:48px}}

/* ===== TOP 数値セクション ===== */
.p10-stats{background:var(--p10-cream);padding:64px 22px;border-top:2px solid var(--p10-ink);border-bottom:2px solid var(--p10-ink)}
.p10-stats__inner{max-width:var(--p10-shell);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.p10-stat{background:#fff;border:2px solid var(--p10-ink);padding:20px 18px;text-align:center;box-shadow:4px 4px 0 var(--p10-ink)}
.p10-stat__v{font-family:var(--p10-font-en);font-weight:900;font-size:46px;line-height:1;color:var(--p10-ink);letter-spacing:-.02em}
.p10-stat__v small{font-family:var(--p10-font-display);font-size:14px;color:var(--p10-orange);margin-left:4px}
.p10-stat__l{font-weight:700;font-size:13px;color:var(--p10-ink);margin:8px 0 4px}
.p10-stat__n{font-size:11px;color:var(--p10-mute);line-height:1.5}
@media (max-width:760px){.p10-stats__inner{grid-template-columns:repeat(2,1fr);gap:14px}.p10-stat__v{font-size:34px}}

/* TOP 早期選考ティーザー */
.p10-early{padding:80px 22px;background:#fff}
.p10-early__inner{max-width:var(--p10-shell);margin:0 auto}
.p10-early__head{display:flex;align-items:baseline;gap:14px;border-left:6px solid var(--p10-ink);padding-left:14px;margin:0 0 28px}
.p10-early__head h2{font-family:var(--p10-font-display);font-weight:900;font-size:22px;margin:0;color:var(--p10-ink)}
.p10-early__head small{font-family:var(--p10-font-en);font-weight:700;font-size:11px;letter-spacing:.12em;color:var(--p10-mute)}
.p10-early__timeline{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;align-items:stretch;margin-bottom:24px}
.p10-early__step{position:relative;padding:18px;border:2px solid var(--p10-ink);background:#fff}
.p10-early__step:nth-child(1){background:var(--p10-orange-bg)}
.p10-early__step:nth-child(2){background:var(--p10-yellow)}
.p10-early__step:nth-child(3){background:var(--p10-ink);color:#fff}
.p10-early__no{font-family:var(--p10-font-en);font-weight:900;font-size:11px;letter-spacing:.14em;margin:0 0 8px}
.p10-early__when{font-family:var(--p10-font-display);font-weight:900;font-size:16px;margin:0 0 6px}
.p10-early__what{font-size:13px;line-height:1.65;margin:0}
.p10-early__points{background:#fff;border:2px solid var(--p10-ink);padding:18px 22px}
.p10-early__points h3{font-weight:900;font-size:14px;margin:0 0 8px;display:flex;gap:8px;align-items:center}
.p10-early__points h3::before{content:"●";color:var(--p10-orange)}
.p10-early__points ul{margin:0;padding-left:1.4em;font-size:13.5px;line-height:1.9}
@media (max-width:760px){.p10-early__timeline{grid-template-columns:1fr}}

/* TOP voices 簡易表示 */
.p10-tvoices{padding:80px 22px;background:var(--p10-paper)}
.p10-tvoices__inner{max-width:var(--p10-shell);margin:0 auto}
.p10-tvoices__head{display:flex;align-items:baseline;gap:14px;border-left:6px solid var(--p10-ink);padding-left:14px;margin:0 0 28px}
.p10-tvoices__head h2{font-family:var(--p10-font-display);font-weight:900;font-size:22px;margin:0;color:var(--p10-ink)}
.p10-tvoices__head small{font-family:var(--p10-font-en);font-weight:700;font-size:11px;letter-spacing:.12em;color:var(--p10-mute)}
.p10-tvoices__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.p10-tvoice{background:#fff;border:2px solid var(--p10-ink);padding:22px 22px;display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:start}
.p10-tvoice__plate{width:64px;height:64px;border-radius:50%;overflow:hidden;background:#eee;border:2px solid var(--p10-ink)}
.p10-tvoice__plate img{width:100%;height:100%;object-fit:cover}
.p10-tvoice__q{font-weight:700;font-size:14px;line-height:1.7;color:var(--p10-ink);margin:0 0 10px}
.p10-tvoice__a{font-family:var(--p10-font-en);font-weight:700;font-size:10.5px;letter-spacing:.08em;color:var(--p10-mute)}
.p10-tvoice__a b{color:var(--p10-ink);font-family:var(--p10-font-display);font-size:13px;margin-right:6px}
@media (max-width:760px){.p10-tvoices__grid{grid-template-columns:1fr}}

/* ===== Big ENTRY banner (top fixed-fold) ===== */
.p10-entrybanner{position:relative;overflow:hidden;background:#fff;padding:80px 22px 100px;border-top:2px solid var(--p10-ink)}
.p10-entrybanner__bg{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;z-index:0}
.p10-entrybanner__bg div:first-child{background:var(--p10-orange-bg);position:relative}
.p10-entrybanner__bg div:last-child{background:var(--p10-green-bg);position:relative}
.p10-entrybanner__bg div:first-child::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg, transparent 0 18px, rgba(229,83,44,.16) 18px 19px),repeating-linear-gradient(90deg, transparent 0 18px, rgba(229,83,44,.16) 18px 19px);opacity:.6}
.p10-entrybanner__bg div:last-child::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg, transparent 0 18px, rgba(31,140,92,.16) 18px 19px),repeating-linear-gradient(90deg, transparent 0 18px, rgba(31,140,92,.16) 18px 19px);opacity:.6}
.p10-entrybanner__inner{position:relative;z-index:2;max-width:var(--p10-shell);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.p10-entrybanner__h{font-family:var(--p10-font-en);font-weight:900;font-size:clamp(54px,9vw,108px);line-height:.95;letter-spacing:.02em;color:var(--p10-ink);margin:0}
.p10-entrybanner__sub{font-weight:900;font-size:14px;color:var(--p10-ink);margin:8px 0 0;letter-spacing:.08em}
.p10-entrybanner__buttons{display:flex;flex-direction:column;gap:14px}
.p10-entrybanner__btn{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;background:var(--p10-ink);color:#fff;border-radius:999px;text-decoration:none;border:2px solid var(--p10-ink);transition:transform .2s, background .2s}
.p10-entrybanner__btn:hover{transform:translateY(-2px);background:#222}
.p10-entrybanner__btn b{font-weight:900;font-size:15px;color:#fff;letter-spacing:.02em}
.p10-entrybanner__btn span{font-size:11.5px;color:#bbb;display:block;margin-top:2px}
.p10-entrybanner__btn .arr{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--p10-ink);display:grid;place-items:center;font-weight:900}
@media (max-width:880px){.p10-entrybanner__inner{grid-template-columns:1fr}}

/* ===== FOOTER ===== */
.p10-foot{background:var(--p10-ink);color:#bbb;padding:48px 22px 22px}
.p10-foot__inner{max-width:var(--p10-shell);margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px}
.p10-foot__brand strong{font-family:var(--p10-font-en);font-weight:900;font-size:14px;letter-spacing:.04em;color:#fff;display:block;margin-bottom:4px}
.p10-foot__brand small{font-family:var(--p10-font-en);font-weight:700;font-size:10.5px;letter-spacing:.14em;color:var(--p10-yellow);display:block;margin-bottom:12px}
.p10-foot__brand p{font-size:12.5px;line-height:1.7;color:#bbb;margin:0}
.p10-foot__col h4{font-family:var(--p10-font-en);font-weight:900;font-size:11px;color:#fff;letter-spacing:.12em;margin:0 0 12px}
.p10-foot__col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.p10-foot__col a{font-size:12.5px;color:#bbb}
.p10-foot__col a:hover{color:var(--p10-yellow)}
.p10-foot__bot{max-width:var(--p10-shell);margin:36px auto 0;padding-top:18px;border-top:1px solid #333;font-size:11px;color:#777;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;letter-spacing:.02em}
@media (max-width:760px){.p10-foot__inner{grid-template-columns:1fr 1fr;gap:24px}.p10-foot__brand{grid-column:1 / -1}}

/* ===== 下層共通(必須クラス) ===== */
.p10-page{max-width:var(--p10-shell);margin:0 auto;padding:48px 22px 64px;position:relative}
.p10-page__crumb{font-family:var(--p10-font-en);font-size:11px;color:var(--p10-mute);margin:0 0 14px;letter-spacing:.06em}
.p10-page__crumb a{color:var(--p10-mute)}
.p10-page__h{display:flex;flex-direction:column;gap:6px;margin:0 0 24px;padding:24px 0 14px;border-bottom:2px solid var(--p10-ink);position:relative}
.p10-page__h::before{content:"";position:absolute;left:0;top:0;width:8px;height:32px;background:var(--p10-orange)}
.p10-page__h h1{font-family:var(--p10-font-en);font-weight:900;font-size:clamp(40px,5vw,64px);line-height:1;color:var(--p10-ink);margin:0;letter-spacing:.02em;padding-left:18px}
.p10-page__h small{font-family:var(--p10-font-display);font-weight:900;font-size:14px;color:var(--p10-ink);padding-left:18px;border-left:0}
.p10-page__lead{font-size:14px;line-height:1.85;color:var(--p10-ink);margin:0 0 32px;max-width:60ch}

/* 募集要項テーブル(細い行・グレー背景の左ラベル) — 真似元の表形式に合わせる */
.p10-reqtable{width:100%;border-collapse:collapse;border-top:2px solid var(--p10-ink);border-bottom:2px solid var(--p10-ink);font-size:13px;background:#fff}
.p10-reqtable tr{border-bottom:1px solid var(--p10-line-soft)}
.p10-reqtable tr:last-child{border-bottom:0}
.p10-reqtable th{font-weight:700;color:var(--p10-ink);text-align:left;padding:16px 18px;width:180px;vertical-align:top;background:var(--p10-cream);border-right:1px solid var(--p10-line-soft);font-size:13px}
.p10-reqtable td{padding:16px 22px;color:var(--p10-ink);line-height:1.9;vertical-align:top}

/* JOBS LIST */
.p10-jobs__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.p10-jobcard{background:#fff;border:2px solid var(--p10-ink);text-decoration:none;color:var(--p10-ink);display:flex;flex-direction:column;transition:transform .2s, box-shadow .2s;box-shadow:6px 6px 0 var(--p10-ink)}
.p10-jobcard:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--p10-ink)}
.p10-jobcard__plate{aspect-ratio:16/10;overflow:hidden;background:#eee;border-bottom:2px solid var(--p10-ink);position:relative}
.p10-jobcard__plate img{width:100%;height:100%;object-fit:cover}
.p10-jobcard__plate::before{content:"";position:absolute;left:10px;top:10px;width:22px;height:22px;background:var(--p10-yellow);border:2px solid var(--p10-ink);border-radius:50%}
.p10-jobcard__body{padding:18px 20px}
.p10-jobcard__code{font-family:var(--p10-font-en);font-weight:900;font-size:11px;color:var(--p10-orange);letter-spacing:.12em;margin:0 0 6px}
.p10-jobcard__title{font-family:var(--p10-font-display);font-weight:900;font-size:17px;color:var(--p10-ink);margin:0 0 6px;line-height:1.4}
.p10-jobcard__sub{font-size:12.5px;color:var(--p10-mute);margin:0 0 12px;line-height:1.7}
.p10-jobcard__meta{display:flex;flex-wrap:wrap;gap:10px;font-size:11.5px;color:var(--p10-ink);padding-top:10px;border-top:1px solid var(--p10-line-soft)}
.p10-jobcard__meta b{font-weight:700;margin-right:4px}
@media (max-width:880px){.p10-jobs__grid{grid-template-columns:1fr}}

/* JOB DETAIL */
.p10-job__hero{background:var(--p10-cream);padding:36px 0;margin-bottom:36px;border-bottom:2px solid var(--p10-ink)}
.p10-job__hero__inner{max-width:var(--p10-shell);margin:0 auto;padding:0 22px;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.p10-job__hero__plate{aspect-ratio:4/3;overflow:hidden;background:#ddd;border:2px solid var(--p10-ink)}
.p10-job__hero__plate img{width:100%;height:100%;object-fit:cover}
.p10-job__hero__code{font-family:var(--p10-font-en);font-weight:900;font-size:12px;letter-spacing:.14em;color:var(--p10-orange);margin:0 0 12px}
.p10-job__hero__title{font-family:var(--p10-font-display);font-weight:900;font-size:clamp(24px,3.4vw,38px);line-height:1.3;color:var(--p10-ink);margin:0 0 12px}
.p10-job__hero__sub{font-size:13.5px;line-height:1.8;color:var(--p10-ink);margin:0 0 18px}
.p10-job__hero__meta{display:grid;grid-template-columns:auto 1fr;gap:6px 20px;font-size:13px;padding-top:14px;border-top:2px solid var(--p10-ink)}
.p10-job__hero__meta dt{font-family:var(--p10-font-en);font-size:10.5px;font-weight:900;letter-spacing:.14em;color:var(--p10-mute);text-transform:uppercase;padding-top:2px}
.p10-job__hero__meta dd{margin:0;color:var(--p10-ink);font-weight:700}
@media (max-width:880px){.p10-job__hero__inner{grid-template-columns:1fr}}

.p10-job__sec{max-width:var(--p10-shell);margin:0 auto;padding:0 22px 36px}
.p10-job__sec__head{font-family:var(--p10-font-display);font-weight:900;font-size:18px;color:var(--p10-ink);margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid var(--p10-ink);display:flex;align-items:center;gap:10px}
.p10-job__sec__head::before{content:"";width:14px;height:14px;background:var(--p10-orange);border-radius:50%;display:inline-block}
.p10-job__sec p{font-size:14px;line-height:1.95;color:var(--p10-ink);margin:0 0 12px}
.p10-job__sec ul{padding-left:1.4em;margin:0;font-size:14px;line-height:1.95}

/* 1日の流れ(タイムライン) */
.p10-day{display:grid;grid-template-columns:110px 1fr;gap:0;border:2px solid var(--p10-ink);background:#fff}
.p10-day__time{background:var(--p10-ink);color:#fff;padding:14px 16px;border-bottom:1px solid var(--p10-ink);font-family:var(--p10-font-en);font-weight:900;font-size:15px;letter-spacing:.02em;display:flex;align-items:center}
.p10-day__body{padding:14px 20px;border-bottom:1px solid var(--p10-line-soft)}
.p10-day__body h4{font-weight:900;font-size:14px;margin:0 0 4px;color:var(--p10-ink)}
.p10-day__body p{font-size:12.5px;color:var(--p10-mute);margin:0;line-height:1.7}
.p10-day__row{display:contents}
.p10-day__row:last-child .p10-day__time,.p10-day__row:last-child .p10-day__body{border-bottom:0}

/* FAQ */
.p10-faqlist{border-top:2px solid var(--p10-ink);border-bottom:2px solid var(--p10-ink);background:#fff}
.p10-faqitem{border-bottom:1px solid var(--p10-line-soft)}
.p10-faqitem:last-child{border-bottom:0}
.p10-faqitem summary{font-family:var(--p10-font-display);font-weight:700;font-size:14.5px;color:var(--p10-ink);cursor:pointer;list-style:none;padding:18px 22px;display:flex;gap:14px;align-items:flex-start}
.p10-faqitem summary::-webkit-details-marker{display:none}
.p10-faqitem summary::before{content:"Q.";font-family:var(--p10-font-en);font-weight:900;color:var(--p10-orange);font-size:16px;flex-shrink:0}
.p10-faqitem summary::after{content:"+";margin-left:auto;color:var(--p10-ink);font-weight:700;font-size:18px}
.p10-faqitem[open] summary::after{content:"−"}
.p10-faqitem div{padding:0 22px 18px 56px;font-size:13.5px;color:var(--p10-ink);line-height:1.9}

/* FORM */
.p10-form{display:grid;gap:18px;max-width:660px;margin:0 auto;background:#fff;border:2px solid var(--p10-ink);padding:32px 28px}
.p10-form label{display:block;font-weight:700;font-size:13px;color:var(--p10-ink);margin:0 0 6px}
.p10-form label small{font-weight:700;color:#fff;background:var(--p10-orange);padding:1px 7px;border-radius:99px;font-size:10px;margin-left:8px}
.p10-form input,.p10-form select,.p10-form textarea{width:100%;font:inherit;padding:11px 14px;border:1.5px solid var(--p10-ink);background:#fff;color:var(--p10-ink);border-radius:0}
.p10-form input:focus,.p10-form select:focus,.p10-form textarea:focus{outline:none;border-color:var(--p10-orange);box-shadow:0 0 0 3px rgba(229,83,44,.15)}
.p10-form button{background:var(--p10-ink);color:#fff;padding:14px 30px;font-weight:900;font-size:14px;border:0;cursor:pointer;justify-self:start;margin-top:6px;border-radius:99px;letter-spacing:.04em}
.p10-form button:hover{background:#222}
.p10-form__note{font-size:12px;color:var(--p10-ink);background:var(--p10-cream);padding:14px 18px;border-left:4px solid var(--p10-orange);margin-bottom:18px;line-height:1.7}

/* HISTORY */
.p10-history{border-top:2px solid var(--p10-ink);background:#fff}
.p10-history__row{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:18px 18px;border-bottom:1px solid var(--p10-line-soft);align-items:baseline}
.p10-history__year{font-family:var(--p10-font-en);font-weight:900;font-size:18px;color:var(--p10-orange);letter-spacing:.02em}
.p10-history__event{font-size:13.5px;color:var(--p10-ink);line-height:1.75}

/* MESSAGE */
.p10-message{background:var(--p10-ink);color:#fff;padding:48px 36px;margin-top:48px;border-radius:0;position:relative}
.p10-message::before{content:"";position:absolute;left:0;top:0;width:8px;height:36px;background:var(--p10-yellow)}
.p10-message__title{font-family:var(--p10-font-display);font-weight:900;font-size:clamp(20px,2.6vw,28px);line-height:1.5;color:#fff;margin:0 0 22px;padding-left:18px}
.p10-message__body{font-size:14px;line-height:2;color:#ddd;max-width:62ch;white-space:pre-line;padding-left:18px}
.p10-message__sign{margin-top:24px;padding:14px 0 0 18px;border-top:1px solid #333;font-family:var(--p10-font-en);font-weight:700;font-size:12px;color:var(--p10-yellow);letter-spacing:.06em}
.p10-message__sign b{color:#fff;font-family:var(--p10-font-display);font-size:14px;margin-right:8px}

/* Reveal */
.p10-reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease, transform .7s ease}
.p10-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.p10-reveal{opacity:1;transform:none;transition:none}}

.p10-skip{position:absolute;left:-9999px;top:0;background:var(--p10-ink);color:#fff;padding:8px 14px}
.p10-skip:focus{left:14px;top:14px;z-index:100}
