@charset "UTF-8";

/* =========================================================
   ProLavo PC / Tablet Top Page CSS
   - SP版と同時読み込みでも干渉しないようPC専用クラス/IDで構成
   - 767px以下は非表示、768px以上で表示
========================================================= */

body.prolabo-front-only .pl-pc-page,
body.prolabo-front-only .pl-pc-page * {
  box-sizing: border-box;
}

body.prolabo-front-only .pl-pc-page {
  display: block;
  width: 100%;
  min-width: 1200px;
  overflow: hidden;
  background: #fff;
  color: #555353;
  font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.prolabo-front-only .pl-pc-page img {
  display: block;
  max-width: 100%;
  height: auto;
}

body.prolabo-front-only .pl-pc-page a {
  color: inherit;
  text-decoration: none;
}

body.prolabo-front-only .pl-pc-page button {
  font-family: inherit;
}

body.prolabo-front-only .pl-pc-frame {
  width: 1200px;
  height: 100%;
  margin: 0 auto;
  position: relative;
}

@media (max-width: 767px) {
  body.prolabo-front-only .pl-pc-page {
    display: none !important;
  }
}

@media (min-width: 768px) {
  body.prolabo-front-only .pl-pc-page {
    display: block !important;
  }
}

@media (min-width: 768px) and (max-width: 1240px) {
  html,
  body {
    overflow-x: auto;
  }
}

/* =========================================================
   Fixed Header
========================================================= */
body.prolabo-front-only .pl-pc-header {
  position: fixed;
  z-index: 9998;
  top: 0;
  left: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 8px 24px rgba(3, 45, 82, 0.1);
  backdrop-filter: blur(8px);
  transform: translateY(-110%);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.45s ease, opacity 0.45s ease;
}

body.prolabo-front-only .pl-pc-header.is-show {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

body.prolabo-front-only .pl-pc-header__inner {
  width: 1200px;
  height: 76px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
}

body.prolabo-front-only .pl-pc-header__logo img {
  width: 160px;
}

body.prolabo-front-only .pl-pc-header__nav {
  display: flex;
  align-items: center;
  gap: 24px;
  color: #032d52;
  font-size: 15px;
  font-weight: 800;
  white-space: nowrap;
}

body.prolabo-front-only .pl-pc-header__nav a:hover {
  color: #ff8d28;
}

body.prolabo-front-only .pl-pc-header__tel {
  min-width: 185px;
  padding: 12px 20px;
  border-radius: 999px;
  color: #fff !important;
  background: linear-gradient(135deg, #f04438, #ff8d28);
  text-align: center;
  font-size: 18px;
  font-weight: 900;
  box-shadow: 0 8px 18px rgba(240, 68, 56, 0.26);
}

/* =========================================================
   Hero
========================================================= */
body.prolabo-front-only .pl-pc-hero {
  height: 1230px;
  position: relative;
  overflow: hidden;
  background: url("https://prolavo.jp/wp-content/uploads/2026/04/prolavo_top_hero_back_pc.png") center top / cover no-repeat;
}

body.prolabo-front-only .pl-pc-hero__location {
  position: absolute;
  left: -110px;
  top: 138px;
  width: 430px;
  margin: 0;
  color: #032d52;
  font-size: 27px;
  line-height: 1.45;
  font-weight: 900;
  text-align: center;
  letter-spacing: 0.02em;
  transform: rotate(-3deg);
  transform-origin: left top;
}

body.prolabo-front-only #pl-pc-area-wrap,
body.prolabo-front-only .pl-pc-line {
  display: block;
  width: 100%;
  text-align: center;
  white-space: nowrap;
}

body.prolabo-front-only .pl-pc-hero__lead {
  position: absolute;
  left: -160px;
  top: 868px;
  margin: 0;
  color: #032d52;
  font-size: 25.5px;
  line-height: 1.5;
  font-weight: 600;
  white-space: nowrap;
  letter-spacing: 0.02em;
}

body.prolabo-front-only .pl-pc-hero__lead span {
  color: #ff8d28;
  font-weight: 900;
}

body.prolabo-front-only .pl-pc-hero__actions {
  position: absolute;
  left: -210px;
  top: 928px;
  display: flex;
  align-items: center;
  gap: 58px;
}

body.prolabo-front-only .pl-pc-hero__cta,
body.prolabo-front-only .pl-pc-hero__cta img {
  width: 420px;
}

body.prolabo-front-only .pl-pc-hero__tel,
body.prolabo-front-only .pl-pc-hero__tel img {
  width: 500px;
}

body.prolabo-front-only .pl-pc-hero__tel {
  transform: translateX(-10px);
}

body.prolabo-front-only .pl-pc-hero__note {
  position: absolute;
  left: -150px;
  top: 1078px;
  margin: 0;
  color: #032d52;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.01em;
}

/* =========================================================
   Live Result
========================================================= */
body.prolabo-front-only .pl-pc-live {
  position: relative;
  z-index: 5;
  height: 96px;
  margin-top: 46px;
  margin-bottom: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

body.prolabo-front-only .pl-pc-ai-observe-card {
  position: relative;
  overflow: hidden;
  width: min(1000px, calc(100vw - 120px));
  min-height: 76px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(0, 183, 194, 0.25);
  box-shadow: 0 16px 40px rgba(3, 45, 82, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 14px 28px;
  font-family: "Noto Sans JP", sans-serif;
}

body.prolabo-front-only #pl-pc-ai-text {
  margin: 0;
  color: #004a55;
  font-size: 27px;
  line-height: 1.65;
  font-weight: 900;
  letter-spacing: 0.4px;
}

body.prolabo-front-only .pl-pc-ai-date {
  margin-right: 12px;
}

body.prolabo-front-only .pl-pc-ai-strong {
  color: #e53935;
  font-weight: 900;
  text-shadow: 0 0 4px rgba(255, 255, 255, 0.8);
}

body.prolabo-front-only .pl-pc-ai-detect {
  color: #00b7c2;
  font-weight: 900;
}

body.prolabo-front-only .pl-pc-fade-in {
  animation: plPcFadeInUp 0.7s ease forwards;
}

body.prolabo-front-only .pl-pc-fade-out {
  animation: plPcFadeOutUp 0.7s ease forwards;
}

@keyframes plPcFadeInUp {
  from { opacity: 0; transform: translateY(20%); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes plPcFadeOutUp {
  from { opacity: 1; transform: translateY(0); }
  to { opacity: 0; transform: translateY(-20%); }
}

/* =========================================================
   Section 1
========================================================= */
body.prolabo-front-only .pl-pc-sec1-a {
  height: 810px;
  margin-top: 0;
  background: url("https://prolavo.jp/wp-content/uploads/2026/04/section_1_back_1_pc.png") center top / cover no-repeat;
}

body.prolabo-front-only .pl-pc-sec1__title {
  position: absolute;
  left: 0;
  top: 155px;
  width: 1200px;
  margin: 0;
  color: #555353;
  text-align: center;
  line-height: 1.45;
  font-weight: 600;
}

body.prolabo-front-only .pl-pc-sec1__title .small { font-size: 36px; }
body.prolabo-front-only .pl-pc-sec1__title .big { margin-left: 8px; font-size: 45px; font-weight: 900; }
body.prolabo-front-only .pl-pc-sec1__title .middle { font-size: 40px; font-weight: 700; }

body.prolabo-front-only .pl-pc-sec1__cloud1,
body.prolabo-front-only .pl-pc-sec1__cloud2,
body.prolabo-front-only .pl-pc-sec1__cloud3 {
  position: absolute;
  width: 550px;
}

body.prolabo-front-only .pl-pc-sec1__cloud1 { left: 40px; top: 290px; }
body.prolabo-front-only .pl-pc-sec1__cloud2 { left: 610px; top: 420px; }
body.prolabo-front-only .pl-pc-sec1__cloud3 { left: 42px; top: 550px; }

body.prolabo-front-only .pl-pc-sec1-b {
  height: 810px;
  background: url("https://prolavo.jp/wp-content/uploads/2026/04/section_1_back_2_pc.png") center top / cover no-repeat;
}

body.prolabo-front-only .pl-pc-sec1__white {
  position: absolute;
  left: 20px;
  top: -20px;
  width: 1160px;
}

body.prolabo-front-only .pl-pc-sec1__chart,
body.prolabo-front-only .pl-pc-sec1__graph {
  position: absolute;
  top: -8px;
  width: 440px;
}

body.prolabo-front-only .pl-pc-sec1__chart { left: 145px; }
body.prolabo-front-only .pl-pc-sec1__graph { left: 615px; }

body.prolabo-front-only .pl-pc-sec1__copy {
  position: absolute;
  left: 0;
  top: 460px;
  width: 1200px;
  margin: 0;
  color: #555353;
  text-align: center;
  font-size: 32px;
  line-height: 1.55;
  font-weight: 600;
}

body.prolabo-front-only .pl-pc-sec1__copy span {
  color: #ff0000;
  font-weight: 900;
}

body.prolabo-front-only .pl-pc-sec1__question {
  position: absolute;
  left: 0;
  top: 670px;
  width: 1200px;
  margin: 0;
  color: #555353;
  text-align: center;
  font-size: 40px;
  line-height: 1.45;
  font-weight: 700;
}

/* =========================================================
   Section 2
========================================================= */
body.prolabo-front-only .pl-pc-sec2-a {
  height: 1150px;
  background: url("https://prolavo.jp/wp-content/uploads/2026/04/section_2_back_1_pc.png") center top / cover no-repeat;
}

body.prolabo-front-only .pl-pc-sec2__title {
  position: absolute;
  left: 0;
  top: 100px;
  width: 1200px;
  margin: 0;
  color: #555353;
  text-align: center;
  line-height: 1.45;
  font-weight: 600;
}

body.prolabo-front-only .pl-pc-sec2__title span,
body.prolabo-front-only .pl-pc-sec2__title strong {
  display: block;
  font-size: 33.25px;
  font-weight: 600;
}

body.prolabo-front-only .pl-pc-sec2__title em {
  margin: 0 10px;
  color: #032d52;
  font-style: normal;
  font-size: 53.19px;
  font-weight: 900;
}

body.prolabo-front-only .pl-pc-sec2__crown {
  position: absolute;
  left: 375px;
  top: 235px;
  width: 450px;
}

body.prolabo-front-only .pl-pc-sec2__year {
  position: absolute;
  left: 0;
  top: 708px;
  width: 1200px;
  margin: 0;
  color: #555353;
  text-align: center;
  font-size: 20px;
  font-weight: 600;
}

body.prolabo-front-only .pl-pc-sec2__card1,
body.prolabo-front-only .pl-pc-sec2__card2,
body.prolabo-front-only .pl-pc-sec2__card3 {
  position: absolute;
  top: 772px;
  width: 400px;
}

body.prolabo-front-only .pl-pc-sec2__card1 { left: 0; }
body.prolabo-front-only .pl-pc-sec2__card2 { left: 400px; }
body.prolabo-front-only .pl-pc-sec2__card3 { left: 800px; }

body.prolabo-front-only .pl-pc-sec2-b {
  height: 1150px;
  background: url("https://prolavo.jp/wp-content/uploads/2026/04/section_2_back_2_pc.png") center top / cover no-repeat;
}

body.prolabo-front-only .pl-pc-sec2__heart {
  position: absolute;
  left: 320px;
  top: 60px;
  width: 560px;
}

body.prolabo-front-only .pl-pc-sec2__guarantee {
  position: absolute;
  left: 405px;
  top: 205px;
  width: 390px;
  margin: 0;
  color: #555353;
  text-align: center;
  font-size: 31.41px;
  line-height: 1.48;
  font-weight: 700;
}

body.prolabo-front-only .pl-pc-sec2__guarantee span {
  color: #ff0000;
  font-size: 41.97px;
  font-weight: 900;
}

body.prolabo-front-only .pl-pc-sec2__link1,
body.prolabo-front-only .pl-pc-sec2__link2 {
  position: absolute;
  left: 455px;
  width: 290px;
  color: #3e38fd;
  text-align: center;
  font-size: 20px;
  line-height: 1.35;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}

body.prolabo-front-only .pl-pc-sec2__link1 { top: 345px; }
body.prolabo-front-only .pl-pc-sec2__link2 { top: 415px; }

body.prolabo-front-only .pl-pc-sec2__copy {
  position: absolute;
  left: 0;
  top: 660px;
  width: 1200px;
  margin: 0;
  color: #555353;
  text-align: center;
  font-size: 25.5px;
  line-height: 1.5;
  font-weight: 700;
}

body.prolabo-front-only .pl-pc-sec2__cta,
body.prolabo-front-only .pl-pc-sec2__tel {
  position: absolute;
  display: block;
}

body.prolabo-front-only .pl-pc-sec2__cta { left: 390px; top: 724px; width: 420px; }
body.prolabo-front-only .pl-pc-sec2__tel { left: 350px; top: 872px; width: 500px; }

/* =========================================================
   Section 3 + Voice
========================================================= */
body.prolabo-front-only .pl-pc-sec3 {
  height: 2250px;
  background:
    url("https://prolavo.jp/wp-content/uploads/2026/04/section_3_back_1_pc.png") center top / 1920px 1300px no-repeat,
    url("https://prolavo.jp/wp-content/uploads/2026/04/section_3_back_2_pc.png") center 1300px / 1920px 950px no-repeat;
}

body.prolabo-front-only .pl-pc-sec3__title,
body.prolabo-front-only .pl-pc-sec3__voice-title,
body.prolabo-front-only .pl-pc-faq__title,
body.prolabo-front-only .pl-pc-section-title {
  position: absolute;
  left: 0;
  width: 1200px;
  margin: 0;
  color: #032d52;
  text-align: center;
  font-size: 36px;
  line-height: 1.45;
  font-weight: 900;
  letter-spacing: 0.03em;
}

body.prolabo-front-only .pl-pc-sec3__title { top: 112px; }

body.prolabo-front-only .pl-pc-sec3__card1,
body.prolabo-front-only .pl-pc-sec3__card2,
body.prolabo-front-only .pl-pc-sec3__card3,
body.prolabo-front-only .pl-pc-sec3__card4,
body.prolabo-front-only .pl-pc-sec3__user1,
body.prolabo-front-only .pl-pc-sec3__user2 {
  position: absolute;
  width: 550px;
}

body.prolabo-front-only .pl-pc-sec3__card1 { left: 35px; top: 205px; }
body.prolabo-front-only .pl-pc-sec3__card2 { left: 615px; top: 205px; }
body.prolabo-front-only .pl-pc-sec3__card3 { left: 35px; top: 645px; }
body.prolabo-front-only .pl-pc-sec3__card4 { left: 615px; top: 645px; }

body.prolabo-front-only .pl-pc-sec3__note {
  position: absolute;
  left: 0;
  top: 1090px;
  width: 1200px;
  margin: 0;
  color: #000;
  text-align: right;
  font-size: 20px;
  font-weight: 600;
}

body.prolabo-front-only .pl-pc-sec3__voice-title { top: 1183px; }
body.prolabo-front-only .pl-pc-sec3__user1 { left: 35px; top: 1290px; }
body.prolabo-front-only .pl-pc-sec3__user2 { left: 615px; top: 1290px; }

/* =========================================================
   FAQ
========================================================= */
body.prolabo-front-only .pl-pc-faq {
  min-height: auto;
  padding: 58px 0 76px;
  background: url("https://prolavo.jp/wp-content/uploads/2026/04/faq_back_pc.png") center top / cover no-repeat;
}

body.prolabo-front-only .pl-pc-faq .pl-pc-frame {
  min-height: auto;
}

body.prolabo-front-only .pl-pc-faq__title {
  position: static;
  width: 1200px;
  margin: 0 0 34px;
}

body.prolabo-front-only .pl-pc-faq__list {
  width: 880px;
  margin-left: 160px;
}

body.prolabo-front-only .pl-pc-faq__item {
  border-bottom: 1px solid rgba(85, 83, 83, 0.18);
}

body.prolabo-front-only .pl-pc-faq__q {
  width: 100%;
  padding: 16px 0;
  border: none;
  background: transparent;
  color: #555353;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  cursor: pointer;
  text-align: left;
  font-size: 31.42px;
  line-height: 1.28;
  font-weight: 600;
}

body.prolabo-front-only .pl-pc-faq__q .icon {
  transition: transform 0.25s ease;
}

body.prolabo-front-only .pl-pc-faq__item.is-open .icon {
  transform: rotate(180deg);
}

body.prolabo-front-only .pl-pc-faq__a {
  max-height: 0;
  overflow: hidden;
  color: #555353;
  font-size: 18px;
  line-height: 1.9;
  transition: max-height 0.35s ease, padding 0.35s ease;
}

body.prolabo-front-only .pl-pc-faq__item.is-open .pl-pc-faq__a {
  max-height: 360px;
  padding: 4px 0 22px;
}

body.prolabo-front-only .pl-pc-faq__more {
  position: static;
  display: block;
  width: fit-content;
  min-width: 150px;
  margin: 28px auto 0;
  padding: 10px 24px;
  border-radius: 999px;
  color: #032d52;
  background: #fff;
  text-align: center;
  font-size: 15px;
  font-weight: 900;
  box-shadow: 0 8px 20px rgba(3, 45, 82, 0.12);
}

/* =========================================================
   Mid CTA / Tips / Area / Footer
========================================================= */
body.prolabo-front-only .pl-pc-mid-cta {
  padding: 70px 0 76px;
  text-align: center;
  background: #fff;
}

body.prolabo-front-only .pl-pc-mid-cta__text {
  margin: 0 0 24px;
  color: #032d52;
  font-size: 26px;
  line-height: 1.5;
  font-weight: 900;
}

body.prolabo-front-only .pl-pc-mid-cta__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

body.prolabo-front-only .pl-pc-mid-cta__actions a:first-child img { width: 420px; }
body.prolabo-front-only .pl-pc-mid-cta__actions a:last-child img { width: 500px; }

body.prolabo-front-only .pl-pc-tips {
  padding: 92px 0 92px;
  background: #f7fbff;
}

body.prolabo-front-only .pl-pc-tips .pl-pc-section-title,
body.prolabo-front-only .pl-pc-area-links .pl-pc-section-title {
  position: static;
  width: 1200px;
  margin: 0 0 42px;
}

body.prolabo-front-only .pl-pc-tips__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

body.prolabo-front-only .pl-pc-tips__card {
  min-height: 310px;
  border-radius: 24px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 14px 34px rgba(3, 45, 82, 0.1);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

body.prolabo-front-only .pl-pc-tips__card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 44px rgba(3, 45, 82, 0.14);
}

body.prolabo-front-only .pl-pc-tips__thumb {
  height: 150px;
  background: #eee;
  overflow: hidden;
}

body.prolabo-front-only .pl-pc-tips__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.prolabo-front-only .pl-pc-tips__noimg {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
  font-weight: 800;
}

body.prolabo-front-only .pl-pc-tips__body {
  padding: 16px 18px 22px;
}

body.prolabo-front-only .pl-pc-tips__cat {
  margin: 0 0 8px;
  color: #ff8d28;
  font-size: 14px;
  font-weight: 900;
}

body.prolabo-front-only .pl-pc-tips__post-title {
  margin: 0;
  color: #032d52;
  font-size: 18px;
  line-height: 1.55;
  font-weight: 900;
}

body.prolabo-front-only .pl-pc-tips__more {
  margin-top: 38px;
  text-align: center;
}

body.prolabo-front-only .pl-pc-tips__more a {
  min-width: 240px;
  padding: 16px 28px;
  border-radius: 999px;
  background: #032d52;
  color: #fff !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
}

body.prolabo-front-only .pl-pc-area-links {
  padding: 88px 0 98px;
  background: #fff;
}

body.prolabo-front-only .pl-pc-area-links__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

body.prolabo-front-only .pl-pc-area-links__block {
  border-radius: 22px;
  padding: 24px 24px 22px;
  background: #f7fbff;
  border: 1px solid rgba(3, 45, 82, 0.08);
}

body.prolabo-front-only .pl-pc-area-links__block h3 {
  margin: 0 0 14px;
  color: #032d52;
  font-size: 20px;
  font-weight: 900;
}

body.prolabo-front-only .pl-pc-area-links__block ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 7px;
}

body.prolabo-front-only .pl-pc-area-links__block a {
  color: #555353;
  font-size: 15px;
  font-weight: 700;
}

body.prolabo-front-only .pl-pc-area-links__block a:hover {
  color: #ff8d28;
}

body.prolabo-front-only .pl-pc-footer {
  padding: 52px 0;
  background: #032d52;
  color: #fff;
  text-align: center;
}

body.prolabo-front-only .pl-pc-footer__logo {
  margin: 0 0 10px;
  font-size: 30px;
  font-weight: 900;
}

body.prolabo-front-only .pl-pc-footer p {
  margin: 0 0 8px;
}

body.prolabo-front-only .pl-pc-footer__desc {
  margin-bottom: 20px;
  font-size: 15px;
}

body.prolabo-front-only .pl-pc-footer__nav {
  margin: 20px 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 14px;
}

body.prolabo-front-only .pl-pc-footer__nav a {
  color: #fff !important;
  font-weight: 700;
}

body.prolabo-front-only .pl-pc-footer__nav span {
  opacity: 0.6;
}

body.prolabo-front-only .pl-pc-footer__copy {
  opacity: 0.72;
  font-size: 13px;
}

/* =========================================================
   Animation
========================================================= */
body.prolabo-front-only .pl-pc-page .scroll_up,
body.prolabo-front-only .pl-pc-page .scroll_left,
body.prolabo-front-only .pl-pc-page .scroll_right {
  opacity: 0;
  transition-property: opacity, transform;
  transition-duration: 2.6s;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

body.prolabo-front-only .pl-pc-page .scroll_up { transform: translateY(34px); }
body.prolabo-front-only .pl-pc-page .scroll_left { transform: translateX(-42px); }
body.prolabo-front-only .pl-pc-page .scroll_right { transform: translateX(42px); }

body.prolabo-front-only .pl-pc-page .scroll_up.on,
body.prolabo-front-only .pl-pc-page .scroll_left.on,
body.prolabo-front-only .pl-pc-page .scroll_right.on {
  opacity: 1;
  transform: translate(0, 0);
}

body.prolabo-front-only .pl-pc-page .pl-pc-hero__location.scroll_up.on {
  transform: translate(0, 0) rotate(-3deg);
}

body.prolabo-front-only .pl-pc-page .timing02 { transition-delay: 0.12s; }
body.prolabo-front-only .pl-pc-page .timing03 { transition-delay: 0.24s; }
body.prolabo-front-only .pl-pc-page .timing04 { transition-delay: 0.36s; }
body.prolabo-front-only .pl-pc-page .timing05 { transition-delay: 0.48s; }

body.prolabo-front-only .pl-pc-page .pl-pulse {
  animation: plPcPulse 2.6s ease-in-out infinite;
}

@keyframes plPcPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.035); }
}

body.prolabo-front-only .pl-pc-page .pl-shine {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
}

body.prolabo-front-only .pl-pc-page .pl-shine::before {
  content: "";
  position: absolute;
  top: -30%;
  left: -45%;
  width: 28%;
  height: 160%;
  background: rgba(255, 255, 255, 0.6);
  transform: rotate(25deg);
  animation: plPcShine 3.2s ease-in-out infinite;
  pointer-events: none;
}

@keyframes plPcShine {
  0%, 55% { left: -45%; }
  100% { left: 120%; }
}
