@import "./fonts.css";

/* =========================================================
   Pattern 15 — 商船三井 mol.co.jp/saiyou/ を参照
   特徴:
   - MOLブルー #005396 主体の二色構成
   - 大きな日本語ヘッドラインと英セリフサブタイトル
   - 海と船を想起させる分割2カラム画像
   - 右上の角バッジ風 ENTRY ボタン
   - 青背景の SPECIAL CONTENTS と船舶ワイヤーフレーム
   ========================================================= */

:root{
  --p15-blue:#005396;
  --p15-blue-deep:#003d6e;
  --p15-blue-light:#1a72b8;
  --p15-bg:#eeeff8;
  --p15-ink:#003d6e;
  --p15-paper:#ffffff;
  --p15-line:rgba(0,83,150,.18);
  --p15-rule:rgba(255,255,255,.35);
  --p15-jp:"Noto Sans JP","Yu Gothic","ヒラギノ角ゴ ProN",sans-serif;
  --p15-en:"Cormorant Garamond","Times New Roman",serif;
  --p15-sans:"Inter","Noto Sans JP",sans-serif;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--p15-jp);
  background:var(--p15-bg);
  color:var(--p15-ink);
  -webkit-font-smoothing:antialiased;
  line-height:1.7;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}

.p15-skip{position:absolute;left:-9999px}
.p15-skip:focus{left:8px;top:8px;background:#fff;padding:8px 12px;z-index:9999}

/* ===== HEADER ===== */
.p15-header{
  position:sticky;top:0;z-index:80;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:32px;
  padding:14px 24px;
  background:rgba(238,239,248,.92);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--p15-line);
}
.p15-header__brand{
  display:flex;align-items:center;gap:10px;
  color:var(--p15-blue);
  font-weight:900;
}
.p15-header__brand__mark{
  width:42px;height:42px;
  background:var(--p15-blue);color:#fff;
  display:grid;place-items:center;
  font-family:var(--p15-en);
  font-size:18px;font-weight:700;
  letter-spacing:.04em;
}
.p15-header__brand__mark b{display:block;font-size:18px;line-height:1}
.p15-header__brand__name{
  font-size:11px;line-height:1.2;
  letter-spacing:.05em;
}
.p15-header__brand__name strong{display:block;font-size:13px}

.p15-header__nav{
  display:flex;gap:36px;
  font-family:var(--p15-en);
  font-size:14px;font-weight:600;
  letter-spacing:.08em;
  color:var(--p15-blue);
}
.p15-header__nav a{position:relative;padding:6px 0}
.p15-header__nav a:hover{color:var(--p15-blue-light)}

.p15-header__entry{
  display:flex;gap:0;
}
.p15-header__entry a{
  display:grid;place-items:center;
  width:88px;min-height:60px;
  background:var(--p15-blue);
  color:#fff;
  font-family:var(--p15-en);
  font-size:11px;font-weight:700;
  letter-spacing:.1em;
  text-align:center;
  border-left:1px solid rgba(255,255,255,.18);
  line-height:1.4;
  transition:background .2s;
}
.p15-header__entry a:first-child{border-left:0}
.p15-header__entry a:hover{background:var(--p15-blue-deep)}
.p15-header__entry a small{
  display:block;font-size:10px;font-weight:500;opacity:.9;
  font-family:var(--p15-jp);letter-spacing:.05em;
}

/* ===== HERO (分割2カラム画像 + 大型日本語キャッチ) ===== */
.p15-hero{position:relative;padding:48px 24px 80px;overflow:hidden}
.p15-hero__copy{
  font-family:var(--p15-jp);
  font-weight:700;
  font-size:clamp(36px,5.8vw,72px);
  line-height:1.25;
  letter-spacing:.08em;
  color:var(--p15-blue);
  margin:0 0 32px;
}
.p15-hero__copy span{display:block}
.p15-hero__split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  position:relative;
}
.p15-hero__plate{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--p15-blue-deep)}
.p15-hero__plate img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.2s ease;
}
.p15-hero__plate:hover img{transform:scale(1.04)}
.p15-hero__en{
  position:absolute;
  left:24px;bottom:24px;
  font-family:var(--p15-en);
  color:#fff;
  font-size:clamp(20px,2.4vw,32px);
  font-weight:500;
  letter-spacing:.04em;
  line-height:1.1;
  text-shadow:0 2px 12px rgba(0,0,0,.4);
}
.p15-hero__en span{display:block}
.p15-hero__scroll{
  position:absolute;
  left:24px;bottom:-32px;
  font-family:var(--p15-en);
  font-size:12px;letter-spacing:.2em;
  color:var(--p15-blue);
  writing-mode:vertical-rl;
}

/* ===== SPECIAL CONTENTS (青背景 + 船ワイヤー) ===== */
.p15-special{
  position:relative;
  background:var(--p15-blue);
  color:#fff;
  padding:120px 24px 140px;
  overflow:hidden;
}
.p15-special__wire{
  position:absolute;
  inset:auto 0 5% 0;
  height:60%;
  background-image:
    linear-gradient(to bottom,transparent 60%,rgba(255,255,255,.06) 60%,rgba(255,255,255,.06) 60.1%,transparent 60.2%),
    radial-gradient(ellipse 60% 30% at 50% 80%,rgba(255,255,255,.06) 0%,transparent 70%);
  pointer-events:none;
}
.p15-special__wire::before,
.p15-special__wire::after{
  content:"";position:absolute;inset:30% 8% 10% 8%;
  border:1px solid rgba(255,255,255,.15);
  border-radius:50% 50% 8px 8px / 70% 70% 8px 8px;
}
.p15-special__wire::after{inset:50% 16% 14% 16%;opacity:.5}
.p15-special__head{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:48px;
  align-items:end;
  max-width:1200px;margin:0 auto 60px;
  position:relative;z-index:2;
}
.p15-special__title{
  font-family:var(--p15-en);
  font-size:clamp(48px,7vw,96px);
  font-weight:600;
  line-height:.95;
  margin:0;
  letter-spacing:.01em;
}
.p15-special__title span{display:block}
.p15-special__lead{
  font-family:var(--p15-jp);
  font-size:14px;line-height:1.9;
  max-width:340px;
  margin:0;color:rgba(255,255,255,.85);
}
.p15-special__row{
  position:relative;z-index:2;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:48px;
  align-items:center;
  max-width:1100px;margin:0 auto;
  padding:0 24px;
}
.p15-special__card{
  position:relative;
  width:340px;height:420px;
  background:linear-gradient(135deg,#f0d36a 0%,#d4a955 100%);
  overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.25);
}
.p15-special__card::before{
  content:"Interview";
  position:absolute;top:14px;left:14px;
  background:var(--p15-blue-light);color:#fff;
  font-size:11px;font-weight:600;
  padding:4px 12px;
  border-radius:14px;
  font-family:var(--p15-en);
  letter-spacing:.06em;
  z-index:2;
}
.p15-special__card img{width:100%;height:100%;object-fit:cover}
.p15-special__link{
  font-family:var(--p15-jp);
  font-size:24px;font-weight:700;
  letter-spacing:.02em;
}
.p15-special__link__circle{
  display:inline-grid;place-items:center;
  width:48px;height:48px;
  border:1px solid rgba(255,255,255,.5);
  border-radius:50%;
  margin-right:18px;
  vertical-align:middle;
  transition:background .2s;
}
.p15-special__link__circle::before{content:"−";font-family:var(--p15-en);font-size:20px;line-height:1}
.p15-special__link:hover .p15-special__link__circle{background:rgba(255,255,255,.15)}
.p15-special__link small{
  display:block;font-size:12px;font-weight:500;
  letter-spacing:.06em;
  opacity:.7;margin-top:8px;margin-left:66px;
}

/* ===== STATS strip ===== */
.p15-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  background:#fff;
  border-top:1px solid var(--p15-line);
  border-bottom:1px solid var(--p15-line);
}
.p15-stats__cell{
  padding:48px 24px;
  text-align:center;
  border-left:1px solid var(--p15-line);
}
.p15-stats__cell:first-child{border-left:0}
.p15-stats__val{
  font-family:var(--p15-en);
  font-size:clamp(48px,6vw,80px);
  font-weight:600;
  color:var(--p15-blue);
  line-height:1;
}
.p15-stats__val small{font-size:.4em;margin-left:4px;font-weight:500}
.p15-stats__label{
  font-size:13px;font-weight:700;margin-top:8px;
  color:var(--p15-blue-deep);
}
.p15-stats__note{font-size:11px;color:#8896a8;margin-top:4px}

/* ===== Career / Newgrad recruit info (ピル型ボタン2つ) ===== */
.p15-recruit{
  position:relative;
  background:var(--p15-bg);
  padding:140px 24px 100px;
  text-align:center;
  border-radius:80px 80px 0 0 / 40px 40px 0 0;
  margin-top:-1px;
}
.p15-recruit__title{
  font-family:var(--p15-en);
  font-size:clamp(40px,5vw,64px);
  font-weight:600;
  line-height:1;
  margin:0 0 60px;
  color:var(--p15-blue);
}
.p15-recruit__title span{display:block}
.p15-recruit__btns{
  display:flex;justify-content:center;gap:0;
  max-width:780px;margin:0 auto;
  border-top:1px solid var(--p15-line);
  border-bottom:1px solid var(--p15-line);
}
.p15-recruit__btns a{
  flex:1;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  padding:32px 36px;
  border-left:1px solid var(--p15-line);
  text-align:left;
  transition:background .2s;
}
.p15-recruit__btns a:first-child{border-left:0}
.p15-recruit__btns a:hover{background:rgba(0,83,150,.04)}
.p15-recruit__btns strong{
  display:block;
  font-family:var(--p15-en);
  font-size:24px;font-weight:600;
  color:var(--p15-blue);
}
.p15-recruit__btns small{
  display:block;font-size:13px;color:var(--p15-ink);
  margin-top:4px;
}
.p15-recruit__btns__arrow{
  width:42px;height:42px;
  border:1px solid var(--p15-line);
  border-radius:50%;
  display:grid;place-items:center;
  color:var(--p15-blue);
}

/* ===== JOB STRIP (募集中 横長カード) ===== */
.p15-jobstrip{
  background:#fff;
  padding:80px 24px;
}
.p15-jobstrip__inner{max-width:1100px;margin:0 auto}
.p15-jobstrip__head{
  display:flex;align-items:end;justify-content:space-between;
  border-bottom:2px solid var(--p15-blue);
  padding-bottom:16px;margin-bottom:32px;
}
.p15-jobstrip__head h2{
  font-family:var(--p15-en);
  font-size:48px;font-weight:600;
  color:var(--p15-blue);margin:0;line-height:1;
}
.p15-jobstrip__head small{
  font-size:13px;color:var(--p15-ink);font-weight:700;
}
.p15-jobstrip__list{display:grid;gap:16px}
.p15-jobstrip__row{
  display:grid;
  grid-template-columns:120px 1fr auto;
  gap:24px;align-items:center;
  padding:20px 24px;
  background:var(--p15-bg);
  border-left:4px solid var(--p15-blue);
  transition:transform .2s, background .2s;
}
.p15-jobstrip__row:hover{background:#fff;transform:translateX(4px);box-shadow:0 8px 24px rgba(0,83,150,.08)}
.p15-jobstrip__code{
  font-family:var(--p15-en);
  font-size:14px;color:var(--p15-blue);font-weight:700;
}
.p15-jobstrip__title{font-weight:700;font-size:18px;color:var(--p15-blue-deep)}
.p15-jobstrip__sub{font-size:13px;color:#5a6e85;margin-top:4px}
.p15-jobstrip__arrow{
  width:44px;height:44px;border-radius:50%;
  background:var(--p15-blue);color:#fff;
  display:grid;place-items:center;
}

/* ===== 下層共通 (.p15-page) ===== */
.p15-page{padding-bottom:120px}
.p15-page__hero{
  position:relative;
  background:var(--p15-blue);
  color:#fff;
  padding:80px 24px 120px;
  overflow:hidden;
}
.p15-page__hero__inner{
  max-width:1100px;margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:48px;align-items:end;
}
.p15-page__hero__title{
  font-family:var(--p15-en);
  font-size:clamp(56px,8vw,112px);
  font-weight:600;
  line-height:.95;margin:0;
  letter-spacing:.01em;
}
.p15-page__hero__sub{
  font-family:var(--p15-jp);
  font-size:16px;font-weight:700;
  margin:12px 0 0;letter-spacing:.04em;
}
.p15-page__hero__img{
  aspect-ratio:16/9;overflow:hidden;
  background:var(--p15-blue-deep);
}
.p15-page__hero__img img{width:100%;height:100%;object-fit:cover;opacity:.85}
.p15-page__crumb{
  max-width:1100px;margin:0 auto;
  padding:16px 24px;font-size:12px;
  color:#8896a8;
}
.p15-page__crumb a{color:var(--p15-blue);font-weight:600}
.p15-page__inner{max-width:980px;margin:0 auto;padding:24px}
.p15-page__lead{font-size:15px;line-height:2;margin:0 0 48px}

/* jobs grid */
.p15-jobs__grid{
  max-width:1100px;margin:60px auto;
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  padding:0 24px;
}
.p15-jobcard{
  background:#fff;
  border:1px solid var(--p15-line);
  display:flex;flex-direction:column;
  transition:transform .25s, box-shadow .25s;
}
.p15-jobcard:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,83,150,.12)}
.p15-jobcard__plate{aspect-ratio:4/3;overflow:hidden;background:var(--p15-blue)}
.p15-jobcard__plate img{width:100%;height:100%;object-fit:cover}
.p15-jobcard__body{padding:24px}
.p15-jobcard__code{
  font-family:var(--p15-en);font-size:13px;
  color:var(--p15-blue);font-weight:700;
  margin:0 0 4px;letter-spacing:.06em;
}
.p15-jobcard__title{
  font-size:20px;font-weight:700;margin:0 0 6px;
  color:var(--p15-blue-deep);
}
.p15-jobcard__sub{font-size:13px;color:#5a6e85;margin:0 0 16px}
.p15-jobcard__meta{
  display:grid;gap:6px;font-size:12px;
  padding-top:14px;border-top:1px solid var(--p15-line);
}
.p15-jobcard__meta b{
  display:inline-block;
  background:var(--p15-blue);color:#fff;
  font-size:10px;padding:2px 6px;margin-right:8px;
}

/* job detail hero */
.p15-job__hero{
  background:var(--p15-blue);
  color:#fff;padding:80px 24px;
}
.p15-job__hero__inner{
  max-width:1100px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:center;
}
.p15-job__hero__img{aspect-ratio:4/3;overflow:hidden;background:var(--p15-blue-deep)}
.p15-job__hero__img img{width:100%;height:100%;object-fit:cover}
.p15-job__hero__code{
  font-family:var(--p15-en);
  font-size:14px;letter-spacing:.16em;opacity:.7;
}
.p15-job__hero__title{
  font-family:var(--p15-jp);
  font-size:clamp(28px,4vw,48px);
  font-weight:700;line-height:1.2;
  margin:12px 0 16px;
}
.p15-job__hero__lead{font-size:15px;line-height:2;color:rgba(255,255,255,.92);margin:0 0 24px}
.p15-job__hero__meta{
  display:grid;grid-template-columns:repeat(2,1fr);gap:12px;
  margin:0;font-size:13px;
}
.p15-job__hero__meta div{border-top:1px solid var(--p15-rule);padding-top:10px}
.p15-job__hero__meta dt{font-size:11px;opacity:.7;letter-spacing:.08em;font-family:var(--p15-en)}
.p15-job__hero__meta dd{margin:4px 0 0;font-weight:700}

/* job sections */
.p15-job__sec{max-width:980px;margin:64px auto;padding:0 24px}
.p15-job__sec__bar{
  display:flex;align-items:end;gap:24px;
  border-bottom:2px solid var(--p15-blue);
  padding-bottom:12px;margin-bottom:24px;
}
.p15-job__sec__bar__title{
  font-family:var(--p15-en);
  font-size:32px;font-weight:600;
  color:var(--p15-blue);line-height:1;
}
.p15-job__sec__bar__tag{
  font-size:13px;font-weight:700;color:var(--p15-blue-deep);
}
.p15-job__sec p{font-size:15px;line-height:2;margin:0 0 14px}
.p15-job__sec ul{padding-left:1.4em;margin:0}
.p15-job__sec ul li{margin-bottom:8px;line-height:1.8}

/* day timeline */
.p15-day{display:grid;gap:0}
.p15-day__row{
  display:grid;grid-template-columns:140px 1fr;gap:24px;
  padding:20px 0;
  border-top:1px solid var(--p15-line);
}
.p15-day__row:last-child{border-bottom:1px solid var(--p15-line)}
.p15-day__time{
  font-family:var(--p15-en);
  font-size:28px;font-weight:600;
  color:var(--p15-blue);line-height:1;
}
.p15-day__body h4{margin:0 0 6px;font-size:16px;font-weight:700;color:var(--p15-blue-deep)}
.p15-day__body p{margin:0;font-size:14px;line-height:1.8}

/* requirements table */
.p15-reqtable{
  width:100%;border-collapse:collapse;
  font-size:14px;
}
.p15-reqtable tr{border-bottom:1px solid var(--p15-line)}
.p15-reqtable th{
  text-align:left;font-weight:700;
  background:var(--p15-blue);color:#fff;
  padding:14px 20px;width:200px;
  font-size:13px;letter-spacing:.04em;
  border-bottom:1px solid rgba(255,255,255,.15);
  vertical-align:top;
}
.p15-reqtable td{padding:14px 20px;line-height:1.8;background:#fff}

/* FAQ */
.p15-faqlist{display:grid;gap:8px}
.p15-faqitem{
  background:#fff;border-left:4px solid var(--p15-blue);
}
.p15-faqitem summary{
  list-style:none;cursor:pointer;
  padding:18px 56px 18px 24px;
  position:relative;font-weight:700;font-size:15px;
  color:var(--p15-blue-deep);
}
.p15-faqitem summary::-webkit-details-marker{display:none}
.p15-faqitem summary::before{
  content:"Q";
  font-family:var(--p15-en);
  color:var(--p15-blue);font-weight:600;
  margin-right:12px;font-size:18px;
}
.p15-faqitem summary::after{
  content:"+";position:absolute;right:24px;top:50%;
  transform:translateY(-50%);
  font-family:var(--p15-en);font-size:24px;
  color:var(--p15-blue);font-weight:300;
  transition:transform .2s;
}
.p15-faqitem[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.p15-faqitem > div{
  padding:0 24px 20px 56px;
  font-size:14px;line-height:1.9;
  color:#3a4858;
}

/* FORM */
.p15-form{display:grid;gap:18px;margin:32px 0}
.p15-form > div{display:grid;gap:6px}
.p15-form label{font-size:13px;font-weight:700;color:var(--p15-blue-deep)}
.p15-form label small{
  background:var(--p15-blue);color:#fff;
  font-size:10px;padding:2px 6px;margin-left:6px;
  font-weight:600;letter-spacing:.04em;
}
.p15-form input,
.p15-form select,
.p15-form textarea{
  font:inherit;
  padding:12px 14px;
  border:1px solid var(--p15-line);
  background:#fff;
  border-radius:0;
  color:var(--p15-ink);
}
.p15-form input:focus,
.p15-form select:focus,
.p15-form textarea:focus{outline:2px solid var(--p15-blue);outline-offset:-1px;border-color:var(--p15-blue)}
.p15-form button[type="submit"]{
  margin-top:12px;
  background:var(--p15-blue);color:#fff;
  border:0;
  padding:18px 32px;
  font-weight:700;letter-spacing:.1em;
  font-family:var(--p15-en);font-size:16px;
}
.p15-form button[type="submit"]:hover{background:var(--p15-blue-deep)}
.p15-form__note{font-size:12px;color:#5a6e85;line-height:1.8}

/* HISTORY */
.p15-history{display:grid;gap:0;margin:24px 0}
.p15-history__row{
  display:grid;grid-template-columns:140px 1fr;
  gap:24px;padding:18px 0;
  border-top:1px solid var(--p15-line);
}
.p15-history__row:last-child{border-bottom:1px solid var(--p15-line)}
.p15-history__year{
  font-family:var(--p15-en);font-size:24px;
  font-weight:600;color:var(--p15-blue);line-height:1;
}
.p15-history__event{font-size:14px;line-height:1.8}

/* MESSAGE block */
.p15-message{
  background:var(--p15-blue);color:#fff;
  padding:100px 24px;
  margin:80px 0 0;
  position:relative;
  overflow:hidden;
}
.p15-message__inner{
  max-width:880px;margin:0 auto;
  position:relative;z-index:2;
}
.p15-message__en{
  font-family:var(--p15-en);
  font-size:clamp(48px,7vw,96px);
  font-weight:600;
  line-height:1;margin:0 0 32px;
  letter-spacing:.01em;
}
.p15-message__lead{
  font-size:22px;font-weight:700;line-height:1.7;
  margin:0 0 24px;
}
.p15-message__body{
  font-size:15px;line-height:2;
  white-space:pre-wrap;
  color:rgba(255,255,255,.92);
  margin:0 0 32px;
}
.p15-message__sign{
  text-align:right;font-size:14px;line-height:1.8;margin:0;
}
.p15-message__sign b{font-size:20px;font-weight:700}

/* CTA bottom (ピル2つ) */
.p15-cta{
  background:#fff;
  padding:80px 24px;
  text-align:center;
}
.p15-cta__inner{
  max-width:780px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  border:1px solid var(--p15-line);
}
.p15-cta__inner a{
  padding:32px 36px;
  display:grid;grid-template-columns:1fr auto;align-items:center;
  text-align:left;
  border-left:1px solid var(--p15-line);
}
.p15-cta__inner a:first-child{border-left:0}
.p15-cta__inner strong{
  font-family:var(--p15-en);font-size:22px;font-weight:600;
  color:var(--p15-blue);display:block;
}
.p15-cta__inner small{font-size:12px;display:block;margin-top:4px}
.p15-cta__inner .p15-arrow{
  width:38px;height:38px;border-radius:50%;
  border:1px solid var(--p15-blue);
  display:grid;place-items:center;color:var(--p15-blue);
}

/* FOOTER */
.p15-foot{
  background:var(--p15-blue-deep);
  color:rgba(255,255,255,.85);
  padding:64px 24px 32px;
}
.p15-foot__inner{
  max-width:1100px;margin:0 auto;
}
.p15-foot__top{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;
  padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.15);
}
.p15-foot__brand{display:flex;align-items:center;gap:14px}
.p15-foot__brand__mark{
  width:54px;height:54px;background:#fff;
  display:grid;place-items:center;color:var(--p15-blue);
  font-family:var(--p15-en);font-size:22px;font-weight:700;
}
.p15-foot__brand strong{display:block;font-size:14px;color:#fff}
.p15-foot__brand small{font-size:11px;display:block;margin-top:4px;opacity:.7}
.p15-foot__col h4{
  font-family:var(--p15-en);font-size:13px;font-weight:700;
  letter-spacing:.12em;color:#fff;margin:0 0 14px;
}
.p15-foot__col ul{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:12px}
.p15-foot__col a:hover{color:#fff;text-decoration:underline}
.p15-foot__bottom{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:24px;font-size:11px;flex-wrap:wrap;gap:12px;
  font-family:var(--p15-en);letter-spacing:.04em;
}
.p15-foot__bottom span{opacity:.6}

/* ===== Responsive ===== */
@media (max-width:900px){
  .p15-header{grid-template-columns:auto auto;gap:16px;padding:10px 14px}
  .p15-header__nav{display:none}
  .p15-header__entry a{width:64px;min-height:48px;font-size:10px}
  .p15-hero{padding:24px 16px 60px}
  .p15-hero__copy{font-size:32px}
  .p15-special{padding:64px 16px}
  .p15-special__head{grid-template-columns:1fr;gap:24px}
  .p15-special__row{grid-template-columns:1fr;gap:32px;padding:0 16px}
  .p15-special__card{width:100%;height:auto;aspect-ratio:3/4}
  .p15-stats{grid-template-columns:repeat(2,1fr)}
  .p15-stats__cell:nth-child(2){border-left:1px solid var(--p15-line)}
  .p15-stats__cell:nth-child(3){border-top:1px solid var(--p15-line);border-left:0}
  .p15-stats__cell:nth-child(4){border-top:1px solid var(--p15-line)}
  .p15-recruit{padding:80px 16px 60px;border-radius:40px 40px 0 0}
  .p15-recruit__btns{flex-direction:column}
  .p15-recruit__btns a{border-left:0;border-top:1px solid var(--p15-line)}
  .p15-recruit__btns a:first-child{border-top:0}
  .p15-jobstrip__row{grid-template-columns:80px 1fr auto;gap:14px;padding:14px}
  .p15-jobs__grid{grid-template-columns:1fr;padding:0 16px}
  .p15-page__hero{padding:48px 16px 64px}
  .p15-page__hero__inner{grid-template-columns:1fr;gap:24px}
  .p15-job__hero__inner{grid-template-columns:1fr;gap:24px}
  .p15-job__hero__meta{grid-template-columns:1fr}
  .p15-day__row{grid-template-columns:80px 1fr;gap:12px}
  .p15-history__row{grid-template-columns:80px 1fr;gap:12px}
  .p15-reqtable th{width:120px;padding:10px 12px;font-size:12px}
  .p15-reqtable td{padding:10px 12px;font-size:13px}
  .p15-message{padding:64px 16px}
  .p15-message__lead{font-size:18px}
  .p15-cta__inner{grid-template-columns:1fr}
  .p15-cta__inner a{border-left:0;border-top:1px solid var(--p15-line)}
  .p15-cta__inner a:first-child{border-top:0}
  .p15-foot__top{grid-template-columns:1fr 1fr;gap:24px}
}
