/* 条件説明は縮小せず、通常の文章の流れで表示する。 */
.cashback-method,
.participation-explanation p,
.benefit-conditions p,
.faq-intro { font-size:16px;line-height:2;overflow-wrap:anywhere;color:#c9d6de; }
.cashback-method { margin-top:20px; }
.participation-explanation,.benefit-conditions { padding:28px 30px;border-left:2px solid var(--gold);background:#ffffff04;margin-top:30px;max-width:900px; }
.participation-explanation h3,.benefit-conditions h3 { font-size:21px;font-weight:500;line-height:1.8;margin-bottom:16px; }
.participation-explanation p+p,.benefit-conditions p+p { margin-top:14px; }
.referral-campaign { margin-top:48px;padding-top:36px;border-top:1px solid var(--line); }
.referral-campaign-heading h3 { font-size:clamp(26px,2.2vw,32px);line-height:1.7;margin-top:12px;font-weight:500; }
.referral-campaign-heading .campaign-note { margin-top:18px;font-size:16px;line-height:1.9; }
.referral-cards { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px; }
.referral-card { min-width:0;padding:28px 30px;background:#ffffff04;border:1px solid var(--line);display:flex;flex-direction:column;align-items:stretch; }
.referral-role { font-size:20px;line-height:1.8;color:var(--gold);font-weight:500; }
.referral-card h4 { display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px;margin:14px 0 20px; }
.referral-card h4 strong { font:500 52px/1.3 var(--serif);color:#e5d0a2; }
.referral-card h4 strong span { font:400 22px/1.5 var(--sans);margin-left:4px; }
.referral-outcome { font:500 20px/1.8 var(--sans); }
.referral-card>p:not(.referral-role) { font-size:16px;line-height:2;color:#c9d6de;margin-bottom:24px; }
.referral-card dl { margin-top:auto;padding-top:20px;border-top:1px solid var(--line); }
.referral-card dt { font-size:14px;line-height:1.9;color:#bacbd5; }
.referral-card dd { font-size:16px;line-height:2;margin:10px 0 0;color:#e1e7eb; }
.referral-card .referral-price { font-size:30px;line-height:1.6;letter-spacing:.015em; }
.referral-price>span { font-size:16px;margin-left:4px; }
.referral-price small { display:block;font-size:14px;line-height:1.9;color:#bacbd5;margin-top:8px; }
.referral-campaign .mobile-only { display:none; }
.faq-navigation { position:sticky;top:116px; }
.faq-intro { margin-top:24px; }
.faq-topics { display:flex;flex-direction:column;align-items:stretch;margin-top:28px;gap:2px; }
.faq-topics a { display:flex;align-items:center;gap:14px;padding:10px 0;min-height:48px;font-size:16px;line-height:1.8;border-bottom:1px solid var(--line); }
.faq-topics a span { font-size:14px;color:var(--gold);font-variant-numeric:tabular-nums; }
.faq-list details { scroll-margin-top:120px; }
.faq-list summary { display:grid;grid-template-columns:28px minmax(0,1fr) 24px;gap:16px;align-items:start;color:#e4cd99;font-size:18px;line-height:1.85; }
.faq-question-number { font-size:14px;line-height:2.38;color:#bfcbd3;font-variant-numeric:tabular-nums; }
.faq-list summary .faq-question-label,.faq-list details[open] summary .faq-question-label { margin:0;transform:none;flex:initial; }
.faq-list summary .action-mark,.faq-list details[open] summary .action-mark { transform:none;margin:4px 0 0; }
.faq-list details:not([open]) summary .action-mark svg { background:linear-gradient(currentColor,currentColor) center / 1.6px 14px no-repeat; }
.faq-answer { padding:2px 0 30px 44px;max-width:100%; }
.faq-answer p { font-size:16px;line-height:2; }
.faq-answer p+p { margin-top:18px; }
.flyer-version-note { font-size:16px;line-height:1.95;padding:18px 22px;border-left:2px solid var(--gold);color:#d0dce3;background:#ffffff04;margin:0 0 30px; }
.flyer-version-note a { text-decoration:underline;text-underline-offset:4px; }
@media(max-width:960px) { .faq-navigation{position:static}.faq-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px} }
@media(max-width:640px) {
 .participation-explanation,.benefit-conditions{padding:24px 20px}
 .participation-explanation h3,.benefit-conditions h3{font-size:20px}
 .referral-campaign{margin-top:36px;padding-top:28px}
 .referral-cards{grid-template-columns:minmax(0,1fr);gap:20px}
 .referral-card{padding:24px 22px}
 .referral-card h4{gap:8px 16px}
 .referral-role{font-size:20px}
 .referral-outcome{font-size:18px}
 .referral-campaign .mobile-only{display:initial}
 .faq-topics{grid-template-columns:minmax(0,1fr);gap:0}
 .faq-list summary{font-size:17px;grid-template-columns:24px minmax(0,1fr) 22px;gap:10px}
 .faq-answer{padding-left:0;padding-bottom:28px}
 .faq-question-number{line-height:2.25}
}
@media (min-width: 641px) {
 .referral-card > p:not(.referral-role) { min-height:4em; }
 .referral-card dl { min-height:158px; }
}
