/* pages/linkedin-onboarding.css — linkedin.css から自動で分割。このページだけで使う記述 */
/* =========================================================
   LinkedIn立ち上げ支援
   ========================================================= */
/* ファーストビュー：プロフィールが育つ（.gp） */
.gp { padding: 8px 0 0 24px; }
.gp__win { position: relative; background: var(--white); border-radius: 14px; overflow: hidden; box-shadow: 0 40px 80px -20px rgba(10, 52, 102, .28), 0 0 0 1px rgba(10, 52, 102, .06); padding-bottom: 18px; }
.gp__cover { height: 84px; background: #e9edf1; position: relative; overflow: hidden; }
.gp__cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, #9cc2ea, #0a66c2 70%); opacity: 0; transition: opacity .8s; }
.gp.is-s1 .gp__cover::after { opacity: 1; }
.gp__head { display: flex; align-items: flex-end; justify-content: space-between; padding: 0 22px; margin-top: -40px; position: relative; }
.gp__av { width: 80px; height: 80px; border-radius: 50%; border: 3px solid #fff; background: #dfe3e8; position: relative; overflow: hidden; flex: none; }
.gp__av::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 38%, #f1d2bd 0 22%, transparent 23%), radial-gradient(circle at 50% 105%, #2e4a6b 0 46%, transparent 47%), linear-gradient(160deg, #d9e6f2, #b8cde3); opacity: 0; transition: opacity .6s .2s; }
.gp.is-s1 .gp__av::after { opacity: 1; }
.gp__open { font-size: 11px; padding: 4px 12px; border-radius: 999px; background: #057642; color: #fff; opacity: 0; transform: translateY(4px); transition: opacity .4s .5s, transform .4s .5s; }
.gp.is-s1 .gp__open { opacity: 1; transform: none; }
.gp__id { padding: 12px 22px 0; display: grid; gap: 6px; }
.gp__name, .gp__title { position: relative; min-height: 22px; }
.gp__name i, .gp__title i { position: absolute; left: 0; top: 6px; height: 10px; border-radius: 5px; background: #e6e9ec; width: 40%; transition: opacity .3s; }
.gp__title i { width: 65%; height: 8px; }
.gp__name b { font-size: 18px; font-weight: 500; opacity: 0; transition: opacity .4s .3s; }
.gp__title span { font-size: 13px; color: var(--ink-2); opacity: 0; transition: opacity .4s .45s; }
.gp.is-s1 .gp__id i { opacity: 0; }
.gp.is-s1 .gp__name b, .gp.is-s1 .gp__title span { opacity: 1; }
.gp__stats { display: grid; grid-template-columns: repeat(3, 1fr); margin: 14px 22px 0; border-block: 1px solid var(--line); }
.gp__stats p { padding: 10px 0; display: grid; gap: 2px; }
.gp__stats p + p { border-left: 1px solid var(--line); padding-left: 14px; }
.gp__stats b { font-family: var(--font-en); font-weight: 300; font-size: 24px; color: var(--li); line-height: 1.1; font-variant-numeric: tabular-nums; }
.gp__stats small { font-size: 11px; color: var(--ink-2); }
.gp__post { margin: 14px 22px 0; padding: 12px; border-radius: 10px; background: #f6f8fa; display: grid; gap: 4px; opacity: .25; transition: opacity .5s; }
.gp.is-s2 .gp__post { opacity: 1; }
.gp__ph { display: flex; align-items: center; gap: 8px; font-size: 11px; color: var(--ink-2); }
.gp__ph span { width: 18px; height: 18px; border-radius: 50%; background: #c9d6e3; }
.gp__pt { font-size: 13px; }
.gp__imp { font-size: 11px; color: var(--ink-2); }
.gp__imp b { font-family: var(--font-en); font-weight: 500; color: var(--ink); }
.gp__msg { position: absolute; right: 16px; bottom: 16px; display: flex; align-items: center; gap: 10px; padding: 10px 14px 10px 10px; border-radius: 12px; background: var(--white); box-shadow: 0 18px 40px rgba(10, 52, 102, .2); opacity: 0; transform: translateY(12px); transition: opacity .4s, transform .5s var(--ease); }
.gp.is-s3 .gp__msg { opacity: 1; transform: none; }
.gp__av--s { width: 32px; height: 32px; border-width: 0; }
.gp__av--s::after { opacity: 1; }
.gp__msg b { display: block; font-size: 12px; font-weight: 500; }
.gp__msg small { display: block; font-size: 11px; color: var(--ink-2); }
.gp__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 18px; }
.gp__steps li { font-size: 12px; color: var(--ink-2); padding-top: 10px; border-top: 3px solid #d6dde5; transition: color .3s, border-color .3s; line-height: 1.5; }
.gp__steps li b { display: block; font-weight: 500; font-size: 12px; }
.gp__steps li.is-on { color: var(--ink); border-color: var(--li); }
.gp__steps li.is-on b { color: var(--li); }

/* スケジュール */
.obt { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding-top: 36px; }
.obt__bar { position: absolute; left: 0; right: 0; top: 0; height: 4px; border-radius: 2px; background: #e3e8ee; overflow: hidden; }
.obt__bar i { position: absolute; inset: 0; background: linear-gradient(90deg, #9cc2ea, var(--li)); transform: scaleX(0); transform-origin: left; transition: transform 2.4s var(--ease); }
.obt.is-in .obt__bar i { transform: none; }
.obt__col { padding-right: 32px; position: relative; opacity: 0; transform: translateY(12px); transition: opacity .6s, transform .6s var(--ease); }
.obt.is-in .obt__col { opacity: 1; transform: none; }
.obt.is-in .obt__col:nth-child(2) { transition-delay: .1s; }
.obt.is-in .obt__col:nth-child(3) { transition-delay: .9s; }
.obt.is-in .obt__col:nth-child(4) { transition-delay: 1.7s; }
.obt__col::before { content: ""; position: absolute; left: 0; top: -42px; width: 16px; height: 16px; border-radius: 50%; background: var(--white); border: 3px solid var(--li); }
.obt__when { font-size: 13px; color: var(--li); letter-spacing: .06em; }
.obt__name { font-size: 26px; font-weight: 300; margin-top: 4px; }
.obt__list { margin-top: 16px; display: grid; gap: 8px; }
.obt__list li { font-size: 14px; color: var(--ink-2); padding-left: 14px; position: relative; line-height: 1.7; }
.obt__list li::before { content: ""; position: absolute; left: 0; top: .8em; width: 6px; height: 1px; background: var(--ink-2); }
.obpl__list { display: grid; gap: 6px; align-content: start; }
.obpl__list li { font-size: 14px; padding-left: 20px; position: relative; line-height: 1.7; }
.obpl__list li::before { content: "✓"; position: absolute; left: 0; color: var(--li); font-size: 12px; }

@media (max-width: 900px) {
  .gp { padding: 24px 0 0; }
  .obt { grid-template-columns: 1fr; gap: 32px; padding: 0 0 0 28px; }
  .obt__bar { left: 6px; right: auto; top: 0; bottom: 0; width: 4px; height: auto; }
  .obt__bar i { transform: scaleY(0); transform-origin: top; }
  .obt__col::before { left: -29px; top: 2px; }
}
.os__co { position: absolute; left: 70px; top: 60px; display: grid; }
.os__co b { font-size: 13px; font-weight: 500; }
.os__co small { font-size: 10px; color: var(--ink-2); }
.os__co em { font-style: normal; font-family: var(--font-en); color: var(--li); font-weight: 500; }
.os__img { height: 70px; border-radius: 4px; background: linear-gradient(120deg, #0a66c2, #5aa0e6 60%, #a9d0f5); }
.os__rx { display: flex; justify-content: space-between; margin-top: 6px; color: var(--ink-2); }
.os__rx em { font-style: normal; font-family: var(--font-en); color: var(--ink); font-weight: 500; }
.os__pln { flex: 1; display: grid; gap: 4px; }
.os__pln i { height: 5px; border-radius: 3px; background: #e3e7eb; width: 70%; }
.os__pln i + i { width: 45%; }
.os__type { text-overflow: clip; }

/* 立ち上げ支援：成果（.obr） */
.obr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.obr__item { background: var(--white); border-radius: 14px; padding: 28px 26px; display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 14px; }
.obr__co { font-size: 12px; color: var(--ink-2); letter-spacing: .06em; }
.obr__h { font-size: 20px; line-height: 1.5; }
.obr__h b { font-weight: 500; color: var(--li); font-size: 1.25em; }
.obr__note { font-size: 13px; color: var(--ink-2); line-height: 1.7; padding-top: 12px; border-top: 1px solid var(--line); }
.obr__bars { display: grid; gap: 12px; align-content: center; }
.obr__bars p { display: grid; grid-template-columns: 48px minmax(0, 1fr) 64px; align-items: center; gap: 10px; }
.obr__bars span { font-size: 12px; color: var(--ink-2); }
.obr__bars i { height: 14px; border-radius: 7px; background: #d6dde5; width: var(--w); transform: scaleX(0); transform-origin: left; transition: transform 1.2s var(--ease); }
.obr__bars .is-hi i { background: var(--li); transition-delay: .5s; }
.obr__bars b { font-family: var(--font-en); font-weight: 300; font-size: 26px; text-align: right; }
.obr__bars .is-hi b { color: var(--li); }
.obr__bars small, .obr__lv small, .obr__big small { font-family: var(--font-ja); font-size: 12px; margin-left: 2px; }
.obr__line { position: relative; }
.obr__line svg { width: 100%; height: auto; overflow: visible; }
.obr__path { fill: none; stroke: var(--li); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 300; stroke-dashoffset: 300; transition: stroke-dashoffset 1.6s var(--ease); }
.obr__dot { fill: var(--li); opacity: 0; transition: opacity .3s 1.5s; }
.obr__lv { position: absolute; left: 0; top: 0; display: grid; }
.obr__lv em, .obr__big em { font-style: normal; font-family: var(--font-en); font-weight: 200; font-size: 40px; line-height: 1; color: var(--ink); }
.obr__lv span, .obr__big span { font-size: 11px; color: var(--ink-2); }
.obr__big { display: grid; align-content: center; gap: 4px; }
.obr__big em { font-size: 52px; color: var(--li); }
.obr.is-in .obr__bars i { transform: none; }
.obr.is-in .obr__path { stroke-dashoffset: 0; }
.obr.is-in .obr__dot { opacity: 1; }
.obr__foot { margin-top: 14px; font-size: 12px; color: var(--ink-2); }

/* 監修（.mj） */
.mj { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(32px, 6vw, 88px); align-items: center; }
.mj__media { position: relative; padding: 0 0 48px; }
.mj__photo { aspect-ratio: 4 / 5; width: 72%; border-radius: 14px; background: linear-gradient(160deg, #e3e9ef, #c9d4df); display: grid; place-items: center; overflow: hidden; }
.mj__photo img, .mj__book img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mj__photo span, .mj__book span { font-size: 12px; color: var(--ink-2); text-align: center; padding: 8px; }
.mj__books { position: absolute; right: 0; bottom: 0; display: flex; gap: 12px; }
.mj__book { position: relative; width: 120px; aspect-ratio: 1 / 1.45; border-radius: 4px; background: #fff; box-shadow: 0 24px 48px rgba(10, 52, 102, .22), 0 0 0 1px rgba(0,0,0,.05); display: grid; place-items: center; }
.mj__book--new { transform: translateY(-24px); }
.mj__book b { position: absolute; top: -10px; right: -10px; font-family: var(--font-en); font-size: 10px; font-weight: 600; letter-spacing: .08em; padding: 4px 8px; border-radius: 999px; background: var(--li); color: #fff; }
.mj__label { display: inline-block; font-size: 12px; letter-spacing: .14em; padding: 4px 12px; border-radius: 999px; border: 1px solid var(--li); color: var(--li); }
.mj__name { font-size: clamp(28px, 3vw, 40px); font-weight: 300; margin-top: 16px; }
.mj__name small { display: block; font-size: 13px; color: var(--ink-2); margin-top: 4px; }
.mj__books-t { margin-top: 12px; font-size: 15px; }
.mj__lead { margin-top: 20px; color: var(--ink-2); line-height: 2; }
.mj__facts { margin-top: 28px; display: grid; border-top: 1px solid var(--line); }
.mj__facts li { padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.mj__facts b { color: var(--li); font-weight: 500; }

/* 料金（1つに） */
.obpr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.obpr__main, .obpr__inc { background: var(--white); border-radius: 14px; padding: 36px 32px; border: 1px solid var(--line); }
.obpr__num { font-family: var(--font-en); font-weight: 200; font-size: clamp(64px, 7vw, 96px); line-height: 1; color: var(--li); }
.obpr__num small { font-family: var(--font-ja); font-size: 16px; font-weight: 300; color: var(--ink); margin: 0 6px; }
.obpr__sub { margin-top: 20px; line-height: 1.9; }
.obpr__note { margin-top: 12px; font-size: 12px; color: var(--ink-2); }
.obpr__h { font-size: 13px; letter-spacing: .1em; color: var(--ink-2); margin-bottom: 16px; }
@media (max-width: 900px) {
  .obr, .obpr, .mj { grid-template-columns: 1fr; }
  .obr__item { grid-row: auto; grid-template-rows: none; }
  .mj__book { width: 96px; }
}
.obr__lv { display: block; } .obr__lv span { display: block; margin-top: 4px; }
@media (max-width: 900px) { .mj__books { right: 12px; } }

/* 監修：写真・表紙（実画像） */
.mj__photo { background: #eceaec; }
.mj__photo img { object-position: center 20%; }
.mj__book { overflow: visible; background: none; }
.mj__book img { border-radius: 3px; }

/* LinkedIn社と一緒に（.wli） */
.wli { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.wli__photos { position: relative; aspect-ratio: 3 / 2; border-radius: 14px; overflow: hidden; box-shadow: 0 40px 80px -24px rgba(10, 52, 102, .3); }
.wli__photos img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.04); transition: opacity 1s, transform 5s linear; }
.wli__photos img.is-on { opacity: 1; transform: scale(1); }
.wli__place { position: absolute; left: 16px; bottom: 16px; padding: 6px 14px; border-radius: 999px; background: rgba(17, 18, 20, .65); color: #fff; font-size: 12px; backdrop-filter: blur(6px); }
.wli__lead { font-size: var(--fs-h3); line-height: 1.7; margin-bottom: 28px; }
.wli__item { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 8px; padding: 20px 0; border-top: 1px solid var(--line); }
.wli__item:last-child { border-bottom: 1px solid var(--line); }
.wli__no { font-family: var(--font-en); font-weight: 200; font-size: 28px; color: var(--li); line-height: 1; }
.wli__name { font-size: 18px; }
.wli__desc { margin-top: 6px; font-size: 14px; color: var(--ink-2); line-height: 1.8; }

/* スカウトまで任せたい方へ（.obgo） */
.obgo-wrap { padding-block: clamp(48px, 6vw, 80px); }
.obgo { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px 48px; padding: 36px 40px; border-radius: 16px; background: var(--ink); color: #fff; text-decoration: none; transition: transform .3s var(--ease); }
.obgo:hover { transform: translateY(-3px); }
.obgo__q { font-size: 14px; color: rgba(255,255,255,.7); line-height: 1.7; }
.obgo__name { font-size: clamp(22px, 2.4vw, 30px); font-weight: 300; margin-top: 8px; }
.obgo__desc { margin-top: 10px; font-size: 14px; color: rgba(255,255,255,.7); line-height: 1.8; }
.obgo__btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 26px; border-radius: 999px; background: #fff; color: var(--ink); font-size: 14px; white-space: nowrap; }
@media (max-width: 900px) {
  .wli { grid-template-columns: 1fr; }
  .obgo { grid-template-columns: 1fr; padding: 28px 24px; }
  .obgo__q br { display: none; }
}

/* ===== スマホ最適化：監修・With LinkedIn は 文 → 写真 の順 ===== */
@media (max-width: 600px) {
  .mj { gap: 32px; }
  .mj__text { order: -1; }
  .wli { gap: 28px; }
  .wli__photos { order: 2; }
}
