:root {
  --bga-opacity: .8;
  --bga-panel: .72;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: var(--bga-opacity);
  background-repeat: no-repeat;
  background-image:
    /* 左下から広がる同心円アーク（HEROと同じ配色） */
    radial-gradient(circle 1900px at -6% 114%, transparent 399px, rgba(255, 140, 66, .16) 400px, rgba(255, 140, 66, .16) 413px, transparent 414px),
    radial-gradient(circle 1900px at -6% 114%, transparent 554px, rgba(255, 95, 162, .15) 555px, rgba(255, 95, 162, .15) 568px, transparent 569px),
    radial-gradient(circle 1900px at -6% 114%, transparent 709px, rgba(247, 209, 23, .16) 710px, rgba(247, 209, 23, .16) 723px, transparent 724px),
    radial-gradient(circle 1900px at -6% 114%, transparent 864px, rgba(74, 144, 217, .14) 865px, rgba(74, 144, 217, .14) 878px, transparent 879px),
    radial-gradient(circle 1900px at -6% 114%, transparent 1019px, rgba(125, 187, 66, .14) 1020px, rgba(125, 187, 66, .14) 1033px, transparent 1034px),
    radial-gradient(circle 1900px at -6% 114%, transparent 1174px, rgba(155, 89, 208, .13) 1175px, rgba(155, 89, 208, .13) 1188px, transparent 1189px),
    radial-gradient(circle 1900px at -6% 114%, transparent 1329px, rgba(43, 212, 196, .14) 1330px, rgba(43, 212, 196, .14) 1343px, transparent 1344px),
    radial-gradient(circle 1900px at -6% 114%, transparent 1484px, rgba(255, 79, 79, .12) 1485px, rgba(255, 79, 79, .12) 1498px, transparent 1499px),
    radial-gradient(circle 1900px at -6% 114%, transparent 1639px, rgba(111, 199, 232, .13) 1640px, rgba(111, 199, 232, .13) 1653px, transparent 1654px),

    /* 画面の四隅に淡い色の円を置く（HEROと同じ配色） */
    radial-gradient(1000px 780px at 96% -4%,  rgba(255, 140, 66, .13), transparent 62%),
    radial-gradient(820px 680px at 104% 26%,  rgba(255, 95, 162, .10), transparent 60%),
    radial-gradient(900px 760px at 100% 92%,  rgba(43, 212, 196, .10), transparent 62%),
    radial-gradient(880px 720px at -4% 8%,    rgba(74, 144, 217, .09), transparent 60%),
    radial-gradient(760px 620px at 18% 104%,  rgba(155, 89, 208, .08), transparent 62%);
}

@media print {
  body::before { display: none; }
}

.recruit-section,
.company-section,
.youtube-section,
.access-section,
.services-section,
.member-section,
.recruit-message-section,
.recruit-video-section,
.fresh-recruit-section,
.fresh-workplace-section,
.fresh-selection-section,
.career-recruit-section,
.career-workplace-section,
.career-selection-section,
.internship-about-section,
.internship-schedule-section,
.session-about-section,
.session-content-section,
.entform-about-section,
.contact-about-section,
.photo-marquee {
  background-color: transparent;
}

/* 薄グレーセクション */
.message-section,
.keywords-section,
.events-section,
.company-detail-section,
.history-section,
.conversion-section,
.project-section,
.recruit-data-section,
.recruit-entry-section,
.fresh-job-section,
.fresh-benefits-section,
.fresh-company-section,
.career-job-section,
.career-benefits-section,
.internship-overview-section,
.internship-form-section,
.session-overview-section,
.session-form-section,
.entform-form-section,
.contact-form-section {
  background-color: rgba(248, 248, 248, .62);
}
.strengths-section { background-color: rgba(250, 248, 246, .62); }

/* TOPページ（style.css）側の薄グレーセクション */
.section--alt,
.cta {
  background-color: rgba(245, 247, 251, .62);
}

.policy-card,           /* privacy.php / secpolicy.php */
.contact-form,          /* contact.php */
.entform-form,          /* recruit_entform.php */
.internship-form,       /* recruit_internship.php */
.session-form,          /* recruit_session.php */
.company-info-table,    /* company.php */
.conversion-record-item,
.conversion-message,
.data-table-wrapper,    /* recruit.php */
.message-problem,
.news-list {
  background-color: rgba(255, 255, 255, var(--bga-panel, .72));
}

/* secpolicy.phpのみ個別対応 */
.policy-section {
  background: linear-gradient(180deg, rgba(255, 107, 53, .04) 0%, rgba(255, 255, 255, 0) 45%);
}
