/* =============================================
   PCC THEME - Mindset Course LP Styles
   マインドセット講座LP固有スタイル
   ============================================= */

/* HEADER (LP specific - different tel/nav) */
.pcc-lp-header-nav { display: flex; flex-direction: column; gap: 8px; align-items: flex-end; width: auto; }
.pcc-lp-tel-label-row { font-size: 8px; font-weight: 700; color: #33333b; text-align: center; background: #fff8e5; border-radius: 9999px; padding: 2px 4px; margin-bottom: 4px; }
.pcc-btn-lp-primary { background: #0055cc; border-bottom: 4px solid rgba(0,0,11,0.16); border-radius: 9999px; display: flex; align-items: center; gap: 8px; justify-content: center; padding: 12px 24px 16px; font-size: 14px; font-weight: 700; color: #fff; white-space: nowrap; cursor: pointer; border-top: none; border-left: none; border-right: none; }
.pcc-btn-lp-primary:hover { background: #0040aa; }

/* SPLASH */
.pcc-lp-splash { position: relative; width: 100%; height: 698px; overflow: hidden; background: #e8f2ff; }
.pcc-lp-splash-bg { position: absolute; bottom: 0; left: 0; width: 100%; height: 824px; overflow: hidden; }
.pcc-lp-splash-bg img { width: 100%; height: 100%; object-fit: cover; }
.pcc-lp-splash-gradient { position: absolute; bottom: 0; left: 0; width: 100%; height: 352px; background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, white 48%); pointer-events: none; }
.pcc-lp-splash-artwork { position: absolute; left: 8%; top: 50px; width: 40%; transform: rotate(-5.28deg); overflow: hidden; }
.pcc-lp-splash-artwork img { width: 100%; height: 100%; object-fit: contain; }
.pcc-lp-splash-read { position: absolute; left: 168px; top: 446px; display: flex; flex-direction: column; gap: 8px; }
.pcc-lp-splash-read-line { background: #fff; padding: 0 4px 4px; display: inline-block; }
.pcc-lp-splash-read-line span { font-size: 32px; font-weight: 700; color: #0055cc; letter-spacing: -0.23px; white-space: nowrap; }
.pcc-lp-splash-heading { position: absolute; left: 168px; top: 542px; font-size: 48px; font-weight: 400; line-height: 1.2; color: #33333b; letter-spacing: -0.4px; white-space: nowrap; }
.pcc-lp-splash-float-btn { position: absolute; right: 40px; bottom: 40px; width: 140px; height: 140px; border-radius: 9999px; background: #d7c20a; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; text-align: center; font-weight: 700; color: #33333b; cursor: pointer; }
.pcc-lp-splash-float-btn .btn-main { font-size: 16px; line-height: 1.2; }
.pcc-lp-splash-float-btn .btn-sub { font-size: 14px; }

/* NEWS */
.pcc-lp-news { background: #fff; padding: 0 168px; width: 100%; }
.pcc-lp-news-inner { display: flex; align-items: center; padding: 16px 0; border-bottom: 1px solid #e6e0eb; }
.pcc-lp-news-items { display: flex; flex-direction: column; gap: 12px; flex: 1; }
.pcc-lp-news-item { display: flex; gap: 16px; align-items: center; }
.pcc-lp-news-chip { background: #0055cc; border-radius: 9999px; padding: 4px 8px; display: flex; align-items: center; min-width: 96px; justify-content: center; }
.pcc-lp-news-chip-date { font-size: 12px; font-weight: 700; color: #fff; letter-spacing: 0.47px; white-space: nowrap; }
.pcc-lp-news-text { font-size: 16px; color: #33333b; }

/* SECTION HEADS (LP style) */
.pcc-lp-section-head { position: relative; text-align: center; width: 100%; }
.pcc-lp-section-head-en { font-size: 96px; font-weight: 700; color: #0055cc; letter-spacing: -1.55px; opacity: 0.16; line-height: 1; white-space: nowrap; }
.pcc-lp-section-head-ja { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: 40px; font-weight: 700; color: #0055cc; letter-spacing: -0.34px; white-space: nowrap; margin-top: -16px; }

/* ABOUT SECTION */
.pcc-lp-about { position: relative; background: #fff; padding: 40px 168px; width: 100%; overflow: hidden; }
.pcc-lp-about-bg-img { position: absolute; bottom: 0; left: 0; width: 99.95%; height: 70.53%; opacity: 0.24; overflow: hidden; }
.pcc-lp-about-bg-img img { width: 100%; height: 100%; object-fit: cover; }
.pcc-lp-about-gradient { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 100%; height: 64px; pointer-events: none; }
.pcc-lp-about-gradient img { width: 100%; height: 100%; }
.pcc-lp-about-inner { position: relative; display: flex; flex-direction: column; gap: 40px; align-items: center; width: 1134px; margin: 0 auto; max-width: 100%; }
.pcc-lp-about-summary { background: #d7c20a; border-radius: 8px; padding: 12px 24px 14px; text-align: center; font-size: 24px; font-weight: 700; color: #33333b; line-height: 1.2; }
.pcc-lp-about-text { font-size: 16px; font-weight: 700; color: #33333b; text-align: center; line-height: 1.7; letter-spacing: 0.28px; }
.pcc-lp-about-points { display: flex; gap: 0; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px; }
.pcc-lp-point-circle { width: 232px; height: 232px; border-radius: 9999px; background: #0055cc; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; flex-shrink: 0; }
.pcc-lp-point-circle-line { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 216px; height: 216px; }
.pcc-lp-point-circle-line img { width: 100%; height: 100%; }
.pcc-lp-point-chip { background: #fff; border-radius: 9999px; padding: 4px 8px; font-size: 14px; font-weight: 700; color: #0055cc; position: relative; z-index: 1; }
.pcc-lp-point-label { font-size: 64px; font-weight: 400; color: #fff; line-height: 1; position: relative; z-index: 1; }
.pcc-lp-point-separator { width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; position: relative; }
.pcc-lp-point-separator::before, .pcc-lp-point-separator::after { content: ''; position: absolute; background: #33333b; }
.pcc-lp-point-separator::before { width: 2px; height: 40px; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(45deg); }
.pcc-lp-point-separator::after { width: 40px; height: 2px; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(45deg); }
.pcc-lp-catchcopy { font-size: 32px; font-weight: 700; color: #0055cc; text-align: center; line-height: 1.2; }
.pcc-lp-voice-cards { display: flex; gap: 24px; align-items: center; justify-content: center; flex-wrap: wrap; }
.pcc-lp-voice-card { background: #fff; width: 384px; height: 140px; border-radius: 4px; position: relative; overflow: hidden; flex-shrink: 0; }
.pcc-lp-voice-quote { position: absolute; left: 8px; top: 16px; font-size: 64px; color: #0055cc; line-height: 1; font-weight: 700; }
.pcc-lp-voice-body { position: absolute; left: 50px; top: 18px; font-size: 20px; font-weight: 700; color: #72727b; line-height: 1.2; white-space: nowrap; }
.pcc-lp-voice-age { position: absolute; left: 50px; top: 108px; font-size: 16px; font-weight: 700; color: #c5c5cb; white-space: nowrap; }
.pcc-lp-voice-img { position: absolute; right: 0; top: 0; height: 100%; width: 110px; overflow: hidden; }
.pcc-lp-voice-img img { width: 100%; height: 100%; object-fit: cover; }

/* OVERVIEW */
.pcc-lp-overview { background: #fff; padding: 64px 168px 96px; width: 100%; }
.pcc-lp-overview-inner { display: flex; flex-direction: column; gap: 40px; align-items: center; }
.pcc-lp-overview-text { font-size: 16px; font-weight: 700; color: #33333b; line-height: 1.7; width: 100%; }
.pcc-lp-overview-table { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; }
.pcc-lp-overview-row { background: #fff; border: 1px solid #e6e0eb; border-radius: 4px; display: flex; gap: 24px; align-items: flex-start; padding: 8px 24px 10px 0; }
.pcc-lp-overview-row.full { width: 100%; }
.pcc-lp-overview-row.half { width: calc(50% - 4px); }
.pcc-lp-overview-row-head { width: 180px; padding: 0 16px; border-right: 1px solid #e6e0eb; display: flex; align-items: center; justify-content: center; align-self: stretch; flex-shrink: 0; }
.pcc-lp-overview-row-head span { font-size: 16px; font-weight: 700; color: #0055cc; white-space: nowrap; line-height: 1.7; text-align: center; }
.pcc-lp-overview-row-body { flex: 1; font-size: 16px; font-weight: 700; color: #33333b; line-height: 1.7; }
.pcc-lp-schedule-items { display: flex; gap: 8px; align-items: center; flex: 1; min-width: 0; flex-wrap: wrap; }
.pcc-lp-schedule-item { background: #f9f4fb; flex: 1; min-width: 100px; height: 90px; border-radius: 8px; position: relative; }
.pcc-lp-schedule-item-chip { position: absolute; background: #fff; border-radius: 9999px; padding: 4px 8px; top: 16px; left: 16px; font-size: 12px; font-weight: 700; color: #0055cc; white-space: nowrap; }
.pcc-lp-schedule-item-date { position: absolute; top: 44px; left: 50%; transform: translateX(-50%); font-size: 16px; font-weight: 700; color: #33333b; text-align: center; white-space: nowrap; }
.pcc-lp-schedule-item-time { position: absolute; top: 62px; left: 50%; transform: translateX(-50%); font-size: 12px; font-weight: 700; color: #72727b; text-align: center; white-space: nowrap; }

/* PROGRAM */
.pcc-lp-program { background: #e8f2ff; padding: 64px 168px 96px; width: 100%; }
.pcc-lp-program-inner { display: flex; flex-direction: column; gap: 40px; align-items: center; }
.pcc-lp-program-text { font-size: 16px; font-weight: 700; color: #33333b; text-align: center; line-height: 1.7; }
.pcc-lp-program-cards { display: flex; flex-direction: column; gap: 16px; width: 100%; }
.pcc-lp-program-card { background: #fff; border-radius: 8px; padding: 32px; display: flex; gap: 24px; align-items: flex-start; }
.pcc-lp-program-card-title { font-size: 24px; font-weight: 700; color: #0055cc; line-height: 1.2; margin-bottom: 8px; }
.pcc-lp-program-card-text { font-size: 16px; color: #33333b; line-height: 1.7; }
.pcc-lp-program-card-img { width: 320px; height: 200px; border-radius: 8px; overflow: hidden; flex-shrink: 0; }
.pcc-lp-program-card-img img { width: 100%; height: 100%; object-fit: cover; }

/* HOW TO JOIN */
.pcc-lp-how-to-join { background: #0055cc; padding: 64px 168px 96px; width: 100%; }
.pcc-lp-how-to-join-head { position: relative; text-align: center; width: 100%; }
.pcc-lp-how-head-en { font-size: 96px; font-weight: 700; color: #fff; letter-spacing: -1.55px; opacity: 0.16; line-height: 1; white-space: nowrap; }
.pcc-lp-how-head-ja { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: 40px; font-weight: 700; color: #fff; white-space: nowrap; margin-top: -16px; }
.pcc-lp-how-intro { font-size: 16px; font-weight: 700; color: #fff; text-align: center; line-height: 1.7; }
.pcc-lp-how-body { background: #fff; border-radius: 16px; padding: 56px 72px; width: 100%; }
.pcc-lp-step { display: flex; gap: 24px; align-items: flex-start; padding-bottom: 40px; }
.pcc-lp-step:last-child { padding-bottom: 0; }
.pcc-lp-step-text-area { display: flex; gap: 14px; align-items: flex-start; flex-shrink: 0; align-self: stretch; }
.pcc-lp-step-head { display: flex; flex-direction: column; align-items: center; width: 88px; position: relative; }
.pcc-lp-step-chip { background: #0055cc; border-radius: 9999px; padding: 4px 16px 2px; font-size: 14px; font-weight: 700; color: #fff; width: 100%; text-align: center; flex-shrink: 0; }
.pcc-lp-step-line { position: absolute; top: 22px; left: 50%; width: 2px; background: repeating-linear-gradient(to bottom, #0055cc 0, #0055cc 4px, transparent 4px, transparent 8px); }
.pcc-lp-step-body-area { width: 486px; flex-shrink: 0; }
.pcc-lp-step-title { font-size: 24px; font-weight: 700; color: #0055cc; line-height: 1; margin-bottom: 8px; }
.pcc-lp-step-aside { font-size: 16px; font-weight: 700; color: #72727b; margin-bottom: 16px; }
.pcc-lp-step-desc { font-size: 16px; color: #33333b; line-height: 1.7; }
.pcc-lp-step-note { border: 1px solid #e6e0eb; border-radius: 4px; padding: 12px 16px; display: flex; flex-direction: column; gap: 8px; margin-top: 16px; }
.pcc-lp-step-note-chip { background: #fff8e5; border-radius: 9999px; padding: 2px 16px; font-size: 12px; font-weight: 700; color: #33333b; display: inline-block; }
.pcc-lp-step-note-text { font-size: 12px; color: #33333b; line-height: 1.2; }
.pcc-lp-step-img { width: 384px; height: 256px; border-radius: 8px; overflow: hidden; flex-shrink: 0; }
.pcc-lp-step-img img { width: 100%; height: 100%; object-fit: cover; }

/* SCHEDULE & VENUE */
.pcc-lp-schedule-venue { background: #fff; padding: 64px 168px 96px; width: 100%; }
.pcc-lp-schedule-venue-inner { display: flex; flex-direction: column; gap: 40px; align-items: center; }
.pcc-lp-map-area { width: 100%; height: 400px; border-radius: 8px; overflow: hidden; }
.pcc-lp-map-area img { width: 100%; height: 100%; object-fit: cover; }

/* LP FOOTER */
.pcc-lp-footer { background: #fff; padding: 40px 135px; width: 100%; display: flex; gap: 40px; align-items: flex-start; }
.pcc-lp-footer-main { display: flex; flex-direction: column; gap: 40px; flex: 1; }
.pcc-lp-footer-logo { display: flex; gap: 40px; align-items: flex-end; height: 48px; }
.pcc-lp-footer-site-logo { width: 190px; height: 40px; overflow: hidden; }
.pcc-lp-footer-site-logo img { width: 100%; height: 100%; object-fit: contain; }
.pcc-lp-footer-client-logo { width: 123px; height: 33px; overflow: hidden; }
.pcc-lp-footer-client-logo img { width: 100%; height: 100%; object-fit: contain; }
.pcc-lp-footer-nav { display: flex; flex-direction: column; gap: 8px; }
.pcc-lp-footer-nav-primary { display: flex; flex-wrap: wrap; gap: 16px; max-width: 320px; }
.pcc-lp-footer-nav-link { font-size: 16px; font-weight: 700; color: #33333b; cursor: pointer; }
.pcc-lp-footer-nav-support { display: flex; gap: 16px; flex-wrap: wrap; }
.pcc-lp-footer-copyright { font-size: 12px; font-weight: 700; color: #33333b; }
.pcc-lp-footer-sub { display: flex; flex-direction: column; gap: 12px; align-items: center; width: 371px; flex-shrink: 0; }
.pcc-lp-footer-tel-area { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; width: 100%; }
.pcc-lp-footer-tel-label { background: #fff8e5; border-radius: 9999px; padding: 2px 4px; font-size: 8px; font-weight: 700; color: #33333b; text-align: center; width: 100%; }
.pcc-lp-footer-tel-body { display: flex; gap: 2px; align-items: center; }
.pcc-lp-footer-tel-icon { width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; }
.pcc-lp-footer-tel-icon img { width: 20px; height: 20px; }
.pcc-lp-footer-tel-num { font-size: 32px; font-weight: 700; color: #33333b; line-height: 1; }
.pcc-lp-footer-tel-hours { display: flex; flex-direction: column; gap: 2px; }
.pcc-lp-footer-tel-hour-row { display: flex; gap: 4px; align-items: center; }
.pcc-lp-footer-tel-hour-label { background: #fff8e5; border-radius: 9999px; padding: 2px 4px; font-size: 8px; font-weight: 700; color: #33333b; }
.pcc-lp-footer-tel-hour-time { font-size: 12px; font-weight: 700; color: #33333b; }
.pcc-lp-footer-tel-note { font-size: 8px; font-weight: 700; color: #33333b; }
.pcc-lp-footer-buttons { display: flex; gap: 8px; align-items: flex-start; }
.pcc-lp-footer-btn-primary { background: #0055cc; border-bottom: 4px solid rgba(0,0,11,0.16); border-radius: 9999px; display: flex; align-items: center; justify-content: center; padding: 12px 24px 16px; font-size: 14px; font-weight: 700; color: #fff; cursor: pointer; border-top: none; border-left: none; border-right: none; }
.pcc-lp-footer-btn-secondary { background: #fff8e5; border-bottom: 4px solid rgba(0,0,11,0.16); border-radius: 9999px; display: flex; gap: 8px; align-items: center; justify-content: center; padding: 12px 24px 16px; font-size: 14px; font-weight: 700; color: #33333b; cursor: pointer; border-top: none; border-left: none; border-right: none; }
.pcc-lp-footer-btn-secondary img { width: 20px; height: 20px; }
.pcc-lp-footer-btn-fb { background: #0068ff; border-radius: 9999px; padding: 12px; display: flex; align-items: center; justify-content: center; }
.pcc-lp-footer-btn-fb img { width: 24px; height: 24px; }

/* RESPONSIVE - LP共通 (Mindset / Professional) */
@media (max-width: 768px) {
  /* スプラッシュ */
  .pcc-lp-splash { height: 380px; }
  .pcc-lp-splash-artwork { width: 55%; left: 3%; top: 24px; }
  .pcc-lp-splash-read { left: 16px; top: 240px; }
  .pcc-lp-splash-read-line span { font-size: 18px; }
  .pcc-lp-splash-heading { left: 16px; top: 288px; font-size: 24px; white-space: normal; max-width: 55%; }
  .pcc-lp-splash-float-btn { width: 84px; height: 84px; right: 12px; bottom: 12px; }
  .pcc-lp-splash-float-btn .btn-main { font-size: 13px; }
  .pcc-lp-splash-float-btn .btn-sub { font-size: 12px; }

  /* ニュース */
  .pcc-lp-news { padding: 0 16px; }
  .pcc-lp-news-item { flex-wrap: wrap; }

  /* セクションヘッド */
  .pcc-lp-section-head { overflow: hidden; }
  .pcc-lp-section-head-en { font-size: 48px; }
  .pcc-lp-section-head-ja { font-size: 28px; }

  /* About */
  .pcc-lp-about { padding: 32px 16px; }
  .pcc-lp-about-inner { width: 100%; }
  .pcc-lp-about-summary { font-size: 18px; }
  .pcc-lp-about-text { font-size: 14px; }
  .pcc-lp-about-points { gap: 8px; }
  .pcc-lp-point-circle { width: 160px; height: 160px; }
  .pcc-lp-point-circle-line { width: 148px; height: 148px; }
  .pcc-lp-point-label { font-size: 44px; }
  .pcc-lp-point-separator { width: 32px; height: 32px; }
  .pcc-lp-point-separator::before { height: 28px; }
  .pcc-lp-point-separator::after { width: 28px; }
  .pcc-lp-catchcopy { font-size: 22px; }
  .pcc-lp-voice-cards { flex-direction: column; align-items: center; }
  .pcc-lp-voice-card { width: 100%; max-width: 380px; }

  /* Overview */
  .pcc-lp-overview { padding: 40px 16px 60px; }
  .pcc-lp-overview-table { flex-direction: column; }
  .pcc-lp-overview-row.half { width: 100%; }
  .pcc-lp-overview-row.full { width: 100%; }
  .pcc-lp-overview-row { flex-direction: column; padding: 0; gap: 8px; }
  .pcc-lp-overview-row-head { width: 100%; border-right: none; border-bottom: 1px solid #e6e0eb; padding: 8px 16px; justify-content: flex-start; }
  .pcc-lp-overview-row-body { padding: 8px 16px 12px; font-size: 14px; }
  .pcc-lp-schedule-items { gap: 4px; }
  .pcc-lp-schedule-item { min-width: 80px; height: 80px; }
  .pcc-lp-schedule-item-date { font-size: 13px; }

  /* Program */
  .pcc-lp-program { padding: 40px 16px 60px; }
  .pcc-lp-program-card { flex-direction: column; padding: 20px; }
  .pcc-lp-program-card-img { width: 100%; height: 180px; }
  .pcc-lp-program-card-title { font-size: 20px; }
  .pcc-lp-program-card-text { font-size: 14px; }

  /* How to Join */
  .pcc-lp-how-to-join { padding: 40px 16px 60px; }
  .pcc-lp-how-head-en { font-size: 48px; }
  .pcc-lp-how-head-ja { font-size: 28px; }
  .pcc-lp-how-body { padding: 24px 16px; }
  .pcc-lp-step { flex-direction: column; gap: 16px; padding-bottom: 32px; }
  .pcc-lp-step-img { width: 100%; height: 180px; }
  .pcc-lp-step-body-area { width: 100%; }
  .pcc-lp-step-title { font-size: 20px; }
  .pcc-lp-step-desc { font-size: 14px; }
  .pcc-lp-step-note-text { font-size: 11px; }

  /* Schedule & Venue */
  .pcc-lp-schedule-venue { padding: 40px 16px 60px; }
  .pcc-lp-map-area { height: 220px; }

  /* LP Footer */
  .pcc-lp-footer { padding: 32px 16px; flex-direction: column; }
  .pcc-lp-footer-sub { width: 100%; }
  .pcc-lp-footer-logo { height: auto; flex-wrap: wrap; gap: 16px; }
  .pcc-lp-footer-buttons { flex-wrap: wrap; }
}
