/* =========================================================================
   18歳以下の方へページ 固有スタイル
   共通の .page-hero / .jumpnav / .notice / .ctaband は common.css、
   .first-sec / .fv-point / .fv-card / .fv-check は page-first.css を流用（両方を読み込む）。
   ========================================================================= */

.u20-lead{font-size:.94rem;line-height:1.95;color:var(--ink-soft);max-width:760px;margin:0 0 clamp(22px,3vh,30px);}
.u20-lead b{color:var(--ink);font-weight:700;}

/* ---- 冒頭の重要帯 ---- */
.u20-alert{display:flex;align-items:flex-start;gap:16px;margin-top:clamp(22px,3.4vh,32px);padding:clamp(16px,2.4vw,22px) clamp(18px,2.8vw,28px);background:#FBF3F3;border:1px solid #E3BFBF;border-radius:10px;}
.u20-alert-tag{flex:0 0 auto;padding:.2em .9em;border-radius:999px;background:#B33;color:#fff;font-size:.74rem;font-weight:700;letter-spacing:.06em;margin-top:.2em;}
.u20-alert p{margin:0;font-size:.92rem;line-height:1.9;color:var(--ink-soft);}
.u20-alert b{color:#8f2a2a;font-family:var(--f-disp);font-size:1.08rem;}

/* ---- 年齢別受付条件（行表示） ---- */
.u20-rows{display:flex;flex-direction:column;border-top:1px solid var(--line);}
.u20-row{display:grid;grid-template-columns:150px 220px 1fr;gap:8px 24px;align-items:start;padding:clamp(18px,2.6vh,24px) clamp(4px,1vw,12px);border-bottom:1px solid var(--line);}
.u20-age{font-family:var(--f-disp);font-weight:700;font-size:1.25rem;color:var(--ink);letter-spacing:.01em;line-height:1.5;}
.u20-badge{justify-self:start;display:inline-block;padding:.3em 1.1em;border-radius:999px;border:1px solid var(--bronze);color:var(--bronze);font-weight:700;font-size:.8rem;letter-spacing:.02em;line-height:1.6;}
.u20-desc{margin:0;font-size:.88rem;line-height:1.95;color:var(--ink-soft);}
.u20-row.is-no{background:#FBF3F3;}
.u20-row.is-no .u20-badge{background:#B33;border-color:#B33;color:#fff;}
.u20-row.is-need .u20-badge{background:var(--bronze);color:#fff;}
.u20-row.is-doc .u20-badge{background:#F4E9DA;}
.u20-row.is-free .u20-badge{color:var(--ink-soft);border-color:var(--line);}

/* ---- 同意書ダウンロードリンク ---- */
.u20-pdf-link{display:flex;align-items:center;gap:14px;max-width:520px;margin-bottom:clamp(24px,3.4vh,32px);padding:1em 1.3em;background:#fff;border:1px solid var(--bronze);border-radius:10px;color:var(--ink);transition:background .3s,color .3s;}
.u20-pdf-link:hover{background:var(--bronze);color:#fff;}
.u20-pdf-icon{flex:0 0 auto;border:1px solid currentColor;border-radius:4px;padding:.25em .6em;font-weight:700;font-size:.72rem;letter-spacing:.04em;color:var(--bronze);transition:color .3s;}
.u20-pdf-link:hover .u20-pdf-icon{color:#fff;}
.u20-pdf-text{font-weight:700;font-size:.94rem;}
.u20-pdf-link .arw{margin-left:auto;width:1.7em;color:var(--bronze);}
.u20-pdf-link:hover .arw{color:#fff;}

/* ---- FAQ（アコーディオン） ---- */
.u20-faq-list{display:flex;flex-direction:column;border-top:1px solid var(--line);}
.u20-faq-item{position:relative;border-bottom:1px solid var(--line);}
.u20-faq-item summary{display:flex;align-items:center;gap:14px;padding:1.2em 2em 1.2em 0;font-family:var(--f-disp);font-weight:700;font-size:.98rem;line-height:1.7;color:var(--ink);cursor:pointer;list-style:none;}
.u20-faq-item summary::-webkit-details-marker{display:none;}
.u20-faq-item summary::before{content:"Q";flex:0 0 auto;font-family:var(--f-lat);font-style:italic;font-weight:700;font-size:1.05rem;color:var(--bronze);}
.u20-faq-item summary::after{content:"+";position:absolute;right:4px;top:1.05em;font-size:1.4rem;line-height:1;color:var(--bronze);}
.u20-faq-item[open] summary::after{content:"–";}
.u20-faq-a{display:flex;gap:14px;padding:0 2em 1.4em 0;font-size:.9rem;line-height:1.95;color:var(--ink-soft);}
.u20-faq-a::before{content:"A";flex:0 0 auto;font-family:var(--f-lat);font-style:italic;font-weight:700;font-size:1.05rem;color:var(--ink-faint,#8a8378);}

@media (max-width:820px){
  .u20-row{grid-template-columns:1fr;gap:6px;}
  .u20-age{font-size:1.15rem;}
}
@media (max-width:520px){
  .u20-alert{flex-direction:column;gap:8px;}
  .u20-faq-item summary{font-size:.92rem;}
  .u20-pdf-link{max-width:none;}
}
