:root{
  --rose:#A8405A;   /* 旧 #c8536a：クリーム地で4.04 → 5.59 */
  --soft:#7A6068;   /* 旧 #b89aa2：白地で2.56 → 5.67 */
}
/* LINEボタン：緑地に白文字（2.25）→ 濃い文字（7.57） */
.btn-line,.btn.btn-line,.line-float-link,.line-float-link span{color:#04210F!important}
/* 明るい背景に置かれた注意書き（旧：ほぼ背景色と同じ文字色） */
.disclaimer{color:#4E4A52;background:#fff;border-color:rgba(26,18,24,.10)}
.site-footer .disclaimer{color:rgba(255,255,255,.78);background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.10)}
.footer-copy{color:rgba(255,255,255,.72)}
.site-footer a{color:#D8D1D5}
.site-footer a:hover{color:#fff}
/* 小さすぎる文字（11〜12px）の底上げ */
.article-cat,.label,.store-badge,.disclaimer,.footer-copy,.breadcrumb,.breadcrumb-inner a,.article-meta,.article-meta span,.toc-list a{font-size:max(13px,1em)}
/* 注記は親の文字サイズより小さくしない（元が大きいページでは縮めない） */
body .cta-note,body .source-note,body .small-note,body .article-line-cta .cta-note{font-size:max(13px,1em)}
@media (max-width:640px){
  body{font-size:16px;line-height:1.9}
  .article-body p:not([class]),.article-body li:not([class]){font-size:16px;line-height:1.95}
  .article-body h2{line-height:1.5}
  .toc-list a{display:inline-block;padding:6px 0}
}
body .related-article-card span,body .related-shop-card span,body .related-shop-card small,body .section-label,body .footer-bottom a{font-size:max(13px,1em)}
/* 店舗ページ内の固定色（#c8536a）指定の上書き */
body .shop-info-table th,body .related-article-card span{color:#A8405A}
/* 本文中のリンクを色だけでなく下線でも区別（WCAG 1.4.1） */
.breadcrumb-inner a,.article-body p a,.shop-section p a{text-decoration:underline;text-underline-offset:3px}
.site-footer .footer-bottom a{color:#D8D1D5!important}
body .related-article-card{display:block;min-height:44px;margin-bottom:10px}
body .related-shop-card{display:block;padding:6px 0}
body .related-list a,body .related-articles-grid a{min-height:44px}
.label-beginner{color:#9A4A12}.label-cute{color:#A3285F}.label-mood{color:#2E4FA8}.label-adult{color:#6A2AA8}.label-swimwear{color:#06698F}
.v2-jobs-cta{margin:40px auto;width:calc(100% - 32px);max-width:860px;box-sizing:border-box;padding:22px 24px;border:1px solid rgba(124,98,48,.45);border-radius:4px;background:#fff}
.v2-jobs-cta p{margin:0 0 12px;font-size:15px;color:#2d1f27}
.v2-jobs-cta .t{font-weight:700;font-size:17px;margin-bottom:6px}
.v2-jobs-cta a{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;margin:4px 8px 4px 0;border-radius:999px;background:#111114;color:#F7F6F3;font-weight:700;font-size:14.5px;text-decoration:none}
.v2-jobs-cta a.s{background:transparent;color:#111114;border:1px solid #111114}
.v2-jobs-cta a.s.ln{background:#06C755;border-color:#06C755;color:#04210F}
.section-inner{box-sizing:border-box;max-width:880px;margin:0 auto;padding:0 20px}
.v2-jobs-cta p.rel{margin:14px 0 0;font-size:14.5px;line-height:2}
.v2-jobs-cta p.rel a{display:inline;min-height:0;padding:0;margin:0 2px;border-radius:0;background:none;color:#111114;font-weight:600;font-size:14.5px;text-decoration:underline;text-underline-offset:3px}
