@charset "UTF-8";
/* =========================================================
   行動計画・法定掲示（13HP disclosure.pdf）
   各 top 値は「PDF上のY座標 − セクション開始Y」
   ========================================================= */

.page-disclosure .ttl__en { color: #3a3a3a; letter-spacing: .25em; }
.page-disclosure .ttl__en::before { background: #5dc8f5; }
.page-disclosure .ttl__ja { color: #3a3a3a; letter-spacing: 0; white-space: nowrap; }
.page-disclosure .ttl__bg { font-size: 112px; line-height: 112px; }

/* 縦書き透かし（左端） */
.disc__vwm {
  left: 104px; top: -7px; font-size: 112px; font-weight: 900; line-height: 112px; letter-spacing: -.012em;
  color: #f1f1f1; white-space: nowrap; pointer-events: none; z-index: 0;
  transform-origin: 0 0; transform: rotate(90deg);
}

/* 表（左列グレー） */
.dtable { font-size: 12px; line-height: 1.8; white-space: nowrap; } /* 行間：現行サイト基準（本文 1.8） */
.dtable__row { display: flex; height: var(--h); }
.dtable__row + .dtable__row { border-top: 1px solid #e3e3e3; }
.dtable__row:last-child { border-bottom: 1px solid #e3e3e3; }
/* 行間 1.8 化（24px→21.6px）で文字が 1.2px 上がる分、padding-top を +1px して位置を保つ。複数行の行は --h を詰める */
.dtable dt { flex: none; width: 179px; padding: calc(var(--pt) + 1px) 0 0 22px; font-weight: 500; letter-spacing: .13em; color: #333; }
.dtable dd { padding: calc(var(--pd) + 1px) 0 0 47px; letter-spacing: .15em; color: #333; }
.dtable--gray dt { background: #f1f1f1; }
.dtable__list { padding-left: 49px !important; }

/* ---------- INTRO ＋ PLAN 01 (y66–1297) ---------- */
.disc-intro { height: 1202px; } /* 行間変更（見出し・表）に合わせて -29px */
.disc-intro__wm { left: 220px; top: 399px; color: #f7f8f8; }
.disc-intro__en { left: 100px; top: 60px; }
.disc-intro__ja { left: 96px; top: 101px; line-height: 45px; }
.disc-intro__lead { left: 96px; top: 169px; font-size: 12px; line-height: 1.8; color: #717171; white-space: nowrap; }
.disc-intro__img { left: 662px; top: 63px; width: 353px; height: 354px; overflow: hidden; --cx: 29px; --cy: 39px; }
.disc-intro__img img { position: absolute; left: -65px; top: -8px; width: 553px; height: 370px; }
.disc-intro__nav { left: 92px; top: 266px; width: 496px; height: 101px; border-top: 1px solid #bbe5ee; border-bottom: 1px solid #bbe5ee; }
.disc-intro__nav a {
  position: absolute; display: flex; align-items: center; gap: 15px; height: 18px;
  font-size: 12px; line-height: 18px; letter-spacing: .08em; color: #333; white-space: nowrap; transition: opacity .2s;
}
.disc-intro__nav a::before { content: ""; flex: none; width: 18px; height: 18px; background: url("../img/common/arrow-down.svg") center / 100% 100% no-repeat; }
.disc-intro__nav a:hover { opacity: .6; }
.disc-intro__nav a:nth-child(1) { left: 6px; top: 18px; }
.disc-intro__nav a:nth-child(2) { left: 161px; top: 18px; }
.disc-intro__nav a:nth-child(3) { left: 6px; top: 65px; }
.disc-intro__nav a:nth-child(4) { left: 219px; top: 64px; }
.disc-intro__en2 { left: 97px; top: 506px; }
.disc-intro__ja2 { left: 93px; top: 549px; line-height: 1.6; }
.disc-intro__table { left: 92px; top: 683px; width: 923px; }
.disc-intro__table .dtable__row:nth-child(1) { --h: 58px; --pt: 14px; --pd: 13px; }
.disc-intro__table .dtable__row:nth-child(2) { --h: 98px; --pt: 29px; --pd: 25px; }
.disc-intro__table .dtable__row:nth-child(3) { --h: 94px; --pt: 26px; --pd: 25px; }
.disc-intro__table .dtable__row:nth-child(4) { --h: 191px; --pt: 36px; --pd: 29px; }

/* ---------- ACTION PLAN 02 (y1297–1916) ---------- */
.disc-plan2 { height: 600px; background: #f7f8f8; } /* 行間変更（見出し・表）に合わせて -19px */
.disc-plan2__wm { left: 214px; top: -23px; color: #fff; }
.disc-plan2__en { left: 97px; top: 93px; }
.disc-plan2__en::before { background: #58c185 !important; }
.disc-plan2__ja { left: 93px; top: 135px; line-height: 1.6; }
.disc-plan2__table { left: 92px; top: 268px; width: 923px; }
.disc-plan2__table .dtable__row:nth-child(1) { --h: 58px; --pt: 14px; --pd: 14px; }
.disc-plan2__table .dtable__row:nth-child(2) { --h: 70px; --pt: 29px; --pd: 26px; }
.disc-plan2__table .dtable__row:nth-child(3) { --h: 122px; --pt: 20px; --pd: 20px; }

/* ---------- DATA (y1916–2831) ---------- */
.disc-data { height: 915px; }
.disc-data__wm { left: 844px; top: -24px; color: #f7f8f8; }
.disc-data__en { left: 106px; top: 67px; }
.disc-data__ja { left: 109px; top: 108px; line-height: 45px; }
.disc-data__lead { left: 107px; top: 177px; font-size: 12px; line-height: 20px; color: #717171; white-space: nowrap; }
.dcard { width: 212px; height: 130px; }
.dcard > * { position: absolute; white-space: nowrap; }
.dcard__tag {
  left: 0; top: 0; height: 24px; background: #333; color: #fff;
  font-size: 10px; font-weight: 500; line-height: 24px; letter-spacing: .06em;
}
.dcard--2 .dcard__tag { height: 23px; line-height: 23px; }
.dcard__val { top: 33px; display: flex; align-items: baseline; font-family: var(--font-num); color: #3a3a3a; line-height: 36px; }
.dcard--2 .dcard__val { top: 32px; }
.dcard__val b { font-size: 30px; font-weight: 700; letter-spacing: -.03em; }
.dcard__val small { margin-left: 4px; font-family: var(--font); font-size: 9px; color: #666; }
.dcard__val .dcard__sep { margin: 0 5px 0 8px; }
.dcard__val small.u-k { margin-left: 7px; }
.dcard__cap { font-size: 9px; line-height: 1.8; color: #666; letter-spacing: .04em; }
.dcard__paren { margin-left: -5px; }
.dcard__val { left: 5px; }
.dcard__cap { left: 6px; top: 81px; }
/* 各カードの位置・タグ幅（デザインの個別値） */
.dcard--ratio { left: 108px; top: 256px; }
.dcard--ratio .dcard__tag { width: 44px; padding-left: 6px; --cx: 5px; --cy: 6px; }
.dcard--ratio .dcard__cap { left: 7px; top: 72px; }
.dcard--age { left: 337px; top: 256px; }
.dcard--age .dcard__tag { width: 54px; padding-left: 6px; --cx: 6px; --cy: 8px; }
.dcard--tenure { left: 565px; top: 256px; }
.dcard--tenure .dcard__tag { width: 81px; padding-left: 9px; --cx: 6px; --cy: 8px; }
.dcard--tenure .dcard__val { left: 6px; }
.dcard--tenure .dcard__cap { left: 7px; }
.dcard--leave { left: 794px; top: 256px; }
.dcard--leave .dcard__tag { width: 72px; padding-left: 9px; --cx: 6px; --cy: 7px; }
.dcard--overtime { left: 108px; top: 422px; }
.dcard--overtime .dcard__tag { width: 77px; padding-left: 7px; --cx: 5px; --cy: 7px; }
.dcard--overtime .dcard__cap { top: 80px; }
.dcard--flex { left: 337px; top: 422px; }
.dcard--flex .dcard__tag { width: 121px; padding-left: 7px; --cx: 6px; --cy: 8px; }
.dcard--flex .dcard__cap { top: 80px; }
.dcard--turnover { left: 565px; top: 422px; }
.dcard--turnover .dcard__tag { width: 51px; padding-left: 10px; --cx: 5px; --cy: 6px; }
.dcard--turnover .dcard__cap { left: 7px; top: 72px; }
.dcard--childcare { left: 794px; top: 422px; }
.dcard--childcare .dcard__tag { width: 100px; padding-left: 6px; --cx: 6px; --cy: 7px; }
.dcard--childcare .dcard__cap { top: 72px; }
.disc-data__note { left: 96px; top: 567px; font-size: 9px; line-height: 20px; color: #bababa; white-space: nowrap; }
.disc-data__table { left: 90px; top: 661px; width: 923px; }
.disc-data__table .dtable__row:nth-child(1) { --h: 58px; --pt: 14px; --pd: 13px; }
.disc-data__table .dtable__row:nth-child(2) { --h: 64px; --pt: 19px; --pd: 15px; }
.disc-data__table .dtable__row:nth-child(3) { --h: 70px; --pt: 19px; --pd: 18px; }
.disc-data__table .dtable__row:nth-child(3) dd { margin-left: -3px; }

/* ---------- WAREHOUSE ACT (y2831–3372) ---------- */
.disc-wh { height: 541px; background: #f1f1f1; }
.disc-wh__wm { left: 171px; top: -29px; color: #fff; }
.disc-wh__en { left: 92px; top: 67px; color: #333 !important; }
.disc-wh__en::before { background: #009fc0 !important; }
.disc-wh__ja { left: 90px; top: 140px; line-height: 45px; color: #333 !important; }
.disc-wh__card { top: 229px; width: 299px; height: 176px; background: #fff; --cx: 28px; --cy: 35px; display: block; transition: opacity .2s; }
.disc-wh__card:hover { opacity: .8; }
.disc-wh__card--terms { left: 86px; }
.disc-wh__card--types { left: 408px; }
.disc-wh__card > * { position: absolute; white-space: nowrap; }
.disc-wh__ttl { left: 45px; top: 53px; font-size: 16px; font-weight: 700; line-height: 24px; letter-spacing: .06em; color: #333; }
.disc-wh__pdf { left: 45px; top: 96px; font-size: 12px; line-height: 20px; color: #666; }
.disc-wh__card .arrow { left: 251px; top: 131px; width: 23px; height: 23px; }
.disc__back { left: 86px; top: 453px; gap: 20px; font-size: 12px; font-weight: 700; letter-spacing: 0; color: #3a3a3a; }
.arrow--back { width: 30px; height: 30px; transform: scaleX(-1); }
.disc-wh__card + .disc-wh__card .disc-wh__ttl, .disc-wh__card + .disc-wh__card .disc-wh__pdf { left: 47px; }

/* =========================================================
   SP（〜767px）　※SPデザインなし：about（s02）の SP 作法に揃えて1カラム化
   表は「項目名（帯）→内容」の縦積み、基礎データは2列グリッド
   ========================================================= */
@media (max-width: 767px) {
  .page-disclosure main .abs { position: relative; left: auto !important; top: auto !important; }
  .page-disclosure main .sec { height: auto; }
  .page-disclosure .ttl__ja { font-size: 26px; line-height: 40px; white-space: normal; }
  .page-disclosure .disc-intro__ja2, .page-disclosure .disc-plan2__ja, .page-disclosure .disc-data__ja { line-height: 1.6; } /* SP で複数行になる見出し：行間 1.6 */
  .page-disclosure .ttl__en { white-space: normal; }
  /* 透かし英字：見出しラベルの背後に重ねる（フロー内に置き、下マージンを負にして次のラベルと重ねる） */
  .page-disclosure main .ttl__bg { display: block; height: 60px; margin: 0 0 -30px 18px; font-size: 60px; line-height: 60px; }
  .page-disclosure main .disc__vwm { position: absolute; left: calc(100% + 8px) !important; top: 30px !important; font-size: 60px; line-height: 60px; }
  .page-disclosure main .inner > .ttl__en { margin-left: 14px; }

  /* INTRO ＋ PLAN 01（透かし ACTION PLAN 01 を PLAN 01 見出しの直前へ並べ替え） */
  .disc-intro .inner { display: flex; flex-direction: column; padding: 40px 0 60px; }
  .disc-intro .inner > * { order: 1; flex: none; }
  .disc-intro__wm { order: 2 !important; margin-top: 60px !important; }
  .disc-intro__en2, .disc-intro__ja2, .disc-intro__table { order: 3 !important; }
  .disc-intro__en { margin-top: 30px; }
  .disc-intro__ja, .disc-intro__ja2 { margin: 10px 20px 0; }
  .disc-intro__lead { margin: 17px 20px 0; white-space: normal; }
  .disc-intro__img { width: auto; height: auto; aspect-ratio: 353 / 354; margin: 30px 20px 0; }
  .disc-intro__img img { left: -18.4%; top: -2.3%; width: 156.7%; height: 104.5%; }
  .disc-intro__nav { width: auto; height: auto; margin: 30px 20px 0; padding: 8px 0; }
  .disc-intro__nav a { position: static; height: 38px; white-space: normal; }

  /* 表：縦積み */
  .dtable { width: auto !important; margin: 26px 20px 0; white-space: normal; }
  .dtable__row { display: block; height: auto; }
  .dtable dt { width: auto; padding: 14px 0 2px; line-height: 24px; letter-spacing: .08em; font-weight: 700; } /* 項目名（1 行の帯）は行間据え置き */
  .dtable dd, .dtable__list { padding: 0 0 14px !important; letter-spacing: .04em; margin-left: 0 !important; }
  .dtable--gray dt { margin-top: 0; padding: 8px 14px; }
  .dtable--gray dd { padding: 10px 14px 14px !important; }

  /* PLAN 02 */
  .disc-plan2 .inner { padding: 60px 0 60px; }
  .disc-plan2__ja { margin: 10px 20px 0; }

  /* DATA */
  .disc-data .inner { padding: 60px 0 60px; }
  .disc-data__ja { margin: 10px 20px 0; }
  .disc-data__lead { margin: 17px 20px 0; line-height: 24px; white-space: normal; }
  .disc-data .inner { display: grid; grid-template-columns: 1fr 1fr; column-gap: 10px; align-items: start; }
  .disc-data .inner > * { grid-column: 1 / -1; }
  .disc-data .inner > .dcard { grid-column: auto; width: auto; height: auto; margin: 26px 0 0 20px; }
  .disc-data .inner > .dcard:nth-of-type(even) { margin: 26px 20px 0 0; }
  .dcard > * { position: static; white-space: normal; }
  .dcard__tag { display: flex; }
  .dcard__val, .dcard__cap { left: auto !important; top: auto !important; }
  .dcard__val { margin-top: 6px; line-height: 34px; }
  .dcard__val b { font-size: 26px; }
  .dcard__cap { margin-top: 2px; font-size: 9px; }
  .dcard__paren { margin-left: -.5em; }
  .disc-data__note { margin: 0 20px; padding-top: 26px; white-space: normal; line-height: 16px; }
  .disc-data__table { margin-top: 30px; }

  /* WAREHOUSE ACT */
  .disc-wh .inner { padding: 60px 0 60px; }
  .disc-wh__ja { margin: 10px 20px 0; }
  .disc-wh__card { width: auto; height: 130px; margin: 24px 20px 0; --cx: 20px; --cy: 26px; }
  .disc-wh__card + .disc-wh__card { margin-top: 12px; }
  .disc-wh .disc-wh__card .disc-wh__ttl { left: 26px; top: 34px; }
  .disc-wh .disc-wh__card .disc-wh__pdf { left: 26px; top: 66px; }
  .disc-wh__card .arrow { left: auto; right: 34px; top: 80px; }
  .disc__back { display: flex; width: fit-content; margin: 36px 0 0 20px; }
}
