/* ============================================================
   page-beginner.css  — 初めての方へ
   テーマ：「安心・信頼・やさしい」
   ライトピンクベース × ネイビーアクセント × ソフトシャドウ
   ============================================================ */

/* ===== ヒーロー ===== */
.content-page-hero {
  position: relative;
  background: linear-gradient(160deg, #fff0f6 0%, #ffe4ef 55%, #ffd8eb 100%);
  padding: 68px 26px 68px;
  text-align: center;
  overflow: hidden;
}

/* 右下デコ円 */
.content-page-hero::before {
  content: '';
  position: absolute;
  right: -120px; bottom: -120px;
  width: 480px; height: 480px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(240,62,122,.07) 0%, transparent 65%);
  pointer-events: none;
}
/* 上部ライン */
.content-page-hero::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(to right, var(--pink-main), var(--pink-deep));
}

.content-page-hero .section-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .25em;
  color: var(--pink-main);
  margin-bottom: 13px;
}

.content-page-hero h1 {
  font-family: 'Noto Serif JP', serif;
  font-size: clamp(26px, 4.5vw, 44px);
  font-weight: 700;
  color: var(--navy);
  line-height: 1.35;
  margin-bottom: 13px;
}

.content-page-hero > p {
  font-size: 15px;
  color: var(--gray-text);
  line-height: 1.95;
  max-width: 560px;
  margin: 0 auto 28px;
}

/* サブナビ */
.sub-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin-top: 0;
}
.sub-nav a {
  font-size: 13px;
  font-weight: 600;
  padding: 8px 26px;
  border-radius: 50px;
  border: 1.5px solid rgba(240,62,122,.35);
  color: var(--pink-main);
  background: rgba(255,255,255,.8);
  text-decoration: none;
  letter-spacing: .02em;
  transition: background .2s, color .2s, border-color .2s, transform .15s;
  backdrop-filter: blur(4px);
}
.sub-nav a:hover {
  background: var(--pink-main);
  color: #fff;
  border-color: var(--pink-main);
  transform: translateY(-2px);
}

/* ===== ページ本体 ===== */
.content-page {
  background: var(--white);
  padding: 0 0 68px;
}

/* 旧クラス互換 */
.content-inner {
  max-width: 880px;
  margin: 0 auto;
  padding: 68px 26px 0;
}

/* 2カラム用コンテナ */
.content-page-container {
  max-width: 1080px;
  margin: 0 auto;
  padding: 68px 26px 0;
}

/* パンくず */
.content-inner > .ladyreq-breadcrumb,
.content-page-container > .ladyreq-breadcrumb {
  margin-bottom: 42px;
  padding-bottom: 26px;
  border-bottom: 1px solid var(--pink-light);
}

/* ===== セクションブロック ===== */
.content-page .content-block {
  padding: 68px 0;
  border-bottom: 1px solid rgba(240,62,122,.1);
  position: relative;
}
.content-page .content-block:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/* h2 */
.content-page .content-block h2 {
  font-family: 'Noto Serif JP', serif;
  font-size: clamp(16px, 3vw, 26px);
  font-weight: 700;
  color: var(--navy);
  line-height: 1.45;
  margin-bottom: 13px;
  padding-bottom: 14px;
  position: relative;
}
.content-page .content-block h2::after {
  content: '';
  position: absolute;
  left: 0; bottom: 0;
  width: 100%;
  height: 1px;
  background: rgba(240,62,122,.12);
}
.content-page .content-block h2::before {
  content: '';
  position: absolute;
  left: 0; bottom: 0;
  width: 56px;
  height: 3px;
  background: linear-gradient(to right, var(--pink-main), var(--pink-deep));
  border-radius: 2px;
  z-index: 1;
}

/* h3 */
.content-page .content-block h3 {
  font-family: 'Noto Serif JP', serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--navy);
  margin: 42px 0 14px;
  padding-left: 14px;
  border-left: 3px solid var(--pink-main);
  line-height: 1.5;
}

/* 本文p */
.content-page .content-block > p,
.content-page .content-block p {
  font-size: 15px;
  color: var(--gray-text);
  line-height: 2;
  margin-bottom: 18px;
}
.content-page .content-block strong { color: var(--navy); }

/* リンク */
.text-link {
  color: var(--pink-main);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color .2s;
}
.text-link:hover { color: var(--pink-deep); }

/* ===== ハイライトボックス ===== */
.highlight-box {
  background: linear-gradient(135deg, #fff5f9 0%, #fff0f6 100%);
  border-radius: 16px;
  padding: 28px 26px;
  border-left: 4px solid var(--pink-main);
  margin: 28px 0;
}
.highlight-box strong {
  display: block;
  color: var(--navy);
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 10px;
}
.highlight-box p {
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1.9;
}
/* チェックリスト */
.check-list {
  list-style: none;
  padding: 0;
  margin: 10px 0 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.check-list li {
  font-size: 14px;
  color: var(--gray-text);
  padding-left: 26px;
  position: relative;
  line-height: 1.75;
}
.check-list li::before {
  content: '';
  position: absolute;
  left: 0; top: 5px;
  width: 16px; height: 16px;
  background: var(--pink-main);
  border-radius: 50%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.5 8l3 3 6-6' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: cover;
}

/* ===== 2カラムグリッド ===== */
.two-col-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 26px 0;
}

.info-card-sm {
  background: #fff;
  border-radius: 14px;
  padding: 26px 26px;
  border: 1px solid rgba(240,62,122,.15);
  transition: transform .2s;
}
.info-card-sm:hover {
  transform: translateY(-3px);
}
.info-card-sm h4 {
  font-size: 14px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 1.4;
}
.info-card-sm h4 i { color: var(--pink-main); font-size: 15px; }
.info-card-sm p {
  font-size: 13px;
  color: var(--gray-text);
  line-height: 1.85;
  margin: 0;
}
/* 給与強調 */
.salary-num {
  font-family: 'Noto Serif JP', serif;
  font-size: 22px;
  font-weight: 700;
  color: var(--pink-main);
  letter-spacing: -.01em;
}

/* ===== 日払いフロー ===== */
.pay-flow {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 28px 0;
  position: relative;
}
/* 縦線 */
.pay-flow::before {
  content: '';
  position: absolute;
  left: 28px;
  top: 28px;
  bottom: 28px;
  width: 2px;
  background: linear-gradient(to bottom, var(--pink-main), rgba(240,62,122,.1));
  border-radius: 2px;
}

.pf-step {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: #fff;
  border-radius: 14px;
  padding: 18px 26px;
  margin-bottom: 10px;
  border: 1px solid rgba(240,62,122,.15);
  position: relative;
  z-index: 1;
  transition: transform .2s;
}
.pf-step:hover { transform: translateX(4px); }

.pf-num {
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--pink-main), var(--pink-deep));
  color: #fff;
  font-weight: 700;
  font-size: 12px;
  padding: 5px 14px;
  border-radius: 50px;
  white-space: nowrap;
  letter-spacing: .04em;
  align-self: flex-start;
  margin-top: 1px;
}
.pf-text {
  font-size: 14px;
  color: var(--gray-text);
  line-height: 1.8;
  padding-top: 3px;
}

/* ===== ボタン群 ===== */
.btn-center-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin: 26px 0 8px;
}

/* ===== レスポンシブ ===== */
@media (max-width: 768px) {
  .content-inner,
  .content-page-container { padding: 40px 20px 0; }
  .content-page .content-block { padding: 44px 0; }
  .highlight-box { padding: 22px 20px; }
}

@media (max-width: 600px) {
  .content-page-hero { padding: 60px 20px 48px; }
  .content-page-hero h1 { font-size: 26px; }
  .content-inner,
  .content-page-container { padding: 32px 20px 0; }
  .two-col-content {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .pay-flow::before { display: none; }
  .pf-step { padding: 14px 18px; }
  .btn-center-wrap { flex-direction: column; align-items: stretch; }
  .btn-center-wrap .btn-primary,
  .btn-center-wrap .btn-outline { text-align: center; }
  .content-page .content-block h3 { font-size: 16px; }
}
