
:root { --cta-yellow: #171310; --cta-shadow: #F39D12; --bg-white: #FFFFFF; --text-body: #1a1a1a; --font-sans: "Noto Sans JP", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif; --sticky-h: 64px }
* { box-sizing: border-box }
html, body { margin: 0; padding: 0; background: #F3F2DE; font-family: var(--font-sans); color: var(--text-body); font-weight: 500; line-height: 1.6; -webkit-text-size-adjust: 100%; word-break: break-all }
.lp { margin: 0 auto; background: var(--bg-white); position: relative; padding-bottom: var(--sticky-h) }
.bridge { display: block; width: 100%; line-height: 0; margin: 0; padding: 0 }
.cta-overlay { position: absolute; background: transparent; border: 0; cursor: pointer; text-decoration: none; transition: background-color 0.15s ease; border-radius: 1.8605cqw }
.cta-overlay:hover { background: rgba(255, 255, 255, 0.10) }
.cta-overlay:focus-visible { outline: 3px solid #003E8D; outline-offset: -3px }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); border: 0; white-space: nowrap }
.ov { position: absolute; margin: 0; z-index: 20 }
.ov-text { font-size: var(--fs, 1.42cqw); line-height: 1.5; padding: 0.5em 0.9em; border-radius: 0.3cqw; word-break: normal }
.ov-logo { line-height: 0; background: #fff; border-radius: 0.8cqw; overflow: hidden }
.ov-logo img { width: 100%; height: auto; display: block; object-fit: contain }
.ov-cta { display: flex; align-items: center; justify-content: center; text-align: center; font-size: var(--fs, 2cqw); font-weight: 800; border-radius: 9999px; color: #fff; background: var(--cta-yellow); text-decoration: none }
.sticky-cta { position: fixed; bottom: 0; left: 50%; transform: translateX(-50%); width: min(100%, 430px); height: var(--sticky-h); display: flex; align-items: center; justify-content: center; background: var(--cta-yellow); border-bottom: 4px solid var(--cta-shadow); color: #fff; font-family: "Arial", "メイリオ", sans-serif; font-weight: 700; font-size: 18px; text-decoration: none; z-index: 100; box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08) }
@media (min-width:768px) {
  .lp { box-shadow: 0 8px 40px rgba(0, 0, 0, 0.08) }
}
.slice { position: relative; display: block; line-height: 0; margin: 0; padding: 0; container-type: inline-size }
.slice img { display: block; width: 100%; height: auto; margin: 0; padding: 0; border: 0 }
.cta-overlay, .ov { position: absolute }
.lp { width: min(100%, 430px); container-type: inline-size }
