/* ============ Shared subpage components ============ */

/* lead intro block */
.intro{ max-width:760px; margin:0 auto 52px; text-align:center; }
.intro p{ font-size:1.05rem; color:var(--ink-soft); }
.intro .en{ display:block; font-family:var(--font-round); font-weight:700; letter-spacing:.3em;
  color:var(--gold-deep); font-size:.8rem; margin-bottom:12px; }
.intro .intro-h{ font-family:var(--font-serif); font-size:2rem; letter-spacing:.05em; margin-bottom:16px; display:inline-block; }
.intro .intro-h::after{ content:""; display:block; width:50px; height:3px; background:var(--gold); border-radius:3px; margin:16px auto 0; }

/* alternating feature rows */
.feature{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; margin-bottom:64px; }
.feature:nth-child(even) .feature-img{ order:2; }
.feature-img{ position:relative; }
.feature-num{ font-family:var(--font-round); font-weight:700; color:var(--gold-deep); letter-spacing:.2em; font-size:.82rem; margin-bottom:10px; }
.feature h3{ font-family:var(--font-serif); font-size:1.85rem; letter-spacing:.05em; margin-bottom:8px; }
.feature .sub{ color:var(--gold-deep); font-weight:700; font-size:.95rem; margin:0 0 18px; }
.feature p{ margin:0 0 18px; }
.feature ul{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.feature ul li{ display:flex; gap:11px; align-items:flex-start; font-size:1rem; color:var(--ink); }
.feature ul li .ic{ width:24px; height:24px; background:var(--gold-pale); flex-shrink:0; margin-top:3px; }
.feature ul li .ic svg{ width:14px; height:14px; }

/* generic 3-col cards */
.cards3{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.icard{ background:#fff; border:1px solid var(--line-soft); border-radius:var(--r); padding:34px 28px; box-shadow:var(--shadow-sm); text-align:center; }
.icard .ic{ width:68px; height:68px; margin:0 auto 18px; background:var(--gold-wash); border:1.5px solid var(--gold-soft); }
.icard .ic svg{ width:34px; height:34px; }
.icard h4{ font-family:var(--font-serif); font-size:1.25rem; margin-bottom:10px; letter-spacing:.04em; }
.icard p{ margin:0; font-size:.96rem; color:var(--ink-soft); line-height:1.85; }

/* symptom chips */
.chips{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; max-width:820px; margin:0 auto; }
.chip{ background:#fff; border:1.5px solid var(--gold-soft); border-radius:var(--r-pill);
  padding:12px 24px; font-weight:700; font-size:.98rem; color:var(--ink); box-shadow:var(--shadow-sm); }

/* section on cream/white toggle */
.sec-cream{ background:var(--cream-2); border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); }

/* cases / testimonials */
.cases{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.case{ background:#fff; border:1px solid var(--line-soft); border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow-sm); transition:.25s; }
.case:hover{ transform:translateY(-5px); box-shadow:var(--shadow); }
.case .cimg{ height:188px; overflow:hidden; position:relative; background:#F2ECE0; }
.case .cimg img{ width:100%; height:100%; object-fit:cover; object-position:center 22%; display:block; transition:transform .4s ease; }
.case:hover .cimg img{ transform:scale(1.05); }
.case-body{ padding:24px 26px 28px; }
.case .tag-soft{ margin-bottom:14px; }
.case h4{ font-family:var(--font-serif); font-size:1.12rem; margin-bottom:10px; line-height:1.5; }
.case p{ margin:0; font-size:.9rem; color:var(--ink-soft); }
.case .who{ margin-top:16px; font-size:.82rem; color:var(--muted); font-weight:500; }

/* ---- service method image ---- */
.method-img{ max-width:880px; margin:0 auto; }
.method-img img{ width:100%; height:auto; display:block; }

/* ---- detailed price tables ---- */
.price-banner{ max-width:680px; margin:0 auto 40px; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-sm); }
.price-banner img{ width:100%; height:auto; display:block; }
.table-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; border-radius:var(--r); }
.table-scroll .ptable{ min-width:560px; }
.ptable .rgrp{ background:var(--gold-wash); font-family:var(--font-round); font-weight:700; color:var(--ink);
  letter-spacing:.02em; vertical-align:middle; white-space:nowrap; }
.ptable .rgrp small{ display:block; font-weight:500; color:var(--ink-soft); font-size:.78rem; margin-top:4px; letter-spacing:0; }
.ptable td:first-child{ text-align:left; }
.ptable td.num, .ptable th.num{ text-align:right; font-variant-numeric:tabular-nums; }
.ptable .strong-col{ color:var(--ink); font-weight:700; }
/* 1割〜3割は太字、料金（10割）は細く */
.ptable tbody td.num{ font-weight:700; color:var(--ink); }
.ptable tbody td.num:last-child{ font-weight:400; color:var(--muted); }
.ptable thead th:last-child{ font-weight:500; color:var(--ink-soft); }
.ptable.compact th, .ptable.compact td{ padding:14px 18px; }
.price-main td:nth-child(2){ color:var(--ink-soft); font-weight:400; }

.example-box{ background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-lg); box-shadow:var(--shadow-sm);
  padding:34px 38px; margin-top:30px; }
.example-box .ehead{ display:inline-flex; align-items:center; gap:9px; background:var(--gold); color:#fff;
  font-weight:700; padding:7px 18px; border-radius:var(--r-pill); font-size:.86rem; margin-bottom:18px; }
.example-box .cond{ font-size:.92rem; color:var(--ink-soft); margin:0 0 18px; }
.calc-line{ background:var(--gold-wash); border-radius:14px; padding:18px 24px; text-align:center;
  font-family:var(--font-serif); font-size:1.3rem; color:var(--ink); font-weight:700; letter-spacing:.02em; }
.calc-line b{ color:var(--gold-deep); font-size:1.5rem; }
.calc-sub{ text-align:center; margin:12px 0 0; font-weight:700; color:var(--ink); }
.calc-sub b{ color:var(--gold-deep); font-family:var(--font-serif); font-size:1.25rem; }
.example-foot{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; margin-top:24px; }
.example-foot .efl{ font-size:.9rem; color:var(--ink-soft); line-height:1.9; }
.example-foot .arrow{ font-size:1.8rem; color:var(--gold); }
.example-foot .efr{ background:var(--gold-wash); border:1px solid var(--gold-soft); border-radius:16px; padding:18px 24px; text-align:center; }
.example-foot .efr .lbl{ font-size:.84rem; color:var(--ink-soft); font-weight:700; }
.example-foot .efr .amt{ font-family:var(--font-serif); font-size:2rem; font-weight:800; color:var(--gold-deep); line-height:1.2; }
.example-foot .efr .plus{ font-size:.78rem; color:var(--muted); }
@media (max-width:720px){
  .example-foot{ grid-template-columns:1fr; }
  .example-foot .arrow{ transform:rotate(90deg); }
}

/* ---- pricing table ---- */
.price-hero{ background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-lg); box-shadow:var(--shadow);
  padding:44px; display:grid; grid-template-columns:auto 1fr; gap:40px; align-items:center; max-width:900px; margin:0 auto 56px; }
.price-hero .big{ text-align:center; }
.price-hero .tag{ margin-bottom:8px; }
.price-hero .num{ font-family:var(--font-serif); color:var(--gold-deep); font-weight:800; line-height:1; }
.price-hero .num b{ font-size:5rem; }
.price-hero .num small{ font-size:1.4rem; }
.price-hero .note{ font-size:.92rem; }
.price-hero .note strong{ color:var(--ink); }

.ptable{ width:100%; border-collapse:collapse; background:#fff; border-radius:var(--r); overflow:hidden;
  box-shadow:var(--shadow-sm); border:1px solid var(--line-soft); }
.ptable th,.ptable td{ padding:18px 24px; text-align:left; border-bottom:1px solid var(--line-soft); font-size:.95rem; }
.ptable thead th{ background:var(--gold-wash); color:var(--ink); font-family:var(--font-round); font-weight:700; letter-spacing:.06em; }
.ptable td:last-child,.ptable th:last-child{ text-align:right; font-weight:700; color:var(--ink); }
.ptable tbody tr:last-child td{ border-bottom:none; }
.ptable tbody tr:hover{ background:var(--gold-wash); }
.ptable .yen{ font-family:var(--font-serif); color:var(--gold-deep); }

.note-box{ background:var(--gold-wash); border:1px solid var(--gold-soft); border-radius:var(--r); padding:28px 32px; margin-top:34px; }
.note-box h4{ font-family:var(--font-serif); font-size:1.15rem; margin-bottom:12px; display:flex; align-items:center; gap:10px; }
.note-box h4 .ic{ width:30px; height:30px; background:#fff; }
.note-box h4 .ic svg{ width:18px; height:18px; }
.note-box ul{ margin:0; padding-left:1.1em; }
.note-box li{ margin:6px 0; font-size:.92rem; }

/* ---- vertical timeline (flow page) ---- */
.timeline{ max-width:780px; margin:0 auto; position:relative; }
.timeline::before{ content:""; position:absolute; left:38px; top:20px; bottom:20px; width:2px; background:var(--gold-soft); }
.tl-item{ display:grid; grid-template-columns:78px 1fr; gap:28px; margin-bottom:34px; position:relative; }
.tl-dot{ width:78px; height:78px; border-radius:50%; background:#fff; border:2px solid var(--gold); display:grid; place-items:center; box-shadow:var(--shadow-sm); position:relative; z-index:1; }
.tl-dot svg{ width:36px; height:36px; stroke:var(--gold-deep); fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.tl-card{ background:#fff; border:1px solid var(--line-soft); border-radius:var(--r); padding:26px 30px; box-shadow:var(--shadow-sm); }
.tl-step{ font-family:var(--font-round); font-weight:700; color:var(--gold-deep); letter-spacing:.18em; font-size:.78rem; }
.tl-card h4{ font-family:var(--font-serif); font-size:1.32rem; margin:6px 0 10px; letter-spacing:.04em; }
.tl-card p{ margin:0; font-size:.94rem; color:var(--ink-soft); }

/* ---- recruit ---- */
.worklist{ display:grid; gap:30px; }
.workrow{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center;
  background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-sm); }
.workrow:nth-child(even) .work-text{ order:2; }
.work-text{ padding:36px 40px; }
.work-num{ display:inline-block; font-family:var(--font-serif); font-size:1.05rem; font-weight:700;
  color:#fff; background:var(--gold); width:44px; height:44px; line-height:44px; text-align:center;
  border-radius:50%; margin-bottom:16px; box-shadow:0 6px 14px rgba(242,180,23,.32); }
.work-text h3{ font-family:var(--font-serif); font-size:1.5rem; letter-spacing:.04em; margin-bottom:12px; }
.work-text p{ margin:0; font-size:.98rem; color:var(--ink-soft); line-height:1.95; }
.work-img{ align-self:stretch; min-height:260px; }
.work-img img{ width:100%; height:100%; object-fit:cover; display:block; }
@media (max-width:760px){
  .workrow{ grid-template-columns:1fr; }
  .workrow:nth-child(even) .work-text{ order:0; }
  .work-text{ padding:28px 26px 24px; }
  .work-img{ min-height:0; aspect-ratio:16/10; order:-1; }
}
.job-summary{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:26px; }
.job-card{ background:#fff; border:1.5px solid var(--gold-soft); border-radius:var(--r);
  padding:24px 26px; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; gap:10px; }
.job-card .job-role{ font-family:var(--font-serif); font-size:1.18rem; font-weight:700; color:var(--ink); letter-spacing:.03em; }
.job-card .job-pay{ font-size:1rem; color:var(--ink-soft); font-weight:700; }
.job-card .job-pay small{ display:inline-block; background:var(--gold-pale); color:var(--gold-deep);
  font-size:.74rem; padding:3px 10px; border-radius:var(--r-pill); margin-right:8px; }
.job-card .job-pay b{ font-family:var(--font-serif); font-size:1.8rem; color:var(--gold-deep); margin:0 .08em; }
.recruit-note{ margin:20px 0 0; padding:16px 22px; background:var(--cream-2); border:1px solid var(--line);
  border-radius:14px; font-size:.92rem; color:var(--ink-soft); font-weight:500; }
.bonus-banner-img{ border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow); }
.bonus-banner-img img{ width:100%; height:auto; display:block; }
.bonus-highlight{ background:linear-gradient(135deg,#FDF6E7,#FBEFCF); border:1.5px solid var(--gold-soft);
  border-radius:var(--r-lg); padding:38px 44px; text-align:center; box-shadow:var(--shadow-sm); }
.bonus-highlight .bh-tag{ display:inline-block; background:var(--navy); color:#fff; font-weight:700;
  font-size:.86rem; padding:8px 22px; border-radius:var(--r-pill); margin-bottom:18px; letter-spacing:.04em; }
.bonus-highlight .bh-main{ font-family:var(--font-serif); font-size:2.2rem; font-weight:800; color:var(--ink); margin:0 0 12px; letter-spacing:.04em; }
.bonus-highlight .bh-main b{ color:var(--gold-deep); font-size:3.2rem; margin:0 .08em; }
.bonus-highlight .bh-note{ max-width:620px; margin:0 auto; font-size:.94rem; color:var(--ink-soft); }
.jt-sub{ display:inline-block; font-size:.84rem; color:var(--ink-soft); line-height:1.7; margin-top:4px; }
.jt-amt{ font-family:var(--font-serif); font-size:1.4rem; color:var(--gold-deep); font-weight:800; letter-spacing:.02em; }
.jobtable td b{ color:var(--gold-deep); }
.jobtable{ width:100%; border-collapse:collapse; background:#fff; border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow-sm); border:1px solid var(--line-soft); }
.jobtable th{ width:190px; background:var(--gold-wash); text-align:left; padding:20px 24px; font-family:var(--font-round); font-weight:700; color:var(--ink); vertical-align:top; border-bottom:1px solid var(--white); font-size:.98rem; letter-spacing:.04em; }
.jobtable td{ padding:20px 28px; border-bottom:1px solid var(--line-soft); font-size:1rem; line-height:1.9; }
.jobtable tr:last-child th,.jobtable tr:last-child td{ border-bottom:none; }
.benefits{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }

/* ---- FAQ ---- */
.faq-group{ max-width:840px; margin:0 auto 44px; }
.faq-cat{ font-family:var(--font-serif); font-size:1.3rem; margin-bottom:18px; display:flex; align-items:center; gap:12px; }
.faq-cat .dot{ width:12px; height:12px; border-radius:50%; background:var(--gold); }
.faq-item{ background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-sm); margin-bottom:12px; box-shadow:var(--shadow-sm); overflow:hidden; }
.faq-q{ display:flex; align-items:center; gap:16px; padding:22px 26px; font-weight:700; color:var(--ink); font-size:1.05rem; }
.faq-q .qmark{ width:30px; height:30px; border-radius:50%; background:var(--gold); color:#fff; display:grid; place-items:center; font-family:var(--font-serif); font-weight:700; flex-shrink:0; }
.faq-q .chev{ margin-left:auto; width:20px; height:20px; transition:.3s; color:var(--gold-deep); flex-shrink:0; }
.faq-q .chev svg{ width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:2; }
.faq-item.open .faq-q .chev{ transform:rotate(90deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .35s ease; }
.faq-a-inner{ padding:0 26px 24px 72px; color:var(--ink-soft); font-size:1rem; line-height:1.9; }
.faq-item.open .faq-a{ max-height:420px; }

/* ---- contact form ---- */
.contact-grid{ display:grid; grid-template-columns:1.3fr 1fr; gap:46px; align-items:start; }
.form-card{ background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-lg); padding:42px; box-shadow:var(--shadow); }
.field{ margin-bottom:22px; }
.field label{ display:block; font-weight:700; color:var(--ink); font-size:.92rem; margin-bottom:8px; }
.field label .req{ background:var(--gold); color:#fff; font-size:.68rem; padding:2px 9px; border-radius:4px; margin-left:8px; font-weight:700; }
.field input,.field textarea,.field select{ width:100%; border:1.5px solid var(--line); border-radius:10px; padding:14px 16px;
  font-family:inherit; font-size:.96rem; color:var(--ink); background:var(--cream-2); transition:.2s; }
.field input:focus,.field textarea:focus,.field select:focus{ outline:none; border-color:var(--gold); background:#fff; box-shadow:0 0 0 3px rgba(242,180,23,.16); }
.field textarea{ min-height:140px; resize:vertical; }
.form-card .btn{ width:100%; justify-content:center; margin-top:6px; }
.form-side{ display:grid; gap:20px; }
.side-card{ background:var(--gold-wash); border:1px solid var(--gold-soft); border-radius:var(--r); padding:28px 30px; }
.side-card h4{ font-family:var(--font-serif); font-size:1.15rem; margin-bottom:6px; display:flex; align-items:center; gap:10px; }
.side-card h4 .ic{ width:30px; height:30px; background:#fff; }
.side-card .tel{ display:block; font-family:var(--font-serif); font-size:1.7rem; color:var(--gold-deep); font-weight:800; margin:8px 0 2px; transition:color .2s; }
a.tel:hover{ color:var(--gold); }
.side-card p{ margin:0; font-size:.88rem; color:var(--ink-soft); }
.side-hours{ display:flex; align-items:center; gap:8px; margin-top:14px !important; font-weight:700; color:var(--ink) !important; font-size:.9rem !important; }
.side-hours .ic{ width:24px; height:24px; background:#fff; flex-shrink:0; }
.side-hours .ic svg{ width:14px; height:14px; }
.side-caution{ margin-top:8px !important; font-size:.78rem !important; color:var(--muted) !important; }
.side-line{ display:flex; align-items:center; gap:8px; margin-top:8px !important; word-break:break-all; }
.side-line .ic{ width:24px; height:24px; background:#fff; flex-shrink:0; }
.side-line .ic svg{ width:14px; height:14px; }
.side-line a{ color:var(--gold-deep); font-weight:600; transition:color .2s; }
.side-line a:hover{ color:var(--gold); }

/* clinic picker (radio buttons) */
.clinic-pick{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.clinic-pick .pick{ cursor:pointer; position:relative; }
.clinic-pick .pick input{ position:absolute; opacity:0; pointer-events:none; }
.clinic-pick .pick-box{ display:flex; flex-direction:column; gap:3px; padding:16px 18px; border-radius:12px;
  border:1.5px solid var(--line); background:var(--cream-2); transition:.2s; }
.clinic-pick .pick-ttl{ font-family:var(--font-serif); font-weight:700; font-size:1.1rem; color:var(--ink); }
.clinic-pick .pick-sub{ font-size:.78rem; color:var(--muted); }
.clinic-pick .pick input:checked + .pick-box{ border-color:var(--gold); background:var(--gold-wash); box-shadow:0 0 0 3px rgba(242,180,23,.16); }
.clinic-pick .pick input:checked + .pick-box .pick-ttl{ color:var(--gold-deep); }
.clinic-pick .pick:hover .pick-box{ border-color:var(--gold-soft); }
#form-done{ display:none; text-align:center; background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-lg); padding:60px 40px; box-shadow:var(--shadow); }
#form-done .ic{ width:74px; height:74px; margin:0 auto 22px; background:var(--gold-pale); }
#form-done .ic svg{ width:40px; height:40px; }
#form-done h3{ font-family:var(--font-serif); font-size:1.5rem; margin-bottom:12px; }

/* ---- other-pages nav (subpage bottom) ---- */
.page-nav{ background:var(--cream-2); border-top:1px solid var(--line-soft); padding:60px 0; }
.page-nav .nav-head{ text-align:center; margin-bottom:34px; }
.page-nav .nav-head .en{ display:block; font-family:var(--font-round); font-weight:700; letter-spacing:.3em; color:var(--gold-deep); font-size:.78rem; margin-bottom:10px; }
.page-nav .nav-head h2{ font-family:var(--font-serif); font-size:1.7rem; letter-spacing:.05em; display:inline-block; }
.page-nav .nav-head h2::after{ content:""; display:block; width:50px; height:3px; background:var(--gold); border-radius:3px; margin:14px auto 0; }
.pn-cards{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.pn-card{ background:#fff; border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow-sm);
  border:1px solid var(--line-soft); position:relative; padding-bottom:48px; transition:.25s; display:block; }
.pn-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }
.pn-img{ height:148px; overflow:hidden; position:relative; background:#F2ECE0; }
.pn-img img{ width:100%; height:100%; object-fit:cover; object-position:center 22%; display:block; transition:transform .4s ease; }
.pn-card:hover .pn-img img{ transform:scale(1.06); }
.pn-body{ padding:18px 18px 8px; }
.pn-body h4{ font-family:var(--font-serif); font-size:1.12rem; margin-bottom:8px; letter-spacing:.04em; }
.pn-body p{ margin:0; font-size:.8rem; color:var(--ink-soft); line-height:1.7; }
.pn-arw{ position:absolute; right:16px; bottom:16px; width:32px; height:32px; border-radius:50%;
  background:var(--gold); display:grid; place-items:center; }
.pn-arw svg{ width:15px; height:15px; stroke:#fff; fill:none; stroke-width:2.2; }
@media (max-width:860px){ .pn-cards{ grid-template-columns:repeat(2,1fr); gap:14px; } }
@media (max-width:560px){
  .page-nav{ padding:48px 0; }
  .pn-img{ height:120px; }
  .pn-body{ padding:14px 14px 6px; }
  .pn-body h4{ font-size:1rem; }
  .pn-body p{ font-size:.74rem; }
}

/* ---- bottom CTA band (subpages) ---- */
.cta-band{ background:linear-gradient(180deg,#FDF8EE,#FBF0D6); border-top:1px solid var(--gold-soft); padding:64px 0; text-align:center; }
.cta-band h2{ font-family:var(--font-round); font-size:1.9rem; letter-spacing:.05em; margin-bottom:14px; }
.cta-band p{ max-width:560px; margin:0 auto 30px; }
.cta-band .btns{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

@media (max-width:860px){
  .feature{ grid-template-columns:1fr; gap:24px; margin-bottom:48px; }
  .feature:nth-child(even) .feature-img{ order:0; }
  .cards3,.cases,.benefits{ grid-template-columns:1fr; }
  .contact-grid{ grid-template-columns:1fr; gap:26px; }
  .form-card{ padding:30px 24px; }
}
@media (max-width:720px){
  .intro{ margin-bottom:36px; }
  .intro .intro-h{ font-size:1.5rem; }
  .intro p{ font-size:.98rem; }
  .feature h3{ font-size:1.5rem; }
  .icard{ padding:28px 24px; }
  .timeline::before{ left:26px; }
  .tl-item{ grid-template-columns:54px 1fr; gap:16px; margin-bottom:22px; }
  .tl-dot{ width:54px; height:54px; }
  .tl-dot svg{ width:26px; height:26px; }
  .tl-card{ padding:20px 22px; }
  .tl-card h4{ font-size:1.18rem; }
  .note-box{ padding:24px 22px; }
  .example-foot{ grid-template-columns:1fr; gap:14px; }
  .example-foot .arrow{ transform:rotate(90deg); }
  .jobtable th{ width:auto; display:block; padding:16px 20px 6px; border-bottom:none; }
  .jobtable td{ display:block; padding:0 20px 18px; border-bottom:1px solid var(--line-soft); }
  .job-summary{ grid-template-columns:1fr; gap:14px; }
  .jobtable tr:last-child td{ border-bottom:none; }
  .ptable.compact th,.ptable.compact td{ padding:13px 14px; }
  .cta-band{ padding:52px 0; }
  .cta-band h2{ font-size:1.55rem; }
  .cta-band .btns{ flex-direction:column; }
  .cta-band .btns .btn{ width:100%; justify-content:center; }
  .bonus-highlight{ padding:30px 24px; }
  .bonus-highlight .bh-main{ font-size:1.8rem; }
  .bonus-highlight .bh-main b{ font-size:2.6rem; }
  .side-card{ padding:24px 22px; }
}
@media (max-width:480px){
  .feature h3{ font-size:1.35rem; }
  .chips{ gap:9px; }
  .chip{ padding:10px 18px; font-size:.9rem; }
  .field input,.field textarea,.field select{ font-size:1rem; }
  #form-done{ padding:44px 26px; }
}
